如何将翻译从resources/lang/*/validation.php
以外的其他位置加载到vendor/package/src/translation/*/validation.php
?
我在路径vendor/package/src/translation/*/validation.php
上创建了翻译文件:
<?php
return [
'custom' => [
'search_text' => [
'string' => 'A nice message.',
'not_regex' => 'Regex failed.',
],
],
'attributes' => [
'search_text' => 'Search text',
],
];
我已经在服务提供商中启动了自己的验证器:
$this->app->validator->resolver( function( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) {
return new MyValidator( $translator, $data, $rules, $messages, $customAttributes );
} );
我已经创建了 ofc 验证器类。但是我不知道如何将验证器和翻译从自定义位置转换为工作。如果两个文件中都出现任何交集,则输出应由自定义文件重载。 感谢您的帮助。:)
如果您的软件包包含翻译文件,您可以使用loadTranslationsFrom
方法通知 Laravel 如何加载它们,并应将以下内容添加到服务提供商的引导方法中:
public function boot()
{
$this->loadTranslationsFrom(__DIR__.'/path/to/translations', 'name');
}
包翻译使用package::file.line
语法约定进行引用。
echo trans('name::file.line');