Rails 3,i18n:将html标签插入文本

DeX*_*eX3 13 internationalization ruby-on-rails-3

我的问题正是这个问题中描述的问题.唯一不同的是:我正在使用Rails 3(确切地说是3.0.4),它使用%{...}语法而不是旧语法{{...}}.

问题:Rails 3逃脱了里面的所有标签,%{...}所以我不能插入那里的链接.

有没有办法克服这个问题?

DeX*_*eX3 42

我终于明白了,你必须使用_html任何yaml-key的后缀,你不想要html-escaped:

paragraph_html: "This is some text with a %{link}"
paragraph_linktext: "really cool link"
Run Code Online (Sandbox Code Playgroud)

然后

link = link_to t( paragraph_linktext ), "http://www.example.com"
<%= t( paragraph_html, :link => link ) %>
Run Code Online (Sandbox Code Playgroud)

瞧,那里有你的i18n-ized链接.


小智 10

你可以这样做

my_translation: "Click to access %{link} page"
Run Code Online (Sandbox Code Playgroud)

然后:

<%= t( my_translation, :link => link_to("Google", "http://google.com") ).html_safe %>
Run Code Online (Sandbox Code Playgroud)

一切都会好的!