yiisoft/translator-message-php

Yii翻译器PHP消息存储

1.1.1 2023-02-19 11:29 UTC

This package is auto-updated.

Last update: 2024-09-22 15:36:25 UTC


README

Yii

Yii翻译器PHP消息存储


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

该包提供了一个基于PHP数组的消息存储后端,用于与yiisoft/translator包一起使用。

要求

  • PHP 8.0或更高版本。

安装

该包可以通过Composer安装。

composer require yiisoft/translator-message-php

通用用法

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

use Yiisoft\Translator\CategorySource;
use Yiisoft\Translator\IntlMessageFormatter;
use Yiisoft\Translator\Message\Php\MessageSource;

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

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

创建消息源实例

/** @var string $path - full path to your translations */
$messageSource = new \Yiisoft\Translator\Message\Php\MessageSource($path);

在没有yiisoft/translator包的情况下读取消息

/** 
 * @var \Yiisoft\Translator\Message\Php\MessageSource $messageSource
 * @var ?string $translatedString
 */
$id = 'messageIdentifier';
$category = 'messageCategory';
$language = 'de-DE';

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

将消息数组写入存储

/** 
 * @var \Yiisoft\Translator\Message\Php\MessageSource $messageSource
 */
$category = 'messageCategory';
$language = 'de-DE';
$data = [
    'test.id1' => [
        'message' => 'Nachricht 1', // translated string
        'comment' => 'Comment for message 1', // is optional parameter for save extra metadata
    ],
    'test.id2' => [
        'message' => 'Nachricht 2',
    ],
    'test.id3' => [
        'message' => 'Nachricht 3',
    ],
];

$messageSource->write($category, $language, $data);

写入后将创建以下结构

📁 path_to_your_storage
  📁 de-DE
     🗎 messageCategory.php

文档

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

许可证

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

Yii软件维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack