Tłumaczenia

Chciałem dowiedzieć się czego używacie do tłumaczeń aplikacji (nie danych na bazie) ?
I18n czy fast_gettext ?
Jakie macie doświadczenia z oboma narzędziami? Jakie mają wady i zalety? Czy moglibyście podać jakieś aplikacje, które używają ich w sposób jak najbardziej bliski ich przeznaczeniu i sposobowi korzystania z nich ?

I18n. Oraz pamiętać, że od Rails 2.2 można używać (bez żadnych dodatków) lokalizowanych szablonów (show.html.erb, show.pl.html.erb)

No ale lokalizowane szablony to słabizna zwykle. Są ok jak masz dużo tekstu do przetłumaczenia i prosty widok. Ale jak złożony widok i malo tekstu to nie jest to zbyt szczęśliwe rozwiązanie.

i18n po prostu działa. Pozwala wygodnie tłumaczyć komunikaty AR i inne wbudowane teksty. Na http://guides.rubyonrails.org/i18n.html jest wszystko dokładnie opisane. Na https://github.com/svenfuchs/rails-i18n znajdziesz gotowe tłumaczenia w wielu językach.

Jeśli wiele nazw atrybutów modeli powtarza się to do ich tłumaczenia dobrze sprawdza się takie podejście:

pl: attribute: &attributes name: Nazwa password: Hasło password_confirmation: Potwierdź hasło # ... activerecord: attributes: user: *attributes project: *attributes # ...
Dzięki temu łatwo dostać też tłumaczenie atrybutu - t(‘attribute.password’).

I18n po prostu działa. Ważne, żeby być konsekwentnym w tworzeniu pliku. My stosujemy zagłębienie kontroler/akcja/tekst_na_stronie dzięki czemu wiadomo od razu, gdzie szukać wszystkich tekstów związanych z danych widokiem.

@hekto5 Dzięki, nie znałem.

[quote=hekto5]i18n po prostu działa. Pozwala wygodnie tłumaczyć komunikaty AR i inne wbudowane teksty. Na http://guides.rubyonrails.org/i18n.html jest wszystko dokładnie opisane. Na https://github.com/svenfuchs/rails-i18n znajdziesz gotowe tłumaczenia w wielu językach.

Jeśli wiele nazw atrybutów modeli powtarza się to do ich tłumaczenia dobrze sprawdza się takie podejście:

pl: attribute: &attributes name: Nazwa password: Hasło password_confirmation: Potwierdź hasło # ... activerecord: attributes: user: *attributes project: *attributes # ...
Dzięki temu łatwo dostać też tłumaczenie atrybutu - t(‘attribute.password’).[/quote]
Czy coś zmieniło w i18n odnośnie DRY w tłumaczeniu powtarzających się nazw atrybutów, czy trzeba kombinować w sposób zaproponowany przez hekto5?

czemu kombinowanie, co w tym sposobie jest nie tak wg ciebie ?

Nie napisałem, że z yamlowymi anchorami jest coś nie tak :slight_smile:
Trafiłem na dodatki typu https://github.com/dcrec1/activerecord_i18n_defaults i zaciekawiło mnie czy jest obecnie podobny mechanizm.