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)理解为Login,除了会话控制器中的视图。知道如何实现这一点吗?提前谢谢。
答案 0 :(得分:0)
有几种方法可以做到这一点。最简单的方法是在@sign_in = t(default.sign_in)
内宣布ApplicationController
,并在SessionsController
内覆盖@sign_in = t(sessions.sign_in)
。
这样,您可以为两者保留相同的视图模板。如果这改变了链接文本,它将如下所示:
<%= link_to @sign_in, sign_in_path ... %>
如果此文本仅显示在网站标题内,则另一种解决方案是为此会话视图呈现特定标题。虽然我觉得这很糟糕,但如果你只是想改变一个简单的文本字段。