テキスト情報は顧客の要望等により頻繁に変更が入るので、翻訳ファイル等で管理しておくと便利です。翻訳ファイルの導入方法はこちらに掲載してありますので、
【初心者向け】Railsでi18nの辞書ファイルをダウンロードする
ここでは、翻訳ファイルを実際にビューでどのように使うかを記載したいと思います。
基本の使い方
例えば、以下のような翻訳ファイルがあるとします。
ja:
app_name:
page:
title:
books: "書籍一覧ページ"
この時、ビューではtメソッドを用いて翻訳情報を呼び出すことができます。
%h2= t("app_name.page.title.books")
翻訳ファイルは、最初の階層jこそ ja:
など言語名を記載しますが、そのほかに特にルールはありません。極端な話、このように書いても、ビューには**「書籍一覧ページ」**と表示されます。
ja:
books: "書籍一覧ページ"
%h2= t("books")
# 書籍一覧ページ と表示される
ただ、管理の関係上、modelごと、controllerごとなどで翻訳ファイルを作成したほうが便利です。
なお、t("app_name.page.title.books")
というのはRailsで使える省略した書き方で、本来はI18n.t("app_name.page.title.books")
のようにI18n
をつける必要があります。
ActiveRecord、エラーメッセージなどでの使い方
ActiveRecord、時間、日付、エラーメッセージなどでは、翻訳ファイルを用いるのにある程度決まった書き方があるようです。
こちらにそれらの一通りの翻訳ファイルの記載方法がありますが、研究したら、また発信していこうと思います。