Waarom Je Vertalingen Niet Verschijnen in WordPress (Gids voor Probleemoplossing)

Er is niets frustrerender in WordPress-ontwikkeling dan de "Stille Fout".
Je hebt alles goed gedaan. Je hebt het .po-bestand vertaald. Je hebt het gecompileerd naar een .mo-bestand. Je hebt het via FTP naar je server geüpload. Je hebt je cache geleegd.
Je ververst de pagina, in de verwachting Spaans, Frans of Duits te zien. In plaats daarvan zie je... Engels.
Geen foutmelding, geen wit scherm—alleen hardnekkige, onvertaalde tekst. Lees deze gids voordat je je haar uit je hoofd trekt. Hier zijn de 5 meest voorkomende redenen waarom vertalingen niet laden in WordPress en hoe je ze kunt oplossen.
1. Je Noemt Het Bestand Verkeerd
WordPress is ongelooflijk streng over bestandsnamen. Als je een teken mist, wordt het bestand niet geladen.
De standaardindeling is: {text-domain}-{locale}.mo
- Het Tekstdomein: Dit is de unieke ID van het thema of de plugin (bijv.
woocommerce,twentytwentyfour,my-custom-plugin). - De Locale: De WP-locale code (bijv.
es_ESvoor Spaans Spanje,fr_FRvoor Frans).
Veelgemaakte Fouten:
- Het bestand alleen
es_ES.monoemen (Dit werkt alleen voor globale WordPress core bestanden, niet voor plugins). - De verkeerde streep gebruiken:
my_plugin_es_ES.mo(Onderstrepingsteken) in plaats vanmy-plugin-es_ES.mo(Koppelstreepje). - Het tekstdomein raden. Je moet de code van de plugin controleren (
style.cssheader ofload_plugin_textdomainfunctie) om de exacte slug te vinden.
2. Je Plaatst Het Bestand in De Verkeerde Map
Waar je het bestand uploadt, is net zo belangrijk als hoe je het noemt. WordPress zoekt in specifieke directory's in een specifieke volgorde.
- De "Veilige" Systeemmap:
/wp-content/languages/plugins/of/wp-content/languages/themes/.- Voordelen: Dit is veilig voor plugin-updates.
- Nadelen: Je moet het bestand
textdomain-locale.monoemen.
- De Auteursmap:
/wp-content/plugins/plugin-name/languages/.- Voordelen: Makkelijk te vinden.
- Nadelen: GEVAAR. Wanneer je de plugin bijwerkt, wordt deze map volledig leeg gemaakt. Je vertalingen zullen verdwijnen.
Best Practice: Plaats je aangepaste .mo-bestanden altijd in de globale /wp-content/languages/ directory om gegevensverlies tijdens updates te voorkomen.
3. De "Stille Doder": Corrupte Syntax in Het .po Bestand
Dit is het moeilijkste probleem om op te sporen, en het gebeurt vaak met generieke AI-vertaaltools.
WordPress leest binaire .mo-bestanden, die zijn gecompileerd vanuit .po-tekstbestanden. Als je .po-bestand syntaxisfouten bevat, kan het .mo-bestand worden gegenereerd, maar het zal intern "gebroken" zijn.
Hoe gebeurt dit? Als een vertaler (mens of AI) de Gettext-formattering verprutst, wordt de string ongeldig.
- Voorbeeld: Een sluitend aanhalingsteken
"ontbreekt. - Voorbeeld: Een variabele breken (het wijzigen van
%sin% s). - Voorbeeld: De
msgid_pluraltelling verprutsen.
Wanneer WordPress een kapotte vermelding in het .mo-bestand tegenkomt, slaat het deze vaak over of stopt het met het lezen van het bestand volledig, waardoor het terugkeert naar het originele Engels.
4. Je Bent Vergeten Te Compileren (.po vs .mo)
WordPress kan .po-bestanden niet rechtstreeks lezen. Het is een veel voorkomende misvatting.
.po= Leesbaar door mensen (Portable Object)..mo= Leesbaar door machines (Machine Object).
Als je een my-theme-es_ES.po-bestand uploadt, maar vergeet het bijbehorende .mo-bestand te genereren, gebeurt er niets. Je moet het compileren.
5. Caching (De Gebruikelijke Verdachte)
Als je caching-plugins gebruikt (WP Rocket, LiteSpeed) of server-side caching (Varnish, Redis), kan je site een gecachte HTML-versie serveren van voordat je de vertaling hebt geüpload.
Oplossing: wis alle caches, inclusief je browsercache en objectcache.
De Ultieme Oplossing: Geldige Bestanden Vanaf Het Begin
Het oplossen van problemen met bestandspaden en -namen is eenvoudig. Het oplossen van problemen met corrupte syntax (Reden #3) is een nachtmerrie.
Als je een tool gebruikt die je codevariabelen breekt of de Gettext-structuur beschadigt, zul je urenlang afvragen waarom het bestand niet werkt, zonder je te realiseren dat het bestand zelf "vergiftigd" is.
Dit is waarom we SimplePoTranslate hebben gebouwd.
- Syntax Locking: We zorgen ervoor dat elke string syntactisch geldig is voordat je deze downloadt. We vergrendelen variabelen zoals
%szodat ze niet kunnen worden gebroken. - Perfecte Formattering: We genereren schone, standaard
.po-bestanden die 100% van de tijd compileren naar werkende.mo-bestanden. - Geen Plugins Vereist: Je downloadt het bestand en je weet dat het werkt. Je hoeft het alleen maar naar de juiste map te uploaden.
- WordPress Plugin: Wil je het handmatig uploaden liever helemaal overslaan? Onze officiële SimplePoTranslate WordPress plugin detecteert automatisch je thema- en plugin
.pot-bestanden, vertaalt ze in de cloud en implementeert het resultaat in de juiste directory met de juiste bestandsnaam. Geen verkeerd benoemde bestanden meer, geen verkeerde mappaden — de twee meest voorkomende redenen waarom vertalingen niet verschijnen.
Stop met raden waarom je vertalingen onzichtbaar zijn. Begin met een bestand dat je kunt vertrouwen.
Klaar om te vertalen zonder de hoofdpijn? Begin gratis op SimplePoTranslate.com