DeepL CSV Translation Manager for Magento 2¶
The DeepL CSV Translation Manager is an additional extension for the DeepL Translator module in Magento. It enables store administrators to quickly translate large CSV files, manage translations from the backend, and dynamically create Magento i18n language packages.
This module is perfect for multilingual Magento stores, providing scalable and optimized translation workflows through Magento’s Message Queue (MQ) system. It enables store administrators to efficiently translate large CSV files, manage translations directly from the backend, and dynamically generate Magento i18n language packages. With seamless integration with the DeepL Translator module, it ensures high-quality translations for multiple languages, automates background processing of translation tasks, and allows administrators to monitor progress easily. This makes it an ideal solution for stores looking to expand globally while maintaining a consistent, reliable, and efficient translation process.
Important Note: Please note that the DeepL CSV Translation extension is designed to work seamlessly with the DeepL Translator module and requires a valid DeepL API key.
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_DeeplCsvTranslate 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-deeplcsvtranslator
run the following commands
php bin/magento module:enable --clear-static-content Extendware_Core php bin/magento module:enable --clear-static-content Extendware_DeeplCsvTranslate php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy
Features¶
Backend CSV Translation Management
Translate CSV files using DeepL.
Supports standard csv translation file types.
Fully compatible with Magento i18n language packages.
Manage CSV translations via the backend grid.
Combine multiple translations into a single CSV file based on language.
Flexible CSV Upload
Backend File Uploader: Upload CSV files directly from the admin panel.
Direct Path Upload: Place large CSV files in
var/translate
when backend upload is not feasible.
Batch Processing for Large Files
Split large CSV files into smaller batches (100–1000 rows per batch).
Faster processing and reduced server load.
Translation Record Management
Option to allow or restrict deletion of running translation records.
Prevents accidental data loss.
Dynamic Language Package Generation
Generate Magento i18n language packages dynamically from translated CSV files.
Select which CSV files to include and define their order.
Magento Message Queue Integration
Translation operations run asynchronously using Magento MQ.
Background workers process translations without blocking the admin interface.
Supports large files reliably and efficiently.
Configuration¶
Settings are available in the admin panel under Stores → Configuration → Extendware → DeepL Translator → CSV Translation Settings.
Setting |
Options |
Description |
---|---|---|
Enable |
Yes / No |
Enable or disable CSV translation functionality. |
Allow Delete |
Yes / No |
Allow users to delete running translation records. Not recommended unless necessary. |
Use File Uploader |
Yes / No |
Enable backend CSV upload. If disabled, files must be manually uploaded to |
Batch Count |
Numeric (100–1000) |
Number of rows per batch for processing. Default: 100 |
How It Works¶
Upload CSV via backend uploader or manually to
var/translate
.Large files are split into smaller batches.
Each batch is queued in Magento Message Queue.
Background workers process translations via DeepL.
Review translated records in the backend grid.
Select translations to include in dynamically generated i18n language packages.
Language packages are ready for use in the store.
CSV Translation Manager¶
The menu is available in the admin panel under Extendware → Extendware Deepl CSV Translate → DeepL CSV Translation.
In the CSV Translation Manager, you can manage all your translation files with ease:
Add New Translation Use the Add New button to create a new translation entry and upload a CSV file for processing.
Edit or Delete Entries From the Actions column, you can edit existing translations or remove them if no longer needed.
Start Translation Trigger the translation process directly from the Actions column. The system will process the file using the DeepL API in the background via Magento’s Message Queue (MQ).
Download Translated CSV Once the translation is complete, you can download the translated CSV file from the grid.
Monitor Status The grid displays the translation status in real-time (e.g., Pending, In Progress, Completed, Failed).
View Source File After successful translation, you can also view and download the original source CSV file.
Language Overview Each row clearly shows the selected source language and the target language for the translation.
This provides administrators with a complete overview of all translation jobs, making it easy to manage, track, and export translations for multilingual Magento stores.
Add New DeepL Translate CSV Form¶
The Add New DeepL Translate CSV Form allows administrators to configure and manage new translation jobs.
Status This field is disabled by default and managed automatically by the system. It provides the real-time status of each translation, such as Queued, Running, Completed, or Failed.
CSV File You can provide the CSV file in two ways:
By uploading a file directly through the uploader.
By specifying a file name in the text input field and placing the file manually inside the
var/translation
folder. The behavior of this field is managed via store configuration. This option is particularly useful for very large files that cannot be uploaded through the standard file uploader.
Source Language Select the language of the content in the uploaded CSV file. The languages displayed here are based on the locales already available in your Magento store.
Destination Language Define the target language into which the content should be translated. The languages displayed here are based on the locales already available in your Magento store.
Include in Language Package Decide whether the translation should be included in the final i18n language package.
Sort Order Works in relation to the Include in Language Package field. Enter a sort order number to control the order in which translations are included in the language package. By default, the value is set to
1
.Message This field is used to display any errors that occur during the translation process. If an issue is encountered, details will be shown here for troubleshooting.
This form provides full control over configuring translation jobs, while the system manages processing and monitoring automatically.
Edit DeepL Translate CSV Form¶
This allows administrators to manage and monitor existing translation jobs.
Status The form displays the current status of the translation job. Possible statuses include Queued, Running, Completed, or Failed.
Start Translation You can start the translation process by clicking the Start Translation button. This action places the job into Magento’s Message Queue, and the status will update to Running.
Deleting Running Jobs By default, running translation jobs cannot be deleted. To enable deletion, you must configure the option in Store Configuration. This restriction is designed to ensure consistent and reliable translation results when using the message queue.
Download Translated CSV Once the translation is successfully completed, the status will update, and a Download Translated CSV button will appear at the top of the form. Clicking this will download a standard Magento i18n CSV file, which can be used directly in your custom theme or custom module i18n folder.
Translation History All translated rows are stored in the system’s history. This allows you to verify the original CSV content, compare results, and ensure content consistency. You can view the complete history of translations based on each uploaded CSV file.
Error Messages and Logs If any issues occur during the translation process, error messages will be displayed in the Message field on the form. Additionally, detailed logs are recorded in a custom log file, making it easy to trace and resolve problems.
This form gives administrators full visibility and control over each translation job while ensuring reliability through Magento’s background queue processing.
Note: The downloaded translation CSV files can be placed in your custom theme’s i18n
folder, for example: app/design/VendorName/ThemeName/i18n
or in your custom module’s i18n
folder, for example: app/code/VendorName/ModuleName/i18n
.
Below are examples of the DeepL Translate CSV Form with different statuses.
Edit Deepl Translate CSV Form ( Status : Queued )¶
When a translation job has been created but not yet started, the status is set to Queued.
Status shows Queued.
No download option is available yet.
Job is waiting in Magento’s Message Queue, Administation must start via Start Translation button top.
Edit Deepl Translate CSV Form ( Status : Completed )¶
When the translation job has finished successfully, the status is set to Completed.
Status shows Completed.
The Download Translated CSV button is available at the top.
The translated CSV file is ready for use in your Magento i18n folder.
Translation history is stored for reference.
Language Packages¶
The Language Packages is used to generate standard Magento 2 language packages. It combines all translated CSV files into a single working language package, ready to be applied to your store. The process uses the Include in Language Package and Sort Order fields from the translation form to determine how the final package is built.
Once a package has been generated, it becomes available for download directly from the grid. If any errors occur during generation, they can be easily traced through the custom log file DeeplCsvTranslate.log located in the var/log
folder.
You can choose to generate a package for a single language or for all available languages at once. To maintain consistency and prevent duplicate entries, new processes cannot be started while another package is still running. All operations are handled via Magento’s Message Queue system, ensuring scalability and reliability even with large translation workloads.
Note: The downloaded language packages are placed in your Magento root directory under the app/i18n
folder.
Bulk Actions Log¶
The Bulk Actions Log is provided by Magento by default and allows you to view logs of actions that are running through the Message Queue.
Magento 2 Bulk Actions are tools that enable administrators to perform tasks on multiple items simultaneously within the admin panel. You can review these actions under: System → Action Logs → Bulk Actions.
In the example above, you can see:
Deepl CSV Translate Processing File: test.csv — indicates that the file
test.csv
is currently being translated through the message queue, with its processing status shown.Deepl Translated CSV Processing For de_DE — indicates that the German (
de_DE
) language package is being generated, with its processing status shown.
Best Practices¶
Use batch processing for large CSV files.
Keep deletion of running translation records disabled unless necessary.
Regularly update language packages to include the latest translations.
Ensure cron and MQ workers are properly configured for background processing.
Benefits¶
Efficient translation management for large CSV files.
Flexible upload options for any file size.
Optimized performance via batch processing and MQ.
Automatic generation of Magento language packages.
Safe, scalable, and enterprise-ready workflow.
Example Workflow¶
Admin uploads a 5,000-row CSV file.
The module splits it into 50 batches of 100 rows.
Batches are queued in Magento Message Queue.
Background workers process translations via DeepL.
Admin reviews translations in the grid.
Selected translations are included in a dynamic i18n language package.
Package is deployed to the store for multilingual support.
Changelog¶
All notable changes to this project will be documented here.
[1.0.0]¶
Added¶
- First release