如何从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',
],
];
我在服务提供商中启动了自己的Validator:
$this->app->validator->resolver( function( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) {
return new MyValidator( $translator, $data, $rules, $messages, $customAttributes );
} );
我创建了ofc验证器类。但我不知道如何将自定义位置的验证器和转换连接起来。如果两个文件中都出现任何交集,则自定义文件应该重载输出。 感谢帮助。 :)
答案 0 :(得分:0)
如果您的软件包包含翻译文件,您可以使用loadTranslationsFrom
方法通知Laravel如何加载它们,并将以下内容添加到您的服务提供商的引导方法中:
public function boot()
{
$this->loadTranslationsFrom(__DIR__.'/path/to/translations', 'name');
}
使用package::file.line
语法约定引用包翻译。
echo trans('name::file.line');