- Compatibile XF2 versions
- 2.3
- Additional requirements
Translate XenForo phrases and complete languages with AI directly from the Admin Control Panel.
Phrase Translator turns the master phrases of XenForo and installed add-ons into any language configured on your forum. It supports OpenAI, Anthropic Claude, Google Gemini, and OpenAI-compatible APIs, with bulk translation tasks, automatic translation of new and changed phrases, fallback providers, glossary rules, variable and HTML protection, usage limits, and translation statistics.
Features:
Phrase Translation
Bulk Language Translation: Translate all phrases of a language, or only the phrases of selected add-ons, with a background translation task.
Automatic Phrase Translation: Translate new and changed master phrases automatically after add-on installs, upgrades, or manual edits.
Outdated Translation Updates: Refresh machine translations whose master phrase has changed since they were created.
Translation Regeneration: Regenerate existing machine translations by the profile, model, or date they were created with.
AI Translate Button: Open an AI translation suggestion directly from a phrase list row, review it in the edit overlay, and save it manually. Suggestions are also available in the phrase editor and XenForo's "Refine and translate" screen.
Native Phrase Storage: Translations are saved as regular XenForo phrase customizations, so language export, phrase reverting, and outdated phrase tracking keep working as usual.
Human Translation Protection: Phrases translated or edited by a person are never replaced by a machine translation.
Language Coverage: Review phrase coverage by language and add-on, including protected, machine, outdated, inherited and missing phrases. Sort add-ons by translation percentage in either direction or by title, with the lowest coverage shown first by default. Inspect the original and effective text, then prepare a translation task for the selected add-on.
Inheritance Details: See the source language and origin of inherited phrases, and refresh outdated machine translations in their source language.
Custom Phrase Tasks: Translate XenForo core phrases or custom phrases without an add-on as separate task selections.
Translation Tasks & Queue
Volume Estimate: Review the number of phrases, translations, and characters before a translation task starts.
Task Filters: Limit a task to selected languages, add-ons, and phrase titles.
Exact Phrase Selection: Update a single inherited phrase in its source language without including other phrases with related titles.
Task Control: Pause, resume, or cancel running translation tasks and follow their progress live.- Task Tabs: Review running and paused tasks under Active, and completed and cancelled tasks under Completed.
Batched Requests: Send multiple phrases in one provider request to keep bulk translation fast and inexpensive.
Persistent Translation Queue: Process background translations through a managed queue with automatic retries.
Retry Failed Translations: Retry or remove failed queue items after resolving provider or configuration problems.
AI Translation Providers
Multiple AI Providers: Configure multiple translation profiles using different AI services, models, endpoints, and settings.
Separate Manual Provider: Use one model for translation suggestions in the phrase editor.
Separate Background Provider: Use a different or lower-cost model for bulk and automatic translation.
Fallback Providers: Configure backup profiles which translate the phrases the primary provider could not translate.
Provider Testing: Test translation profiles from the ACP before using them.
OpenAI-Compatible APIs: Connect compatible cloud or self-hosted AI services in addition to built-in providers.
Translation Quality
Variable Protection: Keep phrase variables such as {name} and {count} exactly as they are.
HTML Protection: Preserve HTML tags, attributes, and entities used inside phrases.
Markup Validation: Reject translations which lose, rename, or add variables or HTML tags.- π‘ Unclosed Tag Protection: Reject translations containing an unclosed HTML tag, with an option to disable the check.
Markup Modes: Configure profiles to use protected placeholders, protected variables, or raw text depending on the selected AI model.
Phrase Title Context: Optionally send the internal phrase title as context so short labels are translated in the right sense.
Translation Glossary: Keep selected brands, product names, or technical terms untranslated.
Forced Terminology: Define the exact translation that should be used for specific glossary terms.- Language Translation Rules: Set language-specific instructions and terminology in the language editor. Review configured add-on overrides in separate blocks and add more without switching away from existing rules.
- Rule Preview: Review effective instructions and the source of each terminology rule before starting a translation task, including fallback profile rules.
- Consistent Task Rules: Translation tasks keep the reviewed rules, and queued phrases with different rules are sent in separate requests.
Cost Control & Monitoring
Daily Background Limit: Set a daily character budget for background translation.
Maximum Phrase Length: Skip unusually long phrases.
Exclusions: Exclude selected add-ons and phrase title patterns from translation.
Request Log: Review translation requests, usage, and errors from the ACP with search filters.- Visible Queue Pauses: See when the queue will resume after profile errors or rate limits. Confirmed model and endpoint errors pause the queue if no fallback profile can translate.
Translation Statistics: Monitor request volume, success rate, token usage, response times, queue health, and profile performance.
Supported AI Providers:
OpenAI
Anthropic Claude
Google Gemini
OpenAI-Compatible APIs: Including services such as DeepSeek, OpenRouter, Mistral, Ollama, and LM Studio.
Requirements:
XenForo 2.3.0+
PHP 7.4+
[XB] Core Library 1.0.0+
Setup:
- Create a translation profile under Appearance > Phrase translator > Translation profiles and use the Test action to verify the configuration.
- Select the translation profiles under Options > [XB] Phrase Translator.
- Add the target language under Appearance > Languages if it does not exist yet, and set its language code.
- Start a task under Appearance > Phrase translator > Translate phrases.
- Optionally enable automatic translation of new and changed phrases for selected languages.
- Configure language-specific wording and add-on terminology under Appearance > Languages > Edit language > Translation rules. Rules apply to that language only and are not inherited from its parent.
Useful for:
Multilingual Forums: Offer the XenForo interface in languages which have no maintained language pack.
Third-Party Add-ons: Translate add-ons which ship in English only.
Add-on Upgrades: Keep languages complete when upgrades add or change phrases.
Translators: Start from a machine translation and refine it by hand instead of translating thousands of phrases from scratch.
Private AI Infrastructure: Use compatible self-hosted AI services to translate through your own infrastructure.
FAQ:
Does Phrase Translator translate posts and other content?
No. It translates XenForo phrases only, the interface and e-mail texts of XenForo and installed add-ons.
Will my manual translations be overwritten?
No. A phrase which was translated or edited by a person is treated as a human translation and is skipped by translation tasks and automatic translation.
Can I export the translated language?
Yes. Translations are stored as regular phrase customizations, so the standard XenForo language export includes them.
What happens to translations if the add-on is uninstalled?
Translated phrases remain in the language. Only translation profiles, the queue, tasks, and logs are removed.
Are phrase variables and HTML preserved?
Yes. Variables, HTML tags, and entities are protected, and translations which do not preserve them are rejected and retried.
Can I limit AI translation costs?
Yes. Review the estimate before starting a task, set a daily background character limit, exclude add-ons or phrase titles, and use a lower-cost profile for background translation.
How is the target language determined?
The language code configured for the XenForo language is sent to the translation provider, so make sure it is set correctly.
Screenshots:
Admin Navigation
Access translation profiles, language coverage, tasks, the queue, request logs, statistics, and options from the Appearance menu. |
Translation Shortcuts
Prepare a translation task directly from the language list. |
Request an AI translation from a phrase row and review the suggestion before saving. |
Language Translation Rules
Set language-specific instructions and terminology, add separate rules for individual add-ons, and preview the effective translation rules. |
Translation Tasks
Choose target languages, add-ons, phrase filters, translation modes, and primary and fallback profiles. |
Review the estimated translation volume and effective instructions and terminology before starting a task. |
Follow scanning and translation progress, pause or cancel active tasks, and switch to completed tasks. |
Language Coverage
Compare phrase coverage across add-ons, sort by translated coverage, and filter the add-on list. |
Inspect an add-on's phrase statuses, compare master and effective text, and prepare a translation task. |
Refine the phrase list by add-on, translation status, and phrase title, with source language and translation origin shown for each phrase. |
Translation Options
Select languages for automatic translation, configure the delay for changed phrases, exclude add-ons or phrase titles, and set the source language. |
Choose manual and background translation profiles and their fallbacks, send phrase titles as context, validate unclosed tags, and configure the glossary. |
Set phrase and character limits per request, maximum phrase length, the daily background translation limit, and usage log retention. |
Request Monitoring
Review successful and failed requests, connection errors, initiating users, profiles, models, character and token usage, and response times. |