我正在开发一个Rails 3应用程序,想要在输出翻译文本之前检查其是否存在,如果不存在,则回退到一些静态文本。我可以这样做:
if I18n.t("some_translation.key").to_s.index("translation missing")
但我觉得应该有比这更好的方法。如果Rails将来将“translation missing”更改为“translation not found”,或者由于某种奇怪的原因文本包含“translation missing”,有什么想法吗?
I18n.exists?('key')
seems like the core evaluation. I've used it in helper_methods for fallback actions if no key value is set, e.g.title = I18n.exists?('page_title.default') ? t('page_title.default') : "Fallback title..."
- Robert Travis Pierceconfig.i18n.fallbacks
,它将无法工作。我猜会导致不存在的键返回 true,因为它会回退到另一个语言环境,并在那里找到所请求的键。 - Tashows