Choose the main language

The main language is the locale of the canonical WordPress content. POM Translate reads it from Settings → General → Site Language and displays it as the disabled Main language field under Settings → POM Translate → Languages setup → Base setup.

You cannot choose a different main language from the POM Translate field.

Choose the source before translating

The main language determines:

  • which post, term, menu, and supported setting values are treated as source text;
  • which locale returns native WordPress content instead of target translations;
  • the source side of manual and machine translation;
  • the base slugs from which target routes are initialized;
  • the default locale used when no target context applies;
  • the source entry in selectors and alternate-language metadata.

Choose the locale that matches the language in which editors maintain the canonical objects. Do not select a locale merely because most visitors use it if the stored source content is written in another language.

Use the exact regional locale

English (United States) and English (UK) are different locale definitions. The same applies to regional variants of Spanish, French, Portuguese, Chinese, and other languages.

The regional choice can affect:

  • WordPress software translations;
  • date and number conventions supplied by WordPress or integrations;
  • browser-language matching;
  • lang, hreflang, and Open Graph locale values;
  • machine-translation source identifiers;
  • public URL prefixes when several variants share one language code.

Record the full locale, not only the two-letter language.

Set the main locale

  1. Back up the site before changing an established source-language contract.
  2. Open Settings → General.
  3. Select the required Site Language.
  4. Save the WordPress settings.
  5. Open Settings → POM Translate → Languages setup → Base setup.
  6. Confirm Main language shows the same locale.
  7. Check that the same locale is not intentionally configured as an additional language.
  8. Save Base setup if another language setting also changed.
  9. Open a source post and confirm its canonical text matches the selected locale.
  10. Test the source route while signed out.

POM Translate removes the main locale from the effective additional-language list and de-duplicates the available locales at runtime.

The main locale cannot be disabled

Removing an additional language is possible because the source object still exists. The main locale is different: it owns that object’s canonical text.

The public programmatic language helper therefore treats an attempt to disable the main locale as a no-op. To replace the source locale, change WordPress’s Site Language and plan a content migration.

Changing an established main language is a migration

On a populated multilingual site, changing Site Language does not swap stored source and target text. Existing posts remain written as they were, while POM Translate begins treating the new main locale as the source contract.

Before such a change:

  1. inventory source and target content;
  2. export translation data;
  3. decide which text becomes canonical WordPress content;
  4. review every additional locale;
  5. plan new prefixes and redirects;
  6. update software translations and date formats;
  7. clear page, object, and CDN caches;
  8. test SEO alternatives and integrations.

If the objective is only to display a friendlier name such as “English” instead of a regional label, keep the locale and use Custom label for the main language. A label change is not a source-language migration.

Verify the source contract

Use one representative post:

  • the WordPress editor contains the main-language source;
  • its unlocalized or prefixed source route uses that language;
  • Translations → Translate contents offers only additional locales as targets;
  • clearing a target value falls back to this source text;
  • the selector marks the main locale as current on the source route;
  • canonical and alternate-language URLs follow the chosen prefix policy.

Then add the first target using Add additional languages.