aiken / i18next
PHP 类,用于基本的 i18next 功能
dev-master
2017-06-24 09:58 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 5.*
This package is not auto-updated.
Last update: 2024-09-15 02:41:09 UTC
README
PHP 类,用于基本的 i18next 功能。
功能
- 支持 变量
- 支持 上下文
- 支持 基本的 sprintf
- 支持 基本的复数形式
- 支持 JSON 中的多行
用法
// init i18next instance i18next::init('en'); // get translation by key echo i18next::getTranslation('animal.dog');
方法
i18next::init( string $languageKey [, string $path ] );
从给定的路径加载翻译文件。默认情况下查找 translation.json
。
i18next::init('en', 'my/path/'); // loads my/path/translation.json
您还可以使用变量,并将命名空间和语言拆分到不同的文件中。
i18next::init('en', 'languages/__lng__/__ns__.json'); // loads languages/en/animal.json, languages/fi/animal.json, etc...
如果未找到文件或 json 无法解析,方法将抛出异常。
mixed i18next::getTranslation( string $key [, array $variables ] );
通过键返回翻译的字符串。
i18next::getTranslation('animal.catWithCount', array('count' => 2, 'lng' => 'fi'));
boolean i18next::existTranslation( string $key );
检查翻译的字符串是否存在。
void i18next::setLanguage( string $language [, string $fallback ] );
更改语言。
array i18next::getMissingTranslations();
获取缺失翻译的数组。
array(1) {
[0]=> array(2) {
["language"]=> string(2) "en"
["key"]=> string(14) "animal.unknown"
}
}
JSON 数组中的多行
您可以在 JSON 文件中使用多行编写 HTML 内容
{
"en": {
"common": {
"thedoglovers": [
"The Dog Lovers by Spike Milligan",
"So they bought you",
"And kept you in a",
"Very good home"
]
}
}
}