muath-ye / laravel-langman
轻松管理语言文件。
Requires
- php: ^5.5.9 || ^7.0
- illuminate/console: ~5.1
- illuminate/filesystem: ~5.1
- illuminate/support: ~5.1
Requires (Dev)
- mockery/mockery: ~0.9.4
- orchestra/database: ~3.0
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^4.8 || ^5.0
README
这是一个基于 https://github.com/themsaid/laravel-langman 的分支,它在我的项目中是必需的,但由于它不再维护,并且我在提交请求修复了一个问题后,我重新命名了这个包,以便在项目中使用。
Langman 是一个 artisan 控制台中的语言文件管理器,它可以帮助你轻松搜索、更新、添加和删除翻译行。维护多语言界面不再令人头疼。
安装
首先通过 Composer 安装包。在终端中运行以下命令:
$ composer require themsaid/laravel-langman
完成后,在 config/app.php
的 providers 数组中添加以下行:
Muathye\Themsaid\Langman\LangmanServiceProvider::class
此包有一个配置选项,指向 resources/lang
目录,如果您需要更改路径,则发布配置文件。
php artisan vendor:publish --provider="Muathye\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。