Introduction
Si vous avez un site multilingue, vous pouvez afficher les libellés et descriptions des champs et des groupes de champs dans la langue de l'utilisateur. Pour cela :
- Définir le titre et la description de votre groupe de champs comme constantes de langue.
- Définir le libellé et la description de votre champ comme constantes de langue.
- Définir ces constantes de langue comme surcharges pour chacune de vos langues.
Dans l'exemple suivant, un groupe de champs et un champ de contact sont créés pour les préférences personnelles d'un contact. Le groupe de champs est nommé Favoris et le champ d'exemple est nommé Voiture. Bien entendu, d'autres champs peuvent être ajoutés pour d'autres préférences, comme la nourriture ou les films.
Pour suivre cet exemple, on suppose que vous avez configuré un site multilingue tel que décrit dans le tutoriel de configuration Sites multilingues.
Constantes de langue
Les constantes de langue sont des espaces réservés qui sont remplacés par des valeurs de langue lors du rendu d'une page. Les constantes et leurs valeurs sont stockées dans des fichiers de langue tels que JPATH_SITE/languages/en-GB/com_contact.ini et JPATH_SITE/administrator/languages/en-GB/com_contact.ini, respectivement pour le frontend et le backend. Par convention, la plupart des constantes de langue commencent par le nom de l'extension, tout en majuscules, par exemple COM_CONTACT_...
Les surcharges de langue sont des remplacements, définis par l'utilisateur, de constantes et de valeurs de langue existantes, ou bien de constantes et de valeurs entièrement nouvelles, comme dans cet exemple. Elles sont toutes stockées dans des fichiers uniques, un pour les pages du site et un autre pour les pages d'administration :
SITE_ROOT/language/overrides/en-GB.override.ini
SITE_ROOT/administrator/language/overrides/en-GB.override.ini
Il est important de rendre les nouvelles constantes de langue définies par l'utilisateur uniques afin d'éviter d'écraser des constantes existantes. Par exemple :
COM_CONTACT_CUSTOM_FIELDGROUP_FAVOURITES="Favourites" COM_CONTACT_CUSTOM_FIELDGROUP_FAVOURITES_DESCRIPTION="Favourite car, film, etc." COM_CONTACT_CUSTOM_FIELD_FAVOURITE_CAR="Favourite Car" COM_CONTACT_CUSTOM_FIELD_FAVOURITE_CAR_DESCRIPTION="Sometimes used as a security question"
Si la syntaxe d'un fichier de langue comporte une erreur, il ne sera pas chargé et toutes les constantes qu'il contient risquent d'apparaître dans les pages affichées. Notez également qu'un fichier est trié par ordre alphabétique.
Définir les surcharges
Il est important de créer des surcharges en anglais (GB). Joomla charge d'abord les fichiers de traduction en-GB, puis remplace les valeurs par celles d'un fichier de langue sélectionné. Cela garantit que les utilisateurs ne devraient jamais voir une constante de texte brute. Si une valeur traduite est manquante, l'anglais apparaîtra à la place. Cela peut sembler étrange, mais c'est préférable à l'affichage d'une constante assez longue qui perturbe généralement la mise en page.
Depuis le menu d'Administration :
- Sélectionner Système → Panneau de gestion → Surcharges de langue
- Sélectionner Anglais (Royaume-Uni) - Site dans la liste Sélectionner la langue et le client
- Sélectionner le bouton Nouveau dans la barre d'outils.
- Dans le champ Constante de langue, saisir COM_CONTACT_CUSTOM_FIELDGROUP_FAVOURITES
- Dans le champ Texte, saisir la valeur Favourites
- Cocher la case Pour les deux emplacements. Cela entraînera la création de surcharges à la fois pour les pages du site et les pages d'administration.
- Sélectionner Enregistrer & Nouveau dans la liste déroulante Enregistrer & Fermer.
- Répéter l'opération pour chacune des autres constantes requises.
- Sélectionner Fermer après avoir enregistré la dernière entrée.
- Répéter l'opération pour chacune des langues installées.
La capture d'écran suivante montre un exemple de création de surcharge pour une constante de langue allemande.

Définir le groupe de champs
Depuis le menu Administration :
- Sélectionner le lien de menu Composants / Contacts / Groupes de champs.
- Sélectionner le bouton Nouveau dans la barre d'outils.
- Dans le champ Titre, saisir la constante COM_CONTACT_CUSTOM_FIELDGROUP_FAVOURITES
- Dans le champ Description, saisir la constante COM_CONTACT_CUSTOM_FIELDGROUP_FAVOURITES_DESCRIPTION
- Sélectionner Enregistrer & Fermer dans la barre d'outils.
Définir le champ
Pour sélectionner une voiture favorite, vous pourriez proposer une liste déroulante de voitures que vous définissez, ou une liste déroulante de voitures obtenue depuis une table de base de données, ou une liste de boutons radio avec des libellés que vous définissez. Dans ce cas, un simple champ de saisie de texte permettra la saisie de n'importe quelle marque et modèle de voiture issu de toute l'histoire mondiale de l'industrie automobile.
Depuis le menu Administration :
- Sélectionner le lien de menu Composants / Contacts / Champs.
- Sélectionner le bouton Nouveau dans la barre d'outils.
- Dans le champ Titre, saisir la constante COM_CONTACT_CUSTOM_FIELD_FAVOURITE_CAR
- Dans le champ Type, sélectionner Texte (text) si ce n'est pas déjà sélectionné.
- Dans le champ Description, saisir la constante COM_CONTACT_CUSTOM_FIELD_FAVOURITE_CAR_DESCRIPTION
- Dans le champ Groupe de champs (à droite), sélectionner le groupe de champs que vous avez créé.
- Sélectionner Enregistrer & Fermer dans la barre d'outils.
Éditer un contact
Avec l'anglais sélectionné avant la connexion à l'Administration, le formulaire de saisie du contact devrait contenir un onglet avec le nom anglais de votre groupe de champs et des champs de ce groupe également avec des valeurs en anglais.

Avec l'allemand sélectionné avant la connexion à l'Administration, vous devriez voir les traductions allemandes de vos constantes de langue :

Attention : traduction par translate.google.co.uk !
Afficher un contact
En anglais :

Et en allemand :
