Как найти ключ i18n по значению - PullRequest
0 голосов
/ 12 января 2019

Я хочу создать вспомогательную функцию, которая может принимать английскую строку в качестве ввода и переводить ее на нужный язык, выбранный пользователем.

Поскольку все файлы локалей будут иметь общий ключ, поэтому я ищу способ найти ключ, используя строковое значение. Я использую файлы default.yml для хранения переводов.

Найдя ключ, я могу использовать <%= t() %> для перевода ключа на другие языки.

1 Ответ

0 голосов
/ 12 января 2019

Я не знаю, как выглядит ваш файл yaml, и, вероятно, это зависит от того, какой бэкэнд I18n вы используете. Если это просто пары ключ-значение для каждого языка, тогда что-то подобное может работать

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

Существует также простой способ. Просто загрузите файл yaml с переводами.

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