我想国际化如下所示的文本:
已经注册了?Log in! http://example.com
请注意,文本上有一个链接。在此示例中,它指向 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>
This works,但有<a href=...</a>
部分关于en.yml
对我来说看起来不太干净。
我知道的另一个选择是使用局部视图 http://guides.rubyonrails.org/i18n.html#localized-views - login.en.html.erb
, and login.es.html.erb
.
这也感觉不对,因为唯一不同的行就是前面提到的那一行;视图的其余部分(约 30 行)将为所有视图重复。它不会很干。
我想我可以使用“本地化部分”,但这似乎太麻烦了;我想我更喜欢第一个选项而不是拥有这么多小视图文件。
所以我的问题是:是否有一种“正确”的方法来实现这一点?
en.yml
log_in_message_html: "This is a text, with a %{href} inside."
log_in_href: "link"
登录.html.erb
<p> <%= t("log_in_message_html", href: link_to(t("log_in_href"), login_path)) %> </p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)