PHP 国际化库

1.4.3 2020-01-18 22:01 UTC

This package is auto-updated.

Last update: 2024-09-21 23:02:44 UTC


README

PHP 国际化库 此库允许您使用 ini 文件翻译您的网站,自动检测语言以及更多功能!

Latest Stable Version Total Downloads

文档

信息

i18n 将创建一个名为 "i18n" 的文件夹,请确保它可以被读取

安装

  1. 通过 composer: composer require stantabcorp/i18n
  2. 手动下载和安装

初始化

在 i18n 构造函数中您必须提供 3 个参数

  1. 您想要显示网站的语言 使用 true 来启用自动检测
  2. 默认语言
  3. 可用语言的数组
  4. 选项的数组

示例: 无自动检测

$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') }}