WordPress sablonok/bővítmények fordítása

[Ezt a cikket 8 perc elolvasni.]

Sajnos a legtöbb sablon/bővítmény alapértelmezetten nem tartalmazza a magyar nyelvet, ezért ilyenkor magunknak kell megoldani a fordítást. Ez elsőre egy ijesztő és összetett feladatnak tűnhet, de valójában egyáltalán nem is olyan félelmetes a dolog. Két irányból is meg tudjuk közelíteni a problémát, az egyik a WordPress admin felületén történő fordítás egy bővítmény segítségével, a másik pedig a számítógépen történő kézi fordítás a POEdit program és a forrásfájlok használatával.

Ahogyan szinte minden modern többnyelvű webes felület, úgy a WordPress fordításai is a Gettext rendszerre épülnek, ezért akik dolgoztak már vele azoknak ismerős lesz a folyamat. Itt is “*.POT”, “*.PO” és “*.MO” fájlokkal fogunk dolgozni, ahol a POT a kifejezéseket tartalmazó katalógusfájl, a PO maga a fordítást tartalmazó fájl, míg a MO egy generált bináris adatfájl, amit mi nem fogunk tudni olvasásra megnyitni, ezt maga a weboldal használja majd. Fordítást készíteni az előre generált POT sablonokból vagy egy már elkészített PO fordításból leszünk képesek.

Az egyszerűbb megoldás – Loco Translate

Azoknak ideális ez a megoldás, akik nem szeretnének a forrásfájlok keresgetésével és új programok telepítésével/megismerésével vesződni. Ebben az esetben elegendő csak feltelepíteni a Loco Translate nevű bővítményt a WordPress oldalunk alá és már neki is állhatunk a telepített bővítményeink/sablonjaink fordításának.

A telepítés után rögtön meg is jelenik a bal oldali menüsávban a “Loco Translate” menüpont, innen pedig már magától értetődő a folytatás. A “Themes” almenüpontban a telepített és fordítható sablonjaink listáját találjuk, itt bármelyikre rákattintva már listázza is az elérhető fordításokat és százalékosan jelzi is a készültségi szintet. Bármelyik fordításra rákattintva el is kezdhetjük a munkát (értelemszerűen nekünk a Hungarian fog kelleni). Amennyiben nincs magyar nyelv a listában úgy felül a “New language” gombbal tudjuk azt hozzáadni. A legtöbb esetben erre szükségünk is lesz. A fordítás maga nagyon egyszerű. A plugin felül a “Source text” szekcióban listázza az elérhető kifejezéseket, alul pedig a “Hungarian translation” alatt található szövegdobozba írhatjuk a kiválasztott kifejezés fordítását. A felül látható vastagon szedett kifejezések a még lefordítatlan szövegek, a cél, hogy ezt mind eltüntessük, azaz magyarra fordítsuk. A fordításunk végén ne felejtsünk el rányomni a “Save”, azaz a mentés gombra a munkánk érvényesítéséhez.

Az elv ugyanez a bővítmények fordítása esetén is, csak ehhez a “Plugins” almenüpontot válasszuk ki a “Loco Translate” alatt a menüsávban. A Loco lehetőséget ad még a WordPress fordítások módosítására vagy kiegészítésére is, de erre a legtöbb esetben nincsen szükség, hiszen a magyar fordítócsapat lelkesen dolgozik a WordPress fordítás naprakészen tartásán és aktualizálásán. Amennyiben azonban mégis szeretnénk megváltoztatni valamit a WordPress core fordításában, akkor a “WordPress” almenüpontot keressük.

A Loco Translate egyetlen hátránya, hogy egyes esetekben hiába fordítunk, nem jelenik meg a munkánk gyümölcse, azaz előfordulhat, hogy az eredeti nyelven marad minden a mentés után. Az sem kizárt, hogy egyes kifejezéseket hiába is keresünk, nem fogjuk megtalálni a listában. Ilyenkor lehet érdemes megpróbálni a kézi fordítást, amelynek lépéseit lentebb ismertetem.

Fordítás a POEdit segítségével

Ez az általam preferált módszer csak minimálisan követel több erőfeszítést, mint a Loco Translate, azonban itt sokkal könnyebb kinyomozni az esetleges problémákat és sokkal nagyobb befolyásunk van a fordítás folyamatára is.

Első lépésként töltsük le a POEdit nevű ingyenes kis programot a gépünkre a következő linkről: [link]

Ha sikerült a letöltés és a telepítés, akkor már nincs másra szükségünk, mint a fordítandó bővítmény/sablon kifejezéseit tartalmazó forrásfájlra, aminek a kiterjesztése “*.POT”. Ebből fogunk generálni egy “*.PO” és egy “*.MO” kiterjesztésű, magyar nyelvű fordítást. Ezt a “*.POT” fájlt először a sablon/bővítmény könyvtárában található “languages” mappában keressük. Amennyiben ott nincs ilyen, úgy érdemes lehet megnézni a sablon/bővítmény hivatalos weboldalát, sok esetben ott teszi közzé a fejlesztő a fordításhoz szükséges fájlokat és az esetlegesen már elérhető fordításokat. Ha ott sem járunk sikerrel, akkor sajnos zsákutcába kerültünk, ilyen esetben érdemes lehet még a Loco Translate segítségével megpróbálni generálni egy fordítási “*.POT” sablont a “Create template” link segítségével. A POEdit képes megnyitni a *.PO” fájlokat is, ezek tartalmazzák egy meglévő nyelv fordításait. Esetlegesen ezen is el tudunk indulni, ha szükséges, tehát ebből is tudunk generálni magyar nyelvű fordítást.

Tehát ha van “*.POT” vagy “*.PO” fájlunk, akkor nyissuk meg a POEditet és válasszuk a “Fájl / Új katalógus POT/PO fájl alapján” menüpontot, majd tallózzuk ki a forrásfájlunkat és kattintsunk a megnyitásra. A bejövő ablakban a fordítás nyelve értelemszerűen legyen “magyar (Magyarország)”. Az oké gombra kattintás után indulhat is a fordítás, ami szintén magától értetődő. A fenti listában kiválasztjuk a fordítandó szöveget, majd alul a “Fordítás” alatti mezőbe gépeljük be a magyar megfelelőjét. Ha készen vagyunk, akkor kattintsunk a “Mentés” gombra a menüsoron és már létre is jön a magyar nyelvet tartalmazó “*.PO” és “*.MO” fájl. Azonban itt a legkönnyebb elcsúszni, mivel a fordításkor nem mindegy, hogy milyen nevet adunk meg a fájloknak. A legtöbb esetben ugyanis nem elegendő az alapértelmezett “hu_HU.po” és hu_HU.mo”, hanem a fájlnévnek tartalmaznia kell az úgynevezett “text domain”-t is. Ez minden sablon esetén más, kideríteni a legegyszerűbben úgy lehet, ha megnyitjuk a “wp-content/themes/sablon/style.css” fájlt és megkeressük a tetején a “Text domain” sort.

Az avada esetében ez így néz ki:

Text Domain: Avada

Tehát az elkészült fordításunk neve a következőképpen kell, hogy kinézzen: “textdomain-hu_hu.po”
Avada esetében: “avada-hu_HU.po”

A gond az, hogy előfordul, hogy nem a magától értetődő sablon név a textdomain, hanem a fejlesztők által használt framework, esetleg valami teljesen más kifejezés, ezért minden esetben szükséges, hogy manuálisan ellenőrizzük ezt a style.css fájl megnyitásával.

Amennyiben kész a fordításunk már csak fel kell tölteni a megfelelő helyre, ez pedig sablonok esetében szinte minden esetben a “wp-content/languages/themes” könyvtár. Ide kerüljön a “*.PO” és “*.MO” fájl a megfelelő textdomaint tartalmazó fájlnévvel. Amennyiben nem működne a fordítás, akkor érdemes lehet még megpróbálni feltölteni a fájlokat a “wp-content/themes/sablon/languages” mappába is, mert sajnos egyes fejlesztők továbbra is innen olvastatják be a fordításokat. Ezen kívül, csak hogy ne legyen egyszerű dolgunk, itt néha el kell hagyni a textdomaint, azaz elegendő csak a “hu_HU.po” és “hu_HU.mo”.

Bővítmények fordítása esetén a “wp-content/languages/plugins” könyvtárba másoljuk fel a két fájlt, itt pedig a bővítmény neve legyen a fájlnév, mivel szinte mindig ez a textdomain is. Például: “contact-form-7-hu_HU.po”. A fájlnév természetesen sehol sem tartalmazhat szóközt, ezeket minden esetben kötőjelekkel (-) kell helyettesíteni.

Ha tetszik, mutasd meg másoknak is: