PHPackages                             mrimann/xlifftranslator - 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. mrimann/xlifftranslator

ActiveTypo3-flow-package[Localization &amp; i18n](/categories/localization)

mrimann/xlifftranslator
=======================

Little helper that allows the developer to locally translate the Xliff files of his package(s).

v1.0.2(13y ago)101.7k9[8 issues](https://github.com/mrimann/XliffTranslator/issues)[1 PRs](https://github.com/mrimann/XliffTranslator/pulls)MITPHP

Since Nov 6Pushed 8y ago4 watchersCompare

[ Source](https://github.com/mrimann/XliffTranslator)[ Packagist](https://packagist.org/packages/mrimann/xlifftranslator)[ RSS](/packages/mrimann-xlifftranslator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (4)Used By (0)

Why?
----

[](#why)

In TYPO3 CMS there's a very old but still used extension called `llxmltranslate` that was originally published by Kasper. It enables a Backend user to see the current status of translations for a particular translation file (locallang.php or locallang.xml) per target language.

As an extension developer, this is very helpful to see

- which new labels from the default language have not yet been translated to X
- which labels with translations in language X have been modified in the default language since last translation
- which labels are translated and don't need any update

TYPO3 Flow packages use Xliff files for localizing texts and I was just missing a similar functionality for my packages. Of course, for TYPO3 Flow itself and the official packages, the central Pootle translation server is being used which is fine. But I don't want to set up a Pootle server just to localize some few strings of text so that I can ship my Flow packages pre-translated for at least those languages that I'm able to speak.

The current frontend lets you choose the package and the source/target language combination (remember: EN is not per se the default anymore!) and then shows you a list of translation units like the following:

[![Screenshot of the translation tool in action](https://camo.githubusercontent.com/fcb936e6404c872bea89e1650b8c491a9f36bc68024c5700b01ea26769e544da/68747470733a2f2f7261772e6769746875622e636f6d2f6d72696d616e6e2f586c6966665472616e736c61746f722f6d61737465722f446f63756d656e746174696f6e2f53637265656e73686f74732f7472616e736c6174696f6e566965772e706e67)](https://camo.githubusercontent.com/fcb936e6404c872bea89e1650b8c491a9f36bc68024c5700b01ea26769e544da/68747470733a2f2f7261772e6769746875622e636f6d2f6d72696d616e6e2f586c6966665472616e736c61746f722f6d61737465722f446f63756d656e746174696f6e2f53637265656e73686f74732f7472616e736c6174696f6e566965772e706e67)

How to get started
------------------

[](#how-to-get-started)

Given you've a running TYPO3 Flow installation on which you're currently developing an own package, you can just add the XliffTranslator package to your `composer.json` file as an additional requirement (at least for the dev installation), the package key is `mrimann/xlifftranslator` and [the package can be found on packagist.org](https://packagist.org/packages/mrimann/xlifftranslator)

As soon as you've installed this package to your system

- make sure the package you're about to translate has at least the following file `Resources/Private/Translations/en/Main.xlf`
- the file should contain at least one translation unit, see example in this package
- make sure that your package and the XliffTranslator are activated
- browse to
- choose your package from the list
- choose the language to which you want to translate
- start translating

Maybe you need to change some of the pre-sets in the settings of the XliffTranslator, the next section will describe how to do so.

Upon clicking the "save translations" button, a copy of a the existing target file is created (into the same directory) for safety reasons and then the new version of the localizations are saved. As you're with some source code versioning tool like e.g. Git (at least I expect you to do so), you'll now see the modifications that the translations have brought up. If you like the result, go ahead and commit them to your package.

Configuration options
---------------------

[](#configuration-options)

- defaultLanguage: en

    Sets the default language used to check for listing the available packages. If you e.g. use any other language as the default language for your package, set this to your source language.
- availableLanguages: en,de

    Defines the languages for which source/target combinations are built so you can choose which language you want to translate to. This option is the one you'll most probably modify to suit your specific needs.
- packagesToExclude:

    By default all the packages from the Framework are listed here and thus "hidden" from the list of packages that are available for translation. This should shorten the list to a level where only your own package(s) is/are shown.

How to contribute?
------------------

[](#how-to-contribute)

Feel free to [file new issues](https://github.com/mrimann/XliffTranslator/issues) if you find a problem or to propose a new feature. If you want to contribute your time and submit a code change, I'm very eager to look at your pull request!

In case you want to discuss a new feature with me, just send me an e-mail.

Can I use it in commercial projects?
------------------------------------

[](#can-i-use-it-in-commercial-projects)

Yes, please! And if you save some of your precious time with this package, I'd be very happy if you [give something back](http://www.rimann.org/support) - be it a warm "Thank you" by mail, spending me a drink at a conference, send me a post card or some other surprise :-)

License
-------

[](#license)

Licensed under the permissive [MIT license](http://opensource.org/licenses/MIT) - have fun with it!

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance4

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 96.9% 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 ~51 days

Total

3

Last Release

4832d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c47d078a8df83802429407a7f38c2585747d16746696b8fa0b812ce5677513fe?d=identicon)[mrimann](/maintainers/mrimann)

---

Top Contributors

[![mrimann](https://avatars.githubusercontent.com/u/1093784?v=4)](https://github.com/mrimann "mrimann (31 commits)")[![andygrunwald](https://avatars.githubusercontent.com/u/320064?v=4)](https://github.com/andygrunwald "andygrunwald (1 commits)")

---

Tags

localizationl10ntranslationxliffTYPO3 FlowTYPO3 Neos

### Embed Badge

![Health badge](/badges/mrimann-xlifftranslator/health.svg)

```
[![Health](https://phpackages.com/badges/mrimann-xlifftranslator/health.svg)](https://phpackages.com/packages/mrimann-xlifftranslator)
```

###  Alternatives

[inpsyde/multilingual-press

Simply THE multisite-based free open source plugin for your multilingual websites.

2414.0k1](/packages/inpsyde-multilingual-press)[fisharebest/localization

A lightweight localization database and translation tools, with data from the CLDR, IANA, ISO, etc.

3191.1k2](/packages/fisharebest-localization)[delight-im/i18n

Internationalization and localization for PHP

625.2k3](/packages/delight-im-i18n)[mediawiki/translate

The only standard solution to translate any kind of text with an avant-garde web interface within MediaWiki, including your documentation and software

457.9k](/packages/mediawiki-translate)[jrmajor/fluent

Fluent localization system for PHP

2716.9k5](/packages/jrmajor-fluent)[jrmajor/laravel-fluent

Fluent translations for Laravel

208.4k](/packages/jrmajor-laravel-fluent)

PHPackages © 2026

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