WordPress plugin name en description vertalen + tip

Ik was bezig met het ontwikkelen van een nieuwe plugin voor WordPress. Deze komt beschikbaar in het Engels en wordt vertaald naar het Nederlands.

Om de plugin volledig in het Nederlands te tonen zou ik ook graag de plugin name en description willen vertalen in de header informatie. Deze staat bovenin het eerste PHP bestand van jouw plugin dat door WordPress wordt ingeladen.

De plugin name en description wordt getoond in het overzicht van plugins in WordPress, ongeacht of de plugin in- of uitgeschakeld is.

Voorbeeld:

/**
 * Plugin Name: naam
 * Plugin URI: https://www.timdehoog.nl
 * Description: beschrijving
 * Version: 0.0.1
 * Author: Timdehoog.nl
 * License: GPvL2
*/

Ondersteuning voor vertalingen toevoegen:

In bovenstaande header informatie ontbreekt de waarde “Text Domain:”. Hiermee kan je aangeven hoe jouw vertalingen heten. Je mag hier alles invullen, maar de naam van jouw plugin wordt geadviseerd.

/**
 * Plugin Name: Mijn plugin naam
 * Plugin URI: https://www.timdehoog.nl
 * Description: beschrijving
 * Version: 0.0.1
 * Author: Timdehoog.nl
 * License: GPvL2
 * Text Domain: timdehoog
*/

Teksten vertalen:

Ik ga ervan uit dat je al bekend bent met de PHP vertaalfuncties van WordPress en hoe je een vertaalbestand moet inladen met load_text_domain();. De bekendste vertaalfunctie is __();. Is er geen vertaling dat wordt de originele tekst getoond.

Voorbeeld:

echo __('Translate this to dutch', 'timdehoog');

Header informatie vertalen:

Deze informatie staat in PHP documentatie geschreven en wordt dus niet uitgevoerd. Je kan dus __(); niet gebruiken in de header informatie om Engelse teksten naar Nederlands te vertalen.

Toch biedt WordPress hier ondersteuning voor. De belangrijkste eis is dat de teksten vertaald zijn in jouw .po en .mo bestanden. Maar die worden gevoed op basis van een .POT bestand of door een vertaalprogramma, zoals PoeEdit, de PHP code te laten scannen.

Stap 1:

Zorg ervoor dat de teksten die je wilt vertalen in de functie __(); worden gebruikt. Je hoeft het resultaat niet op het scherm te tonen.

Ik zelf plaats de vertalingen in de PHP functie die ook mijn vertaalbestand inlaad. Zo houd ik het overzichtelijk. Dit is puur om de vertaalbestanden te voorzien.

Deze stap hoef je niet te doen als de teksten al vertaald zijn.

Stap 2:

Om ervoor te zorgen dat WordPress ook de header informatie vertaald moet je deze uitbreiden met de optie “domain path”. Hiermee zorg je ervoor dat de plugin ook vertaald wordt als deze uitgeschakeld is.

De waarde die je opgeeft moet de map met vertaalbestanden zijn in jouw plugin map. In de meeste gevallen is dit “/languages/” of “/lang/”.

/**
 * Plugin Name: Mijn plugin naam
 * Plugin URI: https://www.timdehoog.nl
 * Description: beschrijving
 * Version: 0.0.1
 * Author: Timdehoog.nl
 * License: GPvL2
 * Text Domain: timdehoog
 * Domain Path: /languages/
*/

Stap 3:

Upload jouw wijzigingen en controleer of de vertalingen goed getoond worden. Schakel de plugin ook uit om te zien of de vertalingen dan nog steeds zichtbaar zijn.

Tip – mijn vertalingen werken niet

Tijdens het ontwikkelen van de plugin kwam ik erachter dat mijn vertalingen niet werden ingeladen terwijl ik toch alles juist had gedaan.

De oplossing is om de plugin te verwijderen en opnieuw te installeren. Het lijkt erop dat WordPress vertalingen op een bepaalde manier cached.

Laat een reactie achter

Your email address will not be published. Required fields are marked *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.