schniper / laravel-localization-helpers
一个 artisan 命令包和易于翻译管理的方法。基于 potsky 的仓库,增加了现代 PHP &Laravel 支持,更新了 MS 翻译器支持和其他功能
Requires
- friendsofphp/php-cs-fixer: ^3.0
- illuminate/config: ^8.0|^9.0|^10.0|^11.0
- illuminate/console: ^v8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- pestphp/pest: ^1.22|^2.0
README
Laravel Localization Helpers
此分支是当前的开发分支
LLH 是一组 artisan 命令,用于管理 Laravel 项目的翻译。主要功能
- 解析您的代码并生成 lang 文件
- 自动翻译您的句子,多亏了 Microsoft Translator API
- 根据您的代码风格配置输出
目录
1. 安装
- 根据版本兼容性矩阵选择您的版本
Laravel | Lumen | 包 |
---|---|---|
8.0.x | 8.0.x | main |
9.0.x | 9.0.x | main |
-
在
composer.json
文件的require-dev
数组中添加以下行,并根据您的 Laravel 版本替换版本(如有必要)"keypoint-solutions/laravel-localization-helpers" : "3.0.*"
-
更新您的安装:
composer update
-
对于 Laravel,在
config/app.php
配置文件的providers
数组中添加以下行\LaravelLocalizationHelpersServiceProvider::class,
-
对于 Lumen,在
bootstrap/app.php
文件中添加以下行$app->register( \LaravelLocalizationHelpersServiceProvider::class ); $app->configure('laravel-localization-helpers');
-
现在执行
php artisan list
,您应该可以看到新的 localization 命令... localization localization:clear Remove lang backup files localization:find Display all files where the argument is used as a lemma localization:missing Parse all translations in app directory and build all lang files ...
在 Laravel 中,如果您需要在代码中管理翻译,可以添加 facade 到 Aliases
'LocalizationHelpers' => Facade\LocalizationHelpers::class
2. 配置
要配置您的全新安装的包,请执行以下操作创建一个配置文件:
php artisan vendor:publish
然后您可以在文件中修改配置
config/laravel-localization-helpers.php
添加要搜索的新文件夹,添加您自己的 lang 方法或函数,...
备份文件
您不应将备份 lang 文件包含在 GIT 或其他版本控制系统中。
在您的 laravel
文件夹中,在 .gitignore
文件中添加以下内容
# Do not include backup lang files resources/lang/*/[a-zA-Z]*20[0-9][0-9][0-1][0-9][0-3][0-9]_[0-2][0-9][0-5][0-9][0-5][0-9].php
3. 用法
3.1 命令 localization:missing
此命令解析所有代码并根据所有 lang/XXX/
目录中的 lang 文件生成翻译。
使用 php artisan help localization:missing
获取有关选项的更多信息。
示例
生成所有 lang 文件
php artisan localization:missing
无提示生成所有 lang 文件
php artisan localization:missing -n
生成所有 lang 文件,不备份旧文件
php artisan localization:missing -b
生成所有 lang 文件,并自动翻译
php artisan localization:missing -t
生成所有 lang 文件,不保留过时的词条
php artisan localization:missing -o
生成所有 lang 文件,不对新发现的词条添加任何注释
php artisan localization:missing -c
生成所有 lang 文件,不添加头部注释
php artisan localization:missing -d
生成所有 lang 文件并设置新的词条值
以下 3 个命令会产生相同的输出
php artisan localization:missing
php artisan localization:missing -l
php artisan localization:missing -l "TODO: %LEMMA"
您可以自定义未知词条的默认生成值。
以下命令使新值留空
php artisan localization:missing -l ""
以下命令在所有词条值前添加 "请翻译此:"
php artisan localization:missing -l "Please translate this : %LEMMA"
以下命令将所有词条值设置为 null,以提供所有缺失值的回退翻译。
php artisan localization:missing -l null
以下命令将所有词条值设置为 "请翻译此 !"
php artisan localization:missing -l 'Please translate this !'
静默选项用于 shell 集成
#!/bin/bash php artisan localization:missing -s if [ $? -eq 0 ]; then echo "Nothing to do dude, GO for release" else echo "I will not release in production, lang files are not clean" fi
使用 dry run 模拟所有操作(不写入任何内容)
php artisan localization:missing -r
在过程结束时打开所有必须编辑的文件
php artisan localization:missing -e
您可以在配置文件中编辑编辑器路径。默认情况下,在 Mac OS X 上编辑器是 Sublime Text。
'editor_command_line' => '/Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl'
关于 PHPStorm 在 Mac OS X 上的使用
'editor_command_line' => '/usr/local/bin/phpstorm'
3.2 命令 localization:find
此命令将在您的所有代码中搜索作为词干的参数。
使用 php artisan help localization:find
获取有关选项的更多信息。
示例
查找常规词干
php artisan localization:find Search
以详细模式查找常规词干
php artisan localization:find -v Search
显示短路径查找常规词干
php artisan localization:find -s "Search me"
使用正则表达式查找词干
php artisan localization:find -s -r "@Search.*@" php artisan localization:find -s -r "/.*me$/"
使用 PCRE 函数
3.3 命令 localization:clear
此命令将删除所有备份的 lang 文件。
使用 php artisan help localization:clear
获取有关选项的更多信息。
示例
删除所有备份
php artisan localization:clear
删除 7 天前的备份
php artisan localization:clear -d 7
4. 支持
使用 GitHub 问题工具 打开问题或提出请求。
5. 贡献
- 将其分叉
- 创建您的功能分支(
git checkout -b my-new-feature
) - 提交您的更改(
git commit -am '添加一些功能'
) - 推送到分支(
git push origin my-new-feature
) - 创建新的 Pull Request