我想在 PHP 中使用 Respect/Validation 库。我知道如何使用它,但目前我在德语项目中使用它,当然,我也想要德语的错误消息。
对于语言翻译,文档中有一个部分,但我真的不明白,我还没有找到任何答案。
他们正在谈论应该处理消息翻译的翻译。作为第二个参数,他们给出了“gettext”,但我不知道这应该是什么以及它应该如何处理翻译。
谁能解释我这是如何工作的?
我想在 PHP 中使用 Respect/Validation 库。我知道如何使用它,但目前我在德语项目中使用它,当然,我也想要德语的错误消息。
对于语言翻译,文档中有一个部分,但我真的不明白,我还没有找到任何答案。
他们正在谈论应该处理消息翻译的翻译。作为第二个参数,他们给出了“gettext”,但我不知道这应该是什么以及它应该如何处理翻译。
谁能解释我这是如何工作的?
尊重/验证不会为你做翻译,你应该使用不同的项目、库或函数来做。正如文档所述,它不会让你空手而归。
首先,您应该尝试了解翻译库的工作原理(例如gettext()
),然后阅读有关 Callables 的 PHP 文档。然后就是选择一个库,创建翻译并setParam('translator', 'callable')
在异常实例上调用方法的问题。
快速介绍您的问题:
source
:它可以是 a file
、 adatabase
或其他内容,具体取决于您使用的库。{{name}} is invalid.
. Where{{name}}
将被input
给定的或根据该规则调用的name
if替换。setName()
Respect\Validation\Exceptions
。$exception->setParam()
调用中设置的方法/功能。如果您曾经翻译过所有异常消息,我们很乐意将它们提供给其他所有人。
PS:您也可以在存储库页面上提出这个问题,更多的人会提供帮助,我们也可以在未来改进图书馆处理翻译的方式。
我刚刚更改了所有 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();