This package is deprecated and is now part of yiisoft/translator.
❌
This package allow to format messages in simple mode. When translating a message, you can embed some placeholders and have them replaced by dynamic parameter values.
- PHP 7.4 or higher.
The package could be installed with composer:
composer require yiisoft/translator-formatter-simple --prefer-dist
In case you use yiisoft/config
, you will get configuration automatically. If not, the following DI container configuration is necessary:
<?php
declare(strict_types=1);
use Yiisoft\Translator\MessageFormatterInterface;
use Yiisoft\Translator\Formatter\Simple\SimpleMessageFormatter;
return [
MessageFormatterInterface::class => SimpleMessageFormatter::class,
];
/** @var \Yiisoft\Translator\Translator $translator **/
$categoryName = 'moduleId';
$pathToModuleTranslations = './module/messages/';
$additionalCategory = new Yiisoft\Translator\CategorySource(
$categoryName,
new \Yiisoft\Translator\Message\Php\MessageSource($pathToModuleTranslations),
new \Yiisoft\Translator\Formatter\Simple\SimpleMessageFormatter()
);
$translator->addCategorySource($additionalCategory);
$translator->translate('Test string: {str}', ['str' => 'string data'], 'moduleId', 'en');
// output: Test string: string data
/** @var \Yiisoft\Translator\Formatter\Simple\SimpleMessageFormatter $formatter */
$pattern = 'Test number: {number}';
$params = ['number' => 5];
$locale = 'en';
echo $formatter->format($pattern, $params, $locale);
// output: Test number: 5
$pattern = 'Test string: {str}';
$params = ['str' => 'string data'];
echo $formatter->format($pattern, $params, $locale);
// output: Test string: string data
The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunit
The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:
./vendor/bin/roave-infection-static-analysis-plugin
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
The Yii Translator Simple Message Formatter is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.