2011-11-02 11 views
5

Czy ktoś może podać przykład użycia mnogich formularzy w pliku tłumaczącym Yaml dla Rails i18n API. Zasadniczo chodzi o przejście z aplikacji opartej na GetText do Rails.Przykład dla mnogich formularzy w pliku tłumaczącym Yaml dla Rails i18n API

Liczba mnoga form dla a18n w szynach jest tu opisana http://guides.rubyonrails.org/i18n.html#pluralization, ale z ograniczoną liczbą szczegółów.

powiedzieć na przykład mam tę próbkę z gettext .po pliku, który używa liczby mnogiej:

msgid "found %d fatal error" 
msgid_plural "found %d fatal errors" 
msgstr[0] "s'ha trobat %d error fatal" 
msgstr[1] "s'han trobat %d errors fatals" 

Jak by to wyglądało w pliku .yml dla Rails i18n API. Rozumiem, że Rails i18n używa unikalnych kluczy id, a nie samych komunikatów dla kluczy translacji - tak powiedzmy, że kluczem do powyższej liczby mnogiej jest found_x_fatal_error.

Drugą rzeczą jest formuła wyboru formy liczby mnogiej, gdzie to idzie w pliku .yml i jak to wygląda - powiedzmy na przykład mamy tę formułę wyboru z gettext .po nagłówku pliku:

Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; 

Jak by to wyglądało w pliku YAML.

+0

Myślę, że ten wątek może pomóc: http://stackoverflow.com/questions/6166064/i18n-pluralization – Frost

Odpowiedz

14

Można skonfigurować więcej opcji:

error_msg: 
    zero: none 
    one: 1 error 
    other: %{count} errors 

t('error_msg', :count => 15) 
=> 15 errors 

W zależności od wersji I18n to będzie {{count}} lub% {count} w pliku yml. Więcej wyjaśnienie można znaleźć tutaj:

http://guides.rubyonrails.org/i18n.html#pluralization