【发布时间】:2011-02-02 09:21:21
【问题描述】:
我想输入如下所示的文本:
已经注册了? Log in!
请注意,文本上有一个链接。在此示例中,它指向 google - 实际上它将指向我的应用程序的 log_in_path。
我找到了两种方法,但没有一种看起来“正确”。
我知道的第一种方法是把它作为我的en.yml:
log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>"
在我看来:
<p> <%= t('log_in_message', :url => login_path) %> </p>
这有效,但在en.yml 上包含<a href=...</a> 部分对我来说看起来不是很干净。
我知道的另一个选项是使用localized views - login.en.html.erb 和login.es.html.erb。
这也感觉不对,因为唯一不同的就是前面提到的那一行;视图的其余部分(约 30 行)将对所有视图重复。它不会很干燥。
我想我可以使用“本地化部分”,但这似乎太麻烦了;我想我更喜欢第一个选项,而不是拥有这么多微小的视图文件。
所以我的问题是:是否有“正确”的方式来实现这一点?
【问题讨论】:
-
@Wuggy Foofie 你不应该重复这个问题。 Simone 的回答比你得到的要好。
标签: ruby-on-rails internationalization