はじめに
下記Qiitaのアドベントカレンダーに参加したので最近チャレンジした認証機能devise
についての学びを記事にしたいと思います。
環境
Windows, WSL
Docker
Ruby 3.2.3
Rails 7.1.3
※deviseはすでに導入済みなので、導入手順については割愛させていただきます。一応👇下記記事を参考に導入したのでおいておきます。
まずはconfig/application.rb
に設定を記述していきます
config.i18n.default_locale = :ja
そしてi18nによる日本語化対応でGemfileに以下を追加
gem 'rails-i18n', '~> 7.0.0'
この後インストール等を行いました。
この段階でのバリデーションメッセージ表記はこんな感じ👇
私はここで初めてdeviseを使用するとデフォルトで生成されるconfig/locales/devise.en.yml
とconfig/locales/en.yml
というファイルの存在を知りました。
調べていくと下記gemが必要になるそうで早速インストール
gem 'devise-i18n'
👆Deviseの多言語対応を簡単にするためのGemになります。
ついでにインストールの時のコマンド等は下記を実行いました
$ docker compose run web bundle install
$ docker compose restart
$ docker compose exec web bin/dev
考察
-
devise-i18n
のインストール: これにより、Deviseの翻訳が含まれている多言語対応の機能が追加される。ただし、デフォルトでは英語(en
)の翻訳が適用。 -
config.i18n.default_locale = :ja
の設定: この設定を行うことで、アプリケーション全体のデフォルトのロケールを日本語(ja
)に変更。これにより、devise-i18n
が提供する日本語の翻訳が適用。
さいごにまとめ
今回の記事では、Devise
を使った認証機能の日本語化について学んだ内容を共有しました。特に以下の点がポイントでした:
devise-i18n
を導入することで多言語対応が容易になることconfig.i18n.default_locale = :ja
を設定することで、日本語の翻訳が適用されること- Docker環境でのGemインストールや再起動手順の実践
実際に画面が日本語化されるのを確認できたときには、大きな達成感を得られました。また、デフォルトで生成されるdevise.en.yml
やen.yml
ファイルについて知ることができ、今後のカスタマイズの可能性も見えてきました。
これからも、認証機能のカスタマイズや、さらに便利な設定を学んでいきたいと思っています。今回の記事が、同じようにDevise
を使い始めた方や、多言語対応に挑戦している方の助けになれば幸いです。