Formation PUB020 : WordPress, 2023 Localisation d'un site WordPress

21.7 Si aucune chaîne localisée n'est affichée...


Puisque plusieurs éléments doivent être correctement configurés pour que l'internationalisation fonctionne, voici une liste de vérification qui pourrait vous aider :

  • Est-ce que 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 (ex : fr_CA)?

  • Si le fichier de localisation est placé dans le dossier wp-content/languages/themes, est-ce que son nom est sous la forme mon-domaine-de-localisation-fr_CA.mo
  • Toujours dans le cas où le fichier de localisation est placé dans le dossier wp-content/languages/themes, est-ce que le domaine de localisation utilisé dans le nom du fichier correspond au domaine de localisation spécifié dans l'en-tête du fichier style.css?
  • Si le fichier de localisation est placé dans le dossier wp-content/themes/nomdutheme/languages, est-ce que son nom est exactement le code de localisation (ex : fr_CA.mo)?
  • Est-ce que le .mo a été obtenu par la compilation du .po? Rappelez-vous que si vous renommez un fichier .mo, cela ne fonctionnera pas.
  • 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? Notez que ceci n'est pas nécessaire si le fichier de localisation est sous la forme wp-content/languages/themes/mon-domaine-de-localisation-fr_CA.mo.
  • Si vous avez fait appel à load_theme_textdomain() ou load_plugin_textdomain(), 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()?

    PHP

    load_theme_textdomain( 'mon-domaine-de-localisation', get_stylesheet_directory() . '/languages' );

    ...

    <h3><?php _e( 'Tags', 'mon-domaine-de-localisation' ); ?></h3>

  • Dans le cas où load_theme_textdomain() n'est pas utilisé, est-ce que le domaine utilisé est le même que le début du nom du fichier (ex : mon-domaine-de-localisation-fr_CA.mo)?
  • Est-ce que les fichiers de localisation sont placés à l'endroit attendu?

    Ex : Lors de l'internationalisation d'un thème qui utilise l'instruction suivante, les fichiers de localisation devront être placés dans le dossier languages du thème enfant :

    PHP

    load_theme_textdomain( 'mon-domaine-de-localisation', get_stylesheet_directory() . '/languages' );

    Si c'est une extension qui doit être localisée et qu'elle utilise l'instruction suivante, les fichiers de localisation devront être placés dans le dossier languages situé sous le dossier de l'extension.

    PHP

    load_plugin_textdomain( 'mon-domaine-de-localisation', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );

 

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre