LoginSignup
1
2

More than 3 years have passed since last update.

【初心者向け】テキストをtメソッドで記載して翻訳ファイルをあてる(ちょっとした変更にも強いビューの作成)

Last updated at Posted at 2020-04-29

テキスト情報は顧客の要望等により頻繁に変更が入るので、翻訳ファイル等で管理しておくと便利です。翻訳ファイルの導入方法はこちらに掲載してありますので、

【初心者向け】Railsでi18nの辞書ファイルをダウンロードする

ここでは、翻訳ファイルを実際にビューでどのように使うかを記載したいと思います。

基本の使い方

例えば、以下のような翻訳ファイルがあるとします。

config/locales/ja.yml
ja:
  app_name:
    page:
      title:
        books: "書籍一覧ページ"

この時、ビューではtメソッドを用いて翻訳情報を呼び出すことができます。

例)views/booke/index.html.hamlなど
 %h2= t("app_name.page.title.books")

上記の記述で、ビューではこのように表示されます。
ja.png

翻訳ファイルは、最初の階層jこそ ja: など言語名を記載しますが、そのほかに特にルールはありません。極端な話、このように書いても、ビューには「書籍一覧ページ」と表示されます。

config/locales/ja.yml
ja:
  books: "書籍一覧ページ"
例)views/booke/index.html.hamlなど
 %h2= t("books")
# 書籍一覧ページ と表示される

ただ、管理の関係上、modelごと、controllerごとなどで翻訳ファイルを作成したほうが便利です。

なお、t("app_name.page.title.books") というのはRailsで使える省略した書き方で、本来はI18n.t("app_name.page.title.books")のようにI18nをつける必要があります。

ActiveRecord、エラーメッセージなどでの使い方

ActiveRecord、時間、日付、エラーメッセージなどでは、翻訳ファイルを用いるのにある程度決まった書き方があるようです。

こちらにそれらの一通りの翻訳ファイルの記載方法がありますが、研究したら、また発信していこうと思います。

1
2
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
1
2