我想在PHP中使用Respect / Validation库。我知道如何使用它,但目前我在德语版的项目中使用它,当然,我也想要用德语的错误信息。
对于语言翻译,文档中有section但我还没有真正理解,但我还没有找到任何答案。
他们正在谈论应该处理消息翻译的翻译。作为第二个参数,他们会给予" gettext"但我不知道这应该是什么,以及这应该如何处理翻译。
有人可以解释一下这是如何运作的吗?
答案 0 :(得分:3)
Respect/Validation不会为你做翻译,你应该使用不同的项目,库或函数来做到这一点。然而,正如文件所述,它不会让你空手而归。
首先,您应该尝试了解translation libraries work (such as gettext()
)的方式,然后阅读PHP documentation on Callables。然后是选择库,创建翻译并在异常实例上调用setParam('translator', 'callable')
方法。
快速介绍您的问题:
source
完成:它可以是file
,database
或其他内容,具体取决于您使用的库。{{name}} is invalid.
。如果{{name}}
被input
替换,name
将setName()
替换为该Respect\Validation\Exceptions
。{/ li>
$exception->setParam()
命名空间下查看需要翻译的所有邮件。task stagingRun(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'project.JavaApp'
systemProperty "java.library.path", "libs/NORDIC/NativeLibraries/NatLinux64"
systemProperty 'SILVERBACK_URL', 'https://myback.com/api/'
systemProperty 'DATABASE_PATH', 'jdbc:h2:file:./data/backUp;AUTO_RECONNECT=TRUE'
systemProperty 'BACKUP_PATH', "main/data/backup.json"
}
task deployRun(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'project.JavaApp'
systemProperty "java.library.path", "libs/NORDIC/NativeLibraries/NatWin64"
systemProperty 'SILVERBACK_URL', 'https://myback.production.com/api/'
systemProperty 'DATABASE_PATH', 'jdbc:h2:file:/data/backUp;AUTO_RECONNECT=TRUE'
systemProperty 'BACKUP_PATH', "/data/backup.json"
}
电话上设置的方法/功能。如果您翻译了所有异常消息,we会希望将其提供给所有其他人。
PS:你也可以提出这个问题on the repository page,更多的人会帮助我们,我们也可以改善图书馆将来处理翻译的方式。
答案 1 :(得分:0)
我刚刚更改了所有Exception defaultTemplates属性,它对我有用。
class Localization
{
public function init()
{
$this->validation();
}
public function validation()
{
$prefix = '\\Respect\\Validation\\Exceptions\\';
$localize = [
'EmailException' => 'local message',
'NotEmptyException' => 'local message'
];
foreach($localize as $class => $message) {
($prefix.$class)::$defaultTemplates[
ValidationException::MODE_DEFAULT][ValidationException::STANDARD] = $message;
}
}
}
$localization = new Localization();
$localization->init();