Как я могу узнать, какие файлы локалей загружаются рельсами (включая гемы)? - PullRequest
0 голосов
/ 05 октября 2018

Я представляю новую локаль для своего приложения и копирую все существующие файлы в config / locales / .locale1.yml в config / locales / .locale2.yml.

ВСначала я ожидаю, что I18n.backend.send(:translations)['locale1'] будет равно I18n.backend.send(:translations)['locale2'], но когда я разыграю оба хэша, я пойму, что в моем новом новом 'locale2' отсутствует куча переводов.

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

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

Любые предложения, как получить эту информацию?

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

1 Ответ

0 голосов
/ 05 октября 2018

После формулировки вопроса стало совершенно ясно, что мне нужно искать: 'rails i18n load paths'.

Используя:

Rails.configuration.i18n.load_path.select { |path| path.match('bundle/gems') }

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

...