menarasolutions / fluent-laravel
Laravel 包用于 Fluent 翻译(应用本地化)
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.2
- laravel/framework: 5.4.*|5.3.*
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-08-29 04:37:05 UTC
README
Laravel 包用于 Fluent 翻译(应用本地化)
Laravel 的本地化流程
Laravel 提供两种本地化选项:基于键的文本和纯 JSON 文本。
基于键的语言文件:{locale}/{group}.php (PHP 数组格式)
使用:__('auth.please_wait')
缺点:在主本地化中添加新键后,必须手动将相同的键添加到所有其他本地化中。
本地化容易出错。一些文本可能在语言文件中存在,但未在任何地方使用。
JSON 文件:{locale}.json (JSON 格式)
使用:__('Please wait, authorizing')
缺点:如果同一文本在不同上下文中需要不同的翻译,则这不太适用。
很难说有多少内容被翻译了,因为没有原始文本字典。
Fluent 的本地化流程
Fluent 允许您在“云端”存储和管理您的翻译,这使得将翻译外包给翻译市场或同事变得非常简单。即使您自己翻译一切,Fluent 接口也将使这项任务变得非常方便(例如,您将清楚地看到当前状态,从 MT 获得提示,找到未使用的文本等)。
安装
使用 Composer 安装此包
$ composer require menarasolutions/fluent-laravel
将我们的服务提供程序添加到 config/app.php
'providers' => [ /// ... MenaraSolutions\FluentLaravel\Providers\LaravelServiceProvider::class, /// ... ],
创建配置文件(config/fluent.php
)
$ php artisan vendor:publish
在此配置文件中添加您的 Fluent API 密钥和应用程序 ID,然后即可运行!
上传原始文本
您需要不时将您的原始、未翻译的文本提交给 Fluent,以便您或您的翻译人员可以开始工作。为此,请运行 scan
命令
$ php artisan fluent:scan -v
此命令将扫描您的 src
和 resources/views
文件夹,并查找所有对 __()
、trans()
和 @lang()
的调用。此外,您将收到提示,询问您是否希望将现有翻译从 resources/lang
文件夹上传到 Fluent。
更新语言文件
在开发过程中或 CI/CD 管道中的任何时候运行以下命令
$ php artisan fluent:fetch
此命令将查找 Fluent 上的任何新翻译,并将它们下载到 resources/lang-fluent
文件夹。
注意
此包 不会 修改您的任何文件。此包在 resources/
中创建一个额外的文件夹 - lang-fluent
,所有新的语言文件都将存储在此处。
您可以随时切换到标准翻译实现。只需在 config/app.php
中取消注释我们的服务提供程序即可。