私はZFCUser
ドイツのプロジェクトを使用しており、開発する必要があります。
残念ながら、ログイン フォームは英語であり、フォーム フィールドや特にエラー メッセージを英語に翻訳する方法が見つかりませんでした。
モジュールがメッセージを上書きするか、言語を切り替えるためのグローバルな方法はありますか?
ありがとう!
編集:
これは私のブートストラップでの翻訳者の呼び出しです:
$translator = new Translator();
$translator->addTranslationFile(
'phpArray',
'vendor/zendframework/zendframework/resources/languages/de/Zend_Validate.php',
'default',
'de_DE'
);
AbstractValidator::setDefaultTranslator($translator);
編集 II:
私のカスタム翻訳ファイル:
<?php
return array(
// ZFCUser
"Authentication failed. Please try again." => "test"
);
私の工場:
<?php
class CustomTranslatorFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $sl)
{
$translator = new Translator();
$translator->addTranslationFile(
'phpArray',
'vendor/.../TranslationTable.php',
'default',
'de_DE'
);
return $translator;
}
}
私の User モジュールからの Module.php:
public function getServiceConfig()
{
return array(
'factories' => array(
'translator' => 'Path\To\Translator\CustomTranslatorFactory',
),
);
}
編集 III:
私の翻訳者はこんな感じです。配列の代わりに PHP ファイルを使用しても、何も起こりません。エラーなし、翻訳なし。私が間違っていることはありますか?
$custom_translations = array(
"Authentication failed. Please try again." => "test",
);
$translator = new Translator();
$translator->addTranslationFile(
'phpArray',
'vendor/zendframework/zendframework/resources/languages/de/Zend_Validate.php',
'default',
'de_DE'
);
$translator->addTranslationFile(
'phpArray',
$custom_translations
);
return $translator;