I18n

Die Unterstützung mehrerer Sprachen basiert auf der Zend Framework 2 Implementierung. Die Erweiterung macht lediglich ein paar Einstellungen (Fallbacksprache “en”, Servicealias “translator”) und ermöglicht dem Client das Abfragen der verfügbaren Sprachen des Servers (Standardmäßig “de” und “en”). In den Standardpaketen wird die Mehrsprachigkeit vor allem für das Versenden von E-Mails vom Server (Validierung der E-Mail Adresse und Passwort vergessen) verwendet.

Beispiel einer Sprachdatei “/language/test/de.php” in einem Modul “Test”:

return [
    'example' => 'Beispiel',
];

Einbindung der Sprachdateien per File Patterns in der “/config/module.config.php”:

return [
    'translator' => [
        'translation_file_patterns' => [
            [
                'type' => 'phparray',
                'base_dir' => __DIR__ . '/../language/test',
                'pattern' => '%s.php',
                'text_domain' => 'test',
            ],
        ],
    ],
];

Nutzung der Mehrsprachigkeit in einer beliebigen Klasse:

namespace Test\Api;
class Test
{
    use \DragonJsonServer\ServiceManagerTrait;
 
    public function getExample($language)
    {
        return $this->getServiceManager()->get('translator')
            ->translate('example', 'test', $language);
    }
}