Wordpress multisite + multilanguage
3 naročniki
3 naročniki
Ima kdo izkušnje z wordpress multisite?
Imam en plugin, ki je enojezičen. Jaz pa bom na WP multisite imel več sajtov z različnimi jeziki. Zelo pomembno mi je, da je ta plugin na voljo na vseh sajtih, inštaliran pa mora biti na glavni inštalaciji (ker je v temu pluginu vsa pomembna baza podatkov in je zahteven za vnašanje podatkov, zato bi to rad delal samo enkrat, ne na vsaki strani posebej).
Težava je torej v temu, da je plugin v enem jeziku, sajti pa bodo v različnih. Kaj lahko tukaj naredim, se da kaj rešiti?
4 odgovori
Mimogrede, stranke vsega skupaj vidijo nekaj besed od tega plugina, ampak so zelo pomembne, ker gre za call to action gumbe in pomembne informacije, tako da morajo biti v pravem jeziku.
Teoretično bi lahko plugin dupliciral, preimenoval in ga prevedel v datoteki. Sicer bi moral potem isti plugin večkrat inštalirat (pod različnimi imeni) in ga aktivirat samo za specifični site. Je pa zelo odvisno ali ti plugin to dovoli ali ne (razne licence itd).
Mi ne pride v poštev, ker mora biti ta plugin nujno inštaliran na glavni inštalaciji in ne na posamičnih sajtih...
Glede plugina in multisite. Ali bo plugin viden na multisite admin strani ali na posamezni strani je odvisno od tega, kako je napisan plugin. Recimo da se ga aktivira na multisitu in se potem pa posameznih sitih samo prikaže. To je tudi najbolj verjetno.
Glede prevodov pa: Kot pišeš, je ena možnost da prevedeš tekste v pluginu. Narediš novo datoteko s funkcijo za prevod, in v pluginu okoli teksta daš klic to funkcije. Ta potem vrača ali originalno besedilo ali pa prevod - odvisno od jezika, ki ga detektiraš preko globalne nastavitve.
Drugi način pa bi bil, da pogledaš, kje vse se nahajajo klici tega plugina. Potem v HTML-ju, ki ga ta plugin vrne, narediš replace določenih stringov, spet glede na jezik, ki ga detektiraš preko globalnih parametrov. Mogoče to funkcijo za replace podtakenš v kodo za widget, ki ga plugin izrisuje (če seveda deluje preko widget-a).
Malo spominja na hekanje, ampak ne vem, če bo šlo drugače. Na srečo pa ti oba primera omogočata, da čim bolj ločiš prevode od kode. Plugin daj v GIT/SVN/HG, naredi commit. Dodaj prevode, naredi commit. Potem bo pa patchiranje spremenjenih datotek (ali je to plugin ali pa tema, ki ga kliče) relativno enostavno.