DeepL Translate — AI-Powered Translation for Odoo
by Steven Marp https://apps.odoo.com/apps/browse?repo_maintainer_id=512936$ 28.48
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 708 |
| Technical Name |
sm_deepl_translate |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/browse?repo_maintainer_id=512936 |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 708 |
| Technical Name |
sm_deepl_translate |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/browse?repo_maintainer_id=512936 |
| Versions | 18.0 19.0 |
DeepL Translate for Odoo 19
Odoo 19 edition. AI-powered translation for every field - one click, 30+ languages
Key Features
1 One-Click TranslationOpen any field’s translation dialog in Odoo and click “Translate with DeepL”. All languages fill in instantly. No copy-paste, no switching tabs, no external tools. |
|
|
Best-in-class neural translation |
2 DeepL AI - Best-in-ClassDeepL consistently outperforms Google Translate and ChatGPT in blind translation tests. Get natural, human-sounding translations for product descriptions, emails, website content, and more. |
3 30+ Languages SupportedPre-configured with all DeepL-supported languages: English, German, French, Spanish, Portuguese, Italian, Dutch, Polish, Russian, Japanese, Chinese, Korean, Indonesian, Arabic, and many more. Custom language mapping lets you fine-tune everything. |
32 languages ready out of the box |
|
Formal or informal - per language |
4 Formality ControlChoose between formal and informal tone for each target language. Professional for German clients, casual for Spanish social media - the choice is yours. |
5 Usage MonitoringTrack every translation: who translated, when, which languages, how many characters. Monitor your DeepL API usage and stay within your plan limits - all from inside Odoo. |
Full translation audit trail |
|
Just paste your API key and go |
6 Easy SetupGet a free DeepL API key from deepl.com (500,000 characters/month - free). Paste it in Settings → DeepL Translate. Done. No coding, no middleware, no external services. |
How It Works
|
1
Get API KeySign up at deepl.com/pro-api (free plan available). Copy your API key and paste it in Odoo Settings. |
2
Open Translation DialogClick the translate icon on any translatable field (product name, description, email template…). |
3
Click TranslateHit “Translate with DeepL” and all target languages fill in automatically. Review, edit, and save. |
Highlighted Features
DeepL AI translation · 30+ languages · One-click translate in dialog · Formality control per language · Auto source language detection · Usage monitoring & audit trail · Free & Pro API support · Odoo language-to-DeepL code mapping · No external dependencies · Settings panel integration · Secure server-side API calls
DeepL Translate for Odoo 19 — User Guide
Table of Contents
1. Overview
The DeepL Translate module integrates DeepL's AI-powered translation directly into Odoo's built-in translation dialog.
Click "Translate with DeepL" on any translatable field — product names, descriptions, email templates, website content — and all installed languages fill in instantly with high-quality translations.
2. Installation
- Drop the sm_deepl_translate folder in your Odoo addons path.
- Restart Odoo and update the apps list.
- Install DeepL Translate from the Apps menu.
3. Configuration
Step 1 — Get a DeepL API Key
- Go to deepl.com/pro-api.
- Sign up for a Free plan (500,000 characters/month) or choose Pro for higher volume.
- Copy your API authentication key.
Step 2 — Configure in Odoo
- Go to Settings → DeepL Translate.
- Paste your API Key.
- Select API Type (Free or Pro).
- Click Test Connection to verify the key and usage limit.
- Click Save.
4. Usage
Translating a Field
- Navigate to any record with a translatable field (e.g. a product).
- Click the translate icon (globe) next to the field.
- The standard Odoo Translation Dialog opens.
- Click "Translate with DeepL" (blue button in the footer).
- All target languages fill in automatically.
- Review the translations, make any edits, and click Save.
Source Language
The module uses your current Odoo language as the source. If you are logged in as en_US, the English text will be sent to DeepL as the source. If no text exists for your language, the first non-empty translation is used instead.
When the translation dialog is in "show source" mode (e.g. for model fields), the original source text is sent to DeepL and the source language is auto-detected.
5. Language Mapping
Go to DeepL Translate → Language Mapping to view and manage the mapping between Odoo language codes and DeepL language codes.
The module ships with 32 pre-configured languages:
- Arabic, Bulgarian, Czech, Danish, German, Greek
- English (US/UK), Spanish, Estonian, Finnish, French
- Hungarian, Indonesian, Italian, Japanese, Korean
- Lithuanian, Latvian, Norwegian, Dutch, Polish
- Portuguese (Brazil/Portugal), Romanian, Russian
- Slovak, Slovenian, Swedish, Turkish, Ukrainian
- Chinese (Simplified/Traditional)
You can add custom mappings for any additional language.
Formality
For each language, you can set a formality preference:
- Default — DeepL decides
- More formal — professional, polished tone
- Less formal — casual, friendly tone
- Prefer formal / Prefer informal — soft preference
Not all languages support formality. DeepL will ignore the setting for languages that don't support it (e.g. English, Chinese).
6. Usage Monitoring
Go to DeepL Translate → Translation History (admin only) to see a log of every translation request:
- Date — when the translation happened
- User — who triggered it
- Model / Field — which record field was translated
- Source / Target Language — language pair
- Characters — number of characters sent to DeepL
Use the search filters and group-by options to analyze usage patterns.
7. Security
- API key is stored securely in Odoo's ir.config_parameter system (accessible only to administrators).
- All API calls go through the Odoo server — no client-side requests to DeepL. Your API key never reaches the browser.
- Authentication: only logged-in Odoo users can trigger translations (the controller requires auth='user').
- Access rights: language mappings are read-only for regular users; only administrators can modify them or view the usage log.
8. Compatibility
- Tested on Odoo 19.0 Community & Enterprise.
- No external Python dependencies — uses only the standard library (urllib, json).
- Works with the default Odoo translation dialog on all translatable fields (Char, Text, Html).
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module