是否可以为我的网站翻译(本地化)到的不同区域设置不同的样式表?

Is it possible to have different stylesheets for the different locales that my site is translated (localized) to?

我正在从项目的视图中提取字符串。当我这样做时,我正在测试不同语言的外观。

在以拉丁风格字母呈现的语言中,我想要一种防止孤儿的风格(环绕字符串最后一行的单个单词)。在某些地方,我想触发换行,以便事物始终显示在两行或一行上。

但是,我很确定(不确定因为我不会说中文)我不想包装中文。理想情况下,我什至希望以从右到左的阅读顺序显示中文。

是否可以针对不同的语言(语言环境)使用不同的显示代码?

是的。

您可以使用 :lang pseudo selector 定位每种语言的元素,还有一个实验性 :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>

如果区域设置为 enapp/assets/stylesheets 中存在 en.css 文件,则加载 en.css