Translations
OptiPub can publish the same content in every language you sell in. Resources, templates, auto responders, and landing pages can each be translated by AI in a click, and the translated copies flow through to campaign links, automated emails, bulk messages, and your website.
Navigate to Settings → Translations
Translations are marked Experimental. The feature is off until you turn it on, and while it is off no translation controls appear anywhere in OptiPub.
How Translations Work
Every translatable record has an original written in your installation's default language. A translation is a separate record of the same type, linked to the original and tagged with its language. The original owns its translations: you create, update, review, and delete them from the original's Translations panel, and each translation opens as its own record for editing.
flowchart LR
O[Original · English] --> T1[Translation · Español]
O --> T2[Translation · Deutsch]
O --> T3[Translation · Français]
When something needs a record in a language that does not exist, it falls back to the original. A subscriber whose language you have not translated into, a campaign link for a language a page lacks, or a bulk message to someone without a recorded language all receive the default-language version rather than nothing.
Enable Translations
- Navigate to Settings → Translations.
- Turn on Translate content into other languages.
- Choose your Enabled languages. The default language is always on and cannot be removed.
- Optionally write Translation instructions for each language (see below).
- Click Save.
| Setting | Description |
|---|---|
| Translate content into other languages | The master switch. Off hides every translation control; on shows the Translations panel on translatable records, the Show translations toggle on lists, Languages on campaign links and messages. |
| Enabled languages | The languages content may be translated into. Each entry shows how many records already exist in that language. |
| Translation instructions | Notes the AI reads before translating into each language: tone, terminology, product names to leave alone, formality. Markdown is fine. One tab per enabled language, up to 32,000 characters each. |
Removing a language
Turning a language off does not delete anything, but content already written in it stops being searchable and can no longer be used in campaign links. If a language still has records, Save is refused until that content is deleted or moved to another language.
What Can Be Translated
| Content | What the AI translates | What is copied as-is | Notes |
|---|---|---|---|
| Resources | Title, subtitle, description, meta description, subject line, preview line, Gmail annotation, content | Tags, related resources, videos | The translation gets its own URL slug. External resources stay external in every language. |
| Templates | Content | Tags, publications | The name gets a [language] suffix. |
| Auto Responders | Each variation's subject, preview line, content, and annotation | Settings, URL parameters, all variations | Translating an auto responder also translates any template its variations use. A translation is never the category default. |
| Landing Pages | Description, browser title, content | Tags, pricing plan, follow-up template, welcome letter | The name gets a [language] suffix. Review the copied pricing plan and welcome letter; they may need their own translated versions. |
Creating a Translation
Open the original record and find its Translations panel (on resources and landing pages it sits in a Translations section of the form; on templates and auto responders it sits beneath the main details).
- Select one or more Languages.
- Click Translate.
Translation runs in the background, and the panel shows Translating… until each language is ready. A notification confirms when it finishes or fails. The original is copied first, so if the AI pass fails the translation still exists with the original-language text in it and can be edited by hand.
Translation status
| Status | Meaning |
|---|---|
| Original | This is the source record. |
| Translating… | The AI is still working on it. |
| Up to date | The translation matches the original. |
| Original changed: … | The listed fields were edited on the original after this translation was made. |
| Update ready to review | A re-translation of the changed fields is waiting for your approval. |
| Translation failed | The AI pass did not complete. The copy still holds the original text. |
Keeping translations current
When you edit an original, its translations are flagged as stale with the fields that changed. Click Update to re-translate only those fields. The result arrives as a draft; click Review to see the proposed changes field by field (removed text struck through, added text underlined) and Apply or Discard them. Anything you edited by hand in the translation is not overwritten without your approval.
Editing and deleting
Each translation is a full record. Use the pencil icon to open it and adjust anything the AI got wrong. Translations show an alert linking back to the original, since that is where translations are managed.
Deleting a translation is permanent; anything that referenced it falls back to the original. An original cannot be deleted while it still has translations.
Working With Translations in Lists
Resource, template, auto responder, and landing page lists show originals only by default. Click the Show translations toggle in the toolbar to include translations as rows and reveal two columns:
- Language — the record's language. Click a chip to filter the list to that language.
- Translations — chips for each language the record has been translated into, with a warning icon when a translation is behind the original.
Where Translations Are Used
Subscriber language
Each email address can carry a language, shared by every subscription that address holds. It is recorded when the subscriber signs up: the optipub-subscribe element sends the visitor's saved or browser language automatically, and the subscription POST request accepts a locale field. A later signup that sends a language updates it; one that does not leaves it alone. Addresses without a language always receive the default.
Campaign links
When every page in a campaign's funnel exists in a language, Generate Link offers that language. One effort chain is generated per selected language, each pointing at the translated pages, so a Spanish link shows Spanish promos, order pages, and upsells end to end. See Campaigns.
Auto responders
When an auto responder fires for a subscriber, OptiPub sends the translation matching the subscriber's language if one exists and is active. Otherwise the original is sent. See Auto Responders.
Bulk messages
An article or lift letter message can go out in every language the article and template share. The audience is divided by each subscriber's language at send time and each language is delivered as its own mailing. See Sending in multiple languages.
Website and elements
The public resources API and the optipub-resources element return originals with their published translations nested, and the element shows a language dropdown when other languages exist. optipub-resource can fetch a specific translation by id. The unsubscribe page is shown in the subscriber's language.
Related
Updated about 1 hour ago

