nabeghe/light-localization

一个轻量级的基于键值和路径的PHP本地化库,当需要时才加载翻译。

1.1.0 2024-09-19 16:37 UTC

This package is auto-updated.

Last update: 2024-09-19 16:44:29 UTC


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