为多种语言创建数组
Create Arrays for multiple Languages
我正在寻找一种简单的方法来创建具有多种语言的 select。目前,我使用 HELPER
来存储带有 SELECT
选项的数组。
帮手
list = ["Book", "DVD", "Table", "Chair"]
CATEGORY = Hash[*list.collect { |v| [v, list.index(v)] }.flatten]
查看
<%= f.select :category, options_for_select(ApplicationHelper::CATEGORY, selected: 0), { :class => "selectpicker" } %>
如果有办法以某种方式使用 LOCALE
文件,那也太棒了。
一个解决方案是将翻译保留在数据库中,您可以搜索有多个可用的 gem,例如语言 select
如果您想从翻译的 YML 文件中提取选项,我建议 options_for_select。总而言之:
en.yml
en:
my_options:
0: "Book"
1: "DVD"
2: "Table"
3: "Chair"
查看:
<%= f.select :category, options_for_select(t("my_options").invert, selected: 0), { :class => "selectpicker" } %>
Rails 如果你翻译一个非叶键,i18n 会给你一个散列,比如 "my_options"。您需要反转,因为 options_for_select 需要值之前的文本,而翻译哈希则相反。
您可以探索更多相关信息有很多方法可以做到这一点,这是其中一种简单的方法。
我正在寻找一种简单的方法来创建具有多种语言的 select。目前,我使用 HELPER
来存储带有 SELECT
选项的数组。
帮手
list = ["Book", "DVD", "Table", "Chair"]
CATEGORY = Hash[*list.collect { |v| [v, list.index(v)] }.flatten]
查看
<%= f.select :category, options_for_select(ApplicationHelper::CATEGORY, selected: 0), { :class => "selectpicker" } %>
如果有办法以某种方式使用 LOCALE
文件,那也太棒了。
一个解决方案是将翻译保留在数据库中,您可以搜索有多个可用的 gem,例如语言 select
如果您想从翻译的 YML 文件中提取选项,我建议 options_for_select。总而言之:
en.yml
en:
my_options:
0: "Book"
1: "DVD"
2: "Table"
3: "Chair"
查看:
<%= f.select :category, options_for_select(t("my_options").invert, selected: 0), { :class => "selectpicker" } %>
Rails 如果你翻译一个非叶键,i18n 会给你一个散列,比如 "my_options"。您需要反转,因为 options_for_select 需要值之前的文本,而翻译哈希则相反。
您可以探索更多相关信息有很多方法可以做到这一点,这是其中一种简单的方法。