这就是呈现的html的样子:
<p>The <a href="http://example.com/one.html">first link</a> and the <a href="http://example.com/two.html">second link</a> are both in this string.</p>
yml和haml应该是什么样的?
注意:我已经弄清楚如何使用单个链接创建一个字符串,但我对如何设置多个链接感到困惑。
我认为yaml可能看起来像这样:
example_text_html: "The <a href='%{link1}' target='_blank'>first link</a> and the <a href='%{link2}' target='_blank'>second link</a> are both in this string."
这就是我认为haml可能是这样的:
%p
= t(:example_text_html, link1:"https://www.example.com/one.html", link2:"http://example.com/two.html")
我尝试时遇到语法错误。
答案 0 :(得分:1)
我建议只在YAML语言环境文件中保留翻译的内容(即&#34;第一个链接&#34;等),并将链接信息保留在您的视图中。此外,由于&#34;第一个链接的内容&#34;和&#34;第二个链接&#34;可能会在区域设置中更改,您可能需要为它们分配单独的区域设置条目。
把这些放在一起,你可以做类似的事情:
<强>配置/区域设置/ en.yml 强>
en:
first_link: first link
second_link: second link
example_text_html: The %{first_link} and the %{second_link} are both in this string that could get translated to have very different grammar.
应用/视图/ your_view.html.haml 强>
%p
= t('example_text_html',
first_link: link_to(t('first_link'), 'http://example.com/one.html', target: :blank),
second_link: link_to(t('second_link'), 'http://example.com/two.html', target: :blank))
如果看起来有点长,你可以创建一些帮助来清理它。也许是这样的事情:
应用/助手/ your_helper.rb 强>
def first_link
link_to(t('first_link'), 'http://example.com/one.html', target: :blank)
end
def second_link
link_to(t('second_link'), 'http://example.com/two.html', target: :blank)
end
那么你可以重构视图看起来像:
应用/视图/ your_view.html.haml 强>
%p
= t('example_text_html', first_link: first_link, second_link: second_link)