spamacom / laravel-langman
轻松管理语言文件。
Requires
- php: >=8.1
- illuminate/console: ~5.1|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/filesystem: ~5.1|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ~5.0|^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ~1.5.1
- orchestra/testbench: ^8.5.5
- phpunit/phpunit: ^10.0
README
Langman 是您的 artisan 控制台中的语言文件管理器,它帮助您轻松搜索、更新、添加和删除翻译行。处理多语言界面不再头痛。
安装
首先通过 Composer 安装该软件包。在您的终端中运行以下命令
$ composer require spamacom/laravel-langman
完成后,在 config/app.php 的 providers 数组中添加以下行
Themsaid\Langman\LangmanServiceProvider::class
此软件包具有单个配置选项,指向 resources/lang 目录,如果需要更改路径,则发布配置文件
php artisan vendor:publish --provider="Themsaid\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。