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 :
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” :
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” :
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é :
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) :
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.
Très utile
Bonjour,
Est ce que le controle personnalisé fonctionne aussi avec K2 five 5.4 ?
Bonjour,
Il n’y a pas de changement structurel au niveau de la 5.4 qui pourrait empêcher ce contrôle personnalisé de fonctionner. Le fonctionnement du contrôle est surtout basé sur la structure DOM du formulaire, donc ce sont plutôt des modifications au niveau des CSS des formulaires qui peuvent avoir un impact sur le fonctionnement.