1

我正在尝试本地化 ActiveScaffold STI 儿童的标签。在开发中,它可以正常工作:

es:
  activerecord:
    models:
      rule: "Regla"
      concrete_rule: "Regla puntual"
      weekly_rule: "Regla semanal"
      monthly_rule: "Regla mensual"

但在生产中,它总是采用应用程序中设置的默认语言环境。我知道这是一个 Activescaffold 问题,我已经解决了另一个标签设置键内的翻译,active_scaffold但它不适用于 STI。有什么帮助吗?

编辑:

我找到了 activescaffold 获取 i18n 翻译的位置,但我仍然不知道如何让它在生产环境中进行正确的翻译。

new_sti_link.label = child.to_s.camelize.constantize.model_name.human
4

2 回答 2

1

最后,我发现实现我想要的唯一方法是猴子修补 ActiveScaffold 以接受 lambdas 作为标签的参数,并在渲染视图时评估它们。

于 2011-09-20T08:29:52.883 回答
0

您可以尝试清理浏览器中的缓存。或者在您的 production.rb 中将这一行从“true”更改为“false”

config.i18n.fallbacks = false
于 2011-09-19T10:17:49.503 回答