chubbyphp / chubbyphp-translation
This package is abandoned and no longer maintained.
No replacement package was suggested.
Chubbyphp Translation
1.1.3
2018-04-20 18:18 UTC
Requires
- php: ~7.0
- psr/log: ~1.0
Requires (Dev)
- phpunit/phpunit: ~6.0
- pimple/pimple: ~3.0
- twig/twig: ~1.12
This package is auto-updated.
Last update: 2020-09-22 18:45:58 UTC
README
Description
A simple translation solution.
Requirements
- php: ~7.0
Suggest
- pimple/pimple: ~3.0
- twig/twig: ^1.25.0
Installation
Through Composer as chubbyphp/chubbyphp-translation.
composer require chubbyphp/chubbyphp-translation "~1.1"
Usage
Translator
<?php use Chubbyphp\Translation\LocaleTranslationProvider; use Chubbyphp\Translation\Translator; $translator = new Translator([ new LocaleTranslationProvider('de', [ 'some.existing.key' => 'erfolgreiche Uebersetzung', 'another.existing.key' => '%d erfolgreiche Uebersetzungen', 'yetanother.existing.key' => '{{key}} erfolgreiche Uebersetzungen' ]), new LocaleTranslationProvider('en', [ 'some.existing.key' => 'successful translation', 'another.existing.key' => '%d successful translations' 'yetanother.existing.key' => '{{key}} successful translations' ]) ]); echo $translator->translate('de', 'some.existing.key'); // erfolgreiche Uebersetzung echo $translator->translate('en', 'some.existing.key'); // successful translation echo $translator->translate('fr', 'some.existing.key'); // some.existing.key echo $translator->translate('de', 'another.existing.key', [5]); // 5 erfolgreiche Uebersetzungen echo $translator->translate('en', 'another.existing.key', [5]); // 5 successful translations echo $translator->translate('fr', 'another.existing.key', [5]); // some.existing.key echo $translator->translate('de', 'yetanother.existing.key', ['key' => 5]); // 5 erfolgreiche Uebersetzungen echo $translator->translate('en', 'yetanother.existing.key', ['key' => 5]); // 5 successful translations echo $translator->translate('fr', 'yetanother.existing.key', ['key' => 5]); // some.existing.key
TranslationProvider (Pimple)
<?php use Chubbyphp\Translation\Translator; use Chubbyphp\Translation\TranslationProvider; use Pimple\Container; $container->register(new TranslationProvider); $container->extend('translator.providers', function (array $providers) use ($container) { $providers[] = new LocaleTranslationProvider('de', [ 'some.existing.key' => 'erfolgreiche Uebersetzung', 'another.existing.key' => '%d erfolgreiche Uebersetzungen' ]); $providers[] = new LocaleTranslationProvider('en', [ 'some.existing.key' => 'successful translation', 'another.existing.key' => '%d successful translations' ]); return $providers; }); /** @var Translation $translator */ $translator = $container['translator'];
TranslationTwigExtension
<?php use Chubbyphp\Translation\LocaleTranslationProvider; use Chubbyphp\Translation\TranslationTwigExtension; use Chubbyphp\Translation\Translator; $twig->addExtension(new TranslationTwigExtension(new Translator([])));
{{ 'some.existing.key'|translate('de') }} {{ 'another.existing.key'|translate('de', [5]) }} {{ 'yetanother.existing.key'|translate('de', ['key' => 5]) }}
Copyright
Dominik Zogg 2016