来自documentation,
包翻译文件通常使用
双冒号语法。
在你的包的服务提供者的boot 方法中加载你的翻译时,你需要告诉 Laravel 它的位置。所以假设你的包名是acme,你会有这样的东西。
public function boot()
{
$this->loadTranslationsFrom(__DIR__.'/path/to/translations', 'acme');
}
然后要加载翻译,您可以执行以下操作:
trans('acme::file.line');
编辑:如果要提供自定义验证消息,则需要在 Form Request 中添加 messages() 方法。例如:
public function messages()
{
return [
'field' => trans('acme::validation.field')
];
}
如果您手动创建 Validator 实例,您可以这样做:
$messages = [
'field' => trans('acme::validation.field')
];
$validator = Validator::make($input, $rules, $messages);
编辑:由于resources/lang/en/validation.php 包含一个键值对数组,您可以将文件的内容替换为:
<?php
return trans('acme::validation');
并假设您的包的验证文件正在返回一个键值对数组,这应该可以解决问题。