在Ruby on Rails I18n上翻译单词数组

时间:2015-01-15 21:48:27

标签: ruby-on-rails ruby activerecord internationalization

我已经搜查和摆弄,但我没有运气。我试图找出翻译单词数组(模型文件)的最佳方法:

  def self.valid_batman_characters
    %w{batman joker}
  end

我认为像I18n.t [' activerecord.lookup',' activerecord.lookup']会起作用,但没有骰子。我不完全确定我错过了什么?

1 个答案:

答案 0 :(得分:3)

这应该有效:

%w{batman joker}.map{ |key| I18n.t(key, scope: "active_record") }

或者,您可以使用符号:

%i{batman joker}.map{ |key| I18n.t(key, scope: :active_record) }

或字符串,没有指定I18n的范围,如下:

%w{batman joker}.map{ |key| I18n.t("active_record.#{key}") }

或符号字符串,因为您可以:

%w{batman joker}.map{ |key| I18n.t(key, scope: :active_record) }

这就是假设你的语言配置中的密钥设置如下:

active_record:
  batman: Translation1
  joker: Translation2