globalize2 fallbacks i inne

Witajcie, dwa pytania

  1. jak skorzystać z fallbacks z globalize2? Widziałem dokumentację, ale to mi nie działa. Zarówno w I18n jaki i w innym miejscu nie mogę tego znaleźć (tzn. wyrzuca błąd, że takiej metody nie znaleziono) . Patrzyłem na globalize2-demo, ale nawet tam użycie fallback? zakomentowali.
    Co chcę uzyskać? Chcę aby w przypadku gdy jakiś element nie będzie przetłumaczony, zwrócił mi wersję z default_locale.
    Przeglądam adva_cms i tam jest to zrobione w ten sposób, że jeśli coś nie jest przetłumaczone to wyświetla link “Show”, ale za cholerę nie mogę dość jak to jest zrobione.

  2. Czy jest możliwość wyciągnąć tylko te elementy (np. tylko te “posts”), które są przetłumaczone w danym locale? Tzn się mam np. model Post. Tworzę pierwszy wpis w :en, następnie zmiana locale na :pl i tłumaczę i zapisuje. Teraz kolejny wpis i tylko w locale :en. Domyślnie w locale :pl wyświetli mi oba wpisy - jeden przetłumaczony, drugi nie. Chciałbym, żeby wyciągnął tylko takie, które są przetłumaczone. Potrafię wyświetlić dla pobranych elementów jakie maja tłumaczenia, ale chciałbym pobierać tylko te z danym locale.

pozdrawiam

Heh, oka. Pierwsze pytanie rozwiązane. Nie skumałem, że I18n dostarczone z Railsami jest stare, bez fallbacks i należy doinstalować gem i18n.

Co do drugiego pytania, to wciąż aktualne.

pozdrawiam

  1. No właśnie, z Globalize2 wypadło sporo funkcjonalności na rzecz przerzucenia ich do gema ruby-i18n, patrz tutaj: http://github.com/joshmh/globalize2/commit/f49d8e13d3866ab0956e14e193cfbaf5759b27ab
    Uwaga: svenfuchs/i18n to nie jest railsowe i18n, ten gem dostarcza ekstra funkcjonalność (np. fallbacki właśnie).

  2. To odwróć problem – wyciągaj post_translations z joinowanym/includowanym post, które spełniają warunek locale=‘pl’ :slight_smile:

[quote=Tomash]1) No właśnie, z Globalize2 wypadło sporo funkcjonalności na rzecz przerzucenia ich do gema ruby-i18n, patrz tutaj: http://github.com/joshmh/globalize2/commit/f49d8e13d3866ab0956e14e193cfbaf5759b27ab
Uwaga: svenfuchs/i18n to nie jest railsowe i18n, ten gem dostarcza ekstra funkcjonalność (np. fallbacki właśnie).[/quote]
No właśnie i po instalacji i18n poszły mi fallbacki.

Myślisz o joinach w modelu Post z find_by_sql ? Tak próbowałem i są wyniki (tylko jeszcze dobrego joina nie napisałem).
Jeśli chodzi o includowaniu to musiałbym chyba stworzyć Model PostTranslations po ActiveRecord, żeby to zrobić… czy się mylę?

Odnośnie mojego pytania to przeczytałem gdzieś o metodzie :select z Globalize, tylko za cholerę nie mogę jej znaleźć.

pozdrawiam

Po cholerę find_by_sql, :joins i :include w normalnym find(:all) już nie łaska? :wink:
post_translation.find(:all, :include => :post, :conditions => {:locale => :pl})