Documentatie · Technische documentatie
Internationalisering en Poedit
Dit document legt uit hoe de ADP Car Market Hub-plugin omgaat met vertalingen, waar de taalbestanden zich bevinden en hoe u vertalingen kunt bijwerken of toevoegen met behulp van Poedit (of een andere compatibele gettext-editor).
Wanneer u dit document moet gebruiken
Lees dit document als u:
- De plugin wilt vertalen naar een nieuwe taal.
- Een bestaande vertaling wilt bijwerken nadat de plugin is geüpgraded.
- Wilt controleren welke locales zijn meegeleverd en hoe ze worden geladen.
- Problemen wilt diagnosticeren met strings die onvertaald blijven in het beheergedeelte of op de frontend.
Overzicht
De plugin maakt gebruik van de standaard WordPress-internationaliseringsmechanismen (i18n):
- Alle vertaalbare strings zijn verpakt in gettext-functies (
__(),_e(),_n(),_x(), enz.) met het text domainadp-car-market-hub. - Vertalingen worden geladen uit de map
languages/van de plugin viaload_plugin_textdomain()opplugins_loadedmet prioriteit1, voordat er voor de gebruiker zichtbare strings worden gerenderd. - Er wordt een POT-sjabloon (
adp-car-market-hub.pot) met de plugin meegeleverd die kan worden geopend of opnieuw gegenereerd met Poedit of WP-CLI.
Het text domain komt overeen met de slug van de pluginmap (adp-car-market-hub), zodat vertalingen uit toolchains in de stijl van translate.wordpress.org automatisch worden herkend wanneer ze op de standaardlocaties worden geplaatst.
Bestanden in languages/
De meegeleverde map languages/ bevat:
adp-car-market-hub.pot— vertaalsjabloon gegenereerd door WP-CLI'si18n make-pot(zichtbaar in de POT-header).adp-car-market-hub-de_DE.po— Duits (Duitsland).adp-car-market-hub-de_DE_formal.po/adp-car-market-hub-de_DE_formal.mo— Duits (formeel).adp-car-market-hub-de_AT.po— Duits (Oostenrijk).adp-car-market-hub-de_CH.po— Duits (Zwitserland).adp-car-market-hub-fr_FR.po— Frans (Frankrijk).adp-car-market-hub-it_IT.po— Italiaans (Italië).
Controleer de exacte lijst met .po- en .mo-bestanden in de huidige plugin-versie voordat u klantgerichte teksten publiceert. WordPress laadt het .mo-bestand dat overeenkomt met de actieve site-locale; alleen .po-bestanden zijn niet voldoende tijdens runtime.
Vereisten of randvoorwaarden
- Een gettext-editor — Poedit is de aanbevolen GUI-tool. De gratis editie is voldoende.
- Optioneel: WP-CLI met het commando
i18n, gebruikt om het POT-bestand opnieuw te genereren vanuit de broncode. - Schrijftoegang tot de map
languages/van de plugin (of een overschrijflocatie, zie hieronder).
Stapsgewijze instructies
Vertalen naar een nieuwe locale
- Open Poedit en kies Bestand → Nieuw van POT/PO-bestand....
- Selecteer
languages/adp-car-market-hub.pot. - Kies de doellocale. Sla het bestand op als
adp-car-market-hub-<locale>.poin dezelfde maplanguages/, waarbij<locale>de WordPress-localecode is (bijvoorbeeldes_ES,nl_NL). - Vertaal de strings in de editor.
- Sla het bestand op. Poedit schrijft automatisch een bijbehorend
.mo-bestand naast het.po-bestand. - Stel de WordPress-sitetaal in op uw nieuwe locale en herlaad de beheer- en frontend-pagina's om de vertalingen te controleren.
Een bestaande vertaling bijwerken na een plugin-upgrade
- Open het bestaande
.po-bestand in Poedit. - Kies Catalogus → Bijwerken van POT-bestand... en selecteer de nieuwe
adp-car-market-hub.pot. - Vertaal eventuele nieuwe of gewijzigde strings (Poedit markeert deze als onvertaald of 'fuzzy').
- Sla het bestand op. Het
.mo-bestand wordt automatisch opnieuw gegenereerd.
De POT-sjabloon opnieuw genereren vanuit de broncode (optioneel)
Als u de broncode van de plugin beheert en de POT zelf wilt vernieuwen, kunt u dit doen met WP-CLI:
wp i18n make-pot . languages/adp-car-market-hub.pot --domain=adp-car-market-hub
Voer dit uit vanuit de hoofdmap van de plugin. De bestandskop registreert de WP-CLI-versie die het bestand heeft gegenereerd.
Vertalingen van buiten de pluginmap gebruiken
WordPress zoekt ook naar vertalingen in wp-content/languages/plugins/adp-car-market-hub-<locale>.mo.
Plaats daar een aangepast .mo-bestand als u wilt dat vertalingen behouden blijven bij plugin-upgrades die languages/ overschrijven.
Operationele opmerkingen
- Het text domain wordt geladen met prioriteit
plugins_loadedop1, wat bewust is ingesteld vóór de uitvoering van de hoofd-init()-callback van de plugin op de standaardprioriteit. Dit zorgt ervoor dat elke vertaalbare string die later wordt geregistreerd, al toegang heeft tot het geladen.mo-bestand. - Sla het
.po-bestand altijd opnieuw op met Poedit (of compileer het.mo-bestand metmsgfmt) na het bewerken — WordPress leest het binaire.mo-bestand tijdens runtime, niet het tekstuele.po-bestand. - Localecodes zijn hoofdlettergevoelig op hoofdlettergevoelige bestandssystemen. Gebruik de exacte WordPress-locale-id.
- Vertalingsupdates mogen geen bronbestanden wijzigen; deze documentatietaak sluit deze expliciet uit.
- Sommige strings (bijvoorbeeld model-id's van providers in de AI Assistant of technische optielabels) worden bewust in het Engels gelaten. Vertaal de voor de gebruiker zichtbare teksten en laat id's ongewijzigd.
Problemen oplossen
- Een string verschijnt nog steeds in het Engels — controleer of er een
.mo-bestand voor de actieve locale bestaat inlanguages/(of inwp-content/languages/plugins/), of het bestand overeenkomt met het text domain van de plugin (adp-car-market-hub) en of uw WordPress-sitetaal correct is ingesteld. - Een nieuwe vertaling wordt pas geladen nadat de cache is geleegd — sommige object-cache-plugins cachen vertalingen. Leeg de WordPress-object-cache na het implementeren van nieuwe
.mo-bestanden. - Poedit toont veel 'fuzzy' strings na een update — dit is te verwachten wanneer de brontekst verandert. Loop elke 'fuzzy' invoer na, corrigeer de vertaling en vink 'fuzzy' uit.
- Aangepaste vertalingen worden overschreven door plugin-updates — bewaar aangepaste vertalingen in
wp-content/languages/plugins/in plaats van in de maplanguages/van de plugin.