今回の記事では「rails-i18n」というgemを使った方法を解説していきます。
新しく作成したRuby on Railsでは、デフォルトで言語の設定が英語になっています。
日本人向けのアプリにするためには、英語ではなく日本語の設定が望ましいですよね。
日本語の設定は、configファイルの設定と、rails-i18nというgemをすれば解決します。
今回紹介する方法で日本語化することで、日本人向けのアプリにすることができますよ。
cofigファイルで日本語の設定をする
まず、config/application.rbを開き、以下を追記します。
config.i18n.default_locale = :ja
このコードを書き込むことにより、デフォルトのロケールを日本語に変更することができます。
:ja
は日本語のことです。
日本語用のymlファイルを作成する
Rails newすると、英語用のロケールファイルであるen.ymlは自動的に作成されます。
ですが、日本語用のロケールファイルは無いので、自分で新しく作成します。
日本語用のロケールファイルを作成する場所は、config/locales以下です。
「ja.yml」という名前でファイルを作成します。
ターミナルを使ってファイルを作成するには下のコードを打ち込みます。
$ touch config/locales/ja.yml
rails-i18nというgemをインストールする
続いて、日本語対応のGemを自分のアプリに入れます。
日本語の設定にしてくれるのは「rails-i18n」というGemです。
このgemを入れるだけで、基本的なものは日本語の設定にすることができます。
Gemfileに以下のように書き込みます。
gem 'rails-i18n'
そしてbundlerでインストールします。
$ bundle install
「rails-i18n」のGitHubの日本語の辞書データを引っ張ってくるという方法もありますが、今回はGemを使う方法を説明しています。
どんな日本語が登録されているのかを一度目を通してみてください。
ja.ymlに自分が必要な日本語の設定を書き込む
「rails-i18n」のgemをインストールしたことによって、基本的な日本語は表示されるようになりましたが、自分が作成しているアプリ用の日本語の設定は自分でする必要があります。
日本語の設定は以下のような形式で書き込みます。
ja:
activerecord:
models:
user: ユーザー
attributes:
user:
id: ID
name: ユーザー名
description: 説明
created_at: 登録日時
updated_at: 更新日時
大切なのは、インデントでディレクトリ構造に合わせて区切ることです。
そして、翻訳したい英語を英語:
と書き、半角スペースを空けて日本語表記を記述します。
全角スペースでは上手く動かないので注意してください??
Viewで日本語を呼び出す
上記までの設定をすれば日本語は設定できています。
日本語の呼び出しは以下のように行うことができます。
User.human_attribute_name(:created_at)
上のコードをViewファイルに書き込むと、「登録日時」と日本語で表示されます。
まとめ:rails-i18nのgemを入れて日本語化しよう
Ruby on Railsでrails-i18nのgemを使って日本語化する方法を紹介しました。
>>Ruby on Railsの学習方法のまとめはこちら