👌
deviseのエラーメッセージを日本語にする方法
日本語への変更前
- Nickname can't be blank
- Password confirmation doesn't match Password
などデフォルトだと上記のような英語での表示になる。
これだとユーザーにとってはわかりづらいと思います。
日本語にするには
- gemの導入をする
gem 'rails-i18n'
#gemfileの一番下に書く
- config/application.rbに追記
config/application.rbアプリケーション全体の設定などをするファイルです。
今回はアプリケーションのエラー文を日本語に変えるという設定をします。
class Application < Rails::Application
config.i18n.default_locale = :ja
# 上記のコードを記載
end
上記の2つを実践するだけでエラー文が日本語に代わります。
また対応できていないエラー文は自分で追加もできます。
config/locals/devise.ja.ymlに下記コードを追記してみるといいかもしれません。
ja:
devise:
confirmations:
confirmed: 'メールアドレスが確認されました。'
send_instructions: '確認メールを送信しました。メールをご確認ください。'
send_paranoid_instructions: 'もし登録されたメールアドレスがあれば、確認メールを送信しました。メールをご確認ください。'
failure:
already_authenticated: 'すでにログインしています。'
inactive: 'アカウントが有効ではありません。'
invalid: '無効な認証情報です。'
last_attempt: '最後のログイン試行に失敗しました。'
locked: 'アカウントがロックされています。'
not_found_in_database: '無効な認証情報です。'
timeout: 'セッションがタイムアウトしました。もう一度ログインしてください。'
unauthenticated: 'このページを表示するためにはログインが必要です。'
unconfirmed: '確認メールを確認してください。'
unknown_format: '無効なリクエストフォーマットです。'
unverified: 'アカウントが確認されていません。'
user_locked: 'アカウントがロックされています。'
mailer:
confirmation_instructions:
subject: 'アカウントの確認メール'
reset_password_instructions:
subject: 'パスワードの再設定手順'
unlock_instructions:
subject: 'アカウントのロック解除手順'
omniauth_callbacks:
failure: 'OAuthの認証に失敗しました。'
passwords:
no_token: 'パスワード再設定トークンが見つかりません。'
send_instructions: 'パスワードの再設定手順をメールで送信しました。メールをご確認ください。'
send_paranoid_instructions: 'もし登録されたメールアドレスがあれば、パスワードの再設定手順をメールで送信しました。メールをご確認ください。'
updated: 'パスワードが変更されました。ログインしてください。'
updated_not_active: 'パスワードが変更されました。'
registrations:
signed_up: 'ユーザー登録が完了しました。'
signed_up_but_inactive: 'ユーザー登録が完了しました。アカウントが有効ではありません。'
signed_up_but_locked: 'ユーザー登録が完了しました。アカウントはロックされています。'
signed_up_but_unconfirmed: 'ユーザー登録が完了しました。確認メールを確認してください。'
signed_up_but_inactive: 'ユーザー登録が完了しました。アカウントが有効ではありません。'
signed_up_but_unconfirmed: 'ユーザー登録が完了しました。確認メールを確認してください。'
updated: 'アカウント情報が変更されました。'
update_needs_confirmation: 'アカウント情報が変更されました。確認メールを確認してください。'
destroyed: 'アカウントが削除されました。'
sessions:
signed_in: 'ログインしました。'
signed_out: 'ログアウトしました。'
already_signed_out: 'すでにログアウトしています。'
locked: 'アカウントがロックされています。'
unlocks:
unlocked: 'アカウントがロック解除されました。ログインしてください。'
send_instructions: 'アカウントのロック解除手順をメールで送信しました。メールをご確認ください。'
send_paranoid_instructions: 'もし登録されたメールアドレスがあれば、アカウントのロック解除手順をメールで送信しました。メールをご確認ください。'
Discussion