PHPackages                             sitegeist/csv-labels - 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. sitegeist/csv-labels

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

sitegeist/csv-labels
====================

Use CSV files to provide translation labels to TYPO3

1.1.1(1mo ago)386.4k↓23.5%1[1 PRs](https://github.com/sitegeist/csv-labels/pulls)GPL-2.0-or-laterPHPCI passing

Since Feb 3Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/sitegeist/csv-labels)[ Packagist](https://packagist.org/packages/sitegeist/csv-labels)[ Docs](https://github.com/sitegeist/csv-labels)[ RSS](/packages/sitegeist-csv-labels/feed)WikiDiscussions main Synced yesterday

READMEChangelog (7)Dependencies (6)Versions (15)Used By (0)

CSV Translation Files for TYPO3
===============================

[](#csv-translation-files-for-typo3)

This utility extension extends the language handling of TYPO3 to be able to use a simple CSV file format to specify language labels. While the XLIFF file format is a widely used standard and is more powerful, CSV files can be a pragmatic approach for language files that only contain a handful of entries.

This extension **does not** remove or disable XLIFF files, it merely provides another file format to choose from. We at sitegeist use the CSV file format to define language labels for [Fluid Components](https://github.com/sitegeist/fluid-components).

Getting started
---------------

[](#getting-started)

Install the extension either [from TER](https://extensions.typo3.org/extension/csv_labels/) or [via composer](https://packagist.org/packages/sitegeist/csv-labels):

```
composer require sitegeist/csv-labels

```

File format
-----------

[](#file-format)

**locallang.csv:**

```
"id","description","default","de"
"Actions","","Actions","Aktionen"
"ConfirmDelete","Message in the delete user dialog","Should the following user be deleted?","Soll der folgende Nutzer gelöscht werden?"

```

Rules:

- The column `id` represents the label identifier
- The column `description` represents the label description (for documentation purposes)
- All other columns are treated as a translation for the locale from the header line
- The csv files use `,` as delimiter and `"` as text delimiters (default configuration of [fgetcsv](https://www.php.net/manual/en/function.fgetcsv.php))

Usage
-----

[](#usage)

```

```

Authors &amp; Sponsors
----------------------

[](#authors--sponsors)

- Ulrich Mathes -
- Simon Praetorius -
- [All contributors](https://github.com/sitegeist/fluid-components/graphs/contributors)

*The development and the public-releases of this package is generously sponsored by my employer .*

###  Health Score

54

—

FairBetter than 96% of packages

Maintenance93

Actively maintained with recent releases

Popularity35

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

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

###  Release Activity

Cadence

Every ~323 days

Recently: every ~291 days

Total

7

Last Release

36d ago

### Community

Maintainers

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

---

Top Contributors

[![s2b](https://avatars.githubusercontent.com/u/458524?v=4)](https://github.com/s2b "s2b (19 commits)")[![ulrichmathes](https://avatars.githubusercontent.com/u/26324456?v=4)](https://github.com/ulrichmathes "ulrichmathes (15 commits)")[![Atomschinken](https://avatars.githubusercontent.com/u/3041069?v=4)](https://github.com/Atomschinken "Atomschinken (1 commits)")

---

Tags

localizationtypo3typo3-extension

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/sitegeist-csv-labels/health.svg)

```
[![Health](https://phpackages.com/badges/sitegeist-csv-labels/health.svg)](https://phpackages.com/packages/sitegeist-csv-labels)
```

###  Alternatives

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

33142.5k8](/packages/web-vision-deepltranslate-core)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[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.

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

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

12278.3k3](/packages/undefined-translate-locallang)

PHPackages © 2026

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