Я несколько переводов спрятан в инициализаторе так:Rails: Перевод в Initializer
GROUP_GOVERNANCE_STYLES = [
[I18n.t("constants.group_governance_styles.collective"), 1],
[I18n.t("constants.group_governance_styles.electoral_democracy"), 2],
[I18n.t("constants.group_governance_styles.dictatorship"), 3]
]
В моем файле en.yml у меня есть:
en:
constants:
group_governance_styles:
collective: "collective"
electoral_democracy: "electoral democracy"
dictatorship: "dictatorship"
К сожалению, когда я пытаюсь сделать эти переводы в поле зрения, я получаю следующие ошибки:
translation missing: en.constants.group_governance_styles.collective
translation missing: en.constants.group_governance_styles.electoral_democracy
translation missing: en.constants.group_governance_styles.dictatorship
Я также попытался удалить область действия, но e переводы все еще появляются как пропавшие без вести. Есть ли другой способ приблизиться к этому? Возможно, для инициализаторов есть область по умолчанию, о которой я не знаю?
Это работает! Я не знаю много о environment.rb, но кажется, что это может быть плохая практика, чтобы заполнить его константами, подобными этой. Можно ли загрузить файл, содержащий константы из среды environment.rb? – nullnullnull
Согласен. Я не большой поклонник добавления кода в environment.rb. Вы также можете поместить этот код в отдельный файл (возможно, в папку lib?) И потребовать его в файле environment.rb. – Hesham
Отлично, это делает трюк. – nullnullnull