Mongo i translacje

Załóżmy że mamy tabele Projekt, chcemy aby nazwa projektu była tłumaczona na różne języki. W tym momencie zastanawiam się, czy embedded document dla tych translacji będzie dobrym rozwiązaniem. Jak przeglądamy stronę w konkretnym języku (polski, agielski, …) to nie potrzebne są nam tłumaczenia w innych językach a embedded document zwróci nam wszystkie tłumaczenia (z tego co kojarze). Mysłałem, żeby wykorzystać hack z mongo mappera którym są asocjacje, ale tam asocjacje są tylko dla odczytania obiektów z bazy danych, a nie ma czegoś takiego jak nested attributes z active record.

W konstrukcji baz danych w mongo jestem jeszcze początkujący, więc liczę na wasze wsparcie w tej kwestii.

https://github.com/Papipo/mongoid_i18n

gem monfoid_i18n zapisuje wszystkie tłumaczenia w hashu więc defakto otrzymuje dostęp do wszystkich tłumaczeń. Ma to jedynie zastosowanie w tłumaczeniu krótkich tekstów i stron z niewielką liczbą języków.

Nie ma to natomiast zastosowania w:

  • tłumaczeniach długich tekstów
  • tłumaczenia listy, która ma być posortowana w każdym języku inaczej.(wg pola position)

Znalazłem gem https://github.com/tjtuom/mm-nested-attributes. To mongo mam już załatwione. Teraz poszukać gemów dla redisa (ohm)