【问题标题】:Laravel - translate auth and form validationLaravel - 翻译身份验证和表单验证
【发布时间】:2017-07-27 04:49:42
【问题描述】:

我已经生成了默认的 Laravel 身份验证模块,但我希望能够在不同的语言中使用它。 在 lang 下我可以看到 auth.phppasswords.php 有一些错误消息,我能够创建自己的 lang 文件夹并翻译这些。但这似乎不完整。我也想翻译我视图中的所有内容,但它似乎是硬编码的。例如,在login.blade.php 中,电子邮件的标签如下所示:

<label for="email" class="col-md-4 control-label">E-Mail Address</label>

我的问题是,为什么 auth 模块只有部分在翻译文件中,而其余部分是硬编码的?我是否误解了某些东西,或者解决方案真的是在翻译文件中添加“电子邮件”并像这样更改视图:

@lang('auth.email')

第二个问题是关于视图中的验证弹出窗口。例如,如果我没有填写任何行并按登录,则会出现一个弹出窗口,上面写着"Please fill out this field"。这是从哪里来的,我该如何翻译?

【问题讨论】:

  • 回答你的第二个问题。弹出此消息是因为输入字段设置了必需的属性,并且该消息由浏览器显示。
  • 请指定您的 laravel 版本。
  • 我有类似的问题,拜托,看看你能不能帮帮我。 it is here

标签: php laravel


【解决方案1】:

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',
    ],
];

【讨论】:

  • 我有类似的问题,拜托,看看你能不能帮帮我。 it is here
猜你喜欢
  • 1970-01-01
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 2012-03-15
  • 2019-08-12
  • 2020-06-21
相关资源
最近更新 更多