On this page
Translator
Factory
Setting Locale
$translator = Laminas\I18n\Translator\Translator::factory([
'locale' => 'de_DE',
]);
Setting Fallback Locale
$translator = Laminas\I18n\Translator\Translator::factory([
'locale' => [
'de_DE', // Default locale
'en_GB', // Fallback locale
],
]);
Setting Translation File Patterns
$translator = Laminas\I18n\Translator\Translator::factory([
'translation_file_patterns' => [
[
'type' => Laminas\I18n\Translator\Loader\PhpArray::class,
'base_dir' => __DIR__ . '/languages',
'pattern' => '%s.php',
],
[
'type' => Laminas\I18n\Translator\Loader\PhpArray::class,
'base_dir' => __DIR__ . '/languages',
'pattern' => 'album-%s.php',
'text_domain' => 'album',
],
],
]);
Each file pattern option array must contain type, base_dir and pattern.
The option for text_domain is optional. The default value for text_domain is
default.
Setting Translation Files
$translator = Laminas\I18n\Translator\Translator::factory([
'translation_files' => [
[
'type' => Laminas\I18n\Translator\Loader\PhpArray::class,
'filename' => __DIR__ . '/languages/en_GB.php',
],
[
'type' => Laminas\I18n\Translator\Loader\PhpArray::class,
'filename' => __DIR__ . '/languages/de_DE.php',
'locale' => 'de_DE',
],
[
'type' => Laminas\I18n\Translator\Loader\PhpArray::class,
'filename' => __DIR__ . '/languages/album-de_DE.php',
'locale' => 'de_DE',
'text_domain' => 'album',
],
],
]);
Each file option array must contain type and filename. The options for
locale and the text_domain are optional. The default value for locale is
null and for text_domain it is default.
Setting Remote Translations
$translator = Laminas\I18n\Translator\Translator::factory([
'remote_translation' => [
[
'type' => 'translation-de_DE', // Custom name
],
[
'type' => 'translation-de_DE', // Custom name
'text_domain' => 'album',
],
],
]);
Each remote option array must contain type. The option for text_domain is
optional. The default value for text_domain is default.
Adding Translations
$translator->getPluginManager()->setService(
'translation-de_DE', // Custom name
new \Laminas\I18n\Translator\Loader\PhpMemoryArray([
'default' => [
'de_DE' => [
'car' => 'Auto',
'train' => 'Zug',
],
],
'album' => [
'de_DE' => [
'music' => 'Musik',
],
],
])
);
Setting Cache
Using a Cache Instance
$cache = Laminas\Cache\StorageFactory::factory([
'adapter' => [
'name' => Laminas\Cache\Storage\Adapter\Filesystem::class,
'options' => [
'cache_dir' => __DIR__ . '/cache',
],
],
]);
$translator = Laminas\I18n\Translator\Translator::factory([
'cache' => $cache,
]);
Using Cache Configuration
$translator = Laminas\I18n\Translator\Translator::factory([
'cache' => [
'adapter' => [
'name' => Laminas\Cache\Storage\Adapter\Filesystem::class,
'options' => [
'cache_dir' => __DIR__ . '/cache',
],
],
],
]);
Enable EventManager
$translator = Laminas\I18n\Translator\Translator::factory([
'event_manager_enabled' => true,
]);