Ваша лучшая ставка в организации - иметь разные таблицы стилей, специфичные для локализации, а затем установить в макете условие, какие таблицы стилей будут отображаться в зависимости от локали.
Просто поместите только локально определенный стиль,и если вы подумаете об этом ... это не должно сильно влиять на время загрузки, потому что я считаю, что вы меняете только размер шрифта.
ОБНОВЛЕНИЕ с OP:
Вот что я настроилчтобы это работало:
- Я создал каталог
locales
в app/assets/stylesheets
- Я поместил в него таблицы стилей, специфичные для локали, такие как
fr.sass
- Iустановить условие в
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
.