ruby-on-rails – CSS文件的Rails I18n

我正在尝试将我的网站国际化,有一件事是为不同的语言使用不同的字体大小.还需要替换一些文本图像.

我认为唯一的方法是在公共文件夹中添加其他特定于语言环境的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.

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...