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
    
    

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:

  1. Install Ollama:

    curl -fsSL https://ollama.com/install.sh | sh
    

    See official instructions for your OS.

  2. 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.

  3. 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

alt_text

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.

alt_text

alt_text

alt_text

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.

alt_text

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.

alt_text

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.

alt_text

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.

alt_text

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

    alt_text


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.