回答
不,不可能。如果你使用I18,你需要有一个对应于该语言的文件,否则I18n会投诉。
当然,你可以设置你的environment.rb文件中的默认语言。应该是接近底部,你可以设置这个为任何你想要的语言,但在你的文件夹locales/
你需要有一个相应的yml
翻译。
有可能: 请参阅第部分4.1.2默认值在Rails Internationalization (I18n) API。
侧面说明: 这可能有助于搞清楚什么Rails的认为目前范围(例如,使用“.something”时)
http://unixgods.org/~tilo/Rails/which_l10n_strings_is_rails_trying_to_lookup.html
这种方式可以更好地避免遗漏因为在本地化文件翻译的字符串的不正确配售翻译/不正确的键
大卫的回答是这个问题的解决方案,另一个(更详细的)的方式来做到这一点是重scue并返回密钥:
def translate_nicely(key)
begin
I18n.translate!(key)
rescue
key
end
end
在导轨4上,您可以更改异常处理程序。
以下内容添加到config/initializers/i18n.rb
:
module I18n
class MissingTranslationExceptionHandler < ExceptionHandler
def call(exception, locale, key, options)
if exception.is_a?(MissingTranslation)
key
else
super
end
end
end
end
I18n.exception_handler = I18n::MissingTranslationExceptionHandler.new
现在对你的意见,你可以这样做:
<p><%= t "Not translated!" %></p>
指南主题:http://guides.rubyonrails.org/i18n.html#using-different-exception-handlers
有人可能只希望这只适用于特定的环境。添加这个作为初始化程序会限制可能性。但感谢您的链接。 – 2016-03-10 16:51:27
- 1. Rails,I18n,标签,默认翻译
- 2. 默认I18n ActiveRecord验证翻译
- 3. 如何使用的I18n选项中选择翻译[Rails的3]
- 4. Rails 3中的I18n label_tag翻译
- 5. Rails 3:在i18n窗体帮助器翻译中使用HTML
- 6. Rails 3 - 翻译I18n的路线
- 7. RAILS I18n:如何在翻译键中使用@?
- 8. Rails翻译问题使用i18n-js
- 9. 使用rails-i18n进行反向翻译
- 10. Rails i18n默认值
- 11. Rails I18n-js:缺少翻译
- 12. Rails select_tag与i18n翻译
- 13. Rails I18n嵌套翻译键
- 14. Rails 3使用i18n和tolk翻译图像
- 15. 在activerecord中存储i18n翻译 - rails 3.2
- 16. rails:如何登录哪些i18n翻译键仍在使用?
- 17. 如何在视图中启用Rails I18n翻译错误?
- 18. Rails 3中的I18n标签翻译中的has_many关系nested_attributes
- 19. Rails I18n,检查翻译是否存在?
- 20. rails3 i18n accepts_nested_attributes_for如何翻译?
- 21. 如何翻译i18n Plone actions.xml
- 22. Rails I18n放在翻译文本周围如果使用后备
- 23. Cakephp i18n如果翻译不可用,如何获得默认语言的内容
- 24. 如何访问I18n翻译为零
- 25. I18n翻译fnando
- 26. 问题与refinerycms I18n翻译默认前端区域设置
- 27. Symfony翻译一直使用默认EN
- 28. 翻译JSON中的Rails 3
- 29. 如何在Rails I18n的任何级别找到翻译?
- 30. Ember:如何在控制器代码中使用i18n翻译?
使用异常逻辑有条件的水流方式一般为不好的做法。从重构书:http://www.refactoring.com/catalog/replaceExceptionWithTest.html – 2013-04-10 19:45:57
我同意,这是一般不好的做法,我也做了说大卫的解决方案是回落到正确的方式点一个默认值。当然,也有(实用的)情况下,您不希望应用程序暴露错误并使用合理的默认设置来提供更好的用户体验。我认为这是公平的偏离准则,并很好地处理错误时,情况就是如此。 – Steventux 2013-05-23 14:56:39