Puisque plusieurs éléments doivent être correctement configurés pour que la localisation d'un site WordPress fonctionne, voici une liste de vérification qui pourrait vous être précieuse.
-
Est-ce que le site Web utilise le bon code de localisation ? Rappel : le code de localisation est constitué de deux lettres minuscule pour la langue, d'un caractère de soulignement puis de deux lettres majuscules pour la culture. Le nom des fichiers .mo utilisés par le site doivent comprendre ce même code de localisation (ex : fr_FR.mo)
- Est-ce que mon thème contient un fichier fr_FR.po ET un fichier fr_FR.mo ? Est-ce que le fr_FR.mo a bel et bien été obtenu par la compilation du fr_FR.po ? Rappelez-vous que si vous renommez un fichier .mo, cela ne fonctionnera pas.
- Est-ce que les fichiers de localisation dans wp-content/languages se terminent tous par fr_FR.po ou fr_FR.mo ?
- Est-ce que les fichiers .php utilisent les fonctions __() ou _e() alentour des expressions à localiser ?
- Est-ce que la fonction load_theme_textdomain() (pour un thème) ou load_plugin_textdomain() (pour une extension) est appelée par un des fichiers de votre thème ou de votre extension ?
-
Est-ce que le domaine de localisation utilisé lors de l'appel aux fonctions __() et _e() est le même que celui utilisé dans load_theme_textdomain() ou load_plugin_textdomain() ?
Ex :
PHP<h3><?php _e( 'Tags', 'mon-domaine-de-localisation' ); ?></h3>
PHPload_theme_textdomain( 'mon-domaine-de-localisation', TEMPLATEPATH . '/languages' );
-
Est-ce que les fichiers de localisation sont placés à l'endroit attendu ?
Ex : Lors de l'internationalisation d'un thème utilisant l'instruction suivante, les fichiers de localisation devront être placés dans le dossier languages du thème :
PHPload_theme_textdomain( 'mon-domaine-de-localisation', TEMPLATEPATH . '/languages' );
Si c'est une extension qui doit être localisée et qu'elle utilise l'instruction suivante, les fichiers .mo devront être placés dans le dossier langs situé sous le dossier de l'extension.
PHPload_plugin_textdomain( 'mon-domaine-de-localisation', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
Pour plus d'information
« Loading MO files ». Loco. https://localise.biz/help/wordpress/loading-translations