12

Böyle bir modülde gruplandırılmış çeşitli modeller var:I18N anahtarı

#/app/models/blobs/small_text.rb 
    class Blobs::SmallText < ActiveRecord::Base 

     #.. class implementation 

    end 
Fransızca olarak "Texte Mahkemesi'ne" insan sınıf adını ayarlamak istediğiniz

:

I18n.locale = "fr" 
    Blobs::SmallText.model_name.human # should return "Texte Court" 

Sınıf tanımının modül kısmı ve yerel dosyalara nasıl ekleneceği konusunda sorun yaşıyorum. Yerel dosyalarımda birkaç kombinasyon denedim ama işe yaramadı. İşte çalıştığım bazı kombinasyonlar şunlardır:


# /config/locales/models/blobs.fr.yml 

    # first attempt (does not work) 
    fr: 
    activerecord: 
     models: 
     blobs_small_text: "Texte Court" 

# /config/locales/models/blobs.fr.yml 
    # second attempt(does not work) 
    fr: 
    activerecord: 
     models: 
     blobs: 
      small_text: "Texte Court" 

Herhangi bir fikir? Teşekkürler D.

cevap

27

Tamam. Ben cevabı buldum şey. Bilmiyorsanız zaman sadece raylar çalıştırmak sınıf anahtarı aşağıdaki talimat teselli:

Blobs::SmallText.model_name.i18n_key # this returns :"blobs/small_text" 

Şimdi buna göre benim yerelleştirme dosyalarını güncelleyebilirsiniz:

# /config/locales/models/blobs.fr.yml 
# last attempt (it works) 
fr: 
    activerecord: 
    models: 
     blobs/small_text: "Texte Court" 

Yani şimdi çalışıyor. Ancak, sadece ben mi yoksa bu adlandırma kuralı Ruby on Rails'deki genel adlandırma kurallarına uymuyor mu?

+4

'i18n_key' i çağırmak harika bir numaradır. Blobs/small_text ad alanı için bir bilet açacağım elbette blobs.small_text – tigrish