以下是我试图获得的标记:
<p>View more <a href="/clinics/integratedclinic">clinic information</a>
including physicians, locations, directions, documents, and more.</p>
我使用haml,yaml和Rails(哦,我的!)。为了通过本地化做到这一点,我必须有这个yaml:
en:
view_more: View more
link: clinic information
details: including physicians, locations, directions, documents, and more.
把我的haml放在3行上,如:
%p
= I18n.t('view_more')
= link_to I18n.t('link'), clinic
= I18n.t('details')
似乎必须有更好的方法。第一个问题是,这对于语法不同的语言不起作用,由于语法词序的原因,链接可能出现在句子的末尾。
是否有办法将链接作为参数传递?但是我必须在yaml中插入它,并且可能在那里放置标记?这看起来也不是很好。有没有一种优雅的方式来做到这一点,我错过了?
答案 0 :(得分:4)
最简单的方法是使用Localized Views。首先替换
%p
= I18n.t('view_more')
= link_to I18n.t('link'), clinic
= I18n.t('details')
与
= render partial: 'view_more', locals: { url: some_path }
随后您可以使用
创建文件_view_more.en.html.haml
%p
View more
= link_to 'clinic information', url
including physicians, locations, directions, documents, and more.
答案 1 :(得分:1)
您可以在similar question找到更多想法。我最喜欢的是只使用两个翻译。
在您的语言区域中:
view_more_details_html: "View more %{link} including physicians, locations, directions, documents, and more."
link: "clinic information"
只有一个观点:
%p
= I18n.t('view_more_details_html', link: link_to(I18n.t('link'), clinic))