Buduję wielojęzyczną aplikację internetową za pomocą Pythona i webapp2.Jak modelować obiekty wielojęzyczne w Pythonie za pomocą webapp2
Mam obiekt o nazwie Tag, który ma tłumaczenia na wiele języków. Z tego powodu, stworzyliśmy następujące modele:
class Language(ndb.Model):
code = ndb.StringProperty()
name = ndb.StringProperty(indexed=False)
class MultilingualText(ndb.Model):
language = ndb.KeyProperty(kind=Language)
text = ndb.TextProperty(indexed=False)
class Tag(ndb.Model):
translations = ndb.StructuredProperty(MultilingualText, repeated=True, indexed=False)
Chciałbym zapytać, czy jest to prawidłowy sposób zrobić takie zadanie, a jak ta struktura może być stosowany wraz z WTForms walidacji itd
Bardzo dziękuję z góry!
Lokalizacja wsparcia wtForms i Jinja2 (I18n) i Babel. Proponuję zapoznać się z tymi narzędziami i sprawdzić, czy pasują do twoich celów projektu. Zwykle jest to droga do zrobienia. – voscausa
Kilka pytań - Czy za każdym razem, gdy otrzymasz znacznik, prawdopodobnie będziesz potrzebować wszystkich tłumaczeń danego tagu? Jak duży może być fragment tekstu? Jeśli nie potrzebujesz wszystkich tłumaczeń przez cały czas, lepiej byłoby, gdyby każde tłumaczenie było podrzędne dla znacznika, a kluczem był język, a następnie pobieranie tylko danego tłumaczenia w zależności od języka użytkownika. Tylko niektóre przemyślenia ;-) –
@DimitrisMarkis zobacz odpowiedź i poczytaj komentarze! –