如何从值中找到 i18n 键

How to find the i18n key from the value

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

由于所有语言环境文件都有共同的密钥,所以我正在寻找一种使用字符串值查找密钥的方法。我正在使用 default.yml 文件来存储翻译。

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

我不知道你的 yaml 文件是什么样的,这可能取决于你使用哪种 I18n 后端。如果它只是每种语言的键值对,那么像这样的东西就可以工作

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

还有一个简单的方法。只需加载带有翻译的 yaml 文件。

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