i18n訂正バージョン

前回ブログでまとめていたけど、レビュー後に追記 レビューで指摘されたこと

  • flashメッセージの翻訳忘れ  同じような文章は変数を使う

  • submitボタンの翻訳忘れ  今回で言うと、f:id:napple29:20210902150110p:plainのようなUpdate 本が出来上がってしまっていた。。  ここは一番ハマった。辞書の中のhelpersが勝手に変換してくれる。view側では何もしない。(submitボタンのあるHTMLテンプレートにあれこれしたり、grepでUpdate 本って調べまくった。恥ずかしいい)

  • モデルの属性はhuman_attribute_nameを使う  モデルの属性、いわゆるデータとして保存されるカラムたちはActiveRecordを使う  Railsガイドの4-5に載ってるのでわからなくなったら見る

  • lazy lookup機能を使う Railsガイドより

Railsには、 ビュー 内部でロケールを参照するときに便利な方法が実装されています。以下のような辞書があるとします。

es:
  books:
    index:
      title: "Título"
以下のようにして、app/views/books/index.html.erbビューテンプレート 内部 でbooks.index.title値にアクセスできます。ドットが使われていることにご注目ください。

<%= t '.title' %>

ちなみにコントローラーでも使える。

en:
  books:
    create:
      success: Book created!
上は、たとえば次のようにflashメッセージを設定するのに便利です。

class BooksController < ApplicationController
  def create
    # ...
    redirect_to books_url, notice: t('.success')
  end
end

t('view.hoge')ってするより便利だし、辞書が見やすくなる〜

このサイトかなり参考にした! pikawaka.com