mindtwo/laravel-missing-translations
Composer 安装命令:
composer require mindtwo/laravel-missing-translations
包简介
Browser-based viewer and database collector for missing Laravel translation keys.
README 文档
README
mindtwo/laravel-missing-translations lists every translation key your
application has used together with the value for every configured locale.
Missing keys are highlighted, optionally persisted to the database via
Lang::handleMissingKeysUsing(), and discoverable through a single
inspection route.
The package ships two interchangeable repositories:
- A file repository that diffs every translation file in the configured main locale against the comparison locales.
- A database repository backed by a
missing_translationstable, populated automatically as the application runs.
Requirements
- PHP 8.2, 8.3, or 8.4
- Laravel 10, 11, 12, or 13
Laravel 10 is included in the composer constraints for legacy applications, but is not exercised in CI:
pestphp/pest-plugin-laravelv3+ dropped Laravel 10. New projects should use Laravel 11 or later.
Installation
composer require mindtwo/laravel-missing-translations
Publish the configuration file (and views, if you intend to customise them):
php artisan vendor:publish --tag=missing-translations-config php artisan vendor:publish --tag=missing-translations-views
Run the package migration to enable the database repository:
php artisan migrate
Configuration
config/missing-translations.php exposes the following options:
| Key | Description |
|---|---|
allowed_environments |
Environments where the inspection route is registered. |
main_locale |
Locale used as the source of truth when collecting diffs. |
locales |
Comparison locales. |
log_missing_keys |
Persist keys reported by Lang::handleMissingKeysUsing(). |
authorization.gate |
false to disable, true for the default viewMissingTranslations gate, or a custom gate name. |
authorization.middleware |
Middleware applied to the inspection route. |
route.prefix |
URL prefix for the inspection route. Defaults to missing-translations. |
repositories.default |
Default repository (file or database). |
repositories.sources |
Map of repository name → implementation class. |
Usage
Visit /<prefix> (defaults to /missing-translations) in an allowed
environment to render the translation table. Query parameters:
?only_missing=1— show only keys that are missing in at least one locale.?exclude[]=de&exclude[]=fr— hide one or more locales.?repo=database— switch to the database repository for the current request.
Collecting missing keys manually
php artisan m2:collect-missing-translations --locales=de --locales=fr php artisan m2:collect-missing-translations --dry-run
Resolving a repository in code
use mindtwo\LaravelMissingTranslations\Services\MissingTranslations; $missing = app(MissingTranslations::class) ->repository('file') ->getMissingTranslationsForLocale('de');
Testing
composer test
composer analyse
composer lint
composer format
Changelog
See CHANGELOG for a list of recent changes.
Contributing
See CONTRIBUTING for details.
Security
If you discover a security issue, please email info@mindtwo.de instead of
opening a public issue.
Credits
License
The MIT License (MIT). See LICENSE.md.
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-01-05