Multilanguage web site

@bozoou
Komplicirano i nepotrebno ovo sa file-ovima.

Prijevode drzis u bazi, u code-u se koristi npr. L(‘JANUARY’), umjesto L moze biti bilo sto.

Imas funkciju koja kad naleti na L, rijec u zagradi pretvara onako kako je u bazi za odredjeni jezik.

Isto tako podaci koji se ticu translatora drze se u cache-u i sve je jako brzo.

pobogu 3 YEARS LATER

U mom PHP frameworku je radilo brutalno. I to doslovice brutalno :slight_smile:

Puno prednosti sam postigao koji nisu rješivi pristupom koji spominješ.
Ako se ne varam, i neki poznati frameworci su išli metodom koju sam gore opisao, tako da mi je to bila potvrda da sam na tragu OK rješenja.

Sada sam jedino zakopan u malo drugačijoj tehnologiji (C#), i nisam siguran kako bi baš implementirao ovakvo riješenje u ovaj sustav, a i nisam još polazio za tim. Imam zilijun drugih primarnijih stvari koje moram porješavati…

U drugu ruku se slažem…keep it simple i glava ne boli. :slight_smile:

Btw. kako gornjim pristupom rješavaš prijevod koji se koristi u nekoj JS skripti?
Ako se ne varam, moraš na client stranu povući sve podatke iz translatora, kako bi JS mogao odraditi tu L() metodu?

Ili moraš nekako deklarirati koji prijevodi su dependecy za određenu JS skriptu?

Recimo svakih 1 ili 2 sata osvježavaš cache, a iz cache prikazuješ podatke.

Današnji frameworci čuvaju podatke za translaciju ili u bazi ili u file-ovima, pogledaj symfony, codeigniter, phalconphp i sl.

Ti svi problemi su već riješi u praksi.

Pogledaj kako to react rješava.

@bozoou
Ti si opaki igrač, imaš super ideje, ono što ti je mana da puno previše kompliciraš na jednostavnim stvarima i problemima koje su ljudi u praksi odavno riješili.

Tu postoji joše jedna mana, kad dođe novi jezik, moraš dodati prijevod i opet pokrenuti proces da ti generira file-ove sa tim novim jezikom, ako sam dobro shvatio.

A ovako dodaš prijevod ili u bazi ili u file i vozi.

Evo ti primjer, kako to izgleda kod codeignitera, naravno da u praksi ide sve dinamički, default je neki lang, a kad korisnik odabere lang, sprema se u sesiju i to je to.

https://www.tutorialspoint.com/codeigniter/codeigniter_internationalization.htm

https://www.tutorialspoint.com/phalcon/phalcon_multi_lingual_support.htm

Ovo React rijesenje moze biti dosta jednostavnije uradjeno, bez Redux-a, koristeci Context API.

Bas sam radio nedavno lokalizacijski modul na React-u, bez eksternih dependency-a - samo Context API.

Fala. Btw. razmisli još jednom o divoti i jednostavnosti mog rješenja. :stuck_out_tongue: I o popriličnoj univerzalnosti, tj. principu koji bi mogao/trebao biti primjenjiv za bilo koju tehnologiju na gotovo identičan način. …a koji je toliko fleksibilan da može prevoditi i komentare code-a , ako to kreator baš želi…

problemima koje su ljudi u praksi odavno riješili.

Što se ovog tiče, vidiš da su rješenja ovog problema toliko šarenolika…što će reći da i nije pronađen baš jasno najoptimalniji put.
A kao što rekoh, koliko sam čuo da su neki drugi frameworci krenuli istim putem kojim sam i ja. Pa valjda nekog vraga ima onda i u ovom pristupu…

Btw. što se tiče ovoga. Koliko vidim ovako letimice, prekršili su u pristupu možda glavne zahtjeve koje sam postavio pred sebe kod osmišljavanja rješenja.

A drugo, problem je poprilično rješen samo u okviru reacta, a ne generalno…