PHPackages                             amdeu/typo3-locallang-formats - 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. amdeu/typo3-locallang-formats

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

amdeu/typo3-locallang-formats
=============================

Alternative locallang formats - Registers Symfony's built-in translation loaders for TYPO3 locallang files, enabling YAML, JSON, PHP, INI, CSV, and PO formats as alternatives to XLF

1.0.1(2mo ago)017GPL-2.0-or-laterPHP

Since Mar 18Pushed 1mo agoCompare

[ Source](https://github.com/amdeu/typo3-locallang-formats)[ Packagist](https://packagist.org/packages/amdeu/typo3-locallang-formats)[ RSS](/packages/amdeu-typo3-locallang-formats/feed)WikiDiscussions main Synced 3w ago

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

typo3-locallang-formats
=======================

[](#typo3-locallang-formats)

Registers Symfony's built-in translation loaders for TYPO3 locallang files, enabling **YAML, JSON, PHP, INI, CSV, and PO** as alternatives to XLF.

Requirements
------------

[](#requirements)

TYPO3 14.3 or later

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

[](#installation)

```
composer require amdeu/typo3-locallang-formats

```

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

[](#how-it-works)

TYPO3 v14 uses the [Symfony Translation component](https://symfony.com/doc/current/translation.html)internally. This extension registers Symfony's built-in file loaders for additional formats via `$GLOBALS['TYPO3_CONF_VARS']['LANG']['loader']`. No custom parser code — just wiring.

XLF is always checked first (TYPO3 core default), so existing extensions are unaffected.

Usage
-----

[](#usage)

Identical to XLF — use the file's actual extension in the path:

```

```

Follow TYPO3's locallang file naming convention, translations prefixed with the locale:

```
Resources/Private/Language/
    locallang.yaml        ← default (English)
    de.locallang.yaml     ← German
    fr.locallang.yaml     ← French

```

Nested keys are flattened with dot notation by Symfony's loaders:

```
# locallang.yaml
login:
  title: Please log in
  submit: Submit
```

is referenced as `login.title`, `login.submit`.

Supported formats
-----------------

[](#supported-formats)

ExtensionFormat`yaml`, `yml`YAML`json`JSON`php`PHP file returning an array`ini`INI key=value`csv`CSV (`key,translation`)`po`[Gettext PO](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) — uses `msgid`/`msgstr`Changing format priority
------------------------

[](#changing-format-priority)

By default the order is `xlf, yaml, yml, json, php, ini, csv, po`. To override, set:

```
$GLOBALS['TYPO3_CONF_VARS']['LANG']['format']['priority'] = 'yaml,xlf,json,php,ini,csv,po';
```

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance88

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 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

Every ~15 days

Total

3

Last Release

70d ago

### Community

Maintainers

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

---

Top Contributors

[![amdeu](https://avatars.githubusercontent.com/u/48531005?v=4)](https://github.com/amdeu "amdeu (7 commits)")

### Embed Badge

![Health badge](/badges/amdeu-typo3-locallang-formats/health.svg)

```
[![Health](https://phpackages.com/badges/amdeu-typo3-locallang-formats/health.svg)](https://phpackages.com/packages/amdeu-typo3-locallang-formats)
```

###  Alternatives

[friendsoftypo3/content-blocks

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

101466.4k45](/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.

33296.7k](/packages/web-vision-wv-deepltranslate)[web-vision/deepltranslate-core

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

33122.1k6](/packages/web-vision-deepltranslate-core)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

41515.2k](/packages/wazum-sluggi)[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.

1185.3k](/packages/leuchtfeuer-locate)[undefined/translate-locallang

Backend Module for creating and editing of language files (locallang.xlf).

12270.9k2](/packages/undefined-translate-locallang)

PHPackages © 2026

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