【发布时间】:2021-07-15 09:56:46
【问题描述】:
阅读ActionView::Helpers::FormHelper,我看到它说:
标签的文本将默认为属性名称,除非在当前 I18n 语言环境中找到翻译(通过 helpers.label..)或您明确指定它。
因此,您应该能够为 post 资源上的 title 标签创建翻译,如下所示:
app/views/posts/new.html.erb
<% form_for @post do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.submit %>
<% end %>
config/locales/en.yml
en:
helpers:
label:
post:
title: 'Customized title'
或
config/locales/en.yml
en:
activerecord:
attributes:
post:
title: 'Customized title'
有什么方法可以自动提取所有表单标签并将它们的正确键添加到 i18n 语言环境文件中?与 i18n-tasks gem 对 I18n.t 定义的键所做的类似。
【问题讨论】:
-
问题是你想重命名每个字段还是只重命名几个字段。或者您需要它们是因为您想支持其他语言环境?
-
如果是第二个,我认为您可以通过循环所有
Models并从模型中获取列/属性来获得它 -
我想自动为所有语言环境文件添加键,以支持应用程序中启用的所有语言环境。像
i18n-tasks add-missing这样的任务。 -
我正在尝试为 i18n-tasks 编写自定义扫描器
-
我看到有人为另一个用例写了such a custom scanner。
标签: ruby-on-rails ruby-on-rails-5 rails-i18n i18n-tasks