Laravel8でパスワードリセットのメール内容カスタマイズ

laravelパスワードリセットメール Laravel

Laravel8でパスワードリセットメールを日本語するには

config/app.php

// 'en'をjaに変更
'locale' => 'ja',
'fallback_locale' => 'ja',

resources/lang/ja.json

上記ファイルを作成して

{
    "A new verification link has been sent to the email address you provided during registration.": "登録時に提供されたメールアドレスに新しい検証リンクが送信されました。",
    "API Token": "APIトークン",
    "API Token Permissions": "API トークンの許可",
    "API Tokens": "APIトークン",
    "API tokens allow third-party services to authenticate with our application on your behalf.": "APIトークンは、サードパーティのサービスがユーザーに代わってアプリケーションで認証を行うことを可能にします。",
    "Add": "追加",
    "Add Team Member": "チームメンバーの追加",
    "Add a new team member to your team, allowing them to collaborate with you.": "新しいチームメンバーをチームに追加して、あなたとのコラボレーションを可能にします。",
    "Add additional security to your account using two factor authentication.": "二要素認証を使用して、アカウントにセキュリティを追加します。",
    "Added.": "追加中",
    "Administrator": "管理者",
    "Administrator users can perform any action.": "管理者ユーザーは全ての機能を利用することができます。",
    "All of the people that are part of this team.": "このチームに所属している全ての人",
    "Already registered?": "アカウントを持っている",
    "Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.": "このチームを削除してもよろしいですか?チームが削除されると、そのチームのリソースとデータはすべて永久に削除されます。",
    "Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "アカウントを削除してもよろしいですか?アカウントが削除されると、そのリソースとデータはすべて永久に削除されます。パスワードを入力して、アカウントの永久削除を希望することを確認してください。",
    "Are you sure you would like to delete this API token?": "このAPIトークンを削除してもよろしいですか?",
    "Are you sure you would like to leave this team?": "このチームを退会してもよろしいですか?",
    "Are you sure you would like to remove this person from the team?": "この人をチームから削除してもよろしいですか?",
    "Browser Sessions": "ブラウザセッション",
    "Close": "閉じる",
    "Code": "コード",
    "Confirm": "確認",
    "Confirm Password": "パスワードの確認",
    "Create": "登録",
    "Create API Token": "APIトークンの作成",
    "Create New Team": "新しいチームを作成",
    "Create Team": "チームの作成",
    "Create a new team to collaborate with others on projects.": "新しいチームを作って、他の人と協力してプロジェクトを進めていきましょう。",
    "Created.": "登録中",
    "Current Password": "現在のパスワード",
    "Dashboard": "ダッシュボード",
    "Delete": "削除",
    "Delete API Token": "APIトークンの削除",
    "Delete Account": "アカウントの削除",
    "Delete Team": "チームの削除",
    "Disable": "無効化",
    "Done.": "完了しました。",
    "Editor": "エディター",
    "Editor users have the ability to read, create, and update.": "エディターユーザーは、読み込み、作成、更新の機能を利用できます。",
    "Email": "電子メール",
    "Email Password Reset Link": "メールパスワードリセットリンク",
    "Enable": "有効化",
    "Ensure your account is using a long, random password to stay secure.": "アカウントの安全性を保つために、長いランダムなパスワードを使用していることを確認してください。",
    "Forgot your password?": "パスワード再発行",
    "Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.": "メールアドレスを入力して、新しいパスワードを設定するパスワードリセットURLをメールでお送りします。",
    "Go to page :page": ":page へ移動",
    "If necessary, you may logout of all of your other browser sessions across all of your devices. If you feel your account has been compromised, you should also update your password.": "必要に応じて、すべてのデバイスで他のすべてのブラウザセッションをログアウトすることができます。アカウントが侵害されたと思われる場合は、パスワードを更新してください。",
    "Last active": "最後のアクティブ",
    "Last used": "最後に使用した",
    "Leave": "残す",
    "Leave Team": "チームを離れる",
    "Login": "ログイン",
    "Logout": "ログアウト",
    "Logout Other Browser Sessions": "ログアウト 他のブラウザセッション",
    "Manage API Tokens": "APIトークンの管理",
    "Manage Account": "アカウントの管理",
    "Manage Role": "役割を管理する",
    "Manage Team": "チームの管理",
    "Manage and logout your active sessions on other browsers and devices.": "他のブラウザやデバイスでのアクティブなセッションを管理し、ログアウトします。",
    "Name": "名前",
    "Nevermind": "キャンセル",
    "New Password": "新しいパスワード",
    "Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.": "チームが削除されると、そのチームのすべてのリソースとデータは永久に削除されます。このチームを削除する前に、保持したいこのチームに関するデータや情報をダウンロードしてください。",
    "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "アカウントが削除されると、そのリソースとデータはすべて永久に削除されます。アカウントを削除する前に、保持したいデータや情報をダウンロードしてください。",
    "Password": "パスワード",
    "Permanently delete this team.": "このチームを永久に削除します。",
    "Permanently delete your account.": "アカウントを永久に削除します。",
    "Permissions": "権限",
    "Photo": "写真",
    "Please confirm access to your account by entering one of your emergency recovery codes.": "緊急復旧コードのいずれかを入力して、アカウントへのアクセスをご確認ください。",
    "Please confirm access to your account by entering the authentication code provided by your authenticator application.": "認証アプリから提供される認証コードを入力して、アカウントへのアクセスを確認してください。",
    "Please copy your new API token. For your security, it won't be shown again.": "新しいAPIトークンをコピーしてください。安全のため、再度表示されることはありません。",
    "Please enter your password to confirm you would like to logout of your other browser sessions across all of your devices.": "パスワードを入力して、すべてのデバイスで他のブラウザセッションをログアウトすることを確認してください。",
    "Please provide the email address of the person you would like to add to this team. The email address must be associated with an existing account.": "このチームに追加したい人のメールアドレスを入力してください。メールアドレスは既存のアカウントに関連付けられている必要があります。",
    "Profile": "プロフィール",
    "Profile Information": "プロフィール情報",
    "Recovery Code": "リカバリーコード",
    "Regenerate Recovery Codes": "リカバリーコードの再生",
    "Register": "登録",
    "Remember Me": "ログイン状態を保存",
    "Remember me": "ログイン状態を保存",
    "Remove": "削除",
    "Remove Photo": "写真の削除",
    "Remove Team Member": "チームメンバーの削除",
    "Resend Verification Email": "検証メールの再送",
    "Reset Password": "パスワードのリセット",
    "RESET PASSWORD": "パスワードのリセット",
    "Role": "役割",
    "Save": "保存",
    "Saved.": "保存中",
    "Select A New Photo": "新しい写真を選択する",
    "Show Recovery Codes": "リカバリーコードを表示",
    "Showing": "表示",
    "Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.": "これらのリカバリーコードを安全なパスワードマネージャーに保存してください。これらのコードは、二要素認証デバイスを紛失した場合にアカウントへのアクセスを回復するために使用できます。",
    "Switch Teams": "チームを切り替える",
    "Team Details": "チーム詳細",
    "Team Members": "チームメンバー",
    "Team Name": "チーム名",
    "Team Owner": "チームオーナー",
    "Team Settings": "チーム設定",
    "This password reset link will expire in :count minutes.": "パスワードのリセットは :count 分以内にお願い致します。",
    "Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "ご登録ありがとうございます。ご登録を開始する前に、メールに記載されているリンクをクリックしてメールアドレスを確認してください、メールを受け取っていない場合は、再度メールを送信します。",
    "The :attribute must be a valid role.": ":attribute は有効な役割ではありません",
    "The :attribute must be at least :length characters and contain at least one number.": ":attribute は :length 文字以上で、1つ以上の数字が必要です",
    "The :attribute must be at least :length characters and contain at least one special character.": ":attribute は :length 文字以上で、1つ以上の記号が必要です",
    "The :attribute must be at least :length characters and contain at least one uppercase character and one number.": ":attribute は :length 文字以上で、1つ以上の大文字と数字が必要です",
    "The :attribute must be at least :length characters and contain at least one uppercase character and one special character.": ":attribute は :length 文字以上で、1つ以上の大文字と記号が必要です",
    "The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.": ":attribute は :length 文字以上で、1つ以上の数字と記号が必要です",
    "The :attribute must be at least :length characters and contain at least one uppercase character.": ":attribute は :length 文字以上で、1つ以上の大文字が必要です",
    "The :attribute must be at least :length characters.": ":attribute は :length 文字以上でなければなりません",
    "The provided password does not match your current password.": "パスワードが現在のパスワードと一致しません。",
    "The provided password was incorrect.": "パスワードが違います",
    "The provided two factor authentication code was invalid.": "二要素認証コードが無効です",
    "The team's name and owner information.": "チーム名とオーナー情報",
    "This device": "このデバイス",
    "This password does not match our records.": "パスワードが違います",
    "This user already belongs to the team.": "このユーザーはすでにチームに所属しています。",
    "Token Name": "トークン名",
    "Two Factor Authentication": "二要素認証",
    "Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application.": "二要素認証が可能になりました。スマホの認証アプリで以下のQRコードをスキャンしてください。",
    "Update Password": "パスワードの更新",
    "Update your account's profile information and email address.": "アカウントのプロフィールとメールアドレスを更新します。",
    "Use a recovery code": "リカバリーコードを使用する",
    "Use an authentication code": "認証コードを使用する",
    "We were unable to find a registered user with this email address.": "このメールアドレスで登録しているユーザーが見つかりませんでした。",
    "When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.": "二要素認証を有効にすると、認証時に安全なランダムなトークンの入力を求められます。このトークンは、お使いの携帯電話の Google Authenticator アプリケーションから取得することができます。",
    "Whoops! Something went wrong.": "Whoops! Something went wrong.",
    "You have enabled two factor authentication.": "二要素認証が有効になっています。",
    "You have not enabled two factor authentication.": "二要素認証が有効になっていません。",
    "You may delete any of your existing tokens if they are no longer needed.": "不要になった場合は、既存のトークンを削除することができます。",
    "You may not delete your personal team.": "個人チームの削除はできません",
    "You may not leave a team that you created.": "作成したチームから離れることはできません。",
    "of": "of",
    "results": "結果",
    "to": "to",
    "Reset Password Notification": "パスワード再設定のお知らせ",
    "Hello!": "パスワードの更新をお願いします。",
    "You are receiving this email because we received a password reset request for your account.": "パスワードリセットを行います。「パスワードリセット」ボタンを押してパスワードのリセットをお願い致します。",
    "This password reset link will expire in 60 minutes.": "このパスワードリセットメールの有効期限が60分となっております。もし時間が過ぎた場合は再度パスワードリセットページから操作してください。",
    "If you did not request a password reset, no further action is required.": "パスワードリセットを行わない場合は、このメールを無視してください。",
    "Regards": "これからもよろしくお願い致します",
    "Laravel": "運営",
    "If you're having trouble clicking the": "もし",
    "button, copy and paste the URL below into your web browser": "ボタンが機能していない場合は、こちらのリンクをクリックしてみてください。",
    "2022 Laravel. All rights reserved.": "2022 company. All rights reserved."
  }

 上記を記載すると、日本語化されます(一部できてないところもありますが…)

ロゴなどを編集

php artisan vendor:publish --tag=laravel-notifications
php artisan vendor:publish --tag=laravel-mail

こちらの2つを実行すると

resources/views/vendor/notifications/email.blade.jp

resources/views/vendor/mail/html/

resources/views/vendor/mail/text/

ができます。

処理をカスタマイズしたい場合は

resources/views/vendor/notifications/email.blade.jp

を修正

デザインを変えたい場合は

resources/views/vendor/mail/html/

resources/views/vendor/mail/text/

を修正します。

今回はロゴを変えたかったので、

laravelパスワードリセットメール

resources/views/vendor/mail/html/header.blade.php

このファイルの

<tr>
<td class="header">
<a href="{{ $url }}" style="display: inline-block;">
@if (trim($slot) === 'Laravel')
<img src="https://laravel.com/img/notification-logo.png" class="logo" alt="Laravel Logo">
@else
{{ $slot }}
@endif
</a>
</td>
</tr>

<img>タグを変更しました。

それ以外もデザインは柔軟にカスタマイズできそうですー

コメント

タイトルとURLをコピーしました