WordPress

Traduire son plugin

Avec la version gratuite de Poedit

1 Créer un nouveau catalogue avec poedit

. 1 Tout d'abord installer Poedit Site officiel de Poedit, en suivant les instructions
. 2 Choisir un nom de Text Domain, par exemple myplugin, il est important pour déterminer les bons fichiers de traduction.
. 3 Dans le dossier de votre plugin, ajouter un dossier languages

    wp-content
            |--- plugins
            |       |--- my-plugin
            |       |       |--- languages

. 4 Lancer Poedit et faire fichier > nouveau catalogue et entrer le plus précisément possible les paramètres pour les 3 onglets

  1. Préférez le UTF-8 biensûr.
  2. Pour le pluriel utilisez nplurals=2; plural=(n > 1); (voir I18n for WordPress Developers - Plurals)
  3. Indiquez bien le chemin du répertoire/fichier à traduire. Si Poedit ne le trouve pas, le bouton mettre à jour reste désactivé.
  4. Indiquez l'ensemble des fonctions de traduction que vous utilisez.I18n for WordPress Developers )


Les paramètres peuvent être modifier à tout moment avec Catalogue > Préférences (Alt + Enter)

. 5 Enregistrez votre catalogue dans le dossier languages sous le nom myplugin-default.po. Un fichier myplugin-default.mo est automatiquement créé. Vous pouvez aussi le sauvegarder tout de suite sous le nom myplugin-fr_FR.pomyplugin est mon nom de “text Domain”.

2 Insérer les fonctions de traductions dans les fichiers php

Je n'ai pas encore essayé toutes ces fonctions

Dans vos fichiers php, remplacez les textes à traduire par exemple à la place de “Custom Menu Title”,
on écrira _( 'Custom Menu Title', 'myplugin' )myplugin est le nom de mon “text domain”.

add_menu_page(  __( 'Custom Menu Title', 'myplugin' ),
                __( 'Custom Menu Title', 'myplugin' ), 
                'manage_options' ,'myplugin-menu',
                'a_function',
                 '' ,
                 50);

3 Traduire avec poedit

Dans Poedit, faire “Mettre à jour”, Poedit charge alors tous les textes à traduire. Il ne reste plus qu'à traduire chaque ligne.
(ici text domain == maposm):  Traduction avec Poedit

Faire attention avec les caractères spéciaux, comme les caractères accentués, il faut les remplacer par leur code HTML comme é pour é

4 Charger la traduction de votre plugin

Indiquer au chargement du plugin, l'adresse des fichiers de traduction

 add_action( 'init', 'myplugin_load_textdomain' );
 
function myplugin_load_textdomain(){
    load_plugin_textdomain( 'myplugin', false, basename(dirname(__FILE__)) . '/languages' );
}


Elisabeth Pointal 22/04/2016 18:04