Miért nem jelennek meg a fordításaid a WordPressben? (Hibaelhárítási útmutató)

Nincs annál frusztrálóbb a WordPress fejlesztésben, mint a "Csendes Hiba."
Mindet jól csináltál. Lefordítottad a .po fájlt. .mo fájllá alakítottad. Feltöltötted a szerverre FTP-n keresztül. Törölted a gyorsítótárat.
Frissíted az oldalt, és azt várod, hogy spanyolt, franciát vagy németet láss. Helyette... angolt látsz.
Nincs hibaüzenet, nincs fehér képernyő – csak makacs, lefordítatlan szöveg. Mielőtt a hajadat tépnéd, olvasd el ezt az útmutatót. Íme az 5 leggyakoribb ok, amiért a fordítások nem töltődnek be a WordPressben, és hogy hogyan javíthatod ki őket.
1. Rosszul nevezed el a fájlt
A WordPress hihetetlenül szigorú a fájlnevezéssel kapcsolatban. Ha egy karaktert elvétesz, nem fogja betölteni a fájlt.
A standard formátum: {text-domain}-{locale}.mo
- A Text Domain (Szövegtartomány): Ez a téma vagy bővítmény egyedi azonosítója (pl.
woocommerce,twentytwentyfour,my-custom-plugin). - A Locale (Területi beállítás): A WP területi kódja (pl.
es_ESa spanyolországi spanyolhoz,fr_FRa francia nyelvhez).
Gyakori hibák:
- Csak
es_ES.monéven nevezed el a fájlt (Ez csak a globális WordPress core fájloknál működik, a bővítményeknél nem). - Rossz kötőjelet használsz:
my_plugin_es_ES.mo(Aláhúzás) amy-plugin-es_ES.mo(Kötőjel) helyett. - Találgatod a szövegtartományt. Ellenőrizned kell a bővítmény kódját (
style.cssfejléc vagyload_plugin_textdomainfüggvény), hogy megtaláld a pontos slug-ot.
2. Rossz mappába teszed a fájlt
A fájl feltöltési helye ugyanolyan fontos, mint a neve. A WordPress meghatározott könyvtárakban keres, meghatározott sorrendben.
- A "Biztonságos" Rendszermappa:
/wp-content/languages/plugins/vagy/wp-content/languages/themes/.- Előnyök: Ez biztonságos a bővítményfrissítésekkel szemben.
- Hátrányok: A fájlt
textdomain-locale.monéven kell elnevezned.
- A Szerző Mappája:
/wp-content/plugins/plugin-name/languages/.- Előnyök: Könnyen megtalálható.
- Hátrányok: VESZÉLY. Amikor frissíted a bővítményt, ez a mappa teljesen törlődik. A fordításaid eltűnnek.
Legjobb gyakorlat: Mindig a globális /wp-content/languages/ könyvtárba tedd az egyéni .mo fájljaidat, hogy elkerüld az adatvesztést a frissítések során.
3. A "Csendes Gyilkos": Hibás szintaxis a .po fájlban
Ezt a problémát a legnehezebb kijavítani, és gyakran előfordul általános AI fordítóeszközökkel.
A WordPress bináris .mo fájlokat olvas, amelyek .po szöveges fájlokból vannak fordítva. Ha a .po fájlod szintaktikai hibákat tartalmaz, a .mo fájl generálódhat, de belsőleg "törött" lesz.
Hogyan fordul ez elő? Ha egy fordító (emberi vagy AI) elrontja a Gettext formázást, a szöveg érvénytelenné válik.
- Példa: Hiányzó záró idézőjel
". - Példa: Egy változó törése (a
%smegváltoztatása% s-re). - Példa: A
msgid_pluralszám elrontása.
Amikor a WordPress egy hibás bejegyzéssel találkozik a .mo fájlban, gyakran átugorja azt, vagy teljesen leáll a fájl olvasásával, és visszaáll az eredeti angol nyelvre.
4. Elfelejtetted lefordítani (.po vs .mo)
A WordPress nem tudja közvetlenül olvasni a .po fájlokat. Ez egy gyakori tévhit.
.po= Ember által olvasható (Portable Object)..mo= Gép által olvasható (Machine Object).
Ha feltöltesz egy my-theme-es_ES.po fájlt, de elfelejted generálni a hozzá tartozó .mo fájlt, semmi sem fog történni. Le kell fordítanod.
5. Gyorsítótárazás (A Szokásos Gyanúsított)
Ha gyorsítótár bővítményeket (WP Rocket, LiteSpeed) vagy szerveroldali gyorsítótárazást (Varnish, Redis) használsz, az oldalad a fordítás feltöltése előtti gyorsítótárazott HTML verziót szolgálhatja ki.
Javítás: töröld az összes gyorsítótárat, beleértve a böngésző gyorsítótárát és az objektum gyorsítótárát is.
A Végső Javítás: Kezdettől Fogva Érvényes Fájlok
A fájlútvonalak és nevek hibaelhárítása egyszerű. A hibás szintaxis hibaelhárítása (3. ok) rémálom.
Ha olyan eszközt használsz, amely eltöri a kódváltozóidat vagy megrongálja a Gettext struktúrát, órákat fogsz azzal tölteni, hogy azon tűnődsz, miért nem működik a fájl, anélkül, hogy rájönnél, hogy maga a fájl "megmérgezett".
Ezért hoztuk létre a SimplePoTranslate-et.
- Szintaxis Zárolás: Biztosítjuk, hogy minden egyes szöveg szintaktikailag érvényes legyen, mielőtt letöltenéd. Zároljuk a változókat, mint a
%s, hogy ne lehessen őket eltörni. - Tökéletes Formázás: Tiszta, szabványos
.pofájlokat generálunk, amelyek 100%-ban működő.mofájlokká fordítódnak. - Nincs szükség bővítményekre: Letöltöd a fájlt, és tudod, hogy működik. Csak a megfelelő mappába kell feltöltened.
- WordPress Bővítmény: Inkább kihagynád a manuális feltöltést? A hivatalos SimplePoTranslate WordPress bővítményünk automatikusan felismeri a téma és a bővítmény
.potfájljait, lefordítja őket a felhőben, és a megfelelő könyvtárba, a megfelelő fájlnévvel telepíti az eredményt. Nincs több rosszul elnevezett fájl, nincs több helytelen mappaútvonal – a két leggyakoribb ok, amiért a fordítások nem jelennek meg.
Ne találgass tovább, miért láthatatlanok a fordításaid. Kezdj egy olyan fájllal, amelyben megbízhatsz.
Készen állsz a fejfájás nélküli fordításra? Kezdd el ingyen a SimplePoTranslate.com oldalon!