Add your first additional language

Add one target locale before translating a large content set. This establishes the public prefix, selector label, translation columns, and route behavior that every later item will use.

Confirm the source locale

Open Settings → General and check Site Language. POM Translate uses this WordPress locale as its Main language.

If the source content is written in Spanish but WordPress is set to English, correct Site Language before continuing. Changing the source locale after translations exist changes the meaning of the stored source-to-target relationship and requires a separate migration review.

Add the target locale

  1. Open Settings → POM Translate → Languages setup → Base setup.
  2. Enable Multilingual system if the section is not initialized, save, and reload the page.
  3. Confirm Main language matches Settings → General.
  4. Under Additional languages, add one row.
  5. Choose the exact locale, including its regional variant where offered.
  6. Enter Custom language label only when the selector should use wording different from the built-in local label.
  7. Save the settings.
  8. Reload the screen and confirm the row, label, and order persisted.

The active-language list ignores duplicate locale entries and does not treat the main locale as an additional language.

Choose the first URL policy

Every additional language uses a subdirectory derived from its language code. For example, an en_US locale uses an /en/ prefix.

The main language behaves differently:

  • leave Use a subdirectory for the default language disabled to keep the normal WordPress route;
  • enable it to add the main language slug as well, such as /es/.

Choose this before launch. Changing the main-language prefix later changes public URLs and requires redirect, canonical, hreflang, sitemap, menu, and cache review.

Keep the first test deterministic

Leave Browser language detection disabled while creating the first translation. This ensures that:

  • the unprefixed route resolves according to the chosen main-language policy;
  • the target route changes only when its prefix is requested;
  • a browser preference cannot hide a route or redirect problem.

When browser detection is enabled later, Fallback language for redirects decides where visitors go when their preferred language is unavailable. It does not fill missing translation text.

Verify the language is usable

After saving:

  1. open Translations → Translate contents;
  2. confirm the new locale appears in the language selector;
  3. edit a published post of an enabled type and confirm its translation summary includes the locale;
  4. construct or open a target URL using the new prefix;
  5. confirm WordPress does not return an unexpected 404.

At this stage the target route can still show source text. That is the expected fallback until you complete Translate your first post.

Before adding more languages

Finish one complete path first: source save, manual translation, localized route, language selector, internal link, SEO output, and cache review. A second target locale multiplies unfinished work; it does not validate the first locale’s configuration.