PHPackages                             bottelet/translation-checker - 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. bottelet/translation-checker

ActiveLibrary[Localization &amp; i18n](/categories/localization)

bottelet/translation-checker
============================

A translation checker package for Laravel, find, add, and translate missing strings

2.0.0(6mo ago)13162.6k↓48.5%8[2 issues](https://github.com/Bottelet/translation-checker/issues)[3 PRs](https://github.com/Bottelet/translation-checker/pulls)MITPHPPHP ^8.2CI passing

Since Sep 17Pushed 4d ago3 watchersCompare

[ Source](https://github.com/Bottelet/translation-checker)[ Packagist](https://packagist.org/packages/bottelet/translation-checker)[ RSS](/packages/bottelet-translation-checker/feed)WikiDiscussions main Synced 4d ago

READMEChangelog (10)Dependencies (6)Versions (20)Used By (0)

Translation Checker
===================

[](#translation-checker)

Easily **translate missing translations with AI**, **find missing translations** you forgot to add to your language files, and **maintain translations** in your project. It provides a set of commands to help with language files, ensuring consistency and completeness across your translations. It works with Laravel and supports various frontend frameworks like Vue.js, React, and Svelte.

> This package is only intended for Laravel's recommended approach to handle translation files. See Laravel [Docs](https://laravel.com/docs/12.x/localization#:~:text=This%20approach%20is%20recommended%20for%20applications%20that%20have%20a%20large%20number%20of%20translatable%20strings%3A%3C)

How it works
------------

[](#how-it-works)

1. Scan Source Files: The system looks through your code for strings that need translation.
2. Check Language Files: It then checks if these strings exist in your language files.
3. Use AI to translate missing keys: It adds the missing key with empty values if there is no translation service used.

### Example:

[](#example)

`lang.json`

```
{
  "test.value": "Value"
}
```

`lang.php`

```
return [
  'test.value' => 'Value',
];
```

TestClass.php

```
class TestClass
{
    public function getValue()
    {
        return __('translate this string');
    }
}
```

```
php artisan translations:check en
```

`lang.json`

```
{
  "test.value": "Value",
  "translate this string": null
}
```

`lang.php`

```
return [
  'test.value' => 'Value',
  'translate this string' => null,
];
```

The reason we default to null when no translation service are used is because it defaults to the key used in the function call.

Quick Start
-----------

[](#quick-start)

Install the package via composer:

```
  composer require bottelet/translation-checker --dev
```

Usage
-----

[](#usage)

Translation Checker provides several commands to manage your translations. The most versatile is the `check` command:

```
  php artisan translations:check en
```

You can also easily find all sync translations between all files:

```
  php artisan translations:sync en
```

This will take all translations from the source files and sync them to all your other language files.

For detailed information on all available commands and their usage, refer to the [documentation](https://bottelet.github.io/translation-checker/).

Testing
-------

[](#testing)

Run the tests with:

```
  ./vendor/bin/phpunit
```

Run PHPStan to check for code quality:

```
  ./vendor/bin/phpstan
```

Documentation
-------------

[](#documentation)

For full documentation, visit our [GitHub documentation page](https://bottelet.github.io/translation-checker/).

If you encounter any issues or have suggestions, please create an issue on GitHub.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

56

—

FairBetter than 97% of packages

Maintenance85

Actively maintained with recent releases

Popularity46

Moderate usage in the ecosystem

Community19

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 81.1% 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 ~36 days

Recently: every ~47 days

Total

14

Last Release

186d ago

Major Versions

1.2.5 → 2.0.02025-12-30

PHP version history (2 changes)1.0.0PHP ^8.1

1.2.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/15610490?v=4)[Casper Bottelet](/maintainers/Bottelet)[@Bottelet](https://github.com/Bottelet)

---

Top Contributors

[![Bottelet](https://avatars.githubusercontent.com/u/15610490?v=4)](https://github.com/Bottelet "Bottelet (163 commits)")[![negoziator](https://avatars.githubusercontent.com/u/2228675?v=4)](https://github.com/negoziator "negoziator (18 commits)")[![WatheqAlshowaiter](https://avatars.githubusercontent.com/u/24838274?v=4)](https://github.com/WatheqAlshowaiter "WatheqAlshowaiter (5 commits)")[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (5 commits)")[![pindab0ter](https://avatars.githubusercontent.com/u/5128166?v=4)](https://github.com/pindab0ter "pindab0ter (3 commits)")[![hoit-distance](https://avatars.githubusercontent.com/u/226284988?v=4)](https://github.com/hoit-distance "hoit-distance (3 commits)")[![tvup](https://avatars.githubusercontent.com/u/4526352?v=4)](https://github.com/tvup "tvup (2 commits)")[![Elhebert](https://avatars.githubusercontent.com/u/3165079?v=4)](https://github.com/Elhebert "Elhebert (1 commits)")[![asanikovich](https://avatars.githubusercontent.com/u/561064?v=4)](https://github.com/asanikovich "asanikovich (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.1k11.2M100](/packages/dedoc-scramble)[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[php-translation/extractor

Extract translations form the source code

1284.6M9](/packages/php-translation-extractor)[jms/translation-bundle

Puts the Symfony Translation Component on steroids

44311.1M75](/packages/jms-translation-bundle)[cakephp/bake

Bake plugin for CakePHP

11212.0M202](/packages/cakephp-bake)

PHPackages © 2026

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