2
1

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.

Laravel 5.8 多言語化対応

Posted at

#言語ファイル
標準で用意されているのは以下の4つ
./resources/lang/en/auth.php,password.php,pagination.php,validation.php

上記のファイルについてはLaravel側で予め用意しているがカスタマイズも可能
また以下のコマンドで標準で用意されている日本語版が導入される

$ php -r "copy('https://readouble.com/laravel/5.8/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
$ php -f install-ja-lang.php
$ php -r "unlink('install-ja-lang.php');"

展開先は./resources/lang/ja/

#多言語対応
Laravel 5.8 多言語化
上記4ファイル以外のメッセージの定義は各言語フォルダにmessages.phpとするか
/resources/lang/配下に言語2文字.json(ja.json / es.jsonなど)でjson形式で用意する。
key側はデフォルト言語(英語が無難か)

##多言語切り替え
https://qiita.com/kumamon_engineer/items/4a83344744db605e3e52
こちらを参考にさせてもらいました。

デザインだけnav-bar用に変更

resources/views/layouts/app.blade.php
(略)
<li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" href="javascript:void(0)" id="dropdown-lang" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        {{ Config::get('languages')[App::getLocale()] }}
    </a>
    <div class="dropdown-menu dropdown-menu-right" aria-lledby="dropdown-lang">
        @foreach (Config::get('languages') as $lang => $language)
            <a class="dropdown-item" href="{{ route('lang.switch', $lang) }}">{{ $language }}</a>
        @endforeach
    </div>
</li>
(略)
2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?