oss-tools / laravel-langman
轻松管理语言文件。
Requires
- php: ^8.0.2
- illuminate/console: ^9.0 || ^10.0
- illuminate/database: ^9.0 || ^10.0
- illuminate/filesystem: ^9.0 || ^10.0
- illuminate/support: ^9.0 || ^10.0
Requires (Dev)
- mockery/mockery: ^1.6.0
- orchestra/testbench: ^7.0 || ^8.0
- phpunit/phpunit: ^9.5.10 || ^10.1
README
Langman 是什么?
Langman 是一个 artisan 控制台中的语言文件管理器,它可以帮助您轻松地搜索、更新、添加和删除翻译行。维护多语言界面不再是一件头疼的事情。
注意
本包是基于 themsaid/laravel-langman 的独立分支。
安装
首先,通过 Composer 安装包。在您的终端中运行以下命令
$ composer require oss-tools/laravel-langman
完成后,在 config/app.php
文件的 providers 数组中添加以下行
OSSTools\Langman\LangmanServiceProvider::class
本包有一个配置选项,指向 resources/lang
目录,如果您需要更改路径,则发布配置文件
php artisan vendor:publish --provider="OSSTools\Langman\LangmanServiceProvider"
用法
显示翻译文件的行
php artisan langman:show users
您将得到
+---------+---------------+-------------+
| key | en | nl |
+---------+---------------+-------------+
| name | name | naam |
| job | job | baan |
+---------+---------------+-------------+
php artisan langman:show users.name
仅显示所有语言中 name
键的翻译。
php artisan langman:show users.name.first
显示嵌套键的翻译。
php artisan langman:show package::users.name
显示供应商包语言文件的翻译。
php artisan langman:show users --lang=en,it
仅显示 "en" 和 "it" 语言的翻译。
php artisan langman:show users.nam -c
仅显示键匹配给定键的翻译行,例如通过精确匹配搜索 nam
会带来如 (name
), (username
), (branch_name_required
) 等键的值。
在此命令返回的表中,如果缺少翻译,它将以红色标记。
查找翻译行
php artisan langman:find 'log in first'
您将得到一个表格,其中包含任何值与给定短语通过精确匹配匹配的语言行。
在视图文件中搜索缺少的翻译
php artisan langman:sync
此命令将检查 resources/views
和 app
目录中的所有文件,并找到所有未在您的翻译文件中涵盖的翻译键,然后将其追加到值为空字符串的文件中。
填充缺少的翻译
php artisan langman:missing
它将收集所有在任意语言中缺失或在值等于空字符串的键,提示您为每个键提供翻译,并最终将给定的值保存到文件中。
翻译键
php artisan langman:trans users.name
php artisan langman:trans users.name.first
php artisan langman:trans users.name --lang=en
php artisan langman:trans package::users.name
使用此命令,您可以设置给定组的语言键(平面或嵌套),您也可以指定您希望设置的哪种语言,其他语言保持不变。
如果键不存在,此命令将添加新键,如果键已存在,则更新键。
删除键
php artisan langman:remove users.name
php artisan langman:remove package::users.name
它将从所有语言文件中删除该键。
重命名键
php artisan langman:rename users.name full_name
这将 users.name
重命名为 users.full_name
,控制台将输出曾经存在该键的文件列表。
注意
langman:sync
, langman:missing
, langman:trans
, 和 langman:remove
将通过完整写入更新您的语言文件,这意味着任何注释或特殊样式将被删除,因此我建议您备份您的文件。
Web 界面
如果您想要一个用于管理语言文件的 Web 界面,我推荐由 Barry vd. Heuvel 编写的 Laravel 5 Translation Manager。
测试
composer test