kinoritech / lost-in-translation
该工具会扫描您的Laravel项目,查找未被本地文件翻译的已使用区域键。
1.0.1
2022-08-16 17:15 UTC
Requires
- php: >=8.0
This package is auto-updated.
Last update: 2024-09-17 22:31:54 UTC
README
此包为您提供了对Laravel应用程序中使用的翻译键的分析。分析有助于识别缺失和未使用的键。
安装
composer require kinoritech/lost-in-translation --dev
替换Laravel翻译器
- 注释/删除laravel TranslationServiceProvider
- 添加此包提供的版本。
// config/app.php 'providers' => [ ... Illuminate\Session\SessionServiceProvider::class, //Illuminate\Translation\TranslationServiceProvider::class, ... /* * Package Service Providers... */ \KinoriTech\LostInTranslation\Providers\ServiceProvider::class, ... ],
使用方法
从命令行运行 php artisan locale:scan
以获取缺失和未使用翻译的结果。
$ php artisan locale:scan Preparing files Looking in /git/lost-in-translation-wrapper/app and git/lost-in-translation-wrapper/resources Searching translationkeys in 51 files 51/51 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% Found 23 translations. There are missing translations. +----------------------------------------------+-------+-----------+---------+ | Key | Group | Namespace | Missing | +----------------------------------------------+-------+-----------+---------+ | failed | auth | * | fr | | throttle | auth | * | fr | | password | auth | * | fr | | Email | * | * | es, fr | | Password | * | * | es, fr | | Confirm Password | * | * | es, fr | | Reset Password | * | * | es, fr | | Name | * | * | es, fr | | Already registered? | * | * | es, fr | | Register | * | * | es | | This is a secure area of the application | * | * | es, fr | | Confirm | * | * | es, fr | | Forgot your password? No problem | * | * | es, fr | | Email Password Reset Link | * | * | es, fr | | Thanks for signing up! Before getting st ... | * | * | es, fr | | A new verification link has been sent to ... | * | * | es, fr | | Resend Verification Email | * | * | es, fr | | Log Out | * | * | es, fr | | Remember me | * | * | es, fr | | Forgot your password? | * | * | es, fr | | Log in | * | * | es, fr | | Whoops! Something went wrong | * | * | es, fr | | Dashboard | * | * | es, fr | +----------------------------------------------+-------+-----------+---------+ There are unused translations. *.*.I love programming. *.auth.invalid
可以使用 --table
(-T
) 选项来获取键的完整列表
$ php artisan locale:scan -T Preparing files Looking in git/lost-in-translation-wrapper/app and git/lost-in-translation-wrapper/resources Searching translationkeys in 51 files 51/51 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% Found 23 translations. +----------------------------------------------+-------+-----------+----+----+----+------------------------------------------------------------------------------------------------------------+ | Key | Group | Namespace | en | es | fr | File | +----------------------------------------------+-------+-----------+----+----+----+------------------------------------------------------------------------------------------------------------+ | failed | auth | * | ✔ | ✔ | — | /Users/horacio/git/lost-in-translation-wrapper/app/Http/Requests/Auth/LoginRequest.php | | throttle | auth | * | ✔ | ✔ | — | /Users/horacio/git/lost-in-translation-wrapper/app/Http/Requests/Auth/LoginRequest.php | | password | auth | * | ✔ | ✔ | — | /Users/horacio/git/lost-in-translation-wrapper/app/Http/Controllers/Auth/ConfirmablePasswordController.php | | Email | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/login.blade.php | | Password | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/login.blade.php | | Confirm Password | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/register.blade.php | | Reset Password | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/reset-password.blade.php | | Name | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/register.blade.php | | Already registered? | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/register.blade.php | | Register | * | * | ✔ | — | ✔ | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/register.blade.php | | This is a secure area of the application | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/confirm-password.blade.php | | Confirm | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/confirm-password.blade.php | | Forgot your password? No problem | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/forgot-password.blade.php | | Email Password Reset Link | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/forgot-password.blade.php | | Thanks for signing up! Before getting st ... | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/verify-email.blade.php | | A new verification link has been sent to ... | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/verify-email.blade.php | | Resend Verification Email | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/verify-email.blade.php | | Log Out | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/layouts/navigation.blade.php | | Remember me | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/login.blade.php | | Forgot your password? | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/login.blade.php | | Log in | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/auth/login.blade.php | | Whoops! Something went wrong | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/components/auth-validation-errors.blade.php | | Dashboard | * | * | ✔ | — | — | /Users/horacio/git/lost-in-translation-wrapper/resources/views/layouts/navigation.blade.php | +----------------------------------------------+-------+-----------+----+----+----+------------------------------------------------------------------------------------------------------------+ ...
CI / 自动构建
如果存在缺失的翻译,命令将返回错误退出代码(1)。这可以在CI或自动构建中使用,以停止构建。
另一个用途是作为预提交或预推送钩子,以防止缺失的翻译被提交。