Stars: 203
Forks: 4
Pull Requests: 97
Issues: 0
Watchers: 2
Last Updated: 2023-09-12 22:12:10
Laravel Breeze(+Laravel UIとJetstream)を一瞬で日本語化し、言語切替機能も提供するパッケージです / Laravelの各種バリデーションメッセージも日本語化するのでBreeze無しでも便利✨
License: MIT License
Languages: PHP
Laravelを下記2コマンドだけで自動で日本語化できちゃうパッケージです👍
composer require askdkc/breezejp --dev
php artisan breezejp
また、下記1コマンドだけで言語切替機能も追加できます👍
php artisan breezejp --langswitch
便利だと思ったらサポートしてね
このパッケージはLaravel Breezeを日本語化するパッケージとして誕生しましたが、現在ではBreeze、Jetstream、Laravel UIに対応しています😁 また、Laravelが持つ各種バリデーションメッセージを日本語化するので、Breeze等をインストールしていない環境でも実は便利に使えます😏
基本的な機能を確認するにはLaravel Breezeをインストールした後にこのパッケージをインストールしてください(以降の使い方の解説がその前提で書かれているため)
動作としてはLaravelのlang
ディレクトリ配下に日本語化に必要な翻訳ファイルを出力し、config内の言語設定も自動で日本語に変えています🇯🇵
翻訳について:
翻訳内容を修正したい場合には、このREADMEの日本語のカスタマイズをご確認願います🙇♂️
composer require laravel/breeze --dev
php artisan breeze:install blade --dark
(もしダークモードが不要な人は👇のように末尾の --darkオプション無しで実行してね)
php artisan breeze:install blade
php artisan migrate
composerを使ってインストールしてください:
composer require askdkc/breezejp --dev
下記のコマンドで必要な言語ファイルの出力が実行されます:
php artisan breezejp
出力内容:
Laravel Breeze用に日本語翻訳ファイルを準備します
config/app.phpのlocaleをjaにします
GitHubリポジトリにスターの御協力をお願いします🙏 (yes/no) [yes]:
(ブラウザが開いてこのGitHubリポが開きます。スター頂けると励みになります)
Thank you! / ありがとう💓
日本語ファイルのインストールが完了しました!
Breezejpはphp artisan breezejp
コマンド実行時にLaravelの設定ファイルconfig/app.php
のlocaleを自動でenからjaに変更します👍
ついでにTimezoneの設定も日本向けに直します🕛
具体的にはインストール時に自動でこうなりますので、特に何もしないでもOK👀✨💓
---config/app.php:インストール前---
'timezone' => 'UTC',
'locale' => 'en',
'faker_locale' => 'en_US',
--------------------------------
↓ `php artisan breezejp` の実行後
---config/app.php:インストール後---
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
'faker_locale' => 'ja_JP',
--------------------------------
LaravelにアクセスするとBreezeの各メニューやバリデーションメッセージが日本語化されています
php artsan serve
http://localhost:8000/ にアクセス
Laravelで新規のバリデーションルールが追加された際に、情報が追えていれば、このパッケージも更新します
新たな翻訳ファイルを適用したい場合には以下のようにします
composer update
php artisan breezejp
注意: 次のセクションの「日本語のカスタマイズ」をしている時は、Breezejpの新規テンプレートで言語ファイルが上書きされますので、この上書きインストールは実施せずに個別修正で対応願います
言語ファイルは下記ディレクトリに出力されていますので、こちらのファイルの中身を修正することで自由にカスタマイズ可能です
.
└─ lang
├── ja.json ← Breezeの各画面の日本語ファイル / メール通知の翻訳もこちら
└─ ja
├── auth.php ← 認証画面の警告メッセージの日本語ファイル
├── pagination.php ← ページ送りの日本語ファイル
├── passwords.php ← 認証画面のパスワード関係の日本語ファイル
└── validation.php ← 各種バリデーションの日本語ファイル
composer test
composer analyse
Laravel Breeze(Laravel UI、そしてJetstream)はユーザ登録されたメールアドレスを確認するメールやパスワードリセットをユーザ自身で出来るパスワードリセットメールを送信します
mailpitを使えば上記のメールの日本語化が問題なく出来ているかをお手軽に可能です
(MAIL_MAILER=log
という方法もありますが、日本語はlogファイル内で文字化けてしまい辛い🫠)
メモ: 2023/2/1にLaravelの
.env
のサンプルがmailhogからmailpitに変更されました
mailpitは旧来のmailhogの機能強化版ですが、使い方は一緒です
.env
ファイルにmailpitを使用するサンプルが書かれているので、こいつをちょっといじりますMAIL_MAILER=smtp
MAIL_HOST=localhost //ここをlocalhostに変えてね
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"
brew tap axllent/apps
brew install mailpit
メモ:Macじゃない人はこちら
mailpit
メモ:(初回はネットワーク接続を許可する?とポップアップが出るので許可してください)
Breezeのlog in
> パスワード忘れた?
リンクから登録に使用したメールアドレスを入力しパスワードリセットリンクを送信します
ブラウザを開いてhttp://localhost:8025にアクセスします
便利💓
mailpitに置き換わるまではLaravelではmailhogを使ったメールテストのやり方が一般的でした
(mailpitはこのmailhogが元になっているので使い方が完全に一緒です)
.env
ファイルを下記のようにちょっといじりますMAIL_MAILER=smtp
MAIL_HOST=localhost //ここをlocalhostに変えてね
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"
brew install mailhog
メモ:Macじゃない人はこちら
mailhog
メモ:(初回はネットワーク接続を許可する?とポップアップが出るので許可してください)
ブラウザを開いてhttp://localhost:8025にアクセスします
あら、便利💓
古いバージョンのLaravelではMailtrapが.env
にサンプルで書かれていたので、Mailtrapを使う方法も書いておきます
Mailtrapにアクセスしてサインアップします(GitHubアカウント連携とか楽で良いです)
Setup Inbox
をクリックしますAdd Project
をクリックしますAdd
をクリックしますLaravel 7+
を選択します.env
用の認証情報が表示されます (*下記の情報はサンプルで既に破棄済みです).env
ファイルの下記をMailtrapの認証情報に合わせて変更します
MAIL_MAILER=smtp //mailtrapを貼り付け
MAIL_HOST=smtp.mailtrap.io //mailtrapを貼り付け
MAIL_PORT=2525 //mailtrapを貼り付け
MAIL_USERNAME=生成されたUSERNAME //mailtrapを貼り付け
MAIL_PASSWORD=生成されたPASSWORD //mailtrapを貼り付け
MAIL_ENCRYPTION=tls //mailtrapを貼り付け
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"
あらあら、便利💓
確かに🦀 https://laravel-lang.comってのが世の中にありましたね。。。
(作る前に存在を知っておけば良かったぜ🤦♂️)
このBreezejpパッケージのメリットとしては、今のところ次の3点です:
breezejp
コマンド一発で言語設定含めて日本語化完了(手間が段違い)あとはLaravel Langと動きも殆ど一緒(単に言語ファイルをlangに作ってくれる)なので、出力されたファイルを必要に応じて自由にカスタマイズしてご利用願います💓
ついでにJetstreamの日本語化もできちゃいます🤫
せっかく日本語に対応したので、例えば元の英語と日本語を切り替えられる方が便利よね?となるかと思います😁
そのためのサンプルアプリ:Language Switcher Sample (言語切り替えサンプル)を作成しましたので、ご参考にしてください💓
サンプルアプリなんて面倒だよ、さっさと言語切り替え使いたいよ!という人のために、言語切り替え機能をインストールする方法をご紹介します🤗
php artisan breezejp --langswitch
後は /language/{locale}
にアクセスするだけで言語が切り替わるので、そこを叩くリクエストを送ってご利用ください
php artisan serve
http://127.0.0.1:8000/language/ja
http://127.0.0.1:8000/language/ja
これでLaravel Breezeの各種メニューの言語が切り替わるのが確認できると思います🤯
簡単でしょ?😁
最近の変更履歴についてはCHANGELOGを参照してください
このパッケージに貢献したい人はCONTRIBUTINGを参考にしてください
セキュリティポリシーを見て、必要な情報を送ってくれると助かります
The MIT License (MIT). Please see License File for more information.
こちらにパッケージの作り方を書いたので参考にしてみてね