menarasolutions/fluent-laravel

Laravel 包用于 Fluent 翻译(应用本地化)

0.1.2 2017-05-18 00:46 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:05 UTC


README

Build Status Latest Stable Version Total Downloads Code Climate Test Coverage License

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

此命令将扫描您的 srcresources/views 文件夹,并查找所有对 __()trans()@lang() 的调用。此外,您将收到提示,询问您是否希望将现有翻译从 resources/lang 文件夹上传到 Fluent。

更新语言文件

在开发过程中或 CI/CD 管道中的任何时候运行以下命令

$ php artisan fluent:fetch

此命令将查找 Fluent 上的任何新翻译,并将它们下载到 resources/lang-fluent 文件夹。

注意

此包 不会 修改您的任何文件。此包在 resources/ 中创建一个额外的文件夹 - lang-fluent,所有新的语言文件都将存储在此处。

您可以随时切换到标准翻译实现。只需在 config/app.php 中取消注释我们的服务提供程序即可。