PHPackages                             incenteev/translation-checker-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. [Testing &amp; Quality](/categories/testing)
4. /
5. incenteev/translation-checker-bundle

ActiveSymfony-bundle[Testing &amp; Quality](/categories/testing)

incenteev/translation-checker-bundle
====================================

CLI tools to check translations in a Symfony project

v1.9.1(2y ago)36578.9k↓33.5%5[1 issues](https://github.com/Incenteev/translation-checker-bundle/issues)MITPHPPHP ^7.4 || ^8.0

Since Jun 8Pushed 1y ago3 watchersCompare

[ Source](https://github.com/Incenteev/translation-checker-bundle)[ Packagist](https://packagist.org/packages/incenteev/translation-checker-bundle)[ Docs](https://github.com/Incenteev/translation-checker-bundle)[ RSS](/packages/incenteev-translation-checker-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (15)Versions (14)Used By (0)

Translation Checker Bundle
==========================

[](#translation-checker-bundle)

This bundle provides you a few CLI commands to check your translations. These commands are designed to be usable easily in CI jobs

[![CI](https://github.com/Incenteev/translation-checker-bundle/actions/workflows/ci.yml/badge.svg)](https://github.com/Incenteev/translation-checker-bundle/actions/workflows/ci.yml)[![Latest Stable Version](https://camo.githubusercontent.com/aabe13d5311cbccdf83c8b8e6abaf71fb52d4bc6529e204bf939ed2efaba1b5e/68747470733a2f2f706f7365722e707567782e6f72672f696e63656e746565762f7472616e736c6174696f6e2d636865636b65722d62756e646c652f762f737461626c652e737667)](https://packagist.org/packages/incenteev/translation-checker-bundle)[![Latest Unstable Version](https://camo.githubusercontent.com/54d5df3c7c4ce75681f749d127b200f12232ff47073f83734a88c1a5c89dcf60/68747470733a2f2f706f7365722e707567782e6f72672f696e63656e746565762f7472616e736c6174696f6e2d636865636b65722d62756e646c652f762f756e737461626c652e737667)](https://packagist.org/packages/incenteev/translation-checker-bundle)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/62cd9e1c9c06f4dbbdece7888ff4033199903a9fc5dade69b2bc638eea357215/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f496e63656e746565762f7472616e736c6174696f6e2d636865636b65722d62756e646c652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/Incenteev/translation-checker-bundle/?branch=master)

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

[](#installation)

Installation is a quick (I promise!) 2 step process:

1. Download IncenteevTranslationCheckerBundle
2. Enable the Bundle

### Step 1: Install IncenteevTranslationCheckerBundle with composer

[](#step-1-install-incenteevtranslationcheckerbundle-with-composer)

Run the following composer require command:

```
composer require incenteev/translation-checker-bundle
```

### Step 2: Enable the bundle

[](#step-2-enable-the-bundle)

> **Note:** If you use Flex, you have nothing to do at this step, as Flex does it for you.

Finally, enable the bundle in the kernel:

```
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Incenteev\TranslationCheckerBundle\IncenteevTranslationCheckerBundle(),
    );
}
```

> **Warning:** This bundle requires that the translator is enabled in FrameworkBundle.

Usage
-----

[](#usage)

The bundle provides a few CLI commands. To list them all, run:

```
bin/console list incenteev:translation
```

All commands display a summary only by default. Run then in verbose mode to get a detailed report.

### Finding missing translations

[](#finding-missing-translations)

The `incenteev:translation:find-missing` command extracts necessary translations from our app source code, and then compare this list to the translation available for the tested locale. It will exit with a failure exit code if any missing translation is detected.

> **Warning:** Translation extraction will not find all translations used by our app. So while a failure exit code means there is an issue, a success exit code does not guarantee that all translations are available. The recommended usage is to use this command for your reference locale only, and then test other locales by comparing them against the reference instead.

### Comparing translations to a reference locale

[](#comparing-translations-to-a-reference-locale)

The `incenteev:translation:compare` command compares available translations from 2 different locales and will exit with a failure exit code if catalogues are not in sync.

> Note: this command may not work well for country variants of a locale (`fr_FR`). Use it for main locales.

Configuration
-------------

[](#configuration)

To use the commands comparing the catalogue to the extracted translations, you need to configure the bundles in which the templates should be parsed for translations. By default, only templates in `templates` (and `app/Resources/views` on Symfony 4 and older) are registered in the extractor. You can register bundles that will be processed too.

```
# app/config/config.yml
incenteev_translation_checker:
    extraction:
        bundles:
            - TwigBundle
            - AcmeDemoBundle
```

The bundle also supports extracting translations from JS files, for projects using [willdurand/js-translation-bundle](https://packagist.org/packages/willdurand/js-translation-bundle):

```
# app/config/config.yml
incenteev_translation_checker:
    extraction:
        js:
            # Paths in which JS files should be checked for translations.
            # Path could be either for files, or for directories in which JS files should be looked for.
            # This configuration is required to enable this feature.
            paths:
                - '%kernel.project_dir%/web/js'
                - '%kernel.project_dir%/web/other.js'
            # The default domain used in your JS translations. Should match the js-translation-bundle configuration
            # Defaults to 'messages'
            default_domain: js
```

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity47

Moderate usage in the ecosystem

Community13

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 99.2% 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 ~262 days

Recently: every ~206 days

Total

13

Last Release

853d ago

PHP version history (3 changes)v1.0.0PHP &gt;=5.3.2

v1.5.0PHP ^7.2

v1.6.0PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/75c5d927b0434111db9720dd78af8c83385cf28bb9aeafd031ba8cb0c4ffc558?d=identicon)[Stof](/maintainers/Stof)

---

Top Contributors

[![stof](https://avatars.githubusercontent.com/u/439401?v=4)](https://github.com/stof "stof (119 commits)")[![tacman](https://avatars.githubusercontent.com/u/619585?v=4)](https://github.com/tacman "tacman (1 commits)")

---

Tags

bundlecihacktoberfestmissing-translationsphpsymfonysymfony-bundletranslationtestingtranslationtranslation check

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

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

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k12.4M193](/packages/simplesamlphp-simplesamlphp)

PHPackages © 2026

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