エラーメッセージの日本語化
日本語の言語設定
application.rbを編集して、言語設定を変更
:jaは日本語設定にするという意味
# 中略
module Pictweet
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 7.0
# 日本語の言語設定
config.i18n.default_locale = :ja
# 省略
end
end
Gemfileを編集
日本語に対応する"rails-i18n"というGemを導入
rails-i18n
このGemの導入によって、下記サイトに記述してある日本語を使えるようになるみたいです。
Gemfile
#中略
gem 'rails-i18n'
続いて、以下のコマンドを実行
ターミナル
bundle install
日本語化用のファイルを作成
エラーメッセージを全て日本語にするためには、もう一つファイルを用意する必要があります。そのファイルのことをlocaleファイルと言います。
localeファイル
localeファイルとは、様々な言語に対応できる言語ファイルです。
localeファイルの中に日本語化用のファイルを作成することで、英語を日本語に翻訳してくれます。
そして、その日本語へ翻訳するためのファイルは、通常YAMLというファイル形式を用います。
YAML(YAML Ain’t Markup Language)
YAMLとは、ファイルの書き方のルールの一つで、中身が文字だけで記述されてるテキストファイルです。
database.ymlもこれに当てはまり、データベースの接続に必要な設定が記述してあります。
デフォルトでは、下記の例のように「英語」でYAMLファイルが書かれていますので、先程のエラーメッセージが英語で表示されます。
en:
devise:
confirmations:
confirmed: "Your email address has been successfully confirmed."
send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
errors:
messages:
already_confirmed: "was already confirmed, please try signing in"
not_found: "not found"
devise.ja.ymlを作成
config/localesディレクトリに、devise.ja.ymlというファイルを作成します。
下記のサイトに記述内容が掲載されているので、丸ごとコピーして作成したdevise.ja.ymlの中に貼り付けましょう。
ymlファイルは、インデントにミスがあるとエラーが生じます。コードを貼り付けた後、インデントにミスがないか必ず確認しましょう。
devise.ja.yml
日本語に翻訳する文言を確認しましょう
このままだとNickname、Text、Imageは、Gem 'rails-i18n'やdevise.ja.ymlを導入したことによって使える日本語に含まれていないので、英語で表示されてしまいます。
したがって、これらを翻訳するファイルを手動で作成していきます。
ja.ymlを作成しましょう
config/localesディレクトリに、ja.ymlというファイルを作成します。
ファイルを作成したら、以下の記述をしましょう。
ja:
activerecord:
attributes:
user:
nickname: ニックネーム
tweet:
text: テキスト
image: 画像