pyrsmk / translator
简单的CLI/HTTP环境翻译工具
2.0.4
2020-06-21 14:42 UTC
Requires
- php: >=5.3.0
- ext-intl: *
- pyrsmk/chernozem: ^4.1
README
Translator是一个小型的I18N/L10N库,基于Chernozem(我们建议您阅读其文档)。以下是Chernozem提供的可用选项
- client_locales : 客户端的地区设置
- delimiters : 设置字符串替换的起始/结束分隔符(默认:
['start' => '{', 'end' => '}']
) - translations : 加载的翻译
安装
选择源或使用Composer安装
composer require pyrsmk/translator
基础知识
Translator适用于网站(Translator\Http
)和CLI应用程序(Translator\Cli
)。在以下示例中,我们将使用Translator\Http
。
首先,我们需要在实例化时定义默认地区。当您的应用程序不支持客户端的地区时,将使用此地区。
$translator = new Translator\Http('en_EN');
Translator将通过比较客户端的地区和定义的可用的地区(基于加载的翻译)来找到要使用哪个地区
如果需要,您可以强制Translator使用特定的地区
$translator->setLocale('fr');
您可以使用以下方式检索Translator将用于翻译的地区
$translator->getLocale();
加载您的翻译文件
Translator没有实现加载您的文件的适配器,它只期望地区的名称和翻译字符串。然后您可以使用任何库来加载文件,或者手动完成。以下是使用JSON的示例
/* fr_FR.json */ { "cat": "chat", "dog": "chien", "turtle": "tortue" }
// Load the JSON file $translator->load('fr_FR', json_decode(file_get_contents('fr_FR.json')));
进行翻译!
简单
// Prints 'chien' echo $translator->translate('dog');
Translator还可以替换翻译中的字符串
/* fr_FR.json */ { "hello": "Bonjour, M. {name}!" }
// Prints 'Bonjour, M. Philippe!' echo $translator->translate('hello', [ 'name' => 'Philippe' ]);
标准化地区
如果需要,您可以使用以下方式标准化任何您想要的地区
// Prints 'sl_IT' echo $translator->normalizeLocale('sl_Latn-IT_nedis');
许可
此库是根据MIT许可证发布的。