Fichiers de langue Joomla

Chaque fois qu'un texte doit être affiché à l'écran, les développeurs Joomla insèrent une constante de langue telle que JYES ou JNO. Pendant le processus de rendu, les fichiers de langue sont chargés avec les traductions dans la langue appropriée. Les fichiers de langue se terminent tous par .ini. Vous pouvez consulter languages/en-GB/joomla.ini pour quelques exemples de base. Les lignes commençant par un point-virgule sont ignorées. Elles peuvent être utilisées pour des commentaires. Les autres lignes sont constituées de paires clé="valeur". Chaque langue possède le même ensemble de clés, mais les valeurs correspondent aux traductions appropriées.

Chaque extension Joomla possède ses propres fichiers de langue, il y en a donc des centaines au total. Parfois, des problèmes surviennent, comme des constantes de langue manquantes, mal orthographiées ou des erreurs de syntaxe dans les chaînes de traduction, qui peuvent rendre tout un fichier de langue invalide.

Débogage de langue

Joomla fournit des mécanismes de débogage utiles qui peuvent faciliter la localisation des chaînes non traduites et le diagnostic des problèmes de traduction dans les extensions installées. Pour essayer :

Depuis le Panneau d'administration :

  • Sélectionner le bouton Configuration globale dans le panneau Système.
  • Sélectionner le panneau Système et définir Débogage de langue sur Oui.
  • Affichage de la langue est normalement défini sur Valeur. S'il est défini sur Constante, la mise en page est perturbée par de longues constantes qui ne se retournent pas à la ligne.

Avec Debug Language actif, toutes les valeurs traduisibles sont affichées entourées de caractères spéciaux indiquant leur statut :

  • **Joomla CMS** Un texte entouré de deux astérisques indique qu'une correspondance a été trouvée dans un fichier de langue et que la constante a été traduite.
  • ??Joomla CMS?? Un texte entouré de paires de points d'interrogation indique que la constante est traduisible, mais qu'aucune correspondance n'a été trouvée dans un fichier de langue.
  • Joomla CMS Un texte sans caractères l'entourant indique que la valeur n'est pas traduisible. |

Débogage système

Des informations de débogage de langue supplémentaires peuvent être obtenues en activant le débogage Système.

Depuis le Panneau d'administration :

  • Sélectionner Extensions puis trouver et activer le plugin Système - Debug.
  • Retourner sur le Panneau d'administration puis...
  • Sélectionner le bouton Configuration globale.
  • Sélectionner le panneau Système et définir Débogage système sur Oui.

Avec Système - Débogage actif, tous les écrans affichent des informations de débogage supplémentaires en bas de chaque page. Elles peuvent être développées à partir d'une icône Joomla et la bordure supérieure peut être glissée verticalement pour afficher plus de lignes.

Les informations de débogage apparaissent sous plusieurs rubriques :

  • J! Info Informations de base sur l'installation.
  • Request Champs de requête serveur.
  • Session Informations de session
  • Profile Le temps nécessaire pour exécuter le code jusqu'à divers points de repère dans le code.
  • Queries Les requêtes SQL exécutées lors du processus de construction de la page.
  • Loaded. Une liste de tous les fichiers de langue chargés lors du processus de construction de la page, incluant le chemin complet. Cela peut être utile pour vérifier que les fichiers attendus ont bien été chargés.
  • Untranslated Une liste de toutes les constantes non traduites trouvées et l'emplacement probable du fichier où l'appel de traduction a été effectué.
  • Errors

Plugin Système - Débogage

Ce plugin système contrôle ce qui est affiché lorsque le débogage est activé dans Configuration globale. Il y a trois paramètres intéressants pour les traducteurs.

Dans l'onglet Langue :

plugin system debug

  • Erreurs lors de l'analyse des fichiers de langue Affiche une erreur si un fichier de langue ne se charge pas.
  • Fichiers de langue. Si réglé sur Afficher alors ...
  • Chaîne de langue Si réglé sur Afficher alors ...
  • Supprimer le premier mot.
  • Supprimer depuis le début _ Supprimer depuis la fin

L'explication suivante doit être révisée !

Notez que les chaînes non traduites n'affichent que la valeur passée à la méthode Text appropriée. Par exemple, avec le code suivant :

echo Text::_( 'Reports Import Configuration' );

Si non traduite, elle s'affichera comme suit :

# /administrator/components/com_reports/views/reports/tmpl/default.php
REPORTS IMPORT CONFIGURATION=Reports Import Configuration

Si le préfixe de clé à supprimer est réglé sur "Reports", l'affichage changera légèrement pour devenir :

# /administrator/components/com_reports/views/reports/tmpl/default.php
REPORTS IMPORT CONFIGURATION=Import Configuration

Notez que le chemin affiché n'est qu'une estimation basée sur un appel à la fonction PHP debug_backtrace. Parfois elle est exacte, parfois non, et il existe aussi des cas où aucun fichier n'a pu être déterminé. Dans ces cas, vous devez faire preuve de jugement.