Aller au contenu principal

Internationalisation

Deux couches portent du texte dans Liberty Next :

CoucheContenuLangues
L'interfaceBoutons, Paramètres, pages Nomaflow, messages.Anglais et français, livrés avec le framework.
La configurationLibellé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émentLieu de la traduction
Entrée du dictionnaire — le libellé d'une donnée, donc de toutes les colonnes qui l'utilisentLiberty Next → Construire → Dictionnaire → Entrées, onglet Translations.
Valeur d'énumérationLiberty Next → Construire → Dictionnaire → Énumérations, sur chaque valeur.
Entrée et dossier de menuLiberty Next → Construire → Menus, groupe Translations de l'inspecteur.
Onglet de dialogueÉditeur d'écran, onglet Dialogue, sur l'onglet.
Titre d'une saisie préalableLe 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​