Zdravo,
zanima me, če ma kdo kakšno idejo, kateri je najboljši-najhitrejši način za parsanje jezikovnih datotek.
Npr. zdaj imam tako, v cookieu se prebere trenutna nastavitev in se potem includa ustrezen php language file.
Not so stringi v arrayu:
lang['product_stock'] = "Zaloga";
lang['product_info'] = "informacije o izdelku";
Razmišljam, da bi naredil tako:
lang['product_stock']['slovenian'] = "Zaloga";
lang['product_stock']['english'] = "Stock";
Tako stvar je lažje vzdrževat, kot tako kot imam v prvem primeru, ker npr. kakšenkrat pozabim dodati ali spremeniti string v vseh jezikih (vsak jezik v svoji mapi).
Zend ima menda jezikovne stringe v ini fileu.
product_stock = "Zaloga"
Dodatna slabost obeh pristopov je, da je težje narediti fallback. Npr. če enega stringa ni, se uporabi string od default jezika.
Druga slabost je pa ta, da je težje narediti spletni vmesnik za elegantno urejanje. Večina sistemov ima kar velik textbox, notri je pa vsebina celega file-a.
Zato sem mislil, da bi zadevo morda naredil v XML datotekah.
Npr:
<languagefile name="product" default="slovenian">
<string key="product_stock">
<value>Zaloga</value>
<translation lang="english">Stock</translation>
</string>
</languagefile>
Preden začnem naprej razmišljati, mislite, da bi to bilo po performancu nekje kot tisto zgoraj?
Celo dom drevo (ali več njih) bi ob začetku prebral v en 2d array, enkapsuliral v objekt in potem klical z globalno funkcijo (kot imam sedaj) v stilu <?=lang('product_stock);?> v view-u.