lul*_*ala 6 css ruby-on-rails internationalization ruby-on-rails-3 asset-pipeline
我正在尝试将我的网站国际化,有一件事是为不同的语言使用不同的字体大小.还需要替换一些文本图像.
我认为唯一的方法是在公共文件夹中添加其他特定于语言环境的CSS文件,并根据我视图中的语言环境加载它们.这可以避免资产管道编译那些特定的CSS文件.但是我想知道是否有更好的方法来做到这一点?
eri*_*aio 11
组织中最好的选择是具有特定于本地化的不同样式表,然后在布局中根据区域设置在要呈现的样式表上设置条件.
只是把本地特定的风格,如果你考虑它...它不应该影响加载时间那么多因为我相信你只是改变字体大小.
OP的更新:
以下是我配置的工作原理:
locales
目录app/assets/stylesheets
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
.
我同意 Onno 的观点。我只需要非常简单的更改,所以我添加了语言环境作为语言标签,如本答案所述:https : //stackoverflow.com/a/11577356/1822977
网址:
<html lang="<%= I18n.locale || 'en' %>">
Run Code Online (Sandbox Code Playgroud)
萨斯:
body {
font-family:verdana,arial,helvetica,sans-serif;
html[lang="jp"] & {
font-family:"?????? Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3911 次 |
最近记录: |