strapi-plugin-translate-llm
v1.0.8
Published
Strapi plugin for managing and automating translation of content
Maintainers
Readme
This is a fork of strapi-plugin-translate that adds LLM-powered translation and tiered batch translation.
For full documentation, see the main README on GitHub.
Quick Start
npm install strapi-plugin-translate-llm strapi-provider-translate-openrouterAdd to config/plugins.js:
module.exports = ({ env }) => ({
translate: {
enabled: true,
config: {
provider: 'openrouter',
providerOptions: {
apiKey: env('OPENROUTER_API_KEY'),
model: 'anthropic/claude-sonnet-4',
temperature: 0.3,
customPrompt: 'Keep "MyBrand" untranslated.',
localeMap: {
en: 'English',
fr: 'French',
},
},
translatedFieldTypes: [
'string',
{ type: 'text', format: 'plain' },
{ type: 'richtext', format: 'html' },
'component',
'dynamiczone',
],
},
},
})What's different from the original?
| Feature | Original | This fork |
|---------|----------|-----------|
| LLM translation (Claude, GPT, Gemini, etc.) | Not available | via strapi-provider-translate-openrouter |
| Auto-translate on save/publish | Not available | Automatic background translation when master locale is saved |
| Custom translation instructions | Not available | customPrompt option |
| Tiered batch translation | Flat list | Grouped by dependency tier |
| HTTP timeout protection | None | Keep-alive heartbeat for slow providers |
| Field maxLength enforcement | Not available | Auto-truncates translations exceeding field character limits |
| Retry logic | Provider-specific | Built-in exponential backoff |
Available Providers
- strapi-provider-translate-openrouter — LLM translation (OpenRouter, OpenAI, Ollama, etc.)
- strapi-provider-translate-deepl — DeepL machine translation
- strapi-provider-translate-libretranslate — self-hosted machine translation
Auto-Translate
Automatically translate content when saving or publishing in the master locale — no manual action needed.
- Go to Settings → Translate in Strapi admin
- Enable Auto-translate on save
- Select your master locale (e.g. English)
When you save or publish content in the master locale, all other locales are translated in the background. A real-time status panel in the Settings page shows translation progress and any errors.
Credits
Fork of strapi-plugin-translate by Felix Haase. LLM provider, auto-translate, and tiered UI by Axel Erwast.
