nabeghe / light-localization
一个轻量级的基于键值和路径的PHP本地化库,当需要时才加载翻译。
1.1.0
2024-09-19 16:37 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^9.0
README
一个轻量级的基于键值和路径的PHP本地化库,当需要时才加载翻译。
🫡 使用
🚀 安装
您可以通过composer安装此包。
composer require nabeghe/light-localization
📁 本地化目录
-
创建一个本地化目录。
-
在此目录中,创建新的文件夹,每个文件夹实际上代表一个本地化代码。它们可以是语言代码或其他任何内容。
-
在每个代码目录中,将放置PHP文件,每个文件都充当翻译者的角色。
- 这些文件可以返回一个继承自
Nabeghe\LightLocalization\Translator类的数组或对象。 - 如果是一个数组,则每个键是翻译键,它将代表一个值;如果是一个对象,则每个字段或方法是一个翻译键。方法的优先级更高,并且必须返回一个值。
- 使用方法,您可以实现动态本地化!
- 除了继承上述类之外,对象还可以实现
ArrayAccess接口。
- 这些文件可以返回一个继承自
示例
请查看存储库中的示例文件夹。
use Nabeghe\LightLocalization\Localizer; /* * Example of Translations Directory: | /langs/ | /en/ | main.php | messages.php | /fa/ | main.php | messages.php */ $defaultLocalizer = new Localizer(__DIR__.'/langs', 'en'); $localizer = new Localizer(__DIR__.'/langs', 'fa', $defaultLocalizer); // value of `title` key, from `main.php` translation file (default value for second argument). echo $localizer->get('title'); // value of `hello` key, from `messages.php` translation file. echo $localizer->get('hello', 'messages');
注意:本地化代码可以在构造函数中指定。当然,您也可以通过方法recode稍后更改它。
注意:“对于每个本地化器,可以在构造函数中指定一个默认本地化器。此外,除了指定默认本地化器外,还可以指定一个字符串作为默认翻译。”
🧩 特性
- 使用键获取值(翻译)。
- 本地化代码(本地化器构造函数的第二个参数)。
- 默认翻译可以是字符串或另一个本地化器。(本地化器构造函数的第三个参数)。
- 在不同的文件中创建不同的翻译者。
- 使用基于类的翻译文件中的方法实现动态翻译。
- 重新加载翻译者。
- 删除已加载的翻译者。
- 刷新翻译者并重新加载它们。
- 更改本地化代码。
📖 许可证
版权所有 (c) 2024 Hadi Akbarzadeh
许可协议:MIT,有关详细信息,请参阅LICENSE.md。