4D v16

Xliff et traduction

Accueil

 
4D v16
Xliff et traduction

Xliff et traduction    


 

 

En complément des manipulations expliquées dans la vidéo, il faut noter que :

Pour être pris en compte par 4D, vos fichiers XLIFF doivent se trouver :

  • Windows: dans MaBase\Resources\Lang.lproj\MonLocEn.xlf
  • Mac OS: dans MonPaquet:Resources:Lang.lproj:MonLocEn.xlf (si l'extension 4dbase est active)
  • Mac OS: dans MaBase:Resources:Lang.lproj:MonLocEn.xlf (si vous avez enlevé l'extension .4dbase)

Par défaut, 4D recherche la langue à utiliser dans :

  1. la langue du système
  2. la langue de l’application 4D
  3. l’anglais
  4. Si aucune de ces recherches n’aboutit, la première langue trouvée dans le dossier Resources est chargée.

Bonjour,

dans cette vidéo nous allons apprendre à mettre en oeuvre les fichiers de traduction XLIFF qui permettront de localiser l'ensemble de l'interface.

Le principe est simple : il suffit de remplacer les textes contenus dans l'interface par une référence à un fichier externe qui contient les textes souhaités.

Ce sera de la forme ":xliff: et un nom d'objet" par exemple "bOK" qui serait la référence du bouton OK. On constate ici que le texte est bien passé de "Terminer" à "OK"
Pourquoi ?

Parce que dans le dossier de la base dans le sous-dossier resources figure un dossier par langue.
Actuellement le système est en langue française et à l'intérieur de ce dossier nous avons :

  • un fichier de type XML qui contient
  • outre les déclarations classiques, dans le body
  • un certain nombre de groupes
    (les groupes ne sont pas obligatoires mais permettent de structurer le fichier XLIFF)
  • et dans chaque groupe des unités de traduction.

Il se trouve que là nous avons bien une resource qui s'appelle bOK dont le texte contenu dans Target est "OK".

Si on le change en "Terminer", j'enregistre le fichier, en revenant dans 4D le texte "Terminé" est bien remplacé.

Nous pouvons le tester ici :

  • Fin
  • enregistrer
  • en revenant dans 4D nous voyons bien écrit "Fin"

Il convient donc de remplacer pour l'ensemble des textes de l'interface :

  • le texte français
  • par le texte dans la langue souhaitée.

Actuellement nous sommes sur le fichier fr.xlf donc tous les textes "target" sont des noms en français.

Créons pour le texte "Ajouter" une entrée.

Le fichier est enregistré. Ici si on remplace le texte par ":xliff:bAjouter" on récupère bien le texte "Ajouter".

Voilà pour la version française.

Maintenant nous allons récupérer cette entrée, refermer le fichier, et ouvrir dans le dossier anglais le fichier en question.

Nous rajoutons l'unité en question "Add" et j'enregistre.

Supposons maintenant que nous souhaitions travailler sur un système anglais.

  • Dans les préférences système, que ce soit sur Mac ou sur Windows
  • on peut définir la langue prioritaire
  • on voit une indication ici que les changements prendront effet lors du prochain lancement pour les applications.

Nous allons donc quitter notre base de test et la relancer.

Nous voyons bien que le texte "Ajouter" a été remplacé par la version anglaise.

Si nous souhaitons :

  • changer et indiquer "a record"
  • On enregistre
  • Attention la mise à jour n'est pas automatique lorsque le formulaire affiché puisque les ressources sont chargées au moment du chargement du formulaire.
  • par contre si nous sortons et repassons en structure, le formulaire est bien remis à jour avec le nouveau texte.

Il ne nous reste plus qu'à créer les autres entrées "All records" par exemple et ici d'indiquer que le bouton est une référence ":xliff:bToutes" et nous avons bien le texte "All records".

Nous allons repasser en système français. Il faut donc quitter 4D.

Lors du redémarrage, nous retrouvons bien le texte de tout à l'heure par contre nous n'avions pas indiqué dans le fichier français la traduction de l'entrée "bToute" et dans ce cas là il nus indique la référence XLIFF.

Il convient donc :

  • d'aller récupérer le fichier XLIFF concerné
  • d'ajouter l'entrée "bToute" en indiquant "Toutes"
  • Lorsqu'on revient dans 4D la mise à jour est effectuée.

Un élément complémentaire important dans la mise en place des fichiers XLIFF, concerne les chaines de caractères dans les méthodes.

Reprenons le formulaire Test_Variables que nous avions créé dans lequel nous valorisions le popup menu qui est ici avec 3 textes.
Nous pouvons :

  • remplacer les 3 textes par la commande Lire traduction chaine
  • indiquer un resname qui correspond dans le fichier xliff en question à un libellé dans la langue choisie.

Nous voyons ici le texte "TestTexte1" qui sera :

  • "Hello" en anglais
  • "Bonjour" en français.

À l'usage nous allons:

  • déclarer le tableau
  • tracer la valorisation (le tableau est bien vide)
  •  et lorsque nous allons lire les chaines correspondantes, le tableau se remplit bien avec le contenu des données du fichier XLIFF.

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Xliff et traduction
Nom intl. : XLIFF and translation

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

Autoformation ( 4D v16)