Implémentation de l'internationalisation via des fichiers de langue

Bonjour,

Nous sommes confrontés à la situation suivante : après mise en production d’une appli mono-lingue, la maîtrise d’ouvrage nous demande une version anglaise. Notre analyse est que cela est coûteux car il faut repasser à la main dans tous les recoins de l’appli pour rajouter des labels dans la nouvelle langue.

Si les labels était déportés dans un fichier de langue, ce serait plus rapide : il suffirait de copier/coller le fichier de langue et de traduire chaque terme. Est-ce que c’est une réflexion que vous avez déjà eu de votre côté?

C’est facilement faisable en faisant des export CSV (en designer pour bien avoir le format technique) des traductions dans la langue A, les transposer dans la langue B et les réimporter.

Idem pour les textes statiques et les valeurs de listes de valeurs

  • Depuis l’interface en designer, on peut aller dans le Menu “Traduction” et faire des export/import en masse via CSV
  • On peut aussi exporter son module en XML et en extraire toutes les sections qui contiennent des libellés (Translate*, ListOfValue…), tout traduire et les mettre dans des modules CrbLangENU, CrbLangBZH… isolés

Ok merci, il faudra qu’on teste ça.

Apparemment Rosanne a un autre problème d’internationalisation, qui n’est pas de votre ressort. Elle a développé dans son appli toute une partie “administration fonctionnelle” qui permet aux métiers un certains degré d’autonomie dans la personnalisation: rajouter des valeurs possibles dans une liste déroulante, voire rajouter des champs à un formulaire. Forcément, ces développements spécifiques n’ont pas été prévus pour être multiligues. Il va falloir qu’on chiffre ça…

Il faudra dans ce cas donner les droits au métier pour accéder aux onglets “Traduction” :

  • des libellés des enum (FieldListValue)
  • des Attributs (TranslateField)
  • des texte statiques (ListOfValue)

Autre impact : si vous avez placé des libellés “en dur” dans les templates des objets ou des vues.
Il faudra les migrer en texte statique traduit à la volée exemple

<div class="text" data-text="XXX"></div>
<h2 class="text" data-text="XXX"></h2>
<p class="text" data-text="XXX"></p>
<span class="text" data-text="XXX"></span>

où XXX est un code de texte statique à livrer dans tous les langues.

1 Like