System na preklady zalozeny na DB vs. gettext

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
saimons
Člen | 293
+
0
-

Jakym zpusobem by jste resili lokalizaci webu, kde jsou jednotlive preklady ulozene v DB. Muj povodni zamer bylo pouzit gettext rozsireni pro nette (z doplnku). Ale ukazalo se, ze bych potreboval trochu komplexnejsi data o jednotlovych prekladech, tak jsem si udelal tabulky v DB, ktere meli nahradit .po soubor. Z DB by se pak pri nake zmene generoval konkretni .mo sobour (v zavislosti na jazyku a kategorii prekladu) a pak vse fungovalo jako v doplnku. Ale cim vic nad tim premyslim tak se mi to nezda. Data z .mo se stejne cachuji. Takze co tu cache vytvaret primo z DB? Myslim ze, vytvoreni cache z DB a z gettextu bude plus minus podobne rychle. Je jeste naka jina vychoda pouzit gettext souboru? Jakou cache pouzivate pro preklady, je doztacujici klasicka implementace z Nette?

Oli
Člen | 1215
+
0
-

Kombinuju to.

Dynamicke veci jako clanky, novinky, … jsou ulozeny v db, kde jednoznacne identifikuje article_id a language_id. Statické texty, jako menu, copyright, … resim gettextem.

saimons
Člen | 293
+
0
-

Jo to mi je jasne. Asi jsem se ne uplne spravne vyjadril. Jde mi o preklady kratchych stringu ze sablon atd. Gettext jsem chtel puvodne pouzit, ale nevyhovuje mi. Potrebuju trochu slozitejsi strukturu, jake kdo ma prava na preklad ceho, kdo co prelozil, kdo to zkotroloval atd. Takze z toho pohledu gettext nelze pouzit. Pouze tak, ze z DB vygeneruju binarni .mo soubor. Ale jak rikam ten se stejne cachuje (v tomto modulu https://componette.org/search/?…) a to stejne muzu resit primo z DB.

Editoval saimons (5. 8. 2013 23:21)