如果本地化文件查找失败,我可以使用默认的 I18n 配置进行查找吗?
作为 Rails 的一部分, http: //guides.rubyonrails.org/i18n.html#how-i18n-in-ruby-on-rails-works
作为该解决方案的一部分,Rails 框架中的每个静态字符串(例如 Active Record 验证消息、时间和日期格式)都已国际化,因此 Rails 应用程序的本地化意味着“覆盖”这些默认值。
因此,当我添加自己的本地化文件时,我会丢失 ActiveRecord 的默认 rails 错误文本。例如,在模型中给出以下代码
validates_length_of :name, :maximum => 50
当这失败时,我得到
translation missing: en-gb, activerecord, errors, models, model_name, attributes, name, too_long
两个可能的修复:
添加
:message
到每个validates_*
方法?例如validates_length_of :name, :maximum => 50, :message => "is too long (maximum is %{count} characters)"
这样做的问题是有很多调用,添加新代码的人必须记住添加文本。(而且我认为变量替换在这里不起作用!)
在每个语言环境配置文件中添加rails 使用的一组默认值,例如
errors: messages: less_than: must be less than %{count}
这里的问题是必须将相同的文本添加到每个语言环境文件中(因为我对翻译这些文件不感兴趣),这没什么大不了的,但看起来很奇怪。
建议哪些路线(如果有)?还有其他想法或建议吗?
是否没有 I18n 使用的默认/备用文件,即如果在语言环境文件中找不到查找?
(使用导轨 2.3.5)