🐘 国际化使用的 PHP 库

2.0.4 2022-11-07 20:56 UTC

This package is auto-updated.

Last update: 2024-09-22 09:23:46 UTC


README

🐘 国际化使用的 PHP 库

Latest Stable Version Source Code Software License Minimum PHP Version CI Status

设置

您可以通过 composer 使用以下命令安装:

composer require davidlienhard/i18n:^2

注意:davidlienhard/i18n 需要 PHP 8.0

如何使用

1. 创建语言文件

创建至少一个语言文件。支持的文件类型包括 jsonyamlymlini

./lang/en.yml (英文)

save: Save
greeting: Hi %1

./lang/de.yml (德语)

save: Speichern
greeting: Hallo %1

2. 加载类

如果可能,请使用 composer 自动加载器,或者手动在 src 文件夹中包含文件

3. 创建对象

<?php declare(strict_types=1);

use DavidLienhard\i18n\i18n;

$i18n = new i18n;

4. 设置选项

您可以通过构造函数直接设置一些选项,或者通过设置方法

$i18n = new i18n(
    filePath: "./lang/{LANGUAGE}.yml",
    cachePath: "./cache/",
    fallbackLang: "en",
    prefix: "L"
);

$i18n->setNamespace("YourApp\Translations");

以下为可用的设置方法

  • setFilePath(string $filePath):设置语言文件的路径
  • setCachePath(string $cachePath):设置缓存目录的路径
  • setFallbackLang(string $fallbackLang):设置备用语言
  • setMergeFallback(bool $mergeFallback):是否合并备用语言
  • setPrefix(string $prefix):设置包含翻译的类的名称/前缀
  • setForcedLang(string $forcedLang):强制使用的语言
  • setSectionSeparator(string $sectionSeparator):用于连接节段的字符

5. 初始化类/创建缓存文件

$i18n->init();

这将创建必要的缓存文件,并使用给定的命名空间和前缀/类名加载新的翻译数据。

6. 使用翻译数据

use YourApp\Translations\L;

echo L::save;                       // Save / Speichern
echo L::get("save");                // Save / Speichern
echo L::greeting("David");          // Hi David // Hallo David
echo L::get("greeting", "David");   // Hi David // Hallo David

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 LICENSE