yiisoft / i18n-message-php
Yii Translator PHP Message Storage
Fund package maintenance!
Opencollective
yiisoft
Installs: 3 345
Dependents: 0
Suggesters: 0
Security: 0
Stars: 14
Watchers: 17
Forks: 7
Open Issues: 1
Requires
- php: ^8.0
- yiisoft/translator: ^1.0|^2.0|^3.0
Requires (Dev)
- maglnet/composer-require-checker: ^4.2
- phpunit/phpunit: ^9.5
- rector/rector: ^0.15.4
- roave/infection-static-analysis-plugin: ^1.16
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.30|^5.4
This package is auto-updated.
Last update: 2024-12-22 16:06:56 UTC
README
Yii Translator PHP Message Storage
The package provides message storage backend based on PHP arrays to be used with yiisoft/translator
package.
Requirements
- PHP 8.0 or higher.
Installation
The package could be installed with Composer:
composer require yiisoft/translator-message-php
General usage
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.
Create an instance of message source
/** @var string $path - full path to your translations */ $messageSource = new \Yiisoft\Translator\Message\Php\MessageSource($path);
Read a message without 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);
Write an array of messages to storage
/** * @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
Documentation
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.
License
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.