kinoritech/lost-in-translation

该工具会扫描您的Laravel项目,查找未被本地文件翻译的已使用区域键。

1.0.1 2022-08-16 17:15 UTC

This package is auto-updated.

Last update: 2024-09-17 22:31:54 UTC


README

此包为您提供了对Laravel应用程序中使用的翻译键的分析。分析有助于识别缺失和未使用的键。

安装

composer require kinoritech/lost-in-translation --dev

替换Laravel翻译器

  1. 注释/删除laravel TranslationServiceProvider
  2. 添加此包提供的版本。
// 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或自动构建中使用,以停止构建。

另一个用途是作为预提交或预推送钩子,以防止缺失的翻译被提交。