gpt4 book ai didi

ruby-on-rails - 如何将 key 添加到 I18n 以进行测试?

转载 作者:数据小太阳 更新时间:2023-10-29 07:55:26 26 4
gpt4 key购买 nike

我正在开发 Rails 应用程序中的一项功能,该功能依赖于特定于区域设置的信息。在测试中,我想证明某些行为取决于语言环境包含的内容。

如何动态添加或编辑翻译以供 I18n.t 在测试中使用?

最佳答案

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

最后,请注意,如果您为测试进行了这样的全局更改,您可能希望在测试后将其更改回清理,以免其他测试受到影响。

关于ruby-on-rails - 如何将 key 添加到 I18n 以进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32254332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com