gpt4 book ai didi

ruby-on-rails - 如果翻译丢失,则回退到默认语言

转载 作者:行者123 更新时间:2023-12-03 07:28:37 25 4
gpt4 key购买 nike

在国际化的 Rails (2.3.5) 应用程序中,我想显示默认语言环境的翻译,而不是“翻译缺失” - 有一张票,但似乎仍待处理:

https://rails.lighthouseapp.com/projects/8994/tickets/2637-patch-i18n-look-up-a-translation-with-the-default-locale-when-its-missed-with-another-specific-locale

例如(取自票证),有两个翻译文件,en.yml 和 es.yml:

en:

hello: 'hello'

hello_world: 'hello world'



es:

hello_world: 'hola mundo'

当我执行这段代码时:

I18n.t :hello, :locale => :es

Rails 返回“hello”而不是带有“翻译缺失”的跨度。

由于票证仍处于待处理状态,我该如何实现此功能?我知道我可以遍历并更改所有 I18n.t 调用以具有 :default 选项,但如果可以避免的话,我宁愿不必遍历所有 View !由于它是一个补丁,我想我可以将其应用于 Rails 卡住的 gem ,但如果可以的话我宁愿避免这种情况。

最佳答案

现在不需要使用单独的 i18n gem,在普通 Rails 3.0.6 及更高版本(包括 5.0)安装上,fallbacks 值可以是之一以下:

# application.rb

# rails will fallback to config.i18n.default_locale translation
config.i18n.fallbacks = true

# rails will fallback to en, no matter what is set as config.i18n.default_locale
config.i18n.fallbacks = [:en]

# fallbacks value can also be a hash - a map of fallbacks if you will
# missing translations of es and fr languages will fallback to english
# missing translations in german will fallback to french ('de' => 'fr')
config.i18n.fallbacks = {'es' => 'en', 'fr' => 'en', 'de' => 'fr'}

关于ruby-on-rails - 如果翻译丢失,则回退到默认语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2324398/

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