如何使用 i18n 键作为 Rails 3 中的默认翻译?
例如:
I18n.t('something')
应输出。
something
仅当翻译丢失时才
For example:
I18n.t('something')
should output only
something
if the translation missing.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
有可能:
请参阅 Rails 国际化 (I18n) API 中的4.1.2 默认值部分。
It is possible:
See section 4.1.2 Defaults at Rails Internationalization (I18n) API.
在 Rails 4 上,您可以更改异常处理程序。
将以下内容添加到
config/initializers/i18n.rb
:现在,您可以执行以下操作:
主题指南:http://guides.rubyonrails.org/i18n.html#using- different-exception-handlers
On rails 4 you can change the exception handler.
Add the following to
config/initializers/i18n.rb
:Now on you views you can just do:
Guide on the subject: http://guides.rubyonrails.org/i18n.html#using-different-exception-handlers
旁注:
这可能有助于弄清楚Rails认为当前范围是什么(例如,当使用“.something”时)
http ://unixgods.org/~tilo/Rails/which_l10n_strings_is_rails_trying_to_lookup.html
这样你就可以更好地避免由于在 L10n 文件中错误放置翻译字符串/不正确的密钥而丢失翻译
side-note:
this might help figuring out what Rails thinks the current scope is (e.g. when using ".something")
http://unixgods.org/~tilo/Rails/which_l10n_strings_is_rails_trying_to_lookup.html
this way you can better avoid having missing translations because of incorrect placing of translations strings in the L10n-file / incorrect keys
大卫的答案是问题的正确解决方案,另一种(更详细)的方法是救援并归还密钥:
David's answer is the right solution to the question, another (more verbose) way to do it is to rescue and return the key:
不,不可能。如果你使用 I18,你需要有一个与该语言相对应的文件,否则 I18n 会抱怨。
当然,您可以在environment.rb文件中设置默认语言。应该位于底部附近,您可以将其设置为您想要的任何语言,但在您的
locales/
文件夹中,您将需要有相应的yml
翻译。nope, not possible. If you use I18 you need to have a file that corresponds to the language otherwise I18n will complain.
Of course you can set the default language in your environment.rb file. Should be near the bottom and you can set this for whatever language you want but in your
locales/
folder you will need to have a correspondingyml
translation.