【发布时间】:2014-12-09 03:18:16
【问题描述】:
我正在尝试使用 i18n translate (t) 方法来翻译字符串。除了“on”这个词之外,我可以用任何我能想到的键来让它工作。我是否与关键字发生冲突?
现在,我将给键起一个不同的名称,这样我们的 Rails 应用程序就可以使用一种以上的语言。我只是好奇,因为我找不到任何关于它的文档。
如果有什么不同,我们将使用 postgres 作为数据库。我真的不知道 i18n 类是如何工作的。
【问题讨论】:
-
当
t不起作用时,您究竟是如何使用它的? “不起作用”到底是什么意思? -
trushkevich 解决了这个问题。它与解析 YAML 有关。但这是我所看到的:当您调用翻译函数 t(key) 时,它会尝试在 YAML 中查找该键。如果找不到该键,它只是将键名转换为字符串(并将其大写)而不进行任何翻译。如果在视图中使用,它还会将返回的字符串包装在一个跨度 中,以帮助您注意到存在 t() 错误。 guides.rubyonrails.org/i18n.html#the-public-i18n-api
标签: ruby-on-rails ruby internationalization