The package provides message storage backend based on PHP arrays to be used with yiisoft/translator package.
- PHP 8.0 - 8.5.
The package could be installed with Composer:
composer require yiisoft/translator-message-phpThe package is meant to be used with 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(),
);The examples below are about using it separately.
/** @var string $path - full path to your translations */
$messageSource = new \Yiisoft\Translator\Message\Php\MessageSource($path);/**
* @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);The following structure will be created after writing:
π path_to_your_storage
π de-DE
π messageCategory.php
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
The Yii Translator PHP Message Storage is free software. It is released under the terms of the BSD License.
Please see LICENSE for more information.
Maintained by Yii Software.