Choose a selector label

A selector label should identify a language before it decorates it. Build the smallest label that remains unambiguous for every enabled locale.

Text only:

{%local_label%}

Flag image with local name:

{%flag_image%} {%local_label%}

Local and English names:

{%local_label%} / {%label_english%}

Administrator-defined wording:

{%custom_label%}

Choose data that can exist

local_label and code have dependable fallbacks. Country labels, flags, and custom labels can be empty for a language definition. If the complete computed label contains nothing visible, POM Translate uses the language code.

The base locale's custom_label falls back to its local language name. Additional locales do not receive that same fallback when their custom label is blank.

Keep routing separate

Visible slug, code, or country_iso values are presentation data. Editing the markup does not change the destination URL or language prefix. POM Translate builds each href separately from the locale and current route.

Review the complete set

  1. Save the template for the intended surface.
  2. Inspect every enabled language, not only the current one.
  3. Check regional variants that share a language.
  4. Confirm empty country or flag values do not leave awkward punctuation.
  5. Verify the final link has a meaningful text alternative.
  6. Test the longest label on mobile and in the theme menu.

The exact data fields are documented in Language selector merge tags.