是否可以为我的网站翻译(本地化)到的不同地区提供不同的样式表



我正在从项目视图中抽象字符串。当我这样做的时候,我正在测试不同的语言是什么样子的。

在用拉丁风格字母表呈现的语言中,我希望有一种防止孤立(换行字符串最后一行的一个单词)的风格。在某些地方,我想触发包装,使事物始终出现在两行或一行上。

然而,我很确定(不确定,因为我不会说中文),我不想包装中文。理想情况下,我甚至想按从右到左的阅读顺序显示中文。

是否可以针对不同的语言(区域设置)使用不同的显示代码?

是。

您可以使用: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

最新更新