我正在从项目视图中抽象字符串。当我这样做的时候,我正在测试不同的语言是什么样子的。
在用拉丁风格字母表呈现的语言中,我希望有一种防止孤立(换行字符串最后一行的一个单词)的风格。在某些地方,我想触发包装,使事物始终出现在两行或一行上。
然而,我很确定(不确定,因为我不会说中文),我不想包装中文。理想情况下,我甚至想按从右到左的阅读顺序显示中文。
是否可以针对不同的语言(区域设置)使用不同的显示代码?
是。
您可以使用:lang
伪选择器针对每种语言的元素,也有一个实验性的:dir
选择器,但支持有限。
在Rails中,您可以加载一个额外的特定于区域设置的样式表,如下所示:
# app/helpers/style_helper.rb
module StyleHelper
def locale_stylesheet_link_tag(locale = I18n.locale)
path = Rails.root.join('app', 'assets', 'stylesheets')
if Dir.glob(path + "#{locale}.{css, scss, sass, less}").any?
stylesheet_link_tag(locale.to_s)
end
end
end
# app/layouts/application.html.erb
<head>
...
<%= locale_stylesheet_link_tag %>
</head>
如果区域设置为en
并且app/assets/stylesheets
中存在en.css
文件,则此操作将加载en.css
。