35

Mam model Produkty :: Samochód. Jak mogę przetłumaczyć jego atrybuty?Jak tłumaczyć model w przestrzeni nazw?

Próbowałem już to:

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

a to:

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

Ale jeśli próbuję użyć Produkty :: Car.model_name.human wciąż mówi "samochód". Moje inne tłumaczenia działają dobrze, a językiem jest: ru.

+0

Patrz tej odpowiedzi: http://stackoverflow.com/questions/ 2521383/activerecord-validates-custom-field-name/2522186 # 2522186 –

+1

@HarishShetty ta odpowiedź w ogóle nie pomaga w kwestii przestrzeni nazw! – lulalala

Odpowiedz

94

Sprawdziłem kod źródłowy "model_name.human" i znalazłem metodę "i18n_key". Próbowałem to:

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

Wtedy zmieniłem plik yml do tego:

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

i to działa!

+5

Dzięki za udostępnienie tego. – vise

+0

Dzięki za udostępnienie metody znalezienia tego. To pojedyncza nazwa modelu po przestrzeni nazw, która mnie potknęła. – Thilo

0

Jak szyn 3.2.12 wydaje się być przekształcony z powrotem do tego:

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

And products/car: "Автомобиль" nie pracuje już

+1

W 3.2.13 '' 'products/car:' '' działa. – baxang

+4

W szynach 4.1.4 'produkt/samochód:' działa –