Als je een WordPress plugin maakt – voor jezelf, een klant of om in de WordPress Repository op te nemen – dan is het wel zo handig om deze beschikbaar te maken in meerdere talen. Of in ieder geval andere gebruikers de gelegenheid te geven om jouw plugin makkelijk te gebruiken in hun eigen taal.

De manier van vertalen is hetzelfde als bij WordPress themes, het enige verschil is de manier waarop je WordPress laat weten dat er vertaalmogelijkheden zijn en waar het bestand staat. Dit doe je met load_plugin_textdomain:

load_plugin_textdomain( $domain, $abs_rel_path, $plugin_rel_path )

Uitleg functie

  • $domain – een unieke identifier, bijvoorbeeld de mapnaam van je plugin (ie. mijn_plugin)
  • $abs_rel_path – het relatieve pad (vanaf ABSPATH bekeken) naar de map waar het taalbestand in zit – werkt tot WP2.7
  • $plugin_rel_path – het relatieve pad (vanaf WP_PLUGIN_DIR, de map waar alle plugins in staan). Deze dient vanaf WP2.7 gebruikt te worden.

Een voorbeeld van de toepassing:

load_plugin_textdomain( 'my_plugin_domain', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' )

Onderstaande code heeft de mapnaam van het huidige bestand als output en daarom wordt deze gebruikt als opgaaf voor de $plugin_rel_path.

dirname( plugin_basename( __FILE__ ) ) 

Het vertalen

Het vertalen zelf doe je met een programma als Poedit.

Vertaalbestand

Het vertaalbestand moet als volgt genoemd worden: $domain-{langcode}.mo, wat bijvoorbeeld uitkomt op het volgende: mijn_plugin-nl_NL.mo.

Bij $domain gebruik je dus dezelfde unieke identifier als dat je hebt gebruikt om de te vertalen strings mee op te geven (en die je opgeeft in de load_plugin_textdomain functie).

Deel Tweet Deel Deel

WooCommerce

Leave a Reply

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

Skip to content