如何从值中找到i18n密钥

时间:2019-01-11 22:33:00

标签: ruby-on-rails ruby rails-i18n

我想创建一个辅助函数,该函数可以将英语字符串作为输入并将其翻译为用户选择的所需语言。

由于所有语言环境文件都具有相同的键,因此我正在寻找一种使用字符串值查找键的方法。我正在使用default.yml文件存储翻译。

找到密钥后,我可以使用<%= t() %>将密钥翻译成其他语言。

1 个答案:

答案 0 :(得分:1)

我不知道您的yaml文件是什么样子,它可能取决于您使用哪种I18n后端。如果只是每种语言的键值对,那么类似的方法就可以工作

I18n.backend.translations[:en].key "English string"

还有一种简单的方法。只需将翻译文件载入yaml文件即可。

YAML.load_file("path_to_translations.yml").key "English string"