我正在使用ZFCUser
并且需要开发一个德国项目。
不幸的是,登录表单是英文的,我找不到将表单字段特别是错误消息翻译成英文的方法。
模块是否有一种全局方式来覆盖消息或切换语言?
谢谢!
编辑:
这是我在引导程序中调用的翻译器:
$translator = new Translator();
$translator->addTranslationFile(
'phpArray',
'vendor/zendframework/zendframework/resources/languages/de/Zend_Validate.php',
'default',
'de_DE'
);
AbstractValidator::setDefaultTranslator($translator);
编辑二:
我的自定义翻译文件:
<?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;
}
}
Module.php 来自我的用户模块:
public function getServiceConfig()
{
return array(
'factories' => array(
'translator' => 'Path\To\Translator\CustomTranslatorFactory',
),
);
}
编辑三:
我的翻译器看起来像这样。即使使用 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;