PHP - ZenCart - utf8 - slovenski jezik - slovenski prevod - pretvorba jezikov
Pisal sem že, kako PHP Zen Cart aplikaciji dodati UTF-8 podporo. Spremenili smo MySQL (podatkovno) strukturo, pretvorili podatke iz ISO-8559-1 v UTF-8 kodno tabelo in nastavili PHP in HTML header na UTF-8. Vendar, ko odprete spletno stran oz. trgovino se pojavijo ? (vprašaji) oz. čudni znaki. Zakaj?
Problem nastane, ker je bil slovenski prevod (Zen Cart 1.3.6 SLO by Silentek) shranjen oz. preveden v ISO-8859-2 (ISO-8859-1) kodni tabeli. Zato sem spisal PHP skripto, ki oprave sledeče operacije nad datotekami, ki vsebujejo prevode s sledečo strukturo:
Operacije, ki jih izvede PHP skripta:
- #1 Dobi vse prevode, ki ustrezajo zgoraj omenjeni strukturi
- #2 Preveri ali je slovenski prevod celoten (primerja angleški jezik - primarni jezik)
- #3 Manjkajoče prevode doda na koncu slovenskega - sekundarnega jezika oz. manjkajoče datoteke kopira iz primarnega (angleškega) k slovenskemu jeziku (sekundarni)
- #4 Po potrebi opravi konverzijo med določeno kodno tabelo (ISO-8895-2 -> UTF-8)
Delovanje skripte:
Skripta je sestavljena tako, da jo lahko uporabite tudi na drugih portalih, ki uporabljajo tako strukturo (zgoraj omenjena) datotek za prevode. Najprej definirate kje lahko skripta najde datoteke primarnega jezika (največkrat angleški jezik) in kje lahko najde datoteke sekundarnega jezika. Določimo še predpono za novo kreirane jezične datoteke, saj ne želimo prepisati starih datotek. Skripta samodejna kreira isto strukturo, ki jo uporabljate za primarni in sekundarni jezik, tako da po končanem delovanju lahko preverite rezultat in nato le opravite copy/paste.
Na grobo lahko skripto razdelimo v tri sklope delovanja:
- #1 Dobi vse datoteke iz primarnega in sekundarnega jezika. Iz vseh datotek dobi prevode (define)
- #2 Vse prevode iz primarnega primerja pri sekundarnem jeziku in preveri ali kateri prevod manjka pri sekundarnem jeziku. Preveri tudi ali kakšna datoteka iz primarnega jezika manjka v sekundarnem jeziku (najpogosteje ko dodate dodaten modul, ki imajo privzeto le angleški jezik - primarni)
- #3 Vse na novo kreirane datoteke pretvori v določeno kodno tabelo, v našem primeru v UTF-8
Nastavitve skripte:
-
// Basic settings
-
$phpEnd = '?>'; // določite kako se konča vaša php skripta v jezikovnih datotekah
-
$translateToEncoding = 'UTF-8'; // v katero kodno tabelo naj skripta pretvori vaše datoteke
-
$previousEncodings = 'ISO-8859-2,ISO-8859-1'; // v katerih kodnih tabelah so zapisane vaše primarne datoteke za jezik (angleški) - najverjetneje v ISO-8559-1 oz. ISO-8559-2
-
$languageFileExtension = '.php'; // kakšno končnico imajo vaše datoteke z prevodi (.inc mogoče?)
-
-
// File path settings
-
$newFolderPathPrefix = 'jeziki'; // v katero pod-mapo naj shranjujemo nove datoteke - preprečimo prepis starih datotek
-
$primaryLanguagePath = 'includes/languages/english'; // vaš primarni jezik (ponavadi angleščina)
-
$secondaryLanguagePath = 'includes/languages/slovensko'; // vaš sekundarni jezik. Jezik katerega dopolnjujete (ponavadi slovenščina)
-
-
// Primarni - sekundarni jezik
-
$primaryLanguage = 'english'; // kje je razlika pot med slovenskih in angleškim jezikom
-
$secondaryLanguage = 'slovensko'; // naprimer includes/languages/english, includes/languages/slovensko
Primer pretvorbe jezikov (bodite pozorni na šumnike in vrstice dodane s strani PHP skripte):
Datoteke:
- Zen Cart 1.3.8 - slovenski jezik - slovenian language - slovenski prevod - UTF-8 - dodani manjkajoči prevodi iz angleščine
- Skripta, ki skrbi za pretvorbo primarnega jezika v sekundarni jezik - opravi primerjavo, doda manjkajoče prevode, pretvori med kodnimi tabelami (shranite v UTF-8 formatu!!!)
Datoteko shranite v document root, spremenite nastavitve in poženite zadevo. Če opazite kakšno napako, imate kritiko ali pohvalo, mogoče izboljšavo? Prosim, dodajte pod komentarje.



June 13th, 2008 ob 4:58 pm
Zanima me kako inštalirat Zen Cart 1.3.8, ali morem prej Zen Cart 1.3.6?
Ali moram prej v utf8?
Ker nevem niti kje začeti.
Se opravičujem ampak sem nov na tem področju.
Najlepša hvala!
Lp.
June 13th, 2008 ob 7:31 pm
Patrik, najprej inštalirej ZenCart 1.3.8a, potem spremeni ZenCart v UTF-8 (kako je opisano tukaj), potem pa dodaj še slovenski jezik, ki ga najdeš zgoraj (Zen Cart 1.3.8 - slovenski jezik - slovenian language - slovenski prevod - UTF-8 - dodani manjkajoči prevodi iz angleščine).
July 7th, 2008 ob 9:54 am
Ampak v novem prevodu manjka slovensko.php, tudi skripta za pretvorbo ga ne zajame...
July 7th, 2008 ob 9:58 am
Janko, bom pogledal in bom dopolnil prevod. Tnx za opozorilo.
P.S: Sem dodal novi prevod, ki vključuje tudi slovensko.php (prevedeno).
July 7th, 2008 ob 10:30 am
Hvala za zelo hiter odziv, bom sprobal zadevo in javim če se pojavi še kak problem.
July 7th, 2008 ob 11:09 am
admin / slovensko.php vsebuje narobe pretvorjene šumnike. Morda je bila pretvorba 2x opravljena in zato dobimo ven namesto UTF8 šumnikov, neke čudne kvake. Drugače pa je OK.
July 7th, 2008 ob 11:17 am
Sem popravil še to datoteko, prej sem preveril le includues/slovensko.php, na admin sem pa pozabil. Hvala za napako!
July 22nd, 2008 ob 8:20 pm
Zakaj mi tole prevede samo admin del, med tem ko trgovina ostane angleška? :S:(
July 22nd, 2008 ob 11:29 pm
V trgovini - adminu nastavi, da je slovenski default language oz. v svojem profili nastavi na slovensko.
July 27th, 2008 ob 11:23 pm
Se vam bi rad zahvalil. Odlično ste opravili delo!
Hvala!!!
July 28th, 2008 ob 12:06 pm
Ni problema, veseli smo, da vam je prevod koristil.
September 18th, 2008 ob 4:04 pm
Kaj naredim s skripto ko jo skopiram v root directory? Do sedaj mi je vspelo prekopirati prevod v public in admin directory in preden sem instaliral zen cart sem zamenjal mysql_zencart.db datoteko z vašo. Povsod so šumniki v redu samo ko dodam nov izdelek in ko izberem datum kdaj je stvar dodana/razpoložljiva je recimo npr. četrtek . hvala
September 18th, 2008 ob 4:06 pm
dopolnjujem komentar: četrtek ima namesto č-ja vprašaj v črnem kvadratku
September 18th, 2008 ob 4:16 pm
se oproščam sedaj sem opazil da piše -Datoteko shranite v document root- ki pa ne vem kateri je. prosim za pomoč hvala.
September 18th, 2008 ob 6:41 pm
Zakaj ne uporabite že pred-pakiranega jezika zgoraj?
November 12th, 2008 ob 1:11 am
Zdravo!
Tudi sam imam težave z šumniki oz samo z šumniki = Š ostalo dela ok prosim strokovnjaka za pomoč ker sm bolj na začetku raziskovanja oz samogradnje trgovine.
Iskrena hvala!
November 12th, 2008 ob 1:12 am
še mail avanturist@msn.co tudi massinger je aktiven tu samo ponoči...
November 19th, 2008 ob 6:30 am
Prosu bi za pomoč
namreč na strani me nie piše samo šumnika Š pa še to sqamo v tekstu med tem ko linki oz kategorije its je vse ok!??
Prekopirov sm v word pad pa v wp++ pa shranu pa spreminjov podporo za utf 8 v programu pa sita pesem... kaj je še za postorit (na serverju mam utf 8 itak-preverjeno)
Njlepša hvala!
November 19th, 2008 ob 9:43 am
Link do spletne strani najprej ...
November 19th, 2008 ob 10:00 am
@Miha25: pošlji na mail potrebne podatke, začenši z linkom, kot je napisal Roky. Potem ti bomo znali svetovati.
January 22nd, 2009 ob 11:55 am
Iščem Zen Cart slovenski prevod ampak je stran http://www.silentek.net ne dela več... prosim, če mi lahko kdo pošlje prevod na bustya (at) gmail.com.
hvala lepa!
January 22nd, 2009 ob 6:49 pm
Imam en problem, ko sem spremenil jezik iz angleškega v slovenskega, se mi pojavilja prazna stran ko si hočem ogledati trgovino, če pa grem v admin sekcijo pa deluje.
Sem pa najprej spremenil jezik v adminu in je delovalo, ob ogledu trgovine se pa pojavlja samo blank page..
Sem že probal zbrisati slovenski jezik iz admin panela, in še vedno ista fora...
Mi lahko kdo pomaga, je kdo že imel podoben problem, kako ga rešim??
Je pa zencart verzija 1.3.8a
Najlepša hvala!
January 22nd, 2009 ob 9:52 pm
Khm .... potem nisi najbolje dodal slovenski jezik. Probaj počistit jezik in ponovno dodati, kaj več na pamet ti težko povem.
Bustek, bom pogledal pri sebi in ti sporočim.
January 25th, 2009 ob 12:02 am
Roky hvala v naprej. v pričakovanju maila
January 26th, 2009 ob 1:08 pm
Pozdravljeni !
Kako naj dodam v admina in da bo to vidno in možno plačevanje po predračunu,je kakšna skripta oziroma modul ?
Ter kje se lahko spremeni pozdravno sporočilo v slovenskem jeziku in ostalih.
Namreč v natavitvah ne morem nikakor spremenilti besedila povrhu mi pri slovenskem jezku piše
<header<na vrhu ..
Hvala za odgovore.
January 26th, 2009 ob 3:29 pm
@Valter:
Modul zato kakor jaz vem ne obstaja, ker to ni popularen način plačevanje in ga zato tudi zen cart ne vključuje, se ga pa lahko ustvari.
Spreminja se v templatu, če ne vidiš tega v language fajlih, kje točno boš pa moral malce pobrskati.
@Bustek, email poslan.
January 26th, 2009 ob 4:16 pm
Modul sem vstaril(vsaj mislm) v adminu -nastavitvah je viden pod način plačevaja.
Tudi ,kot "predračun je viden na uradni strani,ko se kupec želi odločit zanj ,ga lahko označi.
Ko se pošlje mail kupcu ,pa se izpiše način plačila namesto kot predračun izpiše kot račun po povzetju ..
January 26th, 2009 ob 4:42 pm
Valter, to pa je na pamet žal težko odgovoriti brez da bi pogledal kaj je s modulom, kakšna je koda itd, poskusi google/zen cart forum.
January 28th, 2009 ob 7:01 pm
hvala za odgovore..
Pa še to kje se nastavi trgovino na "nič" da bodo računi se začeli šteti ospet d nič ?
January 28th, 2009 ob 8:55 pm
Izbriši vsa naročila in orderje v mysql tabeli z truncate s čimer bo tudi index šel na 1.
January 31st, 2009 ob 3:55 pm
Glede te skripte... najprej sem naložil slovenski jezik, potem dodal folder jeziki z dodatnimi prevodi. nato sem skripto preimenoval v .php , nato jo hočem zagnati. napiše mi:
Warning: Cannot modify header information - headers already sent by (output started at /home/starodob/aaanjaaa/trgovina/zen_cart_language_translation.php:1) in /home/starodob/aaanjaaa/trgovina/zen_cart_language_translation.php on line 69
Fatal error: Call to undefined function: strripos() in /home/starodob/aaanjaaa/trgovina/zen_cart_language_translation.php on line 14
kaj naj naredim ?
February 1st, 2009 ob 3:43 pm
Ok sem pogruntal. strripos () funkcijo sem zamenjal z eno drugo, ker ni delala.
sedaj pa druga težava
šumniki delajo vse ok... ampak ko dodajam izdelke, in jim v opisu dam Č , mi ga pri predogledu objave še pokaže kot Č, nato ko ga pa gledam iz trgovine, pa je ?. kje mi sedaj to spreminja?
February 1st, 2009 ob 6:07 pm
Izdelek .... to je že v bazi, tko da mora biti neki narobe na nastavitvah do baze, UTF8/CP1250 problemi. Na pamet pa zelo težko kaj več povedat:(
February 3rd, 2009 ob 5:54 pm
a kdo ve v kateri tabeli v bazi so shranjeni opisi izdelkov? mogoče v bazi spremenim tisto tabelo na utf 8, ker sedaj so latin1_swedish_ci ...
February 3rd, 2009 ob 6:02 pm
products_description ...
February 3rd, 2009 ob 6:10 pm
dobil, popravil, dela... hvala za pomoč
February 3rd, 2009 ob 6:25 pm
ni problema:) bomo odprli donacije hihi, HEC HEC.
February 6th, 2009 ob 3:23 pm
Kje se poveča(širina-dolžina )glavnega bannerja na prvi strani...?
mislim tistega ki se prikaže na vrhu(ponavadi ime strani,trgovine..)
HVALA
February 6th, 2009 ob 4:00 pm
citiraj
"Izbriši vsa naročila in orderje v mysql tabeli z truncate s čimer bo tudi index šel na 1. "
katero datoteko kliknem ?
v mysql-u :
orders
order_produkts
order_status
order_...
...
...
...
February 7th, 2009 ob 11:11 am
Nov problem...
Spletna trgovina mi noče več poslat naročila kupcu potem ko naroči izdelek.
Očitno sem nekje nekaj spremenil kar ne bi smel,pošlje le "meni" kopijo naročila..
Kje je težava...
February 7th, 2009 ob 6:09 pm
Valter, težko je tukaj preko komentarjev vse rešiti zato vam na zgornje težave ne morem odgovoriti. Lahko pa vas usmerim na zen cart forum. Če želite, da vam mi pogledamo zadevo pa to sporočite na email (info@trsplet.com).
February 13th, 2009 ob 4:31 pm
"Primer pretvorbe jezikov (bodite pozorni na šumnike in vrstice dodane s strani PHP skripte)".
Zanima me točno kje se nahaja (in kako je ime) fajla v katerem lahko spremenim te čudne znake v šumnike?
Najlepša hvala,
-A
February 13th, 2009 ob 4:50 pm
button_names.php . Ampak vseeno imam � pod šumniki?
Hvala za pomoč!
-A
February 13th, 2009 ob 6:28 pm
Živjo
Najbrš imaš pod iso-8859-1, poslji me email na rok.meglic@gmail.com, pa ti bom poslal še ta prevod.
February 15th, 2009 ob 11:05 pm
Roky v pričakovanju vašega prevoda
Najlepša hvala,
-A
February 16th, 2009 ob 8:39 am
Angelis, dons dobiš.
February 16th, 2009 ob 1:34 pm
Hvala Rok za pomoč.
STVAR DELA BREZHIBNO
February 19th, 2009 ob 3:19 pm
Živjo!
Najprej hvala za trud s prevodom, imam pa en problem.
Ko sem hotela zagnati obe skripti (lang. trnslation in latin_to_utf), mi vedno javi enako napako v vrstici, katera vsebuje tole: header('Content-Type: text/html; charset=utf-8' ); ?
Napaka pa se glasi: Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/shopping/zen_cart_language_translation.php:1)
Help,pls?
February 20th, 2009 ob 8:08 am
Živjo
Ne potrebuješ ti delat še enkrat te jezike, imaš spodaj pri postu link do že narejenega preveoda, ki ga samo razpakiraš in je to to.
April 13th, 2009 ob 2:38 am
Pozdravljeni,
rad bi povedal, da sem snel zgornjo datoteko prevoda, jo odpakiral in prenesel na server. In dela vse od prve, nobenih "čudnih" znakov ni četudi je kodiranje v Zen Cart ISO-8559-1. Uporabljam sicer verzijo zen carta 1.3.7.1 zaradi brezhibne integracije z Drupalom.
Imajo pa sedaj na zencart.com modul, ki se mu reče utf_support_for_zencart_1-0, ki pride do izraza ob novi namestitvi, vsaj tako piše, jaz ga nisem sprobal.
Mi zna kdo povedat ali so morda narejene tudi slike in ikone s slo tekstom? Bi se jih dalo dobiti?
LP
April 13th, 2009 ob 10:44 am
Ikone ter slike, kje če so narejene? V tem modulu ki si ga omenil? To boš pa moral probati!
April 14th, 2009 ob 6:33 am
@pepiw:
Ikone se dajo dobit, vendar so prilagojene na dizajn trgovine in kot take niso univerzalne. Proti plačilu vam jih lahko izdelamo.
April 14th, 2009 ob 9:30 am
Sem kar sam naredil kpl gumbe in ikone in vse skupaj zapakiral v slo prevod. Če koga zanima, naj me kontaktira na retlav@mail386.com pa mu jih pošljem.
LP
April 24th, 2009 ob 9:39 am
S temi gumbi nisem bil zadovoljen, ker je njihov izgled mora biti skladen s stilom teme, ki jo uporabimo za trgovino. Zato sem malo brskal po spletu in našel sila zanimivo stran za free izdelavo gumbov za kar nekaj spletnih trgovin, tudi za Zen cart. Link: http://www.advancewebsoft.com/downloads/free-scripts/free-oscommerce-cre-loaded-zen-cart-oscmax-button-generator-p.html
Malo nerodno je le to, da potem, ko narediš gumbe v slo (potem, ko vpišeš slovenski tekst), jih tudi shrani z imeni v slovenščini in jih moramo potem preimenovati v angleščino, da nam bodo potem funkcionirali. Ni težko, je pa malce zamudno.
Vsekakor pa zelo uporabna zadeva.
LP
June 12th, 2009 ob 9:52 am
Mene pa zanima kje se spremeni zadeva, ker sem malo testiral in pri dodanih artiklih spodaj vpiše dan in datum kdaj je bil artikel dodan. Kje se da to blokirat,da se ne izpisuje pod opisom artikla oz. ni vidno?
Hvala za informacije.
June 12th, 2009 ob 9:53 am
V adminu, product info oz. product listing settings lahko štimaš kaj se in kaj se ne prikazuje.
June 21st, 2009 ob 12:45 pm
A mi lahko kdo pošlje slovenski lang. pack na madman ( a t ) skydancers.org
June 21st, 2009 ob 9:56 pm
Rabiš UTF8 ali CP1250?
June 22nd, 2009 ob 5:30 pm
UTF8
June 22nd, 2009 ob 6:20 pm
Čist spodaj imaš link: Zen Cart 1.3.8 - slovenski jezik - slovenian language - slovenski prevod - UTF-8 - dodani manjkajoči prevodi iz angleščine. Klikni na to in ga boš imel:)
June 25th, 2009 ob 2:06 pm
Tudi jaz iščem zadnji slo lang pack. Roky: kje čist spodaj je link?
Ima še kdo težavo, da se mu v urejevalniku strani za slovenski jezik odpre samo plain TXT editor html pa ne? Za ang html editor deluje.
June 25th, 2009 ob 4:52 pm
Očitno sem blont ker ne najdem linka ne datoteke
June 25th, 2009 ob 4:56 pm
Očitno sem prehitro rekel.
Sem našu.
June 26th, 2009 ob 9:24 am
Criptus, na vrhu teh komentarjev poišči besedilo: "Datoteke:". Prva datoteka pod tem je prava.
June 26th, 2009 ob 8:46 pm
Hvala. Sem iskal čist spodaj...
Vse je relativno
Hvala.