Rendre un smartform K2 multilingue

Pour rendre un formulaire multilingue, il faut utiliser un contrôle personnalisé téléchargeable sur l’espace communautaire de K2.

Une fois le contrôle installé sur la plateforme, ce dernier sera disponible dans la liste des contrôles (nom : “Set Language“) et pourra être utilisé dans vos projets.

Utilisation du contrôle :

Set language properties

 Resource file/s : Nom du fichier XML qui contient les traductions dans les différentes langues de l’application (sans l’extension .xml et séparés par des virgules si vous en mettez plusieurs).

 Run on page load : Si coché, la traduction sera exécutée au chargement de la page, si non, on lancera manuellement la traduction via un transfer data.

 Show Dropdown List with language list : Si coché, affiche une liste déroulante avec l’ensemble des langues paramétrées dans le fichier XML. L’option est non cochée lorsqu’on préférera afficher des drapeaux cliquables en lieu et place d’une liste de valeurs.

 Preserve characters : Permet d’ignorer certains caractères lors de la traduction (exemple: le caractère “:”).

 Default Culture : Langue utilisée par défaut.

 Translate General Controls : Permet de sélectionner parmi une liste les contrôles que l’on souhaite ou non traduire.

 Translate Datagrid : Permet de sélectionner parmi une liste les éléments des vues  que l’on va traduire (entête des colonnes, entête des vues, …).

Paramétrage des traductions :

Le contrôle de traduction utilise un fichier xml qui doit être placé sur le serveur K2, dans le <répertoire d’installation de K2>\K2 smartforms\Runtime\Bin. Ce fichier peut être généré et/ou édité par un utilitaire livré avec le contrôle téléchargé (l’outil se nomme K2 smartforms languages.exe).

Lorsqu’on lance l’utilitaire, on a la possibilité de créer un nouveau fichier (File>New File) et d’ajouter différentes langues via l’option “New Language” :
K2 smartforms language

La colonne “Label” doit contenir la valeur qui apparaît initialement à l’écran. Dans la colonne “fr” on trouvera la traduction française, dans la colonne “en” on retrouvera la traduction anglaise. Il est possible d’ajouter autant de langues que l’on souhaite dans le fichier xml.

L’utilitaire K2 smartforms languages possède une option qui permet de parcourir un formulaire et de récupérer l’ensemble des libellés de ce dernier, il faut utiliser l’option File>Get labels from web page.

Lancer la traduction des pages

Via le mode automatique

Pour activer le mode automatique, dans le paramétrage du contrôle, il faut cocher les options “Run on page load” et “Show dropdown with language list” :
Paramétrage formulaire

Une fois le contrôle paramétré, si on lance le formulaire, la traduction sera automatiquement activée, il n’y a plus qu’à s’assurer qu’il y a bien correspondance entre les libellés présents dans la page et ceux disponibles dans le fichier XML paramétré :
Switch language

Note: Dans l’exemple ci-dessus, on retrouve la traduction du label qui contenait initialement “Mon label:”. On a utilisé le fichier présent dans la section “Paramétrage des traductions” et configuré le contrôle de traduction pour qu’il ignore le caractère “:” lors de la traduction.

Via le mode manuel

Si on ne souhaite pas avoir de liste déroulante contenant les différentes langues, mais que l’on préfère gérer les traductions manuellement (par exemple avec des boutons ou des images), il faut placer des actions “transfer data” lors du clic sur les contrôles et positionner la langue souhaitée dans le contrôle set language comme dans la copie d’écran ci-dessous (le code transféré correspondant à la colonne ajoutée dans le fichier XML de traduction) :
Transfer data

En conservant le même principe, vous pouvez ajouter autant de langues que souhaitées, il suffit juste de penser à traduire tous les libellés de vos fichiers XML.

 L’utilitaire de création de fichier XML fournit avec le contrôle peut être configuré pour rechercher automatiquement les traductions en s’appuyant sur Bing Translate. Cela peut faire gagner un peu de temps.

N’hésitez pas à utiliser les commentaires pour partager vos expériences avec ce contrôle.

pierre

Chef de projet chez K2 France, ex consultant solution et blogueur à ses heures perdues! Twitter: @Pierrot_12 Linkedin: Pierre NOILHAN

One thought to “Rendre un smartform K2 multilingue”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.