【結論】
・I18nとは、
Railsを多言語対応させる為の
標準で組み込まれているgem
・YAMLで記述した内容を、
viewやcontrollerで参照出来る
・多言語対応の用途以外にも、
特定の文言を共通化する事で
拡張性を高める目的でも用いられる
【目次】
【本題】
i18nとは
アプリケーションを複数の言語で利用出来る様に
サポートしてくれるgemです。
internationalization(国際化)を意味しており,
i で始まり n で終わる間に18文字あることから,i18nと呼ばれています。
多言語対応の他にも、ビューに表示させる文言を全て登録しておく事で、
コードを共通化できるので拡張性が高まり、
参照元が明確になる事でメンテナンス性も高まるというメリットもあります。
使用方法
まずconfig/application.rb
ファイルに、
ローカルファイルを指定するコードを記述します。
ローカルファイルとは、参照先のコードを日本語に変換する為の辞書ファイルになります。
今回は日本語なので、ja.yml
というファイルを指定する様にします。
config.i18n.default_locale = :ja
次にロケールファイル(辞書ファイル)
config/locales
に、ja.yml
を作成します。
そして、ja.yml
にビューで扱う文言をYAML形式で記述します。
ja:
common:
message:
success_post: 投稿完了しました
上記をビューで呼び出すには、下記の様に記述します。
<%= t('common.message.user_create')%>
《今日の学習進捗(3年以内に10000時間に向けて)》
学習開始からの期間 :114日
今日までの合計時間:1070h
一日あたりの平均学習時間:9.4h
今日までに到達すべき目標時間:1041h
目標との解離:29h
「10,000時間」まで、
残り・・・「8930時間!」