2010-11-19 20 views
3

validates_word_count plugin yazdım. Hata mesajlarını YAML dosyasında saklamak istiyorum, böylece kolayca çevrilebilirler.Raylarım eklentisini nasıl uluslararası hale getirebilirim/yerelleştirebilirim?

My eklentinin dosya düzeni aşağıdaki gibidir:

validates_word_count/ 
    init.rb 
    lib/ 
    validates_word_count.rb 
    locale/ 
     en.yml 

Benim YAML dosyası şöyle görünür:

en: 
    validates_word_count: 
    errors: 
     messages: 
     too_few_words: "has too few words (minimum is %d words)" 
     too_many_words: "has too many words (maximum is %d words)" 

Ancak, ben I18n.translate('validates_word_count.errors.messages.too_few_words') ararsanız, bu hatayı alıyorum:

translation missing: en, validates_word_count, errors, messages, too_few_words 

Eklenti/yerel ayarımı nasıl kurabilirim I18n.translate() nasıl çalışır?

cevap

3

Yanıtın iki bölümü vardır.

Dir[File.join("#{File.dirname(__FILE__)}/config/locales/*.yml")].each do |locale| 
I18n.load_path.unshift(locale) 
end 
+0

Rails 4'te bunun nasıl biliyor musunuz: Aşağıdaki satırları ekleyin init.rb olarak

validates_word_count/ init.rb lib/ validates_word_count.rb config/ locales/ en.yml 


2.:
1. standart dizin düzeni kullanın? Init.rb artık kullanımda değil gibi görünüyor. – nullnullnull

+2

Raylar eklentileri artık desteklenmiyor. Bir mücevher yapmalısın. –

+0

Yararlı bilgi. Teşekkürler! – nullnullnull

İlgili konular