PHPackages                             r3h6/form-translator - 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. r3h6/form-translator

ActiveTypo3-cms-extension[Localization &amp; i18n](/categories/localization)

r3h6/form-translator
====================

Provides a backend module and cli for translating forms.

3.0.2(1y ago)623.6k↓34.3%11[7 issues](https://github.com/r3h6/TYPO3.EXT.form_translator/issues)[7 PRs](https://github.com/r3h6/TYPO3.EXT.form_translator/pulls)GPL-2.0-or-laterPHPPHP &gt;= 8.1 &lt; 8.4CI passing

Since Feb 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/r3h6/TYPO3.EXT.form_translator)[ Packagist](https://packagist.org/packages/r3h6/form-translator)[ RSS](/packages/r3h6-form-translator/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (22)Versions (21)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/360f8f73f51cf9893daccdeae5eb8062d86ab89cfeed45d13bd2b96d24204184/68747470733a2f2f706f7365722e707567782e6f72672f723368362f666f726d2d7472616e736c61746f722f762f737461626c65)](https://extensions.typo3.org/extension/form_translator/)[![TYPO3 12](https://camo.githubusercontent.com/5988c2b3fbc4d962eb8b98b039607aea05b319ac41e106ec771361a45598caed/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31322d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://get.typo3.org/version/12)[![TYPO3 11](https://camo.githubusercontent.com/95b97bf30b8b5b6165cafd25cef0d9dac36c06ceae2a71021f6c58bd39e30843/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31312d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://get.typo3.org/version/11)[![Total Downloads](https://camo.githubusercontent.com/24839dba7e8f41e5c26839e383e3dee36d143aab22a42b72a0f9de0753a0df3e/68747470733a2f2f706f7365722e707567782e6f72672f723368362f666f726d2d7472616e736c61746f722f642f746f74616c)](https://packagist.org/packages/r3h6/form-translator)[![Monthly Downloads](https://camo.githubusercontent.com/19ff25e60ab37417cfdddc9b1b60b192e90874574b28c07b2ee469e1ded9b91f/68747470733a2f2f706f7365722e707567782e6f72672f723368362f666f726d2d7472616e736c61746f722f642f6d6f6e74686c79)](https://packagist.org/packages/form-translater)

form\_translator
================

[](#form_translator)

This extension provides a backend module for translating TYPO3 form framework forms and a cli for creating a source xliff file for a given form.

[![](./Documentation/translate.png)](./Documentation/translate.png)

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

[](#installation)

Either from TYPO3 TER or through composer `$ composer req r3h6/form-translator`.

Integration
-----------

[](#integration)

If you like use machine translation by [LibreTranslate](https://libretranslate.com/)you must only configure an api host in the extension configuration. See available [mirrors](https://github.com/LibreTranslate/LibreTranslate#mirrors).

How it works
------------

[](#how-it-works)

The extensions adds a translation file path to the \*.form.yaml file when localize through the backend module.

```
# example.form.yaml
renderingOptions:
  translation:
    translationFiles:
      99: fileadmin/form_definitions/l10n/example.xlf
```

Customized validation error messages are translated by overriding the form definition at runtime using the `afterBuildingFinished` hook from the form framework.

Upgrade
-------

[](#upgrade)

### From v2 an TYPO3 v12

[](#from-v2-an-typo3-v12)

Rename language files prefixed with a locale like `de_DE.locallang.xlf`to the corresponding TYPO3 language `de.locallang.xlf`or setup a [custom language](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Localization/ManagingTranslations.html#xliff-translating-languages).

### From v2 an TYPO3 v11

[](#from-v2-an-typo3-v11)

No changes required.

Known issues
------------

[](#known-issues)

- [Issues on GitHub](https://github.com/r3h6/TYPO3.EXT.form_translator/issues)

### Transalte to English overrides the original form labels

[](#transalte-to-english-overrides-the-original-form-labels)

**Scenario:** German is used as default language and your form definition labels are in German too.

When you translate a form to English, English will override your original labels even on the German version of your site.
You have following options:

1. Create a (duplicated) German translation of the form
2. Add the English locale without charset to the extension configuration `typo3LanguageWhitelist`

**Background:** Beginning with v12, TYPO3 uses the locale configured for the site to determine the language.
For English, TYPO3 uses the file named `xyz.xlf`, it does not load a file named `en.xyz.xlf`, but it does for `en_US.xyz.xlf`.

Resources
---------

[](#resources)

- [Tutorial by Sebastian Klein](https://www.sebkln.de/en/tutorials/translating-forms-in-the-typo3-form-framework/)
- [Translation with variants](https://docs.typo3.org/c/typo3/cms-form/main/en-us/I/Concepts/Variants/Index.html#concepts-variants-examples-translation)

Develpment
----------

[](#develpment)

### Events

[](#events)

NameDescriptionAfterParseFormEventAllows to change the translatable items of a formFinalizeTypo3LanguagesEventAllows to change the available languages### Local setup

[](#local-setup)

Setup libretranslate:

`docker run -ti --rm -p 5000:5000 -e LT_LOAD_ONLY='en,de' libretranslate/libretranslate`

LibreTranslate host:

`http://host.docker.internal:5000/`

Contribution
------------

[](#contribution)

Pull request are welcome!

**Please note**: I will not include other translation api's than LibreTranslate in this extension. If you need an other service, you can create your own by implementing `TranslationServiceInterface`.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 87.1% 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 ~79 days

Recently: every ~47 days

Total

15

Last Release

501d ago

Major Versions

v1.x-dev → 2.0.02023-05-31

v2.x-dev → 3.0.02024-10-16

PHP version history (6 changes)1.0.0PHP &gt;= 7.2, &lt; 8.1

1.1.0PHP &gt;= 7.2, &lt; 8.2

1.3.0PHP &gt;= 7.2, &lt; 8.3

2.0.0PHP &gt;= 7.4, &lt; 8.3

2.0.4PHP &gt;= 7.4, &lt; 8.4

3.0.0PHP &gt;= 8.1 &lt; 8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/16a90ecca50b4d985e1d1b3a051dba9159a0602bc61605a222935257331325d5?d=identicon)[r3h6](/maintainers/r3h6)

---

Top Contributors

[![r3h6](https://avatars.githubusercontent.com/u/4550541?v=4)](https://github.com/r3h6 "r3h6 (27 commits)")[![sneopu](https://avatars.githubusercontent.com/u/1940935?v=4)](https://github.com/sneopu "sneopu (2 commits)")[![Kanti](https://avatars.githubusercontent.com/u/471387?v=4)](https://github.com/Kanti "Kanti (1 commits)")[![yodaXX](https://avatars.githubusercontent.com/u/13272160?v=4)](https://github.com/yodaXX "yodaXX (1 commits)")

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/r3h6-form-translator/health.svg)

```
[![Health](https://phpackages.com/badges/r3h6-form-translator/health.svg)](https://phpackages.com/packages/r3h6-form-translator)
```

###  Alternatives

[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[typo3/cms-styleguide

TYPO3 extension to showcase TYPO3 Backend capabilities

106760.3k33](/packages/typo3-cms-styleguide)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33304.3k](/packages/web-vision-wv-deepltranslate)[7elix/styleguide

TYPO3 extension to showcase TYPO3 Backend capabilities

10727.3k](/packages/7elix-styleguide)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1595.5k](/packages/eliashaeussler-typo3-form-consent)

PHPackages © 2026

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