0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rails エラーメッセージの日本語化

Posted at

エラーメッセージの日本語化

日本語の言語設定

application.rbを編集して、言語設定を変更
:jaは日本語設定にするという意味

config/application.rb
# 中略
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の導入によって、下記サイトに記述してある日本語を使えるようになるみたいです。

rails-i18nに登録されている日本語

Gemfile

#中略
gem 'rails-i18n'

続いて、以下のコマンドを実行

ターミナル

bundle install

日本語化用のファイルを作成

エラーメッセージを全て日本語にするためには、もう一つファイルを用意する必要があります。そのファイルのことをlocaleファイルと言います。

localeファイル

localeファイルとは、様々な言語に対応できる言語ファイルです。
localeファイルの中に日本語化用のファイルを作成することで、英語を日本語に翻訳してくれます。

そして、その日本語へ翻訳するためのファイルは、通常YAMLというファイル形式を用います。

YAML(YAML Ain’t Markup Language)

YAMLとは、ファイルの書き方のルールの一つで、中身が文字だけで記述されてるテキストファイルです。
database.ymlもこれに当てはまり、データベースの接続に必要な設定が記述してあります。

デフォルトでは、下記の例のように「英語」でYAMLファイルが書かれていますので、先程のエラーメッセージが英語で表示されます。

例】config/locales/devise.en.yml
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というファイルを作成します。

ファイルを作成したら、以下の記述をしましょう。

config/locales/ja.yml
ja:
  activerecord:
    attributes:
      user:
        nickname: ニックネーム
      tweet:
        text: テキスト
        image: 画像
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?