sunrise / translator
A flexible translation manager.
v1.0.0
2025-02-14 18:08 UTC
Requires
- php: >=8.1
Requires (Dev)
- php-di/php-di: ^7.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^3.11
- vimeo/psalm: ^6.5
This package is auto-updated.
Last update: 2025-02-14 18:46:50 UTC
README
A flexible translation manager.
Installation
composer require sunrise/translator
How to use
Quick Start
// Contents of this example translation file (located at /translations/sr.php): return [ 'Hello, {username}!' => 'Zdravo, {username}!', ];
use Sunrise\Translator\TranslatorManager; use Sunrise\Translator\Translator\DirectoryTranslator; $translator = new TranslatorManager( translators: [ new DirectoryTranslator( domain: 'app', directory: '/translations', ), ], ); // Result: Zdravo, Marko! $translator->translate(domain: 'app', locale: 'sr', template: 'Hello, {username}!', placeholders: ['{username}' => 'Marko']);
PHP-DI definitions
use DI\ContainerBuilder; use Sunrise\Translator\TranslatorManagerInterface; $containerBuilder = new ContainerBuilder(); $containerBuilder->addDefinition(__DIR__ . '/../vendor/sunrise/translator/resources/definitions/translator_manager.php'); $container = $containerBuilder->build(); // See above for usage examples. $translator = $container->get(TranslatorManagerInterface::class);
Tests
composer test