sunrise/translator

A flexible translation manager.

v1.0.0 2025-02-14 18:08 UTC

This package is auto-updated.

Last update: 2025-02-14 18:46:50 UTC


README

A flexible translation manager.

Scrutinizer Code Quality Code Coverage Total Downloads

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