development > Ruby On Rails > もっとdeviseを日本語化する 〜gem 'devise-i18n-views'編
Ruby On Rails

もっとdeviseを日本語化する 〜gem 'devise-i18n-views'編

Large?1464707597

前回前々回の記事でdeviseの日本語化についてご紹介してきました。

そこでご紹介した方法で日本語化される範囲はdeviseでのメッセージに限定されていましたが、更に踏み込んでviewについても翻訳出来るのが、gem 'devise-i18n-views'です。

インストールする

まずGemfileに

gem 'devise-i18n-views'

を追記して、bundle installします。次に、i18n用のテンプレートを生成します。

$ bundle exec rails g devise:views:i18n_templates

但し上記を実行すると、app/views/deviseにviewファイルが生成されるので、deviseで複数モデルを管理していて個別にviewを作成している場合は、ディレクトリの変更が必要です。

あとは、bundle exec rails sでアプリを立ち上げてサインイン画面を確認してみましょう。フォームのラベルが日本語になっていると思います。

カスタマイズする

翻訳された表現などをカスタマイズしたい場合には、

$ bundle exec rails g devise:views:locale ja

を実行すると、config/locales配下にdevise.views.ja.ymlが生成されます。

ja:
  activerecord:
    attributes:
      user:
        current_password: "現在のパスワード"
        email: "メールアドレス"
        password: "パスワード"
        password_confirmation: "確認用パスワード"
        remember_me: "ログインを記憶"
    models:
      user: "ユーザ"
  devise:
    confirmations:
      new:
        resend_confirmation_instructions: "アカウント確認メール再送"
    mailer:
      confirmation_instructions:
        action: "アカウント確認"
        greeting: "ようこそ、%{recipient}さん!"
        instruction: "次のリンクでメールアドレスの確認が完了します:"
      reset_password_instructions:
        action: "パスワード変更"
        greeting: "こんにちは、%{recipient}さん!"
        instruction: "誰かがパスワードの再設定を希望しました。次のリンクでパスワードの再設定が出来ます。"
        instruction_2: "あなたが希望したのではないのなら、このメールは無視してください。"
        instruction_3: "上のリンクにアクセスして新しいパスワードを設定するまで、パスワードは変更されません。"
      unlock_instructions:
        action: "アカウントのロック解除"
        greeting: "こんにちは、%{recipient}さん!"
        instruction: "アカウントのロックを解除するには下のリンクをクリックしてください。"
        message: "ログイン失敗が繰り返されたため、アカウントはロックされています。"
    passwords:
      edit:
        change_my_password: "パスワードを変更する"
        change_your_password: "パスワードを変更"
        confirm_new_password: "確認用新しいパスワード"
        new_password: "新しいパスワード"
      new:
        forgot_your_password: "パスワードを忘れましたか?"
        send_me_reset_password_instructions: "パスワードの再設定方法を送信する"
    registrations:
      edit:
        are_you_sure: "本当に良いですか?"
        cancel_my_account: "アカウント削除"
        currently_waiting_confirmation_for_email: "%{email} の確認待ち"
        leave_blank_if_you_don_t_want_to_change_it: "空欄のままなら変更しません"
        title: "%{resource}編集"
        unhappy: "気に入りません"
        update: "更新"
        we_need_your_current_password_to_confirm_your_changes: "変更を反映するには現在のパスワードを入力してください"
      new:
        sign_up: "アカウント登録"
    sessions:
      new:
        sign_in: "ログイン"
    shared:
      links:
        back: "戻る"
        didn_t_receive_confirmation_instructions: "アカウント確認のメールを受け取っていませんか?"
        didn_t_receive_unlock_instructions: "アカウントの凍結解除方法のメールを受け取っていませんか?"
        forgot_your_password: "パスワードを忘れましたか?"
        sign_in: "ログイン"
        sign_in_with_provider: "%{provider}でログイン"
        sign_up: "アカウント登録"
    unlocks:
      new:
        resend_unlock_instructions: "アカウントの凍結解除方法を再送する"

これを更新することで、viewに表示される文章を変更する事ができます。

Small?1464707597

この記事が気に入ったらいいね!して
9bar の最新記事を受け取りましょう

Thumb?1464707597

9bar の最新記事をお届けします!

新着記事