Zgodnie z ActionView documentation. Cytat:Szyny struktura i18n i yml dla etykiet formularzy
Tekst etykiety domyślnie nazwy atrybutu, chyba że tłumaczenie znajduje się w bieżącej lokalizacji I18n lub podać go jawnie (poprzez views.labels <MODELNAME> <atrybutu>..).
Mam model "użytkownika" i formularz rejestracyjny. Oto fragment odpowiedniej części:
<% form_for(@user) do |f| %>
...
<p>
<%= f.label :username %>
<%= f.text_field :username, :class => 'full_width' %>
</p>
...
<% end %>
Kropki ukrywają nieistotny kod.
Jak rozumiem dokumentację, gdybym dostarczyć tłumaczenie w moim pliku locale, w tym przypadku: dk, mój dk.yml patrząc tak:
dk:
views:
labels:
user:
username:
"blahblah"
Szyny powinny przełożyć tekst etykiety i wstawić " blahblah "zamiast" Username ".
To się nie dzieje, więc musiałem coś przeoczyć. Każda pomoc doceniona.
Co zrobić, jeśli chcesz mieć etykietę "Wprowadź swoje imię"? Nie uważam, aby ustawienie atrybutu frazy, która jest czysta, prawdopodobnie spowoduje pewne problemy w niektórych szczególnych przypadkach.Zobacz odpowiedź Voldy, aby uzyskać prawidłowy sposób dostosowania etykiety formularza. Możesz nawet używać obu podejść jednocześnie, ale podejście Voldy'ego zastąpi to podejście w twoim formularzu i powinno być – mizurnix