10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

STEP06:Laravel5.7 の ValidationMessageを日本語化してみた

Last updated at Posted at 2018-11-06

こちらの記事を参考にしました
 Laravel5でのValidationMessageを日本語化してみた
 https://qiita.com/Rock22/items/1db96c801d78ebafb7cc

上記記事で参照しているソースは Laravel5.1 でしたので、
5.7で増えているメッセージ分を追加してみました。

下記の環境設定他関連記事はこちら
Laravel + Vue + Vuetify で業務サイト作ってみる

#1.日本語メッセージファイルを配置

記事にあるファイルを取得してきて
https://gist.github.com/syokunin/b37725686b5baf09255b
5.7 にある英語版と比較。
足りないところを追加して翻訳( // 追加 のある行)
日本語がおかしい気がしてますが、良い訳がありましたら指摘いただけると嬉しいです

resources/lang/ja/validation.php
<?php  // resources/lang/ja/validation.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'             => ':attributeを承認してください。',
    'active_url'           => ':attributeは正しいURLではありません。',
    'after'                => ':attributeは:date以降の日付にしてください。',
    'after_or_equal'       => ':attributeは:date以降の日付にしてください。',          // 追加
    'alpha'                => ':attributeは英字のみにしてください。',
    'alpha_dash'           => ':attributeは英数字とハイフンのみにしてください。',
    'alpha_num'            => ':attributeは英数字のみにしてください。',
    'array'                => ':attributeは配列にしてください。',
    'before'               => ':attributeは:date以前の日付にしてください。',
    'before_or_equal'      => ':attributeは:date以前の日付にしてください。',          // 追加
    'between'              => [
        'numeric' => ':attributeは:min?:maxまでにしてください。',
        'file'    => ':attributeは:min?:max KBまでのファイルにしてください。',
        'string'  => ':attributeは:min?:max文字にしてください。',
        'array'   => ':attributeは:min?:max個までにしてください。',
    ],
    'boolean'              => ':attributeはtrueかfalseにしてください。',
    'confirmed'            => ':attributeは確認用項目と一致していません。',
    'date'                 => ':attributeは正しい日付ではありません。',
    'date_format'          => ':attributeは":format"書式と一致していません。',
    'different'            => ':attributeは:otherと違うものにしてください。',
    'digits'               => ':attributeは:digits桁にしてください',
    'digits_between'       => ':attributeは:min?:max桁にしてください。',
    'dimensions'           => ':attributeは画像サイズが不正です。',                   // 追加
    'distinct'             => ':attributeは重複しています。',                         // 追加
    'email'                => ':attributeを正しいメールアドレスにしてください。',
    'exists'               => '選択された:attributeは正しくありません。',
    'file'                 => ':attributeはファイルにしてください。',                 // 追加
    'filled'               => ':attributeは必須です。',
    'gt'                   => [
        'numeric' => ':attributeは:value以上にしてください。',                        // 追加
        'file'    => ':attributeは:value KB以上のファイルにしてください。.',          // 追加
        'string'  => ':attributeは:value文字以上にしてください。',                    // 追加
        'array'   => ':attributeは:value個以上にしてください。',                      // 追加
    ],
    'gte'                  => [
        'numeric' => ':attributeは:value以上にしてください。',                        // 追加
        'file'    => ':attributeは:value KB以上のファイルにしてください。.',          // 追加
        'string'  => ':attributeは:value文字以上にしてください。',                    // 追加
        'array'   => ':attributeは:value個以上にしてください。',                      // 追加
    ],
    'image'                => ':attributeは画像にしてください。',
    'in'                   => '選択された:attributeは正しくありません。',
    'in_array'             => 'The :attribute field does not exist in :other.',       // 追加
    'integer'              => ':attributeは整数にしてください。',
    'ip'                   => ':attributeを正しいIPアドレスにしてください。',
    'ipv4'                 => ':attributeを正しいIPv4アドレスにしてください。',       // 追加
    'ipv6'                 => ':attributeを正しいIPv6アドレスにしてください。',       // 追加
    'json'                 => ':attributeを正しいJSON形式にしてください。',           // 追加
    'lt'                   => [
        'numeric' => ':attributeは:value より小さくなければなりません。',             // 追加
        'file'    => ':attributeは:value KBより小さくなければなりません。',           // 追加
        'string'  => ':attributeは:value 文字以下でなければなりません。',             // 追加
        'array'   => ':attributeは:value 項目以下でなければなりません。',             // 追加
    ],
    'lte'                  => [
        'numeric' => ':attributeは:value以下にしてください。',                        // 追加
        'file'    => ':attributeは:value KB以下のファイルにしてください。.',          // 追加
        'string'  => ':attributeは:value文字以下にしてください。',                    // 追加
        'array'   => ':attributeは:value個以下にしてください。',                      // 追加
    ],
    'max'                  => [
        'numeric' => ':attributeは:max以下にしてください。',
        'file'    => ':attributeは:max KB以下のファイルにしてください。.',
        'string'  => ':attributeは:max文字以下にしてください。',
        'array'   => ':attributeは:max個以下にしてください。',
    ],
    'mimes'                => ':attributeは:valuesタイプのファイルにしてください。',
    'mimetypes'            => ':attributeは:valuesタイプのファイルにしてください。',  // 追加
    'min'                  => [
        'numeric' => ':attributeは:min以上にしてください。',
        'file'    => ':attributeは:min KB以上のファイルにしてください。.',
        'string'  => ':attributeは:min文字以上にしてください。',
        'array'   => ':attributeは:min個以上にしてください。',
    ],
    'not_in'               => '選択された:attributeは正しくありません。',
    'not_regex'            => ':attributeの書式が正しくありません。',                 // 追加
    'numeric'              => ':attributeは数字にしてください。',
    'present'              => ':attributeは存在する必要があります。',                 // 追加
    'regex'                => ':attributeの書式が正しくありません。',
    'required'             => ':attributeは必須です。',
    'required_if'          => ':otherが:valueの時、:attributeは必須です。',
    'required_unless'      => ':otherが:valueにないの時、:attributeは必須です。',     // 追加
    'required_with'        => ':valuesが存在する時、:attributeは必須です。',
    'required_with_all'    => ':valuesが存在する時、:attributeは必須です。',
    'required_without'     => ':valuesが存在しない時、:attributeは必須です。',
    'required_without_all' => ':valuesが存在しない時、:attributeは必須です。',
    'same'                 => ':attributeと:otherは一致していません。',
    'size'                 => [
        'numeric' => ':attributeは:sizeにしてください。',
        'file'    => ':attributeは:size KBにしてください。.',
        'string'  => ':attribute:size文字にしてください。',
        'array'   => ':attributeは:size個にしてください。',
    ],
    'string'               => ':attributeは文字列にしてください。',
    'timezone'             => ':attributeは正しいタイムゾーンを指定してください。',
    'unique'               => ':attributeは既に存在します。',
    'uploaded'             => ':attributeのアップロードに失敗しました。',             // 追加
    'url'                  => ':attributeを正しい書式にしてください。',

    /*
    |--------------------------------------------------------------------------
    | 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' => [
        'attribute-name' => [
            'rule-name' => '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' => [],

];

#2.言語設定を 日本語に

もともと en になっている設定を ja に変更

config/app.php
~~

    /*
    |--------------------------------------------------------------------------
    | 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' => 'ja',

~~

#3.動作確認

変更前

メッセージが英語

zz1.png

変更後

メッセージは日本語に

zz2.png

#4.項目名も日本語化

参考記事の通り項目名もメッセージファイルに追記

resources/lang/ja/validation.php
~~
    /*
    |--------------------------------------------------------------------------
    | 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' => [
        'name' => '名前',
        'loginid' => 'ログインID',
        'pass' => 'パスワード',
    ],
~~

変更確認

項目も日本語になった

zz3.png

以上

Laravelのエラーメッセージは日本語になりました(Vue.js部分はまだ。。)

今回もソースはこちら
https://github.com/u9m31/u9m31/tree/step06

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?