Mar*_*der 6 ruby-on-rails dry internationalization
这样做是否有更清洁,content_tag-ish方式?(我不想在我的YML中使用HTML)
en.yml:
expert_security_advice: "Go <a href='{{url}}'>here</a> for expert security advice."
Run Code Online (Sandbox Code Playgroud)
layout.html.erb:
<%= t(:expert_security_advice, :url => "http://www.getsafeonline.org") %>
Run Code Online (Sandbox Code Playgroud)
我能想到的最好的办法是:
en.yml:
expert_security_advice: "Go *[here] for expert security advice."
Run Code Online (Sandbox Code Playgroud)
布局.html.erb:
<%= translate_with_link(:expert_security_advice, "http://www.getsafeonline.org") %>
Run Code Online (Sandbox Code Playgroud)
application_helper.rb:
include ActionView::Helpers::TagHelper
def translate_with_link(key, *urls)
urls.inject(I18n.t(key)) { |s, url|
s.sub(/\*\[(.+?)\]/, content_tag(:a, $1, :href => url))
}
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3029 次 |
| 最近记录: |