Translate software and registered strings

Themes and plugins can expose text in two different ways. Choose the workflow that matches where the original text comes from.

Registered strings

A registered string is a public value that an integration sends to POM Translate with a stable name. Typical examples are a footer message, a configurable button label, or another site-wide setting that is not part of a post or term.

Registered strings:

  • appear under Translations → Other translations;
  • are stored in POM Translate's translation tables;
  • use the normal Pending, Machine translated, Human translated, and Reviewed workflow;
  • fall back to the original value when no translation exists.

Use this route for dynamic values owned by a theme, plugin, or site integration.

Gettext software strings

Static interface text in WordPress, themes, and plugins normally uses gettext and a text domain. POM Translate reads that software's POT, PO, or MO catalog under Translations → Software translations.

Software translations:

  • are loaded one text domain and target locale at a time;
  • can include singular, plural, and context-aware entries;
  • can be edited manually or filled with POM AI when available;
  • are not saved in the POM Translate database;
  • must be downloaded as PO and MO files before leaving the page.

POM Translate does not scan PHP files and does not install the exported files. The screen identifies the catalog it found and displays recommended installation paths.

  1. Choose between dynamic and static strings.
  2. For dynamic values, learn what a registered string is and where to find it.
  3. For gettext, understand text domains and context.
  4. Follow the dedicated plugin or theme catalog workflow.
  5. Use software string troubleshooting if a domain, catalog, or exported translation does not load.

The two routes can coexist in the same product. A plugin may ship static gettext labels while registering an administrator-defined public value separately.