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(3mo ago)019GPL-2.0-or-laterPHP

Since Mar 18Pushed 3mo 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 1w 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

34

—

LowBetter than 74% of packages

Maintenance80

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

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

115d 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

103574.3k67](/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.

34311.2k](/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.

34162.0k10](/packages/web-vision-deepltranslate-core)[wazum/sluggi

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

40543.5k](/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.

1187.8k](/packages/leuchtfeuer-locate)

PHPackages © 2026

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