Rails: 是否可以根据I18N显示不同的内容?
Rails: Is it possible to show different content based on I18N?
不只是文字。
比如我可能想在语言是中文的时候显示一个button
,在语言是英文的时候隐藏
我的想法 :, 在 controller
中,让 I18N 可以通过视图访问,也许像
@I18n = I18n.locale
您始终可以使用 I18n.locale
检查当前区域设置的值。所以你可以把测试挂掉:
<% if I18n.locale =~ /^zh/ %>
<!-- button code -->
<% end %>
请注意,我在这里针对任何中文语言环境进行测试,afaik 都以 "zh"
开头
选项 1:检查 controller/view 中的区域设置(最好在控制器中)并有条件地呈现;
选项 2:将按钮的 HTML 放入语言环境字典
# config/locales/zh-CN.yml
zh-CN:
welcome_html: <button>欢迎</button>
goodbye:
html: <button>再见</button>
来自官方文档:
带有“_html”后缀的密钥和名为 'html' 的密钥被标记为 HTML 安全。当您在视图中使用它们时,HTML 将不会被转义。
在此处阅读更多内容:http://guides.rubyonrails.org/i18n.html
不只是文字。
比如我可能想在语言是中文的时候显示一个button
,在语言是英文的时候隐藏
我的想法 :, 在 controller
中,让 I18N 可以通过视图访问,也许像
@I18n = I18n.locale
您始终可以使用 I18n.locale
检查当前区域设置的值。所以你可以把测试挂掉:
<% if I18n.locale =~ /^zh/ %>
<!-- button code -->
<% end %>
请注意,我在这里针对任何中文语言环境进行测试,afaik 都以 "zh"
开头选项 1:检查 controller/view 中的区域设置(最好在控制器中)并有条件地呈现;
选项 2:将按钮的 HTML 放入语言环境字典
# config/locales/zh-CN.yml
zh-CN:
welcome_html: <button>欢迎</button>
goodbye:
html: <button>再见</button>
来自官方文档:
带有“_html”后缀的密钥和名为 'html' 的密钥被标记为 HTML 安全。当您在视图中使用它们时,HTML 将不会被转义。
在此处阅读更多内容:http://guides.rubyonrails.org/i18n.html