【Laravel × AdminLTE】Sidebarを多言語化対応する

Laravel logo

今日は Laravel × AdminLTE を使った際の Sidebar の多言語化対応の方法について説明します。

環境

  • PHP v7.2.8
  • Laravel v5.5.42
  • Composer v1.6.5

使用している AdminLTE のライブラリはこちら
→ jeroennoten/Laravel-AdminLTE

問題

README に記載がある通り、AdminLTE でお馴染みの Sidebar は Config ファイルをいじることで編集することができます。
→ https://github.com/jeroennoten/Laravel-AdminLTE#5-configuration

しかし、Config ファイル内で多言語化の関数を使うことができないため、Sidebar の Label を多言語化することができないという壁にぶち当たりました。

解決策

結局、Config ファイル内で多言語化の関数を使うことはできなそうなので、表示している blade 側を編集することで対応する方向にしました。

前提としては README の記載通り、View をカスタマイズ可能にしておく必要がありますのでご注意ください。
→ https://github.com/jeroennoten/Laravel-AdminLTE#7-customize-views

$ php artisan vendor:publish --provider="JeroenNoten\LaravelAdminLte\ServiceProvider" --tag=views

このコマンドを叩くとカスタマイズ可能な View ファイルが作成されるので、多言語化対応すべくファイルを編集していきます。

具体的には Laravel の trans 関数を利用して text を表示するように変更します。

その後、呼び出される Config ファイル内の text を、trans 関数に対応するように変更していきます。

あとは trans 関数で呼び出される多言語ファイルを追加するだけです。

英語のリファレンスでも多言語化に言及しているものが見当たらなかったので記事にしました。

細かい Tips の記事になってしまいましたが、今度はライブラリのインストール方法や使い方などまで記事を書いていきたいなと思います。

参考文献

Scroll to top