gpt4 book ai didi

ruby-on-rails - rails : how to i18n an array of strings?

转载 作者:行者123 更新时间:2023-12-04 03:01:37 25 4
gpt4 key购买 nike

我在使用 I18n.translate 时遇到问题转换数组。

具体来说,我有这个数组,

module TaskEnums
OCTAVE_BANDS = [:hz63, :hz125, :hz250, :hz500, :hz1000, :hz2000, :hz4000, :hz8000, :hz16000]
end

我在 YAML 文件中有以下翻译。
en:
TaskEnums:
OCTAVE_BANDS:
hz63: "63 Hz"
hz125: "125 Hz"
hz250: "250 Hz"
hz500: "500 Hz"
hz1000: "1000 Hz"
hz2000: "2000 Hz"
hz4000: "4000 Hz"
hz8000: "8000 Hz"
hz16000: "16000 Hz"

在我看来,我想显示一个允许用户选择频率的下拉菜单。
<%= form_for(@task) do |f| %>
<%= f.select :frequency, TaskEnums::OCTAVE_BANDS %>
<% end %>

我知道我可以用 t :symbol 翻译单个符号,但这种方法似乎不适用于数组(例如 t TaskEnums::OCTAVE_BANDS 不能满足我的需求)。

有谁知道我如何翻译 OCTAVE_BANDS数组,以便翻译出现在下拉列表中?这似乎一定是一个常见问题,所以我假设(并希望!)有一个简单的解决方案......谁能建议如何完成它?

非常感谢,

D.

最佳答案

使用 scope您的 I18n.t 的选项称呼:

t TaskEnums::OCTAVE_BANDS, scope: 'TaskEnums.OCTAVE_BANDS'
# => ["63 Hz", "125 Hz", "250 Hz", "500 Hz", "1000 Hz", "2000 Hz", "4000 Hz", "8000 Hz", "16000 Hz"]

关于ruby-on-rails - rails : how to i18n an array of strings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12341231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com