0
ptbr:
  # Chaves de tradução comuns a muitas views
  views:
  defaults:
    sign_in: Login
  sessions:
    sign_in: Login now
    new:

假设我有上面的 yml。它不起作用,但我只想展示我的问题。我正在按控制器和视图组织我的语言环境文件。例如,我希望能够将 sign_in 键声明为任何控制器中任何视图的默认值。如果我再次声明它(使规则更具体),并且能够覆盖该值。在这种情况下,任何控制器中的所有视图都会将 t(.sign_in) 理解为登录,会话控制器中的视图除外。知道如何实现这一目标吗?提前致谢。

4

1 回答 1

0

有几种方法可以做到这一点。最简单的方法是在你的内部声明@sign_in = t(default.sign_in)ApplicationController并在你的内部SessionsController覆盖为@sign_in = t(sessions.sign_in)

这样,您可以为两者保留相同的视图模板。如果这更改了链接文本,它将如下所示:

<%= link_to @sign_in, sign_in_path ... %>

另一种解决方案是,如果此文本仅显示在网站标题内,则仅为此会话视图呈现特定标题。虽然我觉得这很可怕,但如果您只想更改一个简单的文本字段。

于 2013-08-31T00:58:31.530 回答