PHPackages                             kilik/translation-bundle - 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. kilik/translation-bundle

ActiveSymfony-bundle[Localization &amp; i18n](/categories/localization)

kilik/translation-bundle
========================

Symfony Tool to help Import/Export (missing) translations

1.0.0(4y ago)447.8k↓48.5%8[4 issues](https://github.com/KilikFr/TranslationBundle/issues)[1 PRs](https://github.com/KilikFr/TranslationBundle/pulls)MITPHPPHP ^7.4||^8.0

Since Jun 16Pushed 3y ago2 watchersCompare

[ Source](https://github.com/KilikFr/TranslationBundle)[ Packagist](https://packagist.org/packages/kilik/translation-bundle)[ RSS](/packages/kilik-translation-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (25)Used By (0)

Kilik Translation Bundle
========================

[](#kilik-translation-bundle)

KTB (Kilik Translation Bundle) is a tool to be used with Symfony Translator. It tries to simplify the exchanges with the (human) translators.

**Note for Symfony 3.4+ / Symfony 4+ projects**

> Since symfony applications are not a bundle, we use the special bundle name 'app' to handle import and export of application translations not located into a bundle

From the command line you can export translations (filtering with bundles names, domains, and locales) to CSV (Tab separators).

Your translator (colleague, service provider, etc...) can open CSV files with specific translator tools (or with Office Software).

Then, you can import updated translations to your project.

The translations made in vendors are also supported (useful when you have to work on big applications with a lot of bundles).

Concepts:

- your project is fully translated in a locale (locale reference, fallback)
- it aims to simplify the process to translate missing translations with non-team people

Add this bundle to your application
===================================

[](#add-this-bundle-to-your-application)

```
composer require kilik/translation-bundle

```

Than, add this line to your AppKernel.php:

```
    $bundles = [
        // ...
        new Kilik\TranslationBundle\KilikTranslationBundle(),
        // ...
    ];

```

Export translations
===================

[](#export-translations)

Export translations to CSV:

export translations, with EN locale as reference, and match missing translations to FR or ES to a file:

```
./bin/console kilik:translation:export en fr,es AcmeBundle ~/translations.csv

```

work on some bundles at the same time:

```
./bin/console kilik:translation:export en fr,es AcmeBundle,MyOtherBundle ~/translations.csv

```

export only lines with missing translations:

```
./bin/console kilik:translation:export en fr,es AcmeBundle --only-missing ~/translations.csv

```

export only some domains:

```
./bin/console kilik:translation:export en fr,es AcmeBundle --domains messages,validators ~/translations.csv

```

export application only translations (Symfony 3.4+ / Symfony 4+1):

```
./bin/console kilik:translation:export en fr app ~/translations.csv

```

Import translations
===================

[](#import-translations)

Import translations from CSV (translations are merged with your current project translations).

import all translations from your CSV file, for a given locales:

```
./bin/console kilik:translation:import fr ~/translations.csv

```

import all translations from your CSV file, overriding existing translation keys:

```
./bin/console kilik:translation:import fr ~/translations.csv -o

```

import translations from your CSV file, for a specific bundle, for a given locales:

```
./bin/console kilik:translation:import fr --bundles AcmeBundle ~/translations.csv

```

import translations from your CSV file, for domains, for a given locales:

```
./bin/console kilik:translation:import fr --domains messages,validators AcmeBundle ~/translations.csv

```

you can also import translations with many locales:

```
./bin/console kilik:translation:import fr,es,nl ~/translations.csv

```

import translations from your CSV file, for application only translations (Symfony 3.4+ / Symfony 4+1):

```
./bin/console kilik:translation:import fr --bundles app ~/translations.csv

```

For bundle developpers
======================

[](#for-bundle-developpers)

```
# prepare tests
./prepare-tests.sh

# run tests
./run-tests.sh

# launch composer
./scripts/composer.sh
```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 70% 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 ~149 days

Recently: every ~162 days

Total

13

Last Release

1469d ago

Major Versions

0.2.3 → 1.0.02022-05-11

PHP version history (3 changes)0.0.1PHP ~5.6|~7.0

0.2.0PHP ^7.2

0.2.3PHP ^7.4||^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/26c3b9446a0b332125f6cd4eb5a127bc97efee1f1bbf1a8ad54cd176f203fed3?d=identicon)[mitch10593](/maintainers/mitch10593)

---

Top Contributors

[![mitch10593](https://avatars.githubusercontent.com/u/10455897?v=4)](https://github.com/mitch10593 "mitch10593 (21 commits)")[![raxmania](https://avatars.githubusercontent.com/u/48412874?v=4)](https://github.com/raxmania "raxmania (5 commits)")[![artdeoich](https://avatars.githubusercontent.com/u/7941285?v=4)](https://github.com/artdeoich "artdeoich (2 commits)")[![ypereirareis](https://avatars.githubusercontent.com/u/6838923?v=4)](https://github.com/ypereirareis "ypereirareis (2 commits)")

---

Tags

export-translationsmissing-translationssymfonytranslationsymfonytranslation

### Embed Badge

![Health badge](/badges/kilik-translation-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/kilik-translation-bundle/health.svg)](https://phpackages.com/packages/kilik-translation-bundle)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[willdurand/js-translation-bundle

A pretty nice way to expose your translation messages to your JavaScript.

58917.1M55](/packages/willdurand-js-translation-bundle)[lexik/translation-bundle

This bundle allows to import translation files content into the database and provide a GUI to edit translations.

4362.7M19](/packages/lexik-translation-bundle)

PHPackages © 2026

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