Internationalisation
Deux couches portent du texte dans Liberty Next :
| Couche | Contenu | Langues |
|---|---|---|
| L'interface | Boutons, Paramètres, pages Nomaflow, messages. | Anglais et français, livrés avec le framework. |
| La configuration | Libellés des données, valeurs de listes, entrées de menu, onglets de dialogue, saisies préalables. | Un libellé par défaut et une traduction par langue, renseignés dans les Paramètres. |
Langue de l'interface
Chaque utilisateur choisit EN ou FR dans la barre en haut de la fenêtre. Le choix est conservé dans le navigateur et s'applique aussitôt : menus, en-têtes de colonnes et libellés des listes sont rechargés dans la nouvelle langue.
Chaque requête envoyée par l'application porte cette langue (en-tête X-Liberty-Lang). Une requête qui ne la porte pas — un appel direct à l'API — prend la première langue de son en-tête Accept-Language, sans la région (fr-CA → fr), puis la langue par défaut de la configuration.
Traduire la configuration
Les éléments traduisibles ont un libellé par défaut et une liste de traductions — une ligne par code de langue (fr, de, es…), enregistrée dans l :
| Élément | Lieu de la traduction |
|---|---|
| Entrée du dictionnaire — le libellé d'une donnée, donc de toutes les colonnes qui l'utilisent | Liberty Next → Construire → Dictionnaire → Entrées, onglet Translations. |
| Valeur d'énumération | Liberty Next → Construire → Dictionnaire → Énumérations, sur chaque valeur. |
| Entrée et dossier de menu | Liberty Next → Construire → Menus, groupe Translations de l'inspecteur. |
| Onglet de dialogue | Éditeur d'écran, onglet Dialogue, sur l'onglet. |
| Titre d'une saisie préalable | Le champ prompt_l de l'action. |
[entries.CUSTOMER_STATUS]
label = "Customer status"
l = { fr = "Statut client", de = "Kundenstatus" }
Sans traduction pour la langue de la requête, le libellé par défaut s'affiche. Les codes de langue s'écrivent en minuscules.
Les en-têtes de colonnes viennent du dictionnaire : une colonne sans libellé propre reprend le libellé traduit de son entrée. Un libellé saisi directement sur une colonne d'écran n'est pas traduit — le laisser vide pour hériter du dictionnaire. Voir Dictionnaire.
Bonnes pratiques
- Traduire dans le dictionnaire plutôt que sur chaque écran : une entrée alimente toutes les colonnes de tous les écrans.
- Écrire les libellés par défaut dans la langue lue par la majorité des utilisateurs, et ajouter les autres en traductions.
- Traduire aussi les dossiers de menu : c'est ce que l'utilisateur lit en premier.
Pour aller plus loin
- Dictionnaire — libellés, formats et règles des données.
- Menus → Traductions et icônes — les libellés de menu par langue.
- Applications — ce qui appartient à une application.