## Real-time Translation

Product: Monogram - Personal Portfolio WordPress Theme
URL: https://hub.jkdevstudio.com/docs/monogram/integrations/real-time-translation
Updated: 2026-08-19

Monogram is fully translation-ready and integrates with three popular WordPress translation plugins: **Weglot**, **TranslatePress**, and **WPML**. Polylang is also supported on the Customizer-strings side via its WPML-compatible String Translation API.

The theme includes dedicated vendor wrappers for each plugin, ensuring compatibility with Barba.js page transitions (SPA navigation). When a visitor navigates between pages, the translation plugin reinitializes automatically.

## Choosing a Translation Plugin

<table> <thead> <tr> <th>Feature</th> <th>Weglot</th> <th>TranslatePress</th> <th>WPML</th> </tr> </thead> <tbody> <tr> <td>Translation method</td> <td>Cloud-based automatic + manual</td> <td>On-page visual editor</td> <td>Backend admin + optional automatic</td> </tr> <tr> <td>Hosting</td> <td>External (Weglot servers)</td> <td>Self-hosted (your database)</td> <td>Self-hosted (your database)</td> </tr> <tr> <td>Setup complexity</td> <td>Minimal</td> <td>Moderate</td> <td>Moderate</td> </tr> <tr> <td>Free tier</td> <td>2,000 words, 1 language</td> <td>Unlimited words, 1 language</td> <td>Paid only</td> </tr> <tr> <td>SEO</td> <td>Automatic hreflang</td> <td>Automatic hreflang</td> <td>Automatic hreflang</td> </tr> <tr> <td>Barba.js compatible</td> <td>Yes (built-in)</td> <td>Yes (built-in)</td> <td>Yes (built-in)</td> </tr> </tbody> </table>

> **Info:** You only need one translation plugin. Install Weglot, TranslatePress, or WPML - not multiple.

## Translating Customizer Strings

Theme settings such as footer copy, button labels, hero subtitles, and other free-text fields you set in **Appearance &gt; Customize** are translatable too.

When **WPML String Translation** or **Polylang** is active, the theme automatically:

1. Registers every translatable Customizer value in the **monogram-customizer** string context
2. Returns the active-language version when a template reads the setting

You translate the strings the same way you translate any other site copy:

- **WPML** - go to **WPML &gt; String Translation**, filter by the **monogram-customizer** domain, and translate each entry
- **Polylang** - go to **Languages &gt; Translations** and translate each entry under the **monogram-customizer** group

> **Tip:** Color values, image URLs, font weights, numeric settings, and short slugs are deliberately excluded from registration - they are not user-facing copy and translating them would break the layout.

See the sub-articles below for setup details on each plugin.