我的user_info
模型的Rails3 ERB表单的本地化适用于“解释”,但不适用于“familyname”:
<%= t("explanation") %> # Works
<%= form_for(@user_info) do |f| %>
<%= f.label :familyname %> # Does not work, renders: Familyname
<%= f.text_field :familyname %>
<%= f.submit t("update") %>
<% end %>
config / locales中的ja.yml:
ja:
explanation: ここで説明を書く予定です
activerecord:
attributes:
user_info:
familyname:名字
为什么它适用于t()
但不适用于ActiveRecord?我仔细检查了缩进,我很确定我做对了ja→activerecord→attributes→user_info→familyname
我有另一个模型,非常相似,其中ActiveRecord属性本地化没有问题。
答案 0 :(得分:1)
缩进看起来与i18n Rails doc中给出的略有不同。请检查。
此外,打开rails控制台并尝试以下命令:
I18n.t('activerecord.attributes')
这应该列出所有模型属性翻译的所有键/值对。
答案 1 :(得分:0)
对于模型属性,您可以使用human_attribute_for
方法
User.human_attribute_for :familyname