35

Ho un modello Prodotti :: Auto. Come posso tradurre i suoi attributi?Come tradurre il modello nello spazio dei nomi?

ho già provato questo:

activerecord: 
    models: 
    products: 
     car: "Автомобиль" 
    attributes: 
    products: 
     car: 
     owner: "Владелец" 

E questo:

activerecord: 
    models: 
    products_car: "Автомобиль" 
    attributes: 
    products_car: 
     owner: "Владелец" 

Ma se provo ad usare i prodotti :: Car.model_name.human si dice ancora "Car". Le mie altre traduzioni funzionano bene e la lingua è impostata su: ru.

+0

Fare riferimento a questa risposta: http://stackoverflow.com/questions/ 2521383/activerecord-validates-custom-field-name/2522186 # 2522186 –

+1

@HarishShetty quella risposta non aiuta il problema dello spazio dei nomi qui! – lulalala

risposta

94

Ho controllato il codice sorgente 'model_name.human' e ho trovato il metodo 'i18n_key'. Ho provato questo:

irb(main):006:0> Products::Car.model_name.i18n_key 
=> :"products/car" 

Poi ho cambiato il mio file yml a questo:

activerecord:  
    models: 
    products/car: "Автомобиль" 
    attributes: 
    products/car: 
     owner: "Владелец" 

e funziona!

+5

Grazie per aver condiviso questo. – vise

+0

Grazie per aver condiviso il tuo metodo per trovare questo. È il nome del modello singolare dopo un namespace che mi ha fatto lo sgambetto. – Thilo

0

Come di rotaie 3.2.12 sembra di essere convertito di nuovo a questo:

activerecord: 
    models: 
    products: 
     car: "Автомобиль" 
    attributes: 
    products: 
     car: 
     owner: "Владелец" 

E products/car: "Автомобиль" non funziona più

+1

In 3.2.13 '' 'prodotti/auto:' '' funziona. – baxang

+4

In rail 4.1.4 'prodotto/auto:' funziona –

Problemi correlati