Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation Laravel-验证本地化不';行不通_Validation_Laravel_Laravel 4_Laravel Validation - Fatal编程技术网

Validation Laravel-验证本地化不';行不通

Validation Laravel-验证本地化不';行不通,validation,laravel,laravel-4,laravel-validation,Validation,Laravel,Laravel 4,Laravel Validation,每当我使用trans()函数从validation.php文件返回一个特定的翻译时,它都能完美地工作。我的应用程序中有两种语言,两种语言的翻译都会返回 然而,每当我使用Laravel验证器时,它只返回默认语言环境中的消息。我需要在验证器中指定什么吗?如何使其适用于两种语言?您需要将翻译作为第三个参数传递。假设您已在以下代码中定义了字段、规则和验证器: $data = Input::only('title'); $rules['title'] = 'required|min:20|max:80',

每当我使用
trans()
函数从
validation.php
文件返回一个特定的翻译时,它都能完美地工作。我的应用程序中有两种语言,两种语言的翻译都会返回


然而,每当我使用Laravel验证器时,它只返回默认语言环境中的消息。我需要在验证器中指定什么吗?如何使其适用于两种语言?

您需要将翻译作为第三个参数传递。假设您已在以下代码中定义了字段、规则和验证器:

$data = Input::only('title');
$rules['title'] = 'required|min:20|max:80',
$validator = Validator::make($data, $rules,
            Lang::get('forms.validation.entry'));
现在您需要定义您的翻译。假设您需要翻译
fr
lang,那么您需要共同创建
lang/fr/forms.php
文件,并将以下内容放入其中:

<?php

return

array (
  'validation' => array (
     'entry' => array (
         'title.required' => 'Your translation for title required',
         'title.min' => 'Your translation for title min',
         'title.max' => 'Your translation for title max',
      )
  )
);

问题源于我的本地化实现。我添加了
App::setLocale(Session::get('lang')
filters.php
文件中的
App::before()
方法,现在一切正常。

在resources/lang/en文件夹laravel have validation.php中。创建新语言时,您可以将此文件复制到新创建的语言文件夹,然后将其编辑为此语言

例如,您想要创建fr语言

/resources/lang/fr/validation.php and translate it to this language