我正在尝试将我的网站国际化,有一件事是为不同的语言使用不同的字体大小.还需要替换一些文本图像.
我认为唯一的方法是在公共文件夹中添加其他特定于语言环境的CSS文件,并根据我视图中的语言环境加载它们.这可以避免资产管道编译这些特定的CSS文件.但是我想知道是否有更好的方法来做到这一点?
解决方法
组织中最好的选择是具有特定于本地化的不同样式表,然后在布局中根据区域设置在要呈现的样式表上设置条件.
只是放置本地特定的样式,如果你考虑它…它不应该影响加载时间那么多,因为我相信你只是改变字体大小.
OP的更新:
以下是我配置的工作方式:
>我在app / assets / stylesheets下创建了一个locales目录
>我将特定于语言环境的样式表放在里面,例如fr.sass
>我在layouts / application.html.erb中设置条件以引用css文件:
<%if I18n.locale!=:en%>
<%= stylesheet_link_tag“locales /”I18n.locale.to_s%>
<%end%>
>我在config / application.rb中设置了预编译规则
config.assets.precompile =’locales / * .css’
请注意,我将要编译的资产列入application.css,因此特定于语言环境的样式不会进入application.css.