【復習】Railsの多言語化に関する設定
・Railsではさまざまな言語に対応するためにi18nというgemが元々導入されている。
・以下、英語化の対応方法
1.デフォルトの言語を英語にする & 日本語化するためのファイルのpathを通す
# config.application config.i18n.default_locale = :en # デフォルトの言語設定 config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*', '.{rb,yml}').to_s] # pathを通す
2.翻訳するファイルにlazy lookup記法で翻訳名を記入する
en: activerecord: models: user: Customer attributes: user: login: Handle books: index: title: Título
3.lazy lookup記法でactiverecord:
以下にmodel:
やattributes:
がある場合、Model.model_name.human
メソッドとModel.human_attribute_name(attribute)
メソッドを使用することで対応した訳文を返す。
User.human_attrubute_name(:login) # Handleを返す
補足:form_with model: @user
のように、form_with
のmodel
オプションにUser
モデルのインスタンスを渡すと、Railsが自動で翻訳してくれる。 model
オプションがない場合は3. に書いたように明示する必要がある。