|18n を使った日本語化はエラー文とmodelにしかできないと思う
rails gem I18n を使用したエラーメッセージの日本語化
上の記事ではエラー文の日本語化とmodelを日本語化することでf.label
の中でも日本語化できたことがわかりました。
例
<%= form_for(@user, url: signup_path) do |f| %> <%= f.label :name %> <% emd %>
↓出力結果
<label for="user_name">名前</label>
ここで疑問が湧きます。モデルを使用しない場合は日本語化できないのか?
<%= form_for(:session, url: login_path)) do |f| %> <%= f.label :name %> <% emd %>
多分できません。gem |18n
は、viewの内容を日本語に変換するようなものではないようです。主な使い方は、ymlファイルで記載した物を手軽く出力する物らしいです。なのでエラー文や、注意文などといった定型文を出力することが主な使い方だと思います。妥協策としてf.label
は出力する文を指定できるのでこれで十分でしょう。
<%= form_for(:session, url: login_path)) do |f| %> <%= f.label :name , `名前`%> <% emd %>
↓出力結果
<label for="user_name">名前</label>
gem I18n
は色々と設定しておくと動的に文字を入れ替えてくれるような機能だと思っていたのですが勘違いをしていました。