Customer service and order packaging on your phone 馃摝
The PrestaShop Translator module uses DeepL Translator and AI (Open Router).
The module can capture nuances and produce translations with a level of accuracy unmatched by competing solutions.
- Bulk translation of your store into multiple languages.
- Translation of ongoing changes.
- Custom context for AI.
- Glossaries for your own specialized terminology.



Create content and translate with a single click
Next to every field in the Back Office, the module adds an interactive "Translate" button. Click the button, and the translator will translate the field into the other languages enabled in your store.
Flexibility to make edits
You can manually edit the translated field in each language.
1
Select thesource and targetlanguages
2
Select
store elements
3
Start
bulk translation
Product Catalog
Translate all fields in the product catalog, including: product and category descriptions and names, features, attributes, combinations, CMS pages, tags, SEO-friendly URLs, and SEO fields.
Store template and modules
Translate phrases found in the store template and in the templates of installed modules.
Translate store components
Translate the names of discount codes, order statuses, and other content in the Back Office settings.
Skipping elements
You can skip translating a group of elements that have already been translated and skip any range

Your Suggestions
The glossary allows you to create preferred translations for any words and phrases, enabling the translation engine to better capture the style and specialized terminology of your business.
Specialized Vocabulary
The module uses your suggestions to provide the best possible translations.
Create as many glossaries as you like
In the module, you can create a glossary for any language pair.
You can import and export glossaries using CSV (Excel) files.

Support for
HTML and CSS
- It recognizes text formatting as well as HTML and CSS code found in the fields being translated.
- It correctly translates block descriptions, headings, and hidden text, such as alt text.
Corrects language errors
- Detects typos in the content and correctly translates sentences containing errors.
- If the text in your template is not enclosed in language tags, you will need to correct the template/module files.
Log - Translator Activity Overview
- A log is generated during the translation process.
- You can view the translation results in real time or at any later time.

Mark content you want to skip during translation
- You can mark content that should be skipped by the translator.
- You can mark content with the translate="no" attribute or the class="notranslate" class (as in CSS).

PrestaShop Translator offers a level of translation accuracy unmatched by other translation tools and text generators.
- English (US)
- English (British)
- Arabic
- Bulgarian
- Chinese (Simplified)
- Czech
- Danish
- Estonian
- Finnish
- French
- Greek
- Spanish
- Japanese
- Korean
- Lithuanian
- Latvian
- Dutch
- German
- Norwegian (Bokmål)
- Polish
- Portuguese
- Portuguese (Brazilian)
- Korean
- Russian
- Romanian
- Slovak
- Slovenian
- Swedish
- Turkish
- Ukrainian
- Hungarian
- Italian
| Standard | Professional | |
| License | Lifetime | Lifetime |
| DeepL Translator | ✅ | ✅ |
| Glossaries | ❌ | ✅ |
| AI Translator | ❌ | ✅ |
The module’s other features and support are the same for both the Standard and Professional licenses.
DeepL Translator or AI
DeepL Translator API
One million free characters to get started
Sign up for the DeepL API package to receive a free package, and then you can pay via a subscription plus pay-as-you-go usage—approximately 22 EUR per 1 million characters.
AI Translator
In this module, you can configure your OpenRouter account, which gives you access to translations from OpenAI, Claude, Gemini, and many others.
Switch between
DeePL API and OpenRouter
- Check out the DeePL API offering.
- Check out what Open Router has to offer
Our recommendation:
DeepL Translator with glossaries for maximum accuracy.
An AI model to reduce translation costs.
Tip:
Translate product pages using the cheaper model, and image-critical texts (terms of service, informational pages) using the more expensive one. Before launching the entire project, translate a few items and evaluate the quality.
Which AI model should you choose?
(Approximate prices per 1 million input/output tokens, as of July 2026)
- OpenAI model (ChatGPT) with a very good price-to-quality ratio: openai/gpt-4o-mini – ~$0.15 / ~$0.60.
- More expensive, higher quality: openai/gpt-4.1 - ~$2.00 / ~$8.00.
- Alternatively, for the best quality in linguistic nuances: anthropic/claude-sonnet-4.5 - ~$3.00 / ~$15.00.
Back up your store and database before launching your first translation!
- Back Office > "Localization Settings" > Enable additional languages and import the default settings (date format, taxes, etc.).
- Go to the PrestaShop Translator module and specify the source language from which translations are to be retrieved and the target language (e.g., Polish -> Czech).
- Select the store elements you want to translate in bulk, such as modules, CMS pages, product and category information, blog posts, etc.
- Click TRANSLATE—the module will begin translating and will keep you updated on its progress.
- If you want to change, for example, the description of a single product, you can use the translation option for the field you’re currently editing.

Integration of the Translator with Other PrestaShow Modules
Modern Content Editor
This module replaces the default content editor in your PrestaShop store. Descriptions created with this module look great on both computers and mobile devices.

Multi-domain management
The module handles multiple domains in your PrestaShop store. Point additional domains to your store and associate them with the languages and currencies available in your store.

PrestaShop SEO Blog
The PrestaShop SEO Blog module lets you create interactive blog posts featuring products that are user-friendly for your store’s customers and optimized for search engines.

Product Availability by Language
With this module, you can prepare a customized product catalog for each supported language.

### Fixed
- Fix: apostrophes and quotation marks in translated names no longer show as codes such as `'`. Names already saved with such a code are not corrected automatically - use "Retranslate all in this section", or fix them by hand.
## v2.8.10 - 2026-07-02
### Fixed
- Default OpenRouter model changed from `anthropic/claude-haiku-4-5` to `openai/gpt-4o-mini`. The previous default was not a valid OpenRouter model id (the real Anthropic id uses a dot: `anthropic/claude-haiku-4.5`), so an unconfigured OpenRouter provider failed on the first `/chat/completions` call and translation never ran until the user manually changed the Model field. The new default is a valid, low-cost id that supports the structured-output (`json_schema`) response format the module requires. The Back Office model placeholder and suggestion list were updated to valid ids as well.
## v2.8.9 - 2026-06-16
### Added
- Product tag translation support (`TagTranslationService`). PrestaShop stores tags in `ps_tag` with an `id_lang` column directly in the main table (no `*_lang` table), so the existing ObjectModel scanner never picked them up. The new service scans source-language tags per product, compares counts against the target language, and translates the missing ones via direct `ps_tag` / `ps_product_tag` inserts. The operation is idempotent: re-running never creates duplicate tag rows or product links. Exposed as the `TAG` status type and `translateTag` AJAX action in the Back Office.
## v2.8.8 - 2026-06-15
### Fixed
- The inline friendly-URL slugify fix now also covers CMS pages and CMS categories (whose field is named `friendly_url`), so their translated friendly URLs are saved as valid slugs instead of plain translated text with spaces and accents.
## v2.8.7 - 2026-06-15
### Fixed
- Translating a friendly URL with the inline field button now produces a valid slug (no spaces or accented characters) instead of plain translated text — e.g. a Czech friendly URL is saved as `co-by-mela-mit-fotbalova-branka` rather than `co by m臎la mít fotbalová branka`.
## v2.8.6 - 2026-06-10
### Fixed
- `link_rewrite` with spaces or non-ASCII characters (e.g. `nauji produktai`, `nové-produkty`) stored by an older module version is no longer treated as already translated. The scan now detects invalid slugs and re-queues them so `saveTranslations()` can re-slugify via `Tools::str2url()`.
- Products created without a friendly URL in the source language (empty `link_rewrite`) now still receive a translated slug in the target language — the scan falls back to the source `name` as the slug-generation phrase.
## v2.8.5 - 2026-06-03
### Fixed
- "Translate missing" leaving a permanent residual (e.g. stuck at "1 missing") for `link_rewrite` slugs the translator only changes in letter case/spacing (e.g. "midland …" → "Midland …"). `str2url()` collapses those back to the source slug, so the cell stayed `target == source` and was reported missing forever (and re-sent to the paid API every pass). Such cells are now detected by comparing slug forms and recorded as non-translatable, so the next scan excludes them.
## v2.8.4 - 2026-06-03
### Fixed
- "Translate missing" reaching 100% while products were still reported as missing after a refresh (forcing repeated clicks). The progress bar counted every saved cell as translated — including content the translator returns verbatim (untranslatable product slugs / model numbers) or empty — so it hit 100% while those cells stayed missing on the next scan. Now only genuinely changed, non-empty results count as translated; empty results are left for retry; unchanged results are still stored so they are excluded from the missing count. The Back Office now drives completion from the server's authoritative remaining-missing count (recomputed after saving) and stops when a pass makes no further progress, instead of trusting the inflated translated count — which also stops re-sending untranslatable phrases to the paid translation API every pass.
## v2.8.3 - 2026-06-03
### Performance
- ObjectModel mass translation (products, categories, …) on large catalogues: rewrote the scan so it no longer issues one DB query per object (source lookup) and one per already-translated cell (NonTranslatable lookup). Source rows and NonTranslatable phrases are now resolved in batches per page, turning hundreds of thousands of queries per AJAX request into a few. This fixes the case where a single translate request advanced by only one product after ~30 s on a 60k+ product shop.
- PS1.6 path: the catalogue is now paged in bounded windows instead of loading the entire `*_lang` table into memory (out-of-memory risk on very large catalogues).
- Removed the hard-coded 100,000-object scan cap that silently truncated catalogues larger than 100k products.
- Paging is now ordered by primary key so large catalogues cannot skip or re-read rows between pages.
## v2.8.2 - 2026-06-02
### Fixed
- JS cache busting: dynamicTranslation.js URL now includes the module version as a query parameter so browsers and CDNs always fetch the latest script after a module update instead of serving a stale cached copy
- "Translate into all other languages" button on individual fields: rewrote to fire all target-language requests in parallel via Promise.all and wait for all to complete before changing the UI state; the old implementation used Array.map with fire-and-forget async callbacks which caused state race conditions - setState(IDLE) from the first completed language fired while other languages were still translating
## v2.8.1 - 2026-06-01
### Fixed
- ObjectModel mass translation (e.g. categories): the phrase "total" counter no longer includes cells whose source field is empty. Such cells can never be translated, so counting them made progress stall short of 100% (e.g. 5992/25080) and "Re-translate all" looked like it stopped early. The total now equals the number of phrases actually processed.
- "Re-translate all" no longer aborts with "Cannot rewind a generator that was already run". After skipping `reTranslateAllOffset` items, the batch loop now iterates the generator manually (while/current/next) instead of `foreach`, which tried to rewind an already-started generator.
- NonTranslatable cache for `link_rewrite` fields: the "non-translatable" lookup now uses the same dashes-as-spaces phrase that is sent to the translator and stored, so a non-translatable slug is cached correctly instead of being re-sent to the API on every run.
- Translation UI no longer gets stuck on "Translating..." after an error. Previously a network/non-JSON error left the row spinning with the action buttons hidden and the whole queue jammed; the queue item is now always released, so the buttons reappear and clicking "Translate missing" resumes from where it stopped.
## v2.8.0 - 2026-05-14
### Added
- "Retranslate all in this section" button (yellow) next to the existing missing-only button — re-translates every phrase in a section from scratch, overwriting current translations (with a confirmation prompt)
## v2.7.2 - 2026-05-12
### Fixed
- PrestaShop 1.6 — "Translate All" for a module domain (e.g. paymentConfirmation) now overrides previous translations as expected; saved keys are lowercased to match PrestaShop's lookup
## v2.7.1 - 2026-05-12
### Fixed
- In-admin translate widget no longer reads the source text from a different translatable field when the form layout nests language tabs at uneven depths (e.g. cz_imageslider's custom file_lang and autoload_rte templates)
## v2.7.0 - 2026-04-22
### Added
- OpenRouter (AI) translator with editable system prompt (context, vocabulary, tone) — Pro license
- "What to translate" filter (all / objects / modules / configuration / front theme)
- "Skip disabled modules" toggle
### Fixed
- PrestaShop 9 compatibility (in-admin translate buttons, theme translation stats, product save)
## v2.6.9 - 2026-03-13
### Fixed
- Support with non-standard editor modules
## v2.6.8 - 2026-03-12
### Added
- Added configuration domain for translation
## v2.6.7 - 2026-03-10
### Fixed
- Fixed "Failed to update API key." error
## v2.6.6 - 2026-02-24
### Fixed
- Fixed theme translations not being assigned to the theme in the database
## v2.6.5 - 2025-01-22
### Added
- Support for Norwegian and Slovenian language translation
## v2.6.4 - 2025-12-11
### Added
- Updated list of supported languages for translate
## v2.6.3 - 2025-12-06
### Added
- Updated list of supported languages for translate
## v2.6.2 - 2025-11-26
### Added
- Updated list of supported languages for glossaries
## v2.6.1 - 2025-11-05
### Fixed
- Improved theme translation lookup
## v2.6.0 - 2025-11-05
### Added
- Support for translating input fields inside iframes — for example, when adding a new file on the product edit form
## v2.5.7 - 2025-10-13
### Fixed
- Improved translation of module configurations
## v2.5.6 - 2025-09-23
### Fixed
- Suppport gb and us source languages
## v2.5.5 - 2025-07-14
### Fixed
- Better API error handling
## v2.5.4 - 2025-07-10
### Added
- Added option: Stop translation on first error occured
## v2.5.3 - 2025-07-01
### Fixed
- Improved translating long text
## v2.5.2 - 2025-06-18
### Fixed
- Improved loading translations in the module configuration
## v2.5.1 - 2025-05-05
### Fixed
- The compatibility problem with newer php versions
## v2.5.0 - 2025-01-14
### Added
- Support DeepL API changes from March 2025
## v2.4.10 - 2024-11-22
### Fixed
- The problem with the button for quick translation of text fields in prestashop 8.2
## v2.4.9 - 2024-10-21
### Fixed
- Translating fields in third party modules
## v2.4.8 - 2024-07-04
### Fixed
- Automatic usage of glossaries for translations
## v2.4.7 - 2024-05-14
### Fixed
- Translating phrases added to the custom translation domain in the theme files
## v2.4.6 - 2024-04-29
### Fixed
- Translating hardcoded phrases from template files
## v2.4.5 - 2024-04-16
### Fixed
- ObjectModel classes finder
## v2.4.4 - 2024-03-28
### Fixed
- Support prestashop 1.7.2
## v2.4.3 - 2024-03-18
### Added
- Support module ph_simpleblog
## v2.4.2 - 2024-01-16
### Fixed
- Fix typing
## v2.4.1 - 2024-01-11
### Fixed
- Improved translating when there are thousands of records in the database
## v2.4.0 - 2023-11-28
### Added
- Allow to translate very long texts thanks to the splitting into smaller parts - DeepL API limit is 128kb per request
## v2.3.0 - 2023-11-08
### Added
- Support glossaries: user can manage glossaries in the module; glossary will be automatically used for all translations
## v2.2.6 - 2023-10-03
### Fixed
- Improve support for Prestashop 8.1
## v2.2.5 - 2023-09-08
### Fixed
- Decrease num of texts translating at once
## v2.2.4 - 2023-08-24
### Fixed
- Fix translator url when back-office is running on no main domain
## v2.2.3 - 2023-08-21
### Fixed
- Prestashop 8.0.4 require to save module translations into `modules/*/translations/*.php` file
## v2.2.2 - 2023-07-26
### Fixed
- Skip searching for ObjectModel in modules where `_` has been added to the directory name
## v2.2.1 - 2023-07-21
### Fixed
- There was a problem with the 'preview' button on the product edit page in the admin panel
## v2.2.0 - 2023-07-19
### Added
- Added support for Prestashop 8.0 and 8.1
- Added support for PHP 8.1
- Improved error handling
## v2.1.4 - 2023-07-05
### Added
- Dispatch 'change' event while updating textarea to improve compatibility
## v2.1.3 - 2023-05-24
### Added
- Add support for lang KO - Korean
- Add support for lang TR - Turkish
- Add support for lang UK - Ukrainian
- Add support for lang NB - Norwegian (Bokmål)
## v2.1.2 - 2023-05-19
### Fixed
- Optimized object model loading
- Fixes for Prestashop 1.7.7
- Service refactoring
## v2.1.1 - 2023-05-02
### Fixed
- Small fix for multistore support
## v2.1.0 - 2023-04-27
### Added
- Added support for Prestashop 1.7.5 and older
## v2.0.4 - 2023-03-30
### Fixed
- Small fix for output buffer
## v2.0.3 - 2023-03-24
### Fixed
- Fix for protected method Link::getBaseLink() on some Prestashop versions
## v2.0.2 - 2023-02-17
### Fixed
- check if files of the installed module exist before trying to translate them
## v2.0.1 - 2023-02-16
### Fixed
- catch error while some database tables are missing
## v2.0.0 - 2023-02-15
### Added
- allow translating front theme and modules using translations from other language as a source instead of phrases directly from files
- allow translating phrases from single module files
### Fixed
- most of the algorithms have been rewritten for more accurate and stable operation
- update dependencies
## v1.4.4 - 2023-02-08
### Fixed
- additional fix for: automatically convert target language to en-us, en-gb, pt-pt, pt-br
## v1.4.3 - 2023-01-24
### Fixed
- automatically convert target language to en-us, en-gb, pt-pt, pt-br
## v1.4.2 - 2023-01-17
### Fixed
- improve translating link_rewrite field
## v1.4.1 - 2022-10-13
### Fixed
- Improve modules translation - better searching for translatable elements
## v1.4.0 - 2022-07-29
### Added
- Add translation logging
- Add log viewer in the back-office
- Allow translating inputs with tags (e.g. cms page meta keywords)
### Fixed
- Improve translating single fields in the back-office
- Fix translating special chars in non-html fields (e.g. `&` was wrongly changing to `&`)
## v1.3.4 - 2022-07-20
### Fixed
- Fix not found Translation Service
## v1.3.3 - 2022-07-14
### Fixed
- The problem with undefined variable in module settings
## v1.3.2 - 2022-07-12
### Fixed
- Catch errors caused by duplicated class names
- Catch exceptions thrown because of missing database tables
## v1.3.1 - 2022-07-11
### Fixed
- Changed CDN JS to local files
## v1.3 - 2022-05-30
### Fixed
- Fix issue with missing translation service on PrestaShop version 1.7.4 and lower
## v1.2 - 2022-05-17
### Fixed
- Improve dynamic translation in single fields
- Search for objects (ObjectModel) to translate in the main module directories
## v1.1 - 2022-05-16
### Added
- Support PrestaShop 1.7
## v1.0 - 2022-04-08
### Added
- Allow translating phrases from template files
- Allow translating phrases from modules files
- Allow translating fields from \ObjectModel objects
Technical requirements
Technical Requirements
- PHP 7.1 - 8.x
- Server extension ionCube Loader
- PrestaShop Importer only: PHP libxml version > 2.9.3
- PrestaShop Facebook Integrator only: PHP 7.2 or higher
- PrestaShop VAT Validator only: PHP SOAP
Support = Updates + HelpDesk
You get 90 days (3 months) access to the complete PrestaShow support package.
Module updates
Modules will inform you about available updates. Read the changelog and perform a 1-click module update directly from your store.
HelpDesk panel
This is the panel where we will provide you with help. On HelpDesk you can report problems, order free module installation and updates, and order modifications and custom programming work.
Extend support
After support expires, you can use the module without any restrictions. You can extend your support access at any time you need it.
Knowledge Base & FAQ
Free forever
The knowledge base is available to everyone. You will find module documentation as well as instructions, videos and answers to frequently asked questions.
Lifetime license for the module
- You can use the module without limitation in 1 store = 1 domain.
- You can use an additional domain, e.g. for developer copy.
- For a small fee you can change the domain for the module yourself.
Additional domains for Multistore
- All our modules support PrestaShop Multistore.
- Supporting unlimited domains for PrestaShop Multistore requires purchasing multistore support for the module.
Modifying the code
- The module code related to the integration with the store and the design (.tpl, .css, .js) has open source code and you can modify it freely.
- The module's source code (.php) is encrypted with ionCube, and modifying it will void the warranty.
Demo
Demo - test the module
- This module does not have a demo store
No entries yet.











Je艣li jakie艣 pole ma uzupe艂nion膮 zawarto艣膰 w danym j臋zyku, to modu艂 uznaje, 偶e jest to pole przet艂umaczone w danym j臋zyku. Je艣li pole w danym j臋zyku jest puste, to modu艂 oznacza to jako brak t艂umaczenia. W module mo偶na masowo t艂umaczy膰 wszystko lub tylko pola z brakiem t艂umaczenia.
Automatyczne t艂umaczenie aktualnie edytowanego produktu wymaga dodatkowego 1-klikni臋cia przy polu, kt贸re edytujesz. Mo偶emy rozbudowa膰 modu艂, aby t艂umaczenie odbywa艂o si臋 po zapisie produktu i nie wymaga艂o dodatkowego klikni臋cia - otw贸rz zg艂oszenie na helpdesk.prestashow.pl
Modu艂 od ETS pozwala t艂umaczy膰 opisy je艣li tekst jest 1:1 taki sam na obu wersjach, ale to nie jest idealne rozwi膮zanie.
Czy modu艂 pozwala na automatyczne t艂umaczenie opisu przy zapisie produktu?