yiisoft/translator-message-php
PHP message source for Yii Translator that loads translations from PHP files (arrays). Lightweight, fast, and easy to structure by categories/locales, making it simple to manage message catalogs and integrate file-based i18n into your app.
The package provides message storage backend based on PHP arrays to be used with yiisoft/translator package.
The package could be installed with Composer:
composer require yiisoft/translator-message-php
The 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);
yiisoft/translator package/**
* @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.
How can I help you explore Laravel packages today?