stantabcorp / i18n
PHP 国际化库
1.4.3
2020-01-18 22:01 UTC
README
PHP 国际化库 此库允许您使用 ini 文件翻译您的网站,自动检测语言以及更多功能!
文档
信息
i18n 将创建一个名为 "i18n" 的文件夹,请确保它可以被读取
安装
- 通过 composer:
composer require stantabcorp/i18n
- 手动下载和安装
初始化
在 i18n 构造函数中您必须提供 3 个参数
- 您想要显示网站的语言 或 使用 true 来启用自动检测
- 默认语言
- 可用语言的数组
- 选项的数组
示例: 无自动检测
$i18n = new i18n("en", "en", ["en", "fr"])
这将设置语言为 en
(英语),将默认语言设置为 en
(英语),并将 en
(英语) 和 fr
(法语) 设置为可用
带自动检测
$i18n = new i18n(true, "en", ["en", "fr"])
这将设置语言为自动检测,设置默认语言并为自动检测设置可用语言
自动检测,使用 Accept-Language HTTP 头来确定最佳匹配的区域设置
使用方法
为了获取翻译,您只需
$i18n->get("index_in_your_file");
如果您想在 ini 文件中使用部分,请使用以下语法
$i18n->get("section_name[index_in_your_file]"); // OR $i18n->get("section_name.index_in_your_file");
如果您想获取当前语言
$i18n->getLang();
您想要更改语言吗?
$i18n->setLang("language");
您不想使用 sprintf
?! 没问题
$i18n->replace("string", [ "string" => "strong" ]);
想要在运行时更改翻译文件夹吗?
$i18n->setFolder("path/to/the/new/folder");
想要获取活动文件夹吗?
$i18n->getFolder();
想要设置可用语言吗?
$i18n->setAvailableLanguages(array);
想要获取可用语言吗?
$i18n->getAvailableLanguage();
现在,让我们设置并获取默认语言
$i18n->setDefaultLanguage("string"); $i18n->getDefaultLanguage();
文件语法
i18n 支持部分,请在选项中启用它
示例文件
word1 = "Some word" word2 = "Some other word" [section_name] word1 = "A word in a section" word2 = "Another word in the same section"
选项
初始化 i18n 类的第四个参数是一个数组。
接受的值是
error
,一个布尔值,用于启用或禁用错误抛出sections
,一个布尔值,用于启用或禁用 ini 文件中的部分path
,用于设置翻译的路径
Twig 扩展
i18n 提供了一个简单的 Twig 扩展。为了启用它,只需向 twig 添加一个新扩展即可
$i18nTwig = new i18nTwigExtension($i18n); // $i18n should be an instance of i18n\i18n $twig->addExtension($i18nTwig);
为了在 twig 模板中使用它,只需调用(使用与部分相同的语法)
{{ i18n('index in your file') }}