5

Sitemi uluslararasılaştırmaya çalışıyorum ve bir şey farklı diller için farklı yazı tipi boyutu kullanmaktır. Ayrıca bazı metin resimlerinin de değiştirilmesi gerekiyor.Raylar CSS dosyasından I18n

Bunu yapmanın tek yolu, ortak klasörde yerel olarak ek CSS dosyalarına sahip olmak ve bunları görünümümdeki yerel ayarlara göre yüklemek. Bu, varlık boru hattının söz konusu CSS dosyalarını derlemesini önler. Ama bunu yapmanın daha iyi bir yolu varsa merak ediyorum.

cevap

11

Kuruluşunuzdaki en iyi bahisten, yerelleştirmeye özgü farklı stil sayfalarına sahip olmak ve ardından yerleşime, yerel ortama göre hangi stil sayfalarının oluşturulacağı hakkında bir koşul koymaktır.

Sadece yerel yerel stili belirtin ve bunun hakkında düşünürseniz ... yükleme sürelerini o kadar etkilememelidir çünkü yalnızca yazı tipi boyutlarını değiştirdiğinizi düşünüyorum. OP

GÜNCELLEME: Böyle fr.sass olarak,

  • Ben app/assets/stylesheets
  • içimde belirli stil yerel ayarı koymak altında locales dizin oluşturduk: Burada

    bu çalışma için yapılandırılmış olması ne

  • Css dosyalarını başvuruda bulunmak için layouts/application.html.erb koşulunu ayarlıyorum: <% if I18n.locale != :en %> <%= stylesheet_link_tag "locales/" + I18n.locale.to_s %> <% end %>
  • Ben kurulum Ben application.css içine derlemek istediğiniz varlıkları beyaz listeleme önce config/application.rb

config.assets.precompile += 'locales/*.css'

Not kuralları önceden derlemek, böylece yerel özgü stilleri application.css içine almazsınız .

+0

ben mi. – ericraio

2

İşlenmeye özel sınıf özniteliklerini html olarak işlenmiş olarak da kullanabilirsiniz. Bence istediğin şeyi elde etmenin daha iyi/kolay yolu. CSS'yi kamuya çekmek çok hoş değil.

4

Onno'ya katılıyorum. Ben sadece çok basit değişiklikler gerekli, bu nedenle bu yanıt açıklandığı gibi, dil etiketi olarak yerel ekledi: https://stackoverflow.com/a/11577356/1822977

Html:

<html lang="<%= I18n.locale || 'en' %>"> 

Sass: oldukça iyi görünüyor

body { 
    font-family:verdana,arial,helvetica,sans-serif; 
    html[lang="jp"] & { 
     font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif; 
    } 
} 
İlgili konular