{"id":28412542,"url":"https://github.com/incenteev/translation-checker-bundle","last_synced_at":"2025-10-28T20:03:31.131Z","repository":{"id":45562768,"uuid":"10973968","full_name":"Incenteev/translation-checker-bundle","owner":"Incenteev","description":"CLI tools to check translations in a Symfony project","archived":false,"fork":false,"pushed_at":"2024-09-26T22:15:35.000Z","size":106,"stargazers_count":36,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-03T11:14:22.836Z","etag":null,"topics":["bundle","ci","hacktoberfest","missing-translations","php","symfony","symfony-bundle","translation"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Incenteev.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-06-26T17:11:32.000Z","updated_at":"2025-05-25T14:07:44.000Z","dependencies_parsed_at":"2024-01-16T17:06:38.348Z","dependency_job_id":"a0441aaa-0f82-4f4d-9daa-9c05659fef4c","html_url":"https://github.com/Incenteev/translation-checker-bundle","commit_stats":{"total_commits":69,"total_committers":1,"mean_commits":69.0,"dds":0.0,"last_synced_commit":"60cfd7edc5632128ec69c4a443634dc49a439882"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/Incenteev/translation-checker-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incenteev%2Ftranslation-checker-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incenteev%2Ftranslation-checker-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incenteev%2Ftranslation-checker-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incenteev%2Ftranslation-checker-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Incenteev","download_url":"https://codeload.github.com/Incenteev/translation-checker-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incenteev%2Ftranslation-checker-bundle/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261685451,"owners_count":23194107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bundle","ci","hacktoberfest","missing-translations","php","symfony","symfony-bundle","translation"],"created_at":"2025-06-02T22:44:42.010Z","updated_at":"2025-10-28T20:03:31.119Z","avatar_url":"https://github.com/Incenteev.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Translation Checker Bundle\n\nThis bundle provides you a few CLI commands to check your translations.\nThese commands are designed to be usable easily in CI jobs\n\n[![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)\n[![Latest Stable Version](https://poser.pugx.org/incenteev/translation-checker-bundle/v/stable.svg)](https://packagist.org/packages/incenteev/translation-checker-bundle)\n[![Latest Unstable Version](https://poser.pugx.org/incenteev/translation-checker-bundle/v/unstable.svg)](https://packagist.org/packages/incenteev/translation-checker-bundle)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/Incenteev/translation-checker-bundle/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/Incenteev/translation-checker-bundle/?branch=master)\n\n## Installation\n\nInstallation is a quick (I promise!) 2 step process:\n\n1. Download IncenteevTranslationCheckerBundle\n2. Enable the Bundle\n\n### Step 1: Install IncenteevTranslationCheckerBundle with composer\n\nRun the following composer require command:\n\n```bash\ncomposer require incenteev/translation-checker-bundle\n```\n\n### Step 2: Enable the bundle\n\n\u003e **Note:** If you use Flex, you have nothing to do at this step, as Flex does it for you.\n\nFinally, enable the bundle in the kernel:\n\n```php\n// app/AppKernel.php\n\npublic function registerBundles()\n{\n    $bundles = array(\n        // ...\n        new Incenteev\\TranslationCheckerBundle\\IncenteevTranslationCheckerBundle(),\n    );\n}\n```\n\n\u003e **Warning:** This bundle requires that the translator is enabled in FrameworkBundle.\n\n## Usage\n\nThe bundle provides a few CLI commands. To list them all, run:\n\n```bash\nbin/console list incenteev:translation\n```\n\nAll commands display a summary only by default. Run then in verbose mode\nto get a detailed report.\n\n### Finding missing translations\n\nThe `incenteev:translation:find-missing` command extracts necessary translations\nfrom our app source code, and then compare this list to the translation available\nfor the tested locale. It will exit with a failure exit code if any missing\ntranslation is detected.\n\n\u003e **Warning:** Translation extraction will not find all translations used by our app.\n\u003e So while a failure exit code means there is an issue, a success exit code does not\n\u003e guarantee that all translations are available.\n\u003e The recommended usage is to use this command for your reference locale only, and\n\u003e then test other locales by comparing them against the reference instead.\n\n### Comparing translations to a reference locale\n\nThe `incenteev:translation:compare` command compares available translations from\n2 different locales and will exit with a failure exit code if catalogues are not\nin sync.\n\n\u003e Note: this command may not work well for country variants of a locale (`fr_FR`).\n\u003e Use it for main locales.\n\n## Configuration\n\nTo use the commands comparing the catalogue to the extracted translations, you\nneed to configure the bundles in which the templates should be parsed for translations.\nBy default, only templates in `templates` (and `app/Resources/views` on Symfony 4 and older)\nare registered in the extractor. You can register bundles that will be processed too.\n\n```yaml\n# app/config/config.yml\nincenteev_translation_checker:\n    extraction:\n        bundles:\n            - TwigBundle\n            - AcmeDemoBundle\n```\n\nThe bundle also supports extracting translations from JS files, for projects using\n[willdurand/js-translation-bundle](https://packagist.org/packages/willdurand/js-translation-bundle):\n\n```yaml\n# app/config/config.yml\nincenteev_translation_checker:\n    extraction:\n        js:\n            # Paths in which JS files should be checked for translations.\n            # Path could be either for files, or for directories in which JS files should be looked for.\n            # This configuration is required to enable this feature.\n            paths:\n                - '%kernel.project_dir%/web/js'\n                - '%kernel.project_dir%/web/other.js'\n            # The default domain used in your JS translations. Should match the js-translation-bundle configuration\n            # Defaults to 'messages'\n            default_domain: js\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fincenteev%2Ftranslation-checker-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fincenteev%2Ftranslation-checker-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fincenteev%2Ftranslation-checker-bundle/lists"}