Externalisation des fichiers de langues
Cette partie présente le fonctionnement de l’externalisation des fichiers de langues utilisés pour l’internationalisation de Squash TM et de ses différents plugins.
Fonctionnement des fichiers de langues
Historiquement les fichiers de langues utilisés pour l’internationalisation de Squash TM sont des fichiers avec l’extension .properties. Il y a un fichier 'principal' nom_du_fichier.properties puis un fichier pour chaque langue qui est nommé nom_du_fichier_locale.properties.
La valeur « locale » doit être remplacée par le code correspondant à la langue, par exemple en pour l’anglais ou fr pour le français. Ces fichiers sont composés d’associations clé/valeurs pour chaque traduction à effectuer.
Exemple de fichier :
report.name = SampleReport
report.name = ThisisaSampleReport,thatissuppliedwiththearchetypeasanexampleforyourowndevelopments.
Ces fichiers de langues sont utilisés pour que Squash TM s’affiche dans la langue sélectionnée depuis le navigateur. Depuis la version 1.11 de Squash TM , il est possible d’externaliser la gestion des fichiers de langues. Il est donc possible d’ajouter de nouvelles langues et de modifier les langues existantes.
Fichiers de langues externalisés
Pour faciliter le changement de tout ou partie des fichiers de langues, il est possible de redéfinir les fichiers de langue dans le répertoire conf/lang de squash-tm.
Exemple d’arborescence :
Ces fichiers doivent être placés dans un sous-répertoire ayant le nom du plugin et le nom des fichiers de langues seront dépendants du plugin. Dans le tableau ci-dessous est récapitulé le nom des répertoires et des fichiers de langues à utiliser :
Plugin | Nom du sous-répertoire | Nom du fichier de langue |
---|---|---|
Redmine | plugin.bugtracker.redmine | messages |
Bugzilla | plugin.bugtracker.bugzilla | bugzilla |
Jira BT Server | henix-tm-jira-rest-connector | jira-rest |
Report Qualitative coverage | squash-tm-report-qualitativecoverage | messages |
Report requirements | reports.books.requirements | messages |
Report testcases | reports.books.testcases | messages |
Squash TM | plugin.bugtracker.mantis | mantis-bugmessages |
Report std | Report std | messages |
Report test | plugin.report.test | messages |
Workspacewizard test | plugin.workspacewizard.test | messages |
- Ces fichiers de langues externalisés sont optionnels. En l’absence de ces fichiers, ce sont les fichiers de langues définis en interne qui seront utilisés.
- De plus, il n’est pas nécessaire de redéfinir toutes les clés, si des clés sont absentes du fichier externe, ce sera la clé du fichier interne qui sera utilisée.
- Il est possible d’ajouter de nouvelles langues à Squash TM ou à ses plugins, pour ce faire il suffit d’ajouter le fichier nom_du_fichier_locale.properties. Par exemple, pour traduire Squash TM en italien, il suffit de rajouter dans le dossier conf/lang/core le fichier messages_it.properties et bien sûr de traduire chaque clé en italien.
Info
Contacter le référent Squash TM de votre organisation pour obtenir la liste des fichiers de langues à modifier ou à traduire.
Les fichiers de langues en 2.0
En 2.0, les fichiers de langues .properties existent encore mais sont dorénavant uniquement utilisés pour des messages assez spécifiques (certains messages backend). En effet, le front ayant changé avec Angular, il y a de nouveaux fichiers au format json pour les messages du front, ce qui change complètement la syntaxe. Il y a déjà des fichiers custom (vides) pour chacune des langues supportées (de, es, en, fr) dans le dossier conf/lang.
Voici un exemple de message dans conf/lang/core/messages_fr.properties avec l'ancien fichier :
label.Actions
Voici un exemple de message dans conf/custom_translations_fr.json avec le nouveau fichier :
{
"sqtm-core": {
"action-word-workspace": {
"label": {
"short": "Actions"
}
}
}
}
Info
Il n'y a malheureusement aucun moyen de migrer des clés de l'ancien format au nouveau format car les clés des messages ont changé.