在 Rails I18n 上翻译 Ruby 中的单词数组
Translating word arrays in Ruby on Rails I18n
我已经搜索和摆弄过,但我没有运气。我正在尝试找出翻译单词数组(模型文件)的最佳方法:
def self.valid_batman_characters
%w{batman joker}
end
我认为像 I18n.t ['activerecord.lookup', 'activerecord.lookup'] 这样的东西会起作用,但没有骰子。我不完全确定我错过了什么?
这应该有效:
%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
我已经搜索和摆弄过,但我没有运气。我正在尝试找出翻译单词数组(模型文件)的最佳方法:
def self.valid_batman_characters
%w{batman joker}
end
我认为像 I18n.t ['activerecord.lookup', 'activerecord.lookup'] 这样的东西会起作用,但没有骰子。我不完全确定我错过了什么?
这应该有效:
%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