PHPackages                             fluidtypo3/flll - 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. fluidtypo3/flll

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

fluidtypo3/flll
===============

FluidTYPO3 Localisation file auto-writer

101.8k3[2 issues](https://github.com/FluidTYPO3/flll/issues)PHP

Since Sep 14Pushed 9y ago5 watchersCompare

[ Source](https://github.com/FluidTYPO3/flll)[ Packagist](https://packagist.org/packages/fluidtypo3/flll)[ RSS](/packages/fluidtypo3-flll/feed)WikiDiscussions development Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (0)

Fluid Powered TYPO3: LLL File Writer
====================================

[](#fluid-powered-typo3-lll-file-writer)

[![Build Status](https://camo.githubusercontent.com/f3c61380f2c8e6a4bb10b3b7053c3480e6bae9d7bb79fa8f5d1f8e8766ffeb43/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f466c7569645459504f332f666c6c6c2e7376673f7374796c653d666c61742d737175617265266c6162656c3d7061636b616765)](https://travis-ci.org/FluidTYPO3/flll) [![Coverage Status](https://camo.githubusercontent.com/50fb7a40afac5adc530fa08d4474d84220154cbf52de46dd823c6c54bf21c41b/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c732f466c7569645459504f332f666c6c6c2f646576656c6f706d656e742e7376673f7374796c653d666c61742d737175617265)](https://coveralls.io/r/FluidTYPO3/flll)

A development-only tool to automatically create and update `locallang.xml` and `locallang.xlf` to add any missing labels. Every method of translation is covered - in Extbase, Fluid, TCA, FlexForms, TypoScript; litterally every method. When used, for example `f:translate` can be used without the need for a language file. `FLLL` then creates the file and starts adding all your labels with default values.

WARNING! Not for use in production!
-----------------------------------

[](#warning-not-for-use-in-production)

This extension updates extension files on-the-fly and as such it should **never, ever be installed in production sites**. Ignore this advise at your own peril - remember: broken language files can break entire TYPO3 sites and it is never completely risk-free to use automation tools such as this one.

What does it do?
----------------

[](#what-does-it-do)

`FLLL` makes it extremely easy to work with translatable labels in TCA, Fluid, Extbase, TypoScript, FlexForms etc.

`FLLL` creates and updates TYPO3 translation files in `xml` or `xliff` format, adding any label that you attempt to use but which does not exist. Simply put, it automatically generates default translation file values on-the-fly which you can later translate.

It triggers on every type of translation that TYPO3 can perform, from the oldest ways all the way to the very latest such as the `f:translate` ViewHelper. This means that, for example, you can create Fluid templates which use translated labels without caring about the contents of the translation file. When you're ready to start translating, the file will be ready for you - filled with default label values.

> Note: because the writing happens immediately after you attempt to use a missing label, `FLLL` cannot sort out if you make a typo or misspell a label name. If this happens, and you already translated the label, you must fix it manually - just like you would do if `FLLL` was not installed: edit the file(s), rename label in every language, save.

How does it work?
-----------------

[](#how-does-it-work)

Technically: `FLLL` replaces the original TYPO3 `LocalizationFactory` class special and instead of arrays, this new class returns proxy-type object (implementing ArrayAccess) which will always return TRUE from `offsetExists` and when reading a non-existing label, adds this label with a default value. On request termination each proxy object then writes any new labels to language files which are created if missing.

`FLLL` also adds new language nodes and translation files for every (active) language on your site. And naturally it preserves all existing labels from being overwritten - it will only add labels which are truly missing.

`FLLL` does not write LLL labels for **system extensions** but it does write labels for **globally installed extensions**. If you need to exclude a globally installed extension, use the white- and blacklisting feature.

> Note: `FLLL` will also alphabetically sort the labels it adds - this fits very well with the `prefix.labelName` syntax that Extbase encourages, to logically group your labels.

> Note: Translation files are **cached** in TYPO3 - you will need to clear caches to actually see the added labels. However, `FLLL` will not write duplicates to your files so you do not need to continually clear caches. Once in a while will suffice.

> Note: `FLLL` only triggers when your language files have been cached initially; this is done to prevent problems when rebuilding the language cache contents.

How do I use it?
----------------

[](#how-do-i-use-it)

Simply install it - and if you wish, through Extension Manager configure `FLLL` to white- or blacklist LLL writing for individual extension keys. `FLLL` then immediately starts updating your language files whenever TYPO3 tries to render a translated label which does not exist in files.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

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

### Community

Maintainers

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

---

Top Contributors

[![NamelessCoder](https://avatars.githubusercontent.com/u/2228052?v=4)](https://github.com/NamelessCoder "NamelessCoder (36 commits)")[![xf-](https://avatars.githubusercontent.com/u/1295633?v=4)](https://github.com/xf- "xf- (10 commits)")

### Embed Badge

![Health badge](/badges/fluidtypo3-flll/health.svg)

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

###  Alternatives

[symfony/translation

Provides tools to internationalize your application

6.6k836.5M2.1k](/packages/symfony-translation)[nesbot/carbon

An API extension for DateTime that supports 281 different languages.

169661.4M4.8k](/packages/nesbot-carbon)[joedixon/laravel-translation

A tool for managing all of your Laravel translations

717911.4k11](/packages/joedixon-laravel-translation)[illuminate/translation

The Illuminate Translation package.

6936.4M495](/packages/illuminate-translation)[lajax/yii2-translate-manager

Translation management extension for Yii 2

227578.8k13](/packages/lajax-yii2-translate-manager)[larswiegers/laravel-translations-checker

Make sure your laravel translations are checked and are included in all languages.

256423.2k2](/packages/larswiegers-laravel-translations-checker)

PHPackages © 2026

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