Theme & Plugin Strings
Your WordPress site contains two kinds of text: content you created (pages, posts, products) and text that comes built into your theme and plugins. The second kind — things like “Add to cart”, “Search”, “Submit”, “Read more”, and form validation messages — is called gettext strings.
This page explains how Omnalingo handles gettext strings and what to do when they do not translate as expected.
What Are Gettext Strings?
Section titled “What Are Gettext Strings?”Gettext strings are pieces of text that are hard-coded into a theme or plugin’s source code rather than stored in your WordPress database. Plugin and theme developers use WordPress’s built-in translation system to make these strings translatable, and languages are provided via translation files that ship with the plugin or come from WordPress.org.
Examples of gettext strings:
- WooCommerce: “Add to cart”, “Out of stock”, “Checkout”, “Your cart is empty”
- Contact Form 7: “Send”, “Please fill in the required field”
- WordPress core: “Search results for”, “Leave a reply”, “Filed under”
- Theme strings: button labels, widget headings, navigation text
How Omnalingo Handles Them
Section titled “How Omnalingo Handles Them”During scanning, Omnalingo detects which strings on each page came from your theme and plugins. It checks whether a translation already exists for your target language — either from a translation file that shipped with the plugin, or from WordPress.org’s translation repository.
- If a translation file exists and covers the string: Omnalingo uses that file’s translation. No AI translation is needed or used.
- If no translation file exists for your target language, or the string is missing from the file: Omnalingo treats it as a gap and translates it with AI, just like your regular page content.
In both cases, this happens automatically during scanning. You do not need to do anything differently to handle theme and plugin strings — they are included in the same scan and translation workflow as your page content.
When Theme or Plugin Strings Might Not Translate
Section titled “When Theme or Plugin Strings Might Not Translate”The string is hardcoded without using WordPress translation functions. Some older or lower-quality themes and plugins write text directly in their code without using any translation system. Omnalingo can only intercept strings that go through WordPress’s translation functions. If a string is hardcoded, it will appear as untranslated on every language version of your site. The only solution in this case is to contact the theme or plugin developer and ask them to make the string translatable.
The string is loaded by JavaScript after the page renders. Omnalingo scans pages as they are delivered by the server. Text that is added to the page by JavaScript after it loads — such as content inside React-based blocks or AJAX-loaded components — may not be captured during scanning. See Scanning for more detail.
You installed a plugin after the last scan. If you install a new plugin and it adds strings to your pages, those strings will not appear in your translation list until you run scan again. After installing a new plugin or switching your theme, run a fresh scan to capture any new strings.
Protecting Brand Names and Technical Terms
Section titled “Protecting Brand Names and Technical Terms”If Omnalingo is translating something that should stay in the original language — such as a brand name, product name, or technical term that appears in a plugin string — add it to your glossary as a “Never translate” rule. This prevents the AI from modifying that term in any future translations.
Go to Omnalingo → Glossary to manage your rules.