A simple internationalization library with support for .po and .php translation files.
composer require koded/i18n
- intl
- gettext
__(string $message, array $arguments => [], string $locale = '');The I18n class is static and should be configured
somewhere in the beginning of your PHP code/script.
use Koded\Stdlib\Config;
use Koded\I18n\{ArrayCatalog, DefaultFormatter, I18n, I18nCatalog};
// all conf directives are optional
$config = new Config([
'translation.catalog' => ArrayCatalog::class,
'translation.formatter' => DefaultFormatter::class,
'translation.dir' => '/path/to/your/translation/files',
'translation.locale' => ['mk_MK', 'de_DE', 'it_IT'],
]);
I18n::register(I18nCatalog::new($config));poedit is a very good app to work with your translation files.
The translation file has a simple structure
return [
'language' => '',
'messages' => [
// your translation strings goes here
'original string' => 'translated string',
]
];where messages contains key => value pairs for the translated strings.
vendor/bin/phpunitThe code is distributed under the terms of The 3-Clause BSD license.

