35

Tengo un modelo Productos :: Coche. ¿Cómo puedo traducir sus atributos?¿Cómo traducir el modelo en el espacio de nombres?

ya he intentado esto:

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

Y esto:

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

Pero si trato de usar los productos :: Car.model_name.human todavía dice "coche". Mis otras traducciones funcionan bien, y el idioma está configurado para: ru.

+0

se refieren a esta respuesta: http://stackoverflow.com/questions/ 2521383/activerecord-validates-custom-field-name/2522186 # 2522186 –

+1

@HarishShetty ¡Esa respuesta no ayuda en absoluto al problema del espacio de nombres! – lulalala

Respuesta

94

He comprobado el código fuente 'model_name.human' y he encontrado el método 'i18n_key'. He intentado esto:

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

luego cambié de archivo yml a esto:

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

y funciona!

+5

Gracias por compartir esto. – vise

+0

Gracias por compartir su método para encontrar esto. Es el nombre del modelo singular después de un espacio de nombres que me ha disparado. – Thilo

0

A partir de los carriles 3.2.12 Parece ser convertida de nuevo a este:

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

Y products/car: "Автомобиль" ya no funciona

+1

En 3.2.13 '' 'products/car:' '' funciona. – baxang

+4

En rieles 4.1.4 'producto/automóvil:' está funcionando –

Cuestiones relacionadas