yiisoft/i18n-message-gettext

Yii 翻译器 gettext 消息存储

1.1.0 2022-11-08 07:19 UTC

This package is auto-updated.

Last update: 2024-09-22 15:23:17 UTC


README

Yii

Yii 翻译器 gettext 消息存储


Latest Stable Version Total Downloads Build Status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

该包提供了一个基于 gettext 文件格式的消息存储后端,用于与 yiisoft/translator 包一起使用。

要求

  • PHP 8.0 或更高版本。
  • gettext PHP 扩展。

安装

该包可以使用 Composer 安装。

composer require yiisoft/translator-message-gettext

注意

当使用 gettext 时,locale 取决于您的操作系统要求

  • 对于 Windows 'locale' => 'en-US.UTF-8'
  • 对于 Linux 'locale' => 'en_US.UTF-8'

通用用法

该包旨在与 yiisoft/translator 一起使用。

use Yiisoft\Translator\CategorySource;
use Yiisoft\Translator\Message\Gettext\MessageSource;

$categorySource = new CategorySource(
    'my-category',
    new MessageSource('/path/to/messages'),
);

以下示例展示了如何单独使用它。

创建 MessageSource 实例

/** @var string $path - path to your gettext storage */
$messageSource = new \Yiisoft\Translator\Message\Gettext\MessageSource($path);

不使用 yiisoft/translator 包读取消息

/** 
 * @var \Yiisoft\Translator\Message\Gettext\MessageSource $messageSource
 * @var ?string $translatedString
 */
$id = 'messageIdentificator';
$category = 'messages';
$language = 'de-DE';

$translatedString = $messageSource->getMessage($id, $category, $language);

您可以使用第三方软件(例如 Poedit)创建您的 .mo 格式翻译

推荐的结构化您的 gettext 存储

-- path_to_your_storage
  -- de_DE
    -- LC_MESSAGES
        -- messages.mo

文档

如果您需要帮助或有任何问题,您可以在 Yii 论坛 找到答案。您还可以查看其他 Yii 社区资源

许可

Yii 翻译器 gettext 消息存储是免费软件。它根据 BSD 许可证的条款发布。有关更多信息,请参阅 LICENSE

Yii 软件 维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack