I18n.backend.store_translations
# Will add a key or overwrite the existing value
I18n.backend.store_translations("en", {cat: "cat"})
I18n.backend.store_translations("es", {cat: "gato"})
I18n.t(:cat, locale: "en") # => "cat"
I18n.t(:cat, locale: "es") # => "gato"
Обратите внимание, что вы не можете добавить ключи для любых районов таким образом; вы получите I18n::InvalidLocale
. Для того, чтобы определить доступные языки, вы можете использовать:
existing_locales = I18n.config.available_locales
new_locales = existing_locales + Set.new(["es", :es])
I18n.config.available_locales = new_locales
Наконец, следует отметить, что если вы сделаете глобальные изменения, как, что для тестирования, вы, вероятно, хотите, чтобы изменить его обратно на очистку после теста, так что другие тесты Арен Это затронуто.