PHPackages                             diglin/oro-deepl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. diglin/oro-deepl

ActiveSymfony-bundle[Localization &amp; i18n](/categories/localization)

diglin/oro-deepl
================

Allow to extract non translated strings from OroPlatform applications and translate them through deepl web service. A Deepl developer account is required

1.2.0(3y ago)2662MITPHP

Since Dec 16Pushed 3y ago1 watchersCompare

[ Source](https://github.com/diglin/oro-deepl)[ Packagist](https://packagist.org/packages/diglin/oro-deepl)[ RSS](/packages/diglin-oro-deepl/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (2)Versions (10)Used By (0)

Diglin Oro Deepl Bundle
=======================

[](#diglin-oro-deepl-bundle)

Translation is boring ? Not anymore with the powerful helps of the machine learning tool DeepL. Thanks to this bundle, you can translate all non-translated strings from the OroPlatform database and export them into a YAML or CSV file for reuse.

The translation will take care to not translate strings with such tags: "It could be cool if this {{ won't be translated }} or my dear %hello world% stay safe"

If you have created translation files into your own bundles, they need to be loaded into the database before to proceed translation with Deepl. You must use the command "oro:translation:convert" before.

Special recommendation
----------------------

[](#special-recommendation)

Translating via DeepL API costs. So for this reason, if any problem appears while exporting. Do not run again the same command right now. Instead, open the ... TODO (because I have to check exactly how to proceed...)

### CSV Export

[](#csv-export)

In the case, a CSV file is exported, the english value is exported also and can be used for human translation or for checking translated values. Once you did the check of the translation, use the command "diglin:oro:deepl:translate:convert" to convert the CSV into a YAML file located into the `translations` folder then it will load the content into your OroPlatform database. On Production environment, you just need to let the generated files onto the `translations` folder, after your deployment, run the command `oro:platform:update --force` (do a database backup before to run it).

### YAML Export

[](#yaml-export)

The generated file can be used one to one to be loaded into your application. OroPlatform can also load it into your database if needed (e.g. to allow backend users to edit those translations). Same as for the CSV export, on Production environment, you just need to let the generated files onto the `translations` folder, after your deployment, run the command `oro:platform:update --force` (do a database backup before to run it).

Installation
------------

[](#installation)

`composer require diglin/oro-deepl`

Requirement
-----------

[](#requirement)

- OroPlatform 4.x, 5.0, 5.1 (may work on previous versions but not tested)

Configuration
-------------

[](#configuration)

[DeepL API Key](https://www.deepl.com/pro#developer) is required if you want to translate the strings automatically.

- Please, go to OroPlatform Backoffice, menu `System > Configuration > System Configuration > Integrations > DeepL`
- or provide the key via the parameter `deepl-api-key`
- or set the key into the `var/deepl-license.key` file.

If no API Key is present, an error message will be displayed but empty translation will still be generated.

Usage examples
--------------

[](#usage-examples)

Export empty strings of values in CSV to be translated

`bin/console --env=prod diglin:oro:deepl:translate:export --format csv --disable-deepl  de_DE`

Export translation into a CSV file, an english value will be available for translation check

`bin/console --env=prod diglin:oro:deepl:translate:export --format csv de_DE`

Export translation directly into a YAML file, existing data will be merged but overwritten if duplicate happens. The generated file will have a timestamp

`bin/console --env=prod diglin:oro:deepl:translate:export --format yml de_DE`

Export translation directly into a YAML file, existing data will be merged but overwritten if duplicate happens. The existing domain translation file (e.g. messages.de\_DE.yml) will be overwritten.

`bin/console --env=prod diglin:oro:deepl:translate:export --format yml --overwrite de_DE`

Translate only messages domain

`bin/console --env=prod diglin:oro:deepl:translate:export --domains messages de_DE`

Calculate the number of characters will be exported for locale de\_DE, useful to estimate DeepL cost

`bin/console --env=prod diglin:oro:deepl:translate:export --domains messages,jsmessages,workflows,validators,security --simulate de_DE`

Load previously generated CSV file and convert it to YAML, import it into the database and rebuild language cache without frontend interruption

`bin/console --env=prod diglin:oro:deepl:translate:convert --rebuild-cache translations/messages.de_DE.csv de_DE`

Do you have a tip ?
-------------------

[](#do-you-have-a-tip-)

Well, we admit that `diglin:oro:deepl:translate:export` is a long command but at least it describes what it does. If you prefer, you can use this shortcut instead: `d:o:d:t:e`

ROADMAP
-------

[](#roadmap)

- Add translation button for backend users in different areas (CMS, products, translation management)-

License
-------

[](#license)

See [MIT](LICENSE.txt)

Author
------

[](#author)

- Diglin GmbH
-
- [@diglin\_](https://twitter.com/diglin_)
- [Follow me on github!](https://github.com/diglin)

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~150 days

Recently: every ~210 days

Total

7

Last Release

1121d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/46659068?v=4)[Diglin](/maintainers/diglin)[@diglin](https://github.com/diglin)

---

Top Contributors

[![sylvainraye](https://avatars.githubusercontent.com/u/1337461?v=4)](https://github.com/sylvainraye "sylvainraye (9 commits)")[![clemzarch](https://avatars.githubusercontent.com/u/28787740?v=4)](https://github.com/clemzarch "clemzarch (1 commits)")

### Embed Badge

![Health badge](/badges/diglin-oro-deepl/health.svg)

```
[![Health](https://phpackages.com/badges/diglin-oro-deepl/health.svg)](https://phpackages.com/packages/diglin-oro-deepl)
```

###  Alternatives

[oro/crm

OroCRM

68088.8k44](/packages/oro-crm)[mage-os/module-automatic-translation

Automatic AI content translation for Mage-OS.

3017.9k](/packages/mage-os-module-automatic-translation)[oro/commerce

OroCommerce - an open-source Business to Business Commerce application. \\nThis package contains bundles and needs to be added as a dependency in an OroCommerce application.

20652.8k97](/packages/oro-commerce)[boxblinkracer/phpunuhi

Easy tool to work with translation files for validation, exports, imports and more.

83260.1k26](/packages/boxblinkracer-phpunuhi)[om/potrans

Command line tool for translate Gettext with Google Translator API or DeepL API

10520.2k9](/packages/om-potrans)[oro/customer-portal

1452.1k5](/packages/oro-customer-portal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
