title: Translate validation message in laravel 5
body: <p>I have a problem translating the laravel messages. I have created a folder called <code>es</code> inside <code>lang</code> folder and I have translated the messages from English to Spanish. Also I have set <code>'locale' =&gt; 'es'</code> on <code>config/app.php</code>. But English messages continues appearing.</p>
  
  <p>I have used the default views for login provided by laravel, to generate it (and routes) I used the command (as says in <a href="https://laravel.com/docs/5.2/authentication" rel="noreferrer">https://laravel.com/docs/5.2/authentication</a>)</p>
  
  <p><code>php artisan make:auth</code></p>
  
  <p>I have changed the default routes by the following:</p>
  
  <pre><code>Route::get('/login', 'UserController@getLogin');
  Route::post('/login', 'UserController@postLogin');
  </code></pre>
  
  <p>And in UserController I have:</p>
  
  <pre><code>public function getLogin(){
      return view('auth.login');
  }
  
  public function postLogin(Request $request){
      $input = $request-&gt;all();
      if (Auth::attempt(['email' =&gt; $input["email"], 'password' =&gt; $input["password"]], true))
      {
          return redirect()-&gt;intended('/tables');
      }
  }
  </code></pre>
  
  <p>Here are two screenshots of the messages that appears in English</p>
  
  <p><a href="http://i64.tinypic.com/if4k83.png" rel="noreferrer">http://i64.tinypic.com/if4k83.png</a></p>
  
  <p><a href="http://i64.tinypic.com/51zhnp.png" rel="noreferrer">http://i64.tinypic.com/51zhnp.png</a></p>
  
  <p>How can I transate these messages?</p>
  
  <p>Thanks</p>
  
  <p>Edit:</p>
  
  <p><code>resources/lang/en/validation.php</code></p>
  
  <pre><code>&lt;?php
  
  return [
  
      /*
      |--------------------------------------------------------------------------
      | Validation Language Lines
      |--------------------------------------------------------------------------
      |
      | The following language lines contain the default error messages used by
      | the validator class. Some of these rules have multiple versions such
      | as the size rules. Feel free to tweak each of these messages here.
      |
      */
  
      'accepted'             =&gt; 'The :attribute must be accepted.',
      'active_url'           =&gt; 'The :attribute is not a valid URL.',
      'after'                =&gt; 'The :attribute must be a date after :date.',
      'alpha'                =&gt; 'The :attribute may only contain letters.',
      'alpha_dash'           =&gt; 'The :attribute may only contain letters, numbers, and dashes.',
      'alpha_num'            =&gt; 'The :attribute may only contain letters and numbers.',
      'array'                =&gt; 'The :attribute must be an array.',
      'before'               =&gt; 'The :attribute must be a date before :date.',
      'between'              =&gt; [
          'numeric' =&gt; 'The :attribute must be between :min and :max.',
          'file'    =&gt; 'The :attribute must be between :min and :max kilobytes.',
          'string'  =&gt; 'The :attribute must be between :min and :max characters.',
          'array'   =&gt; 'The :attribute must have between :min and :max items.',
      ],
      'boolean'              =&gt; 'The :attribute field must be true or false.',
      'confirmed'            =&gt; 'The :attribute confirmation does not match.',
      'date'                 =&gt; 'The :attribute is not a valid date.',
      'date_format'          =&gt; 'The :attribute does not match the format :format.',
      'different'            =&gt; 'The :attribute and :other must be different.',
      'digits'               =&gt; 'The :attribute must be :digits digits.',
      'digits_between'       =&gt; 'The :attribute must be between :min and :max digits.',
      'distinct'             =&gt; 'The :attribute field has a duplicate value.',
      'email'                =&gt; 'The :attribute must be a valid email address.',
      'exists'               =&gt; 'The selected :attribute is invalid.',
      'filled'               =&gt; 'The :attribute field is required.',
      'image'                =&gt; 'The :attribute must be an image.',
      'in'                   =&gt; 'The selected :attribute is invalid.',
      'in_array'             =&gt; 'The :attribute field does not exist in :other.',
      'integer'              =&gt; 'The :attribute must be an integer.',
      'ip'                   =&gt; 'The :attribute must be a valid IP address.',
      'json'                 =&gt; 'The :attribute must be a valid JSON string.',
      'max'                  =&gt; [
          'numeric' =&gt; 'The :attribute may not be greater than :max.',
          'file'    =&gt; 'The :attribute may not be greater than :max kilobytes.',
          'string'  =&gt; 'The :attribute may not be greater than :max characters.',
          'array'   =&gt; 'The :attribute may not have more than :max items.',
      ],
      'mimes'                =&gt; 'The :attribute must be a file of type: :values.',
      'min'                  =&gt; [
          'numeric' =&gt; 'The :attribute must be at least :min.',
          'file'    =&gt; 'The :attribute must be at least :min kilobytes.',
          'string'  =&gt; 'The :attribute must be at least :min characters.',
          'array'   =&gt; 'The :attribute must have at least :min items.',
      ],
      'not_in'               =&gt; 'The selected :attribute is invalid.',
      'numeric'              =&gt; 'The :attribute must be a number.',
      'present'              =&gt; 'The :attribute field must be present.',
      'regex'                =&gt; 'The :attribute format is invalid.',
      'required'             =&gt; 'The :attribute field is required.',
      'required_if'          =&gt; 'The :attribute field is required when :other is :value.',
      'required_unless'      =&gt; 'The :attribute field is required unless :other is in :values.',
      'required_with'        =&gt; 'The :attribute field is required when :values is present.',
      'required_with_all'    =&gt; 'The :attribute field is required when :values is present.',
      'required_without'     =&gt; 'The :attribute field is required when :values is not present.',
      'required_without_all' =&gt; 'The :attribute field is required when none of :values are present.',
      'same'                 =&gt; 'The :attribute and :other must match.',
      'size'                 =&gt; [
          'numeric' =&gt; 'The :attribute must be :size.',
          'file'    =&gt; 'The :attribute must be :size kilobytes.',
          'string'  =&gt; 'The :attribute must be :size characters.',
          'array'   =&gt; 'The :attribute must contain :size items.',
      ],
      'string'               =&gt; 'The :attribute must be a string.',
      'timezone'             =&gt; 'The :attribute must be a valid zone.',
      'unique'               =&gt; 'The :attribute has already been taken.',
      'url'                  =&gt; 'The :attribute format is invalid.',
  
      /*
      |--------------------------------------------------------------------------
      | Custom Validation Language Lines
      |--------------------------------------------------------------------------
      |
      | Here you may specify custom validation messages for attributes using the
      | convention "attribute.rule" to name the lines. This makes it quick to
      | specify a specific custom language line for a given attribute rule.
      |
      */
  
      'custom' =&gt; [
          'attribute-name' =&gt; [
              'rule-name' =&gt; 'custom-message',
          ],
      ],
  
      /*
      |--------------------------------------------------------------------------
      | Custom Validation Attributes
      |--------------------------------------------------------------------------
      |
      | The following language lines are used to swap attribute place-holders
      | with something more reader friendly such as E-Mail Address instead
      | of "email". This simply helps us make messages a little cleaner.
      |
      */
  
      'attributes' =&gt; [],
  
  ];
  </code></pre>
  
  <p><code>resources/lang/es/validation.php</code></p>
  
  <pre><code>&lt;?php
  
  return [
  
      /*
      |--------------------------------------------------------------------------
      | Validation Language Lines
      |--------------------------------------------------------------------------
      |
      | The following language lines contain the default error messages used by
      | the validator class. Some of these rules have multiple versions such
      | as the size rules. Feel free to tweak each of these messages here.
      |
      */
  
      'accepted'             =&gt; ':attribute debe ser aceptado.',
      'active_url'           =&gt; 'El campo :attribute no es una URL válida.',
      'after'                =&gt; 'El campo :attribute debe ser una fecha posterior a :date.',
      'alpha'                =&gt; 'El campo :attribute debe contener solo letras.',
      'alpha_dash'           =&gt; 'El campo :attribute debe contener solo letras números y guiones.',
      'alpha_num'            =&gt; 'El campo :attribute debe contenterdebe contenter letras y números.',
      'array'                =&gt; 'El campo :attribute debe ser un array.',
      'before'               =&gt; 'El campo :attribute debe ser una fecha anterior a :date.',
      'between'              =&gt; [
          'numeric' =&gt; 'El campo :attribute debe estar entre :min y :max.',
          'file'    =&gt; 'El campo :attribute ebe estar entre :min y :max kilobytes.',
          'string'  =&gt; 'El campo :attribute ebe estar entre :min y :max carácteres.',
          'array'   =&gt; 'El campo :attribute debe tener entre :min y :max elementos.',
      ],
      'boolean'              =&gt; 'El campo :attribute debe ser verdadero o falso.',
      'confirmed'            =&gt; 'El campo :attribute confirmación no coincide.',
      'date'                 =&gt; 'El campo :attribute no es una fecha válida.',
      'date_format'          =&gt; 'El campo :attribute does not match the format :format.',
      'different'            =&gt; 'El campo :attribute y :other deben ser diferentes.',
      'digits'               =&gt; 'El campo :attribute debe ser de :digits dígitos.',
      'digits_between'       =&gt; 'El campo :attribute debe estar entre :min y :max dígitos.',
      'distinct'             =&gt; 'El campo :attribute tiene un valor duplicado.',
      'email'                =&gt; 'El campo :attribute debe ser una dirección de correo válida.',
      'exists'               =&gt; 'El campo :attribute no es válido.',
      'filled'               =&gt; 'El campo :attribute es obligatorio.',
      'image'                =&gt; 'El campo :attribute debe ser una imagen.',
      'in'                   =&gt; 'El campo :attribute no es válido',
      'in_array'             =&gt; 'El campo :attribute no existe en :other.',
      'integer'              =&gt; 'El campo :attribute debe ser un entero.',
      'ip'                   =&gt; 'El campo :attribute debe ser una dirección IP válida.',
      'json'                 =&gt; 'El campo :attribute debe ser una cadena JSON válida.',
      'max'                  =&gt; [
          'numeric' =&gt; 'El campo :attribute no debe ser mayor que :max.',
          'file'    =&gt; 'El campo :attribute no debe ser mayor que :max kilobytes.',
          'string'  =&gt; 'El campo :attribute no debe ser mayor que :max carácteres.',
          'array'   =&gt; 'El campo :attribute no debe contener más de :max elementos.',
      ],
      'mimes'                =&gt; 'El campo :attribute debe ser un archivo del tipo: :values.',
      'min'                  =&gt; [
          'numeric' =&gt; 'El campo :attribute debe ser de al menos :min.',
          'file'    =&gt; 'El campo :attribute debe ser de al menos :min kilobytes.',
          'string'  =&gt; 'El campo :attribute debe ser de al menos :min carácteres.',
          'array'   =&gt; 'El campo :attribute debe tener al menos :min elementos.',
      ],
      'not_in'               =&gt; 'El campo selected :attribute no es válido.',
      'numeric'              =&gt; 'El campo :attribute debe ser un número.',
      'present'              =&gt; 'El campo :attribute debe estar presente.',
      'regex'                =&gt; 'El formatp del campo :attribute no es válido.',
      'required'             =&gt; 'El campo :attribute es obligatorio.',
      'required_if'          =&gt; 'El campo :attribute es obligatorio cuando :other es :value.',
      'required_unless'      =&gt; 'El campo :attribute es obligatorio a menos que :other esté en :values.',
      'required_with'        =&gt; 'El campo :attribute es obligatorio cuando :values está presente.',
      'required_with_all'    =&gt; 'El campo :attribute es obligatorio cuando :values está presente.',
      'required_without'     =&gt; 'El campo :attribute es obligatorio cuando :values no está presente.',
      'required_without_all' =&gt; 'El campo :attribute es obligatorio cuando ninguno de :values está presente.',
      'same'                 =&gt; 'Los campos :attribute y :other deben coincidir.',
      'size'                 =&gt; [
          'numeric' =&gt; 'El campo :attribute debe ser de :size.',
          'file'    =&gt; 'El campo :attribute debe ser de :size kilobytes.',
          'string'  =&gt; 'El campo :attribute debe ser de :size carácteres.',
          'array'   =&gt; 'El campo :attribute debe contenter :size elementos.',
      ],
      'string'               =&gt; 'El campo :attribute debe ser una cadena de texto.',
      'timezone'             =&gt; 'El campo :attribute debe ser una zona válida.',
      'unique'               =&gt; 'El campo :attribute debe ser único.',
      'url'                  =&gt; 'El campo :attribute tiene un formato no válido.',
  
      /*
      |--------------------------------------------------------------------------
      | Custom Validation Language Lines
      |--------------------------------------------------------------------------
      |
      | Here you may specify custom validation messages for attributes using the
      | convention "attribute.rule" to name the lines. This makes it quick to
      | specify a specific custom language line for a given attribute rule.
      |
      */
  
      'custom' =&gt; [
          'attribute-name' =&gt; [
              'rule-name' =&gt; 'custom-message',
          ],
      ],
  
      /*
      |--------------------------------------------------------------------------
      | Custom Validation Attributes
      |--------------------------------------------------------------------------
      |
      | The following language lines are used to swap attribute place-holders
      | with something more reader friendly such as E-Mail Address instead
      | of "email". This simply helps us make messages a little cleaner.
      |
      */
  
      'attributes' =&gt; [],
  
  ];
  </code></pre>
  
  <p>The begining of my <code>config/app.php</code></p>
  
  <pre><code>return [
  
      /*
      |--------------------------------------------------------------------------
      | Application Environment
      |--------------------------------------------------------------------------
      |
      | This value determines the "environment" your application is currently
      | running in. This may determine how you prefer to configure various
      | services your application utilizes. Set this in your ".env" file.
      |
      */
  
      'env' =&gt; env('APP_ENV', 'production'),
  
      /*
      |--------------------------------------------------------------------------
      | Application Debug Mode
      |--------------------------------------------------------------------------
      |
      | When your application is in debug mode, detailed error messages with
      | stack traces will be shown on every error that occurs within your
      | application. If disabled, a simple generic error page is shown.
      |
      */
  
      'debug' =&gt; env('APP_DEBUG', true),
  
      /*
      |--------------------------------------------------------------------------
      | Application URL
      |--------------------------------------------------------------------------
      |
      | This URL is used by the console to properly generate URLs when using
      | the Artisan command line tool. You should set this to the root of
      | your application so that it is used when running Artisan tasks.
      |
      */
  
      'url' =&gt; env('APP_URL', 'http://localhost'),
  
      /*
      |--------------------------------------------------------------------------
      | Application Timezone
      |--------------------------------------------------------------------------
      |
      | Here you may specify the default timezone for your application, which
      | will be used by the PHP date and date-time functions. We have gone
      | ahead and set this to a sensible default for you out of the box.
      |
      */
  
      'timezone' =&gt; 'UTC',
  
      /*
      |--------------------------------------------------------------------------
      | Application Locale Configuration
      |--------------------------------------------------------------------------
      |
      | The application locale determines the default locale that will be used
      | by the translation service provider. You are free to set this value
      | to any of the locales which will be supported by the application.
      |
      */
  
      'locale' =&gt; 'es',
  
      /*
      |--------------------------------------------------------------------------
      | Application Fallback Locale
      |--------------------------------------------------------------------------
      |
      | The fallback locale determines the locale to use when the current one
      | is not available. You may change the value to correspond to any of
      | the language folders that are provided through your application.
      |
      */
  
      'fallback_locale' =&gt; 'es',
  </code></pre>