PHPackages                             move-elevator/composer-translation-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. move-elevator/composer-translation-deepl

ActiveLibrary[Localization &amp; i18n](/categories/localization)

move-elevator/composer-translation-deepl
========================================

Auto-fill missing translations using DeepL API

0.1.0(5mo ago)05GPL-3.0-or-laterPHPPHP ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0CI passing

Since Dec 10Pushed 4mo agoCompare

[ Source](https://github.com/move-elevator/composer-translation-deepl)[ Packagist](https://packagist.org/packages/move-elevator/composer-translation-deepl)[ RSS](/packages/move-elevator-composer-translation-deepl/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (16)Versions (3)Used By (0)

Composer Translation DeepL
==========================

[](#composer-translation-deepl)

[![Coverage](https://camo.githubusercontent.com/86b1218a100ecec77431a0da448d3a720ae8d150d316c833fa7b168b44a73924/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c73436f7665726167652f6769746875622f6d6f76652d656c657661746f722f636f6d706f7365722d7472616e736c6174696f6e2d646565706c3f6c6f676f3d636f766572616c6c73)](https://coveralls.io/github/move-elevator/composer-translation-deepl)[![CGL](https://camo.githubusercontent.com/36870747cc8b512edee650626e97aa4b3c6e5ee8a98c7d68485dd26813476456/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6f76652d656c657661746f722f636f6d706f7365722d7472616e736c6174696f6e2d646565706c2f63676c2e796d6c3f6c6162656c3d63676c266c6f676f3d676974687562)](https://github.com/move-elevator/composer-translation-deepl/actions/workflows/cgl.yml)[![Tests](https://camo.githubusercontent.com/3272602a10b19893569d01f997cf26e910baf6f9b266898a7ed5467488c177c1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6f76652d656c657661746f722f636f6d706f7365722d7472616e736c6174696f6e2d646565706c2f74657374732e796d6c3f6c6162656c3d7465737473266c6f676f3d676974687562)](https://github.com/move-elevator/composer-translation-deepl/actions/workflows/tests.yml)[![Supported PHP Versions](https://camo.githubusercontent.com/9ce220d0e0956d25d5662cb2af4d9791f61be12da93baa48268c4d8e324b3e9f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6d6f76652d656c657661746f722f636f6d706f7365722d7472616e736c6174696f6e2d646565706c2f7068703f6c6f676f3d706870)](https://packagist.org/packages/move-elevator/composer-translation-deepl)

> Autofill missing translations using the [DeepL](https://deepl.com/) API.

A lightweight Composer package that automatically completes missing translations in your project translation files.

Warning

This package is in early development stage and may change significantly in the future. I am working steadily to release a stable version as soon as possible.

✨ Features
----------

[](#-features)

- **Automatic Translation** - Uses DeepL API to fill missing translation keys
- **Batch Processing** - Translates up to 50 keys per API request for optimal performance
- **Multiple Formats** - `XLIFF`, `YAML`, `JSON`, `PHP` support
- **TYPO3 Compatible** - Works with TYPO3 XLIFF format
- **Symfony/Laravel Ready** - Supports standard translation file structures
- **Dry-Run Mode** - Preview changes before applying
- **Progress Tracking** - Visual progress bar and detailed statistics
- **API Usage Display** - Shows your DeepL character usage
- **XLIFF Marking** - State marking for auto-translated content

Note

This package is a feature addon for finding missing translations with the [composer-translation-validator](https://github.com/move-elevator/composer-translation-validator) plugin.

🔥 Installation
--------------

[](#-installation)

### Prerequisites

[](#prerequisites)

- PHP 8.1 or higher
- DeepL API key ([Get one for free](https://www.deepl.com/pro-api))

### Composer

[](#composer)

[![Packagist](https://camo.githubusercontent.com/c9c6bda977857b5d328f5e36191f6643e5e9b6514dac83e62a8719dc3e45230a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f76652d656c657661746f722f636f6d706f7365722d7472616e736c6174696f6e2d646565706c3f6c6162656c3d76657273696f6e266c6f676f3d7061636b6167697374)](https://packagist.org/packages/move-elevator/composer-translation-deepl)[![Packagist Downloads](https://camo.githubusercontent.com/29e79de6a09d68a224c580e4a8ccef95cc1c1acbffb46c7bc8bfded565670b9a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f76652d656c657661746f722f636f6d706f7365722d7472616e736c6174696f6e2d646565706c3f636f6c6f723d627269676874677265656e)](https://packagist.org/packages/move-elevator/composer-translation-deepl)

```
composer require move-elevator/composer-translation-deepl
```

📊 Usage
-------

[](#-usage)

### Basic Usage

[](#basic-usage)

```
# Set your DeepL API key
export DEEPL_API_KEY=your-api-key-here

# Translate to German
vendor/bin/autotranslate translations/ -t de
# Or via Composer
composer autotranslate translations/ -- -t de
# Or direct PHP execution
php bin/autotranslate -t de
```

### Advanced Options

[](#advanced-options)

```
# Translate a single file
vendor/bin/autotranslate translations/messages.en.xlf -t de

# Translate to multiple languages
vendor/bin/autotranslate translations/ -t de -t fr -t es

# Custom source locale
vendor/bin/autotranslate -s en-US -t de-DE

# Specific format
vendor/bin/autotranslate -t de -f yaml

# Custom domain
vendor/bin/autotranslate -t de --domain validators
```

### Command Options

[](#command-options)

```
vendor/bin/autotranslate  [options]
```

OptionShortDescriptionDefault`path`Path to translation file or directory`translations/``--source-locale``-s`Source locale`en``--target-locales``-t`Target locales (multiple)required`--api-key``-k`DeepL API key`DEEPL_API_KEY` env`--format``-f`File format (xliff, yaml, json, php)`xliff``--domain`-Translation domain`messages``--dry-run``-d`Simulate without writing`false``--force`-Overwrite without confirmation`false``--no-mark-auto-translated`-Disable XLIFF state marking`false` (marking enabled)`--verbose``-v`Detailed output`false``--quiet``-q`Only errors`false`### Supported File Formats

[](#supported-file-formats)

Translation files are detected and processed based on their format:

FormatFrameworksExample files**XLIFF**TYPO3 CMS, Symfony`locallang.xlf`, `de.locallang.xlf`, `messages.de.xlf`**YAML**Symfony`messages.en.yaml`, `messages.de.yaml`**JSON**Laravel, Symfony`messages.en.json`, `messages.de.json`**PHP**Laravel`en/messages.php`, `messages.en.php`🧑‍💻 Contributing
----------------

[](#‍-contributing)

Please have a look at [`CONTRIBUTING.md`](CONTRIBUTING.md).

⭐ License
---------

[](#-license)

This project is licensed under [GNU General Public License 3.0 (or later)](LICENSE).

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance78

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

150d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f71257bb4db7f3adcabdc7d93e0f84c00aa50689b1411976b57f6a57ed7b6b2e?d=identicon)[move-elevator](/maintainers/move-elevator)

---

Top Contributors

[![konradmichalik](https://avatars.githubusercontent.com/u/4558190?v=4)](https://github.com/konradmichalik "konradmichalik (24 commits)")

---

Tags

autotranslatedeepltranslation

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/move-elevator-composer-translation-deepl/health.svg)

```
[![Health](https://phpackages.com/badges/move-elevator-composer-translation-deepl/health.svg)](https://phpackages.com/packages/move-elevator-composer-translation-deepl)
```

###  Alternatives

[jms/translation-bundle

Puts the Symfony Translation Component on steroids

42510.8M63](/packages/jms-translation-bundle)[php-translation/symfony-bundle

3244.1M9](/packages/php-translation-symfony-bundle)[symfony/ux-translator

Exposes Symfony Translations directly to JavaScript.

26594.0k3](/packages/symfony-ux-translator)[boxblinkracer/phpunuhi

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

83225.2k17](/packages/boxblinkracer-phpunuhi)[leuchtfeuer/locate

Locate - The users country, preferred language and other facts will be detected. Depending on configurable rules the user can be redirected to other languages or pages. Locate also provides geo blocking for configurable pages in configurable countries.

1182.8k](/packages/leuchtfeuer-locate)[mage-os/module-automatic-translation

Automatic AI content translation for Mage-OS.

277.1k](/packages/mage-os-module-automatic-translation)

PHPackages © 2026

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