Extendware Local Translator - Magento 2 Extension¶
A privacy-focused local translation extension for Magento 2 that uses Ollama and AI models to translate product content without sending data to external services.
All translations are processed securely on your own infrastructure, ensuring compliance with strict data privacy and security requirements.
Supports integration with advanced AI models (like Gemma3-Translator and Qwen2.5-Translator) for high-quality multilingual translations, with no reliance on cloud APIs.
Extendware’s Local Translator includes:
Local Translation: All translation processing happens on your own machine
Privacy-First: No data leaves your network
Multiple Models: Support for Gemma3-Translator and Qwen2.5-Translator
Automatic Translation: Translates product attributes on save
Batch Processing: CLI commands for bulk translation
Configurable: Full admin configuration with attribute selection
Please notice, that the extension requires a 4GB+ RAM and 10GB+ disk space for optimal performance.
Interested in Extension Installation Service?¶
Visit our installation service page https://www.extendware.com/magento-extension-installation-service.html for more information
Support¶
Got questions? Feel free to contact us! Support Form.
Installation Procedure¶
Type 1: Zip file¶
Download your extension package from the Download page after purchasing the extension.
Open the extension ZIP file you downloaded and extract it to a directory on your computer using a tool like WinRar, WinZIP or similar.
Upload the extracted files to the app/code/Extendware directory in your Magento installation, maintaining the folder structure. If updating, overwrite the existing files.
Connect via SSH and run the following commands (make sure to run them as the user who owns the Magento files!
php bin/magento module:enable --clear-static-content Extendware_Core php bin/magento module:enable --clear-static-content Extendware_LocalTranslate php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy
Type 2: Via Composer (recommended)¶
You can freely install, update, and remove Magento 2 extensions using Composer.
Please request your private access first via Support Form.
Add the custom repository to the composer.json
composer config repositories.private-packagist composer https://extendware.repo.packagist.com/your-company-name/
Setup authentication
composer config --auth http-basic.extendware.repo.packagist.com token YOUR-PRIVATE-TOKEN
Install the module
composer require extendware/module-localtranslate
run the following commands
php bin/magento module:enable --clear-static-content Extendware_Core php bin/magento module:enable --clear-static-content Extendware_LocalTranslate php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy
User Guide¶
We highly recommend gathering all the below information, before starting the installation.
Ollama Installation¶
Ollama allows you to run advanced AI translation models locally, such as Gemma, Qwen2.5, and more.
Steps:
Install Ollama:
curl -fsSL https://ollama.com/install.sh | sh
See official instructions for your OS.
Pull and Run a Model:
For Gemma:
ollama pull zongwei/gemma3-translator:1b ollama run zongwei/gemma3-translator:1b
For Qwen2.5:
ollama pull lauchacarro/qwen2.5-translator:latest ollama run lauchacarro/qwen2.5-translator:latest
See Ollama Model Library for more models.
Configure Ollama Endpoint:
Set your local Ollama API endpoint in the extension settings if required (http://your.host_url:11434
by default).
Configuration¶
To configure the extension, go to Dashboard → Stores → Configuration → Extendware Menu → Local Translate → Configuration
Configuration Overview¶
Enable Local Translate Integration → Toggle the extension on or off.
Ollama Host URL → Enter your local Ollama API endpoint (e.g.,
http://localhost:11434
).Primary Translation Model → Select the default Ollama model for translations.
Fallback Translation Model → Backup model used if the primary fails.
Test Connection → Button to check connectivity with Ollama.
Translate Source → Choose the source store/language for translations.
Product Attributes To Translate → Select product attributes for auto-translation.
CMS Page Attributes To Translate → Select which CMS page fields to translate.
Block Attributes To Translate → Select which CMS block fields to translate.
Category Attributes To Translate → Select which category fields to translate.
Product Translation¶
1. Translate using single product mode:¶
With this user can see button to do Local translate and can select specific store for translation.
Please note that the source store will only be set in the system configuration of the Local Translate module.
2. Translate using CommandLine¶
php bin/magento extendware_localtranslate:translateproduct -r1-2 -s2 (without message queue)
Where [r] represent product range user can define range with product id like 1-20
Where [s] represent store id
php bin/magento extendware_localtranslate:translateproduct -r1-2 -s2 -m[username_of_admin]
Where [r] represent product range user can define range with product id like 1-20
Where [s] represent store id
Where [m] represent the username of admin where you can find queue from system->action logs
Category Translate:¶
1. Category Translate using single category backend¶
With this user can see button to do Local translate and can select specific store for translation.
Please note that the source store will only be set in the system configuration of the Local Translate module.
2. Translate using CommandLine¶
php bin/magento extendware_localtranslate:translatecategory -r1-2 -s2 (without message queue)
Where [r] represent category range user can define range with category id like 1-20
Where [s] represent store id
php bin/magento extendware_localtranslate:translatecategory -r1-2 -s2 -m[username_of_admin]
Where [r] represent category range user can define range with category id like 1-20
Where [s] represent store id
Where [m] represent the username of admin where you can find queue from system->action logs
Page Translate:¶
1. Page Translate using single page backend¶
With this user can see button to do Local translate and can select specific store for translation.
Please note that the source store will only be set in the system configuration of the Local Translate module.
If URL key exist for DE store then it will throw error as page for DE store is already there
This will also remove DE store ID from main page
For example there is a page which is assigned to all stores and if user click on translate for DE store then if translation is successful then user can see new page with only DE store assign and in main page DE store was removed.
2. Translate using CommandLine¶
php bin/magento extendware_localtranslate:translatepage -r1-2 -s2 (without message queue)
Where [r] represent page range user can define range with page id like 1-20
Where [s] represent store id
php bin/magento extendware_localtranslate:translatepage -r1-2 -s2 -m[username_of_admin]
Where [r] represent page range user can define range with page id like 1-20
Where [s] represent store id
Where [m] represent the username of admin where you can find queue from system->action logs
Block Translate:¶
1. Block Translate using single block backend¶
With this user can see button to do Local translate and can select specific store for translation.
Please note that the source store will only be set in the system configuration of the Local Translate module.
2. Translate using CommandLine¶
php bin/magento extendware_localtranslate:translateblock -r1-2 -s2 (without message queue)
Where [r] represent block range user can define range with block id like 1-20
Where [s] represent store id
php bin/magento extendware_localtranslate:translateblock -r1-2 -s2 -m[username_of_admin]
Where [r] represent block range user can define range with block id like 1-20
Where [s] represent store id
Where [m] represent the username of admin where you can find queue from system->action logs
Important Notes¶
Ollama-based translation features require Ollama to be installed and running, with appropriate models pulled.
HTML translation is best tested on staging environments before live deployment.
The extension is designed to work with local AI models for privacy and speed. Ensure your server meets hardware requirements for selected models.
Run translation via consumer queue using below command
bin/magento queue:consumers:start product_action_attribute.translate --max-messages=10000
Any translation with message queue admin can check progress from System -> Bulk Actions
Troubleshooting¶
Check Ollama Service:
curl http://localhost:11434/api/version
ollama list
Common issues:
Ollama not running: Restart the service (
ollama serve
)Model not found: Ensure you have pulled the correct model (
ollama pull ...
)Endpoint unreachable: Verify your API URL and firewall settings
Changelog¶
[1.0.0]¶
Initial release.