我有一个基本循环来显示i18n列表中的项目:
<% t('.items').each do |item| %>
<p><%=item[:description]%></p>
<p><%=item[:description_html]%></p>
<%end%>
我的.yml文件组织如下:
fr:
pages:
index:
items:
- title: The title
description: The description
description_html: <p> The description with HTML tags</p>
有时,项目description_html
在我的.yml i18n文件中没有任何值,所以我想先在我的代码中检查description_html
是否有值,然后再将其显示在我的HTML中。有什么建议吗?
谢谢!
答案 0 :(得分:3)
如果您只想测试翻译是否可用,可以使用I18n.exists?
例如:
<% if I18n.exists?('pages.index.items.description_html') %>
<%= I18n.t('pages.index.items.description_html') %>
<% end %>
如果您只想在没有翻译时显示某些默认输出,可以按this answer添加默认输出:
<%= I18n.t('pages.index.items.description_html', default: 'No description') %>