我已经生成了默认的Laravel auth模块,但我希望能够以不同的语言使用它。
在lang下我可以看到auth.php
和passwords.php
有一些错误消息,我能够创建自己的lang文件夹并翻译它们。但这似乎不完整。我也希望翻译我的观点中的所有内容,但它似乎是硬编码的。例如,在login.blade.php
中,电子邮件的标签如下所示:
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
我的问题是,为什么auth模块只部分在翻译文件中,其余部分是硬编码的?我是误解了某些东西,还是解决方案真的要添加&#34;电子邮件&#34;转换文件并更改视图如下:
@lang(&#39; auth.email&#39)
另外一个问题是关于视图中的验证弹出窗口。例如,如果我没有填写任何行并按登录,则弹出窗口显示"Please fill out this field"
。这是从哪里来的,我该如何翻译呢?
答案 0 :(得分:2)
Auth包中的翻译与尝试登录,重置密码等时返回给用户的标准消息有关。
如果您要翻译字段名称,错误消息等,则可以通过在resources/lang/{lang_code}
下创建自己的语言文件,或下载社区内共享的语言文件来实现。例如,this repo。
至于在模板中使用翻译,您可以使用trans
帮助程序。请参阅以下示例,其中lang.login.email
将映射到语言文件中的值:
<label for="email" class="col-md-4 control-label">{{ trans('lang.login.email') }}</label>
// resources/lang/en/lang.php
return [
'login' => [
'email' => 'Email address',
],
];