Cześć, mam problem z przetłumaczeniem angielskich komunikatów o błędach na język polski. Jestem w fazie nauki RoR, tworzę swoją pierwszą stronę i podczas tworzenia formularza rejestracji gdzie wprowadziłem już ograniczenia dotyczące minimalnej ilości znaków dotyczące hasła, pustej nazwy użytkownika itp. pokazują się komunikaty że podane pola nie mogą być puste, jednak po angielsku. Próbowałem szukać po plikach żeby to zmienić, tak samo przeszukiwałem internety i wszystkie znalezione sposoby nie chcą za bardzo działać. Poniżej wrzucam kod:
pl:
errors:
format: ! '%{attribute} %{message}'
messages:
accepted: musi zostać zaakceptowane
blank: nie może być puste
confirmation: nie zgadza się z potwierdzeniem
I w pliku application.rb dodajesz wpis: config.i18n.default_locale = :pl
Teraz, po restarcie aplikacji na wszystkich formularzach Railsy przetłumaczą kolumny (f.label …)
na nazwy polskie, a ewentualne komunikaty o błędach będą tłumaczone na język polski.
Dzięki wielkie za odpowiedź. Generalnie uczę się z książki Michaela Hartla, tak w książce opisywał tworzenie tych błędów. Tak czy siak, zastosowałem się do Waszych porad i ładnie zaskoczyło jedynie mam problem jeszcze z tym, że nie chce mi się zmienić Name na Nazwa użytkownika, tak samo Password i Password confirmation. Pojawiają się komunikaty w połowie spolszczone, np:
Name nie może być puste
Email nie może być puste
Email jest nieprawidłowe
Password nie może być puste
Password jest za krótkie (przynajmniej 6 znaków)
Próbowałem nawet zmieniać nazwę activerecord na activemodel ale nic nie dało. Macie jakieś pomysły?
Kurde, też myślałem że może faktycznie wina leży we wcięciach, ale wpisałem ten kod na nowo, wcięcia zrobiłem na dwie spacje różnicy. Może w jakimś innym pliku jest kod skopany, który w jakiś sposób uniemożliwia przetłumaczenie kolumn. Możliwe?
Dobra, jednak wcięcia, źle po prostu podłączyłem polskie i18n do tego kodu powyżej i dlatego nie chciało tłumaczyć.
BTW, żeby nie zakładać drugiego tematu, macie jakieś sposoby żeby poprawnie pojawiały się te komunikaty? Chodzi mi o odmiany, np. jak zrobić żeby był komunikat
Adres e-mail nie może być pusty
a zaraz później
Hasło nie może być pustE
?
Dodałem gema od grk z tego posta, ale za wiele nie pomogło.