Waarom uw vertalingen niet verschijnen in WordPress (Probleemoplossingsgids)
Er is niets frustrerender in WordPress-ontwikkeling dan de "Stille Mislukking".
U deed alles goed. U vertaalde het .po-bestand. U compileerde het naar een .mo-bestand. U uploadde het naar uw server via FTP. U leegde uw cache.
U ververst de pagina, verwachtend Spaans, Frans of Duits te zien. In plaats daarvan ziet u... Engels.
Geen foutmelding, geen wit scherm - gewoon hardnekkige, onvertaalde tekst. Voordat u uw haren uitrukt, lees deze gids. Hier zijn de 5 meest voorkomende redenen waarom vertalingen niet laden in WordPress en hoe u ze kunt oplossen.
1. U Benoemt het Bestand Verkeerd
WordPress is ongelooflijk strikt wat betreft bestandsbenaming. Als u een teken mist, laadt het het bestand niet.
Het standaardformaat is: {tekst-domein}-{locale}.mo
- Het Tekstdomein (Text Domain): Dit is de unieke ID van het thema of de plug-in (bijv.
woocommerce,twentytwentyfour,my-custom-plugin). - De Locale: De WP locale code (bijv.
es_ESvoor Spanje Spaans,fr_FRvoor Frans).
Veelgemaakte Fouten:
- Het bestand alleen
es_ES.monoemen (Dit werkt alleen voor globale WordPress kernbestanden, niet voor plug-ins). - Het verkeerde streepje gebruiken:
my_plugin_es_ES.mo(Laag streepje) in plaats vanmy-plugin-es_ES.mo(Koppelteken). - Het tekstdomein raden. U moet de code van de plug-in controleren (
style.cssheader ofload_plugin_textdomainfunctie) om de exacte slug te vinden.
2. U Zet het Bestand in de Verkeerde Map
Waar u het bestand uploadt doet er net zoveel toe als hoe u het noemt. WordPress zoekt op specifieke locaties in een specifieke volgorde.
- De "Veilige" Systeemmap:
/wp-content/languages/plugins/of/wp-content/languages/themes/.- Voordelen: Dit is veilig voor plug-in updates.
- Nadelen: U moet het bestand
textdomain-locale.monoemen.
- De Auteursmap:
/wp-content/plugins/plugin-name/languages/.- Voordelen: Makkelijk te vinden.
- Nadelen: GEVAAR. Wanneer u de plug-in bijwerkt, wordt deze map schoongeveegd. Uw vertalingen zullen verdwijnen.
Beste Praktijk: Zet uw aangepaste .mo-bestanden altijd in de globale /wp-content/languages/-map om gegevensverlies tijdens updates te voorkomen.
3. De "Stille Moordenaar": Corrupte Syntaxis in het .po-bestand
Dit is het moeilijkste probleem om te debuggen, en het gebeurt vaak met generieke AI-vertaaltools.
WordPress leest binaire .mo-bestanden, die zijn gecompileerd uit .po-tekstbestanden. Als uw .po-bestand syntaxisfouten bevat, kan het .mo-bestand worden gegenereerd, maar het zal intern "kapot" zijn.
Hoe gebeurt dit? Als een vertaler (mens of AI) de Gettext-opmaak verprutst, wordt de string ongeldig.
- Voorbeeld: Een ontbrekend afsluitend aanhalingsteken
". - Voorbeeld: Een variabele breken (%s veranderen in % s).
- Voorbeeld: De
msgid_pluraltelling verprutsen.
Wanneer WordPress een kapotte invoer in het .mo-bestand tegenkomt, slaat het deze vaak over of stopt het volledig met lezen van het bestand, terugvallend op het originele Engels.
4. U Vergadert te Compileren (.po vs .mo)
WordPress kan .po-bestanden niet direct lezen. Het is een veel voorkomende misvatting.
.po= Leesbaar voor mensen (Portable Object)..mo= Leesbaar voor machines (Machine Object).
Als u een my-theme-es_ES.po bestand uploadt maar vergeet het bijbehorende .mo bestand te genereren, gebeurt er niets. U moet het compileren.
5. Caching (De Gebruikelijke Verdachte)
Als u caching plug-ins (WP Rocket, LiteSpeed) of server-side caching (Varnish, Redis) gebruikt, serveert uw site mogelijk een gecachete HTML-versie van voordat u de vertaling uploadde.
Oplossing: wis alle caches, inclusief uw browsercache en objectcache.
De Ultieme Oplossing: Geldige Bestanden vanaf het Begin
Problemen met bestandspaden en namen oplossen is eenvoudig. Problemen met corrupte syntaxis oplossen (Reden #3) is een nachtmerrie.
Als u een tool gebruikt die uw codevariabelen breekt of de Gettext-structuur corrumpeert, zult u uren doorbrengen met u af te vragen waarom het bestand niet werkt, zonder te beseffen dat het bestand zelf "vergiftigd" is.
Dit is waarom we SimplePoTranslate hebben gebouwd.
- Syntaxis Vergrendeling: We zorgen ervoor dat elke afzonderlijke string syntactisch geldig is voordat u deze downloadt. We vergrendelen variabelen zoals
%szodat ze niet kunnen worden gebroken. - Perfecte Opmaak: We genereren schone, standaard
.po-bestanden die 100% van de tijd compileren naar werkende.mo-bestanden. - Geen Plug-ins Nodig: U downloadt het bestand, en u weet dat het werkt. U hoeft het alleen maar naar de juiste map te uploaden.
Stop met raden waarom uw vertalingen onzichtbaar zijn. Begin met een bestand dat u kunt vertrouwen.
Klaar om te vertalen zonder hoofdpijn? Begin gratis op SimplePoTranslate.com