I18n.translate
を使用して配列を翻訳する際に問題があります。Rails:文字列の配列をi18nする方法は?
具体的には、私はこの配列、
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.
記録のために、この作業をビューに入れるためにかっこを入れる必要があることがわかりました。 't(TaskEnums :: OCTAVE_BANDS、scope: 'TaskEnums.OCTAVE_BANDS')'だが、それはもっと経験豊富なRubyistsにとっては明白だと思う。とても有難い。 :) –