Witam,
jestem nowy na forum i nowy w świecie RoR
Programuję (a może programowałem ;)) w PHP i tam ustawienie polskich locali nie sprawiało mi jakoś problemu. Wystarczyło set_locale(). Teraz mam pytanie: jak coś takiego zrobić w RoR? Używam funkcji date_select() i wypluwa mi ona miesiące po angielsku.
Piszę sobie aplikację w ramach nauki RoR i nie musi ona posiadać kilku wersji językowych. Chodzi mi tylko o spolszczenie nazw miesięcy. Czy jest na to jakis prosty sposób (bez pluginów itp.) typu set_locale() z PHP?
Pozwolę sobie sam odpowiedzieć na pytanie
Jeśli ktoś wie coś więcej na ten temat, to także chętnie poczytam.
Znalazłem coś takiego jak l10n-simplified (localization_simplified) i owe coś podobno tłymaczy (między innymi) to co ma wypluwać date_select(). Wydaje mi się, że autor tego pluginu nie zadawał by sobie tyle trudu gdyby dało się to zrobić inaczej, więc wnioskuję iż rozwiązanie w stylu set_locale() z PHP nie istnieje w Rubym.
Przejrzałem kod l10n-simplified i (jako że wszystko co on oferuje nie jest mi potrzebne, a wersji pl i tak jeszcze nie ma) wyłuskałem z niego tyle co potrzebuję.
Pozostało mi coś takiego (nawet działa ;)):
class Date
MONTHNAMES = [nil] + %w{Styczeń Luty itd...}
end
Nadpisuje to podobno domyślne ustawienia Rubiego, a mi się nawet bardziej podoba niż set_locale(), które używałem do smarty, bo pozwala zastosować poprawną polską gramatykę gdy napiszemy %w{Stycznia Lutego itd…
Nie znam sie na php ‘set_locale()’, ale to domyslam sie, ze chyba o to chodzilo :
ENV[“TZ”] = “Europe/Warsaw”
ENV[“LANG”] = “pl_PL”
ENV[“LC_ALL”] = “pl_PL.UTF-8”
Oczywiscie to nie zalatwi sprawy poprawnej polskiej gramatyki ale rozwiaze ci poprawny format daty, zmiany czasu itd.
A jesli chodzi o Ruby to TZInfo.
Nie wiem co robię źle, ale powyższe ustawienie nie działa - daty dalej wyświetlane są w postaci “June 2007” itp. Czy do poprawnego wyświetlania dat są potrzebne jakieś gemy, lub programy? Na serwerze mam prawie “gołego” Slacka, więc nie wiem gdzie szukać przyczyn problemu.