Multilangue
Le Multilangue permet de :
- traduire le paramétrage ;
- exporter une traduction de paramétrage.
Langue de référence
La langue de référence est le Français.
C’est celle qui sert dans les formules pour leur évaluation. Ainsi [‘colonne de type choix’] = "Choix en français" fonctionne quel que soit la langue de SIMAX.
Il ne faut utiliser la fonction Multilangue() que pour les messages affichés à l’utilisateur.
Langue courante
La langue courante est fixée soit :
- Par la ligne commande du logiciel avec /LANG= avec FR, EN, DE ou ES
- Par le fichier de configuration avec la balise LANG= avec FR, ENU, DE ou ES
- Par la langue du Windows
Installation du Multilangue
Il faut que vous ajoutez MULTILANG=1 dans la partie [CLIENT] de votre fichier de configuration.
Il faut également faire une maintenance avant de pouvoir utiliser le multilangue.
Traduction
Aide à la traduction des champs multi langues
Il existe de nouvelles options de traduction dans le menu associé au bouton Langue des champs multi langues.
Copie traduction existante :
Elle permet de rechercher les traductions existantes dans le paramétrage.

IMG_U00924
Traduction avec Google :
Il est possible de traduire la langue courante dans les autres langues (uniquement les vides ou écrase) en utilisant Google Traduction.
Il faut que la clé GOOGLEAPIKEY du fichier de configuration soit égale à la APIKey.

IMG_U00924
Traduction automatique du paramétrage
L’action particulière Traduction traduit les traductions manquantes d'un paramétrage à partir du Français vers les autres langues (actuellement Anglais, Espagnol et Allemand).
Pour cela 3 méthodes sont utilisées dans l'ordre :
- Copie depuis les traductions déjà présente dans le paramétrage
- Utilisation d'un fichier CSV de traduction
- Utilisation de Google Translate
Elle a 2 paramètres :
APIKey : est la clé fourni par Google associé au compte Developper Google
(https://developers.google.com/). Elle permet l'utilisation et la facturation.
Si vide utilise la valeur qui est dans la GOOGLEAPIKEY dans le fichier de configuration.
Fichier de traduction : chemin complet du fichier CSV de traduction
Il faut importer le SMX : Action particuliere - Traduire.smx.
Remarque:
Copie depuis les traductions déjà présente dans le paramétrage.
La recherche se fait en priorité :
- dans le même type de colonne
- dans le même modèle
La recherche est sensible à la casse, mas pas aux accents
Copie depuis les traductions déjà présente dans le paramétrage.
Le format du fichier est :
- Séparateur colonne : ;
- Séparateur de ligne : RC
- Délimiteur de texte : "
L'entête doit contenir les langues : fr, en, es
Exemple :
"fr";"en";"es"
"Mon nom est Max","My name is Max","Mi nombre es Max"
La recherche n'est pas sensible à la casse ni aux accents.
Utilisation de Google Translate : Il faut utiliser un APIKey valide
Action Export traduction de paramétrage
L’action d'export des traductions d'un paramétrage permet d’exporter le paramétrage dans un fichier csv pour l'utiliser avec l'action de traduction.
Paramètre :
- Fichier de traduction CSV : chemin complet du fichier résultat.
- Ecrase le fichier : si coché alors le fichier est remplacé, sinon il est complété par défaut.
Fonctions Traduction Multilangue
Fonction MultiLangue ou (ML)
La fonction MultiLangue (ou ML) retourne la valeur en fonction de la langue de l'utilisateur courant, à utiliser avec un SIMAX Multilangue.
Si la langue courante de l'utilisateur n'est pas dans les paramètres alors la valeur de la 1ere langue est retournée.
Syntaxe :
MultiLangue(<langue>:<valeur>,<langue>:<valeur>, ..)
ou
ML( <langue>:<valeur>,<langue>:<valeur>, ..)
<Langue> peut être soit le code langue (ISO), soit une des constante LANG_xx :
- Francais : LANG_FR | FR | 12
- Anglais : LANG_EN | EN | 9
- Allemand : LANG_DE | DE |
- Espagnol : LANG_ES | ES | 10
Exemples:
MultiLangue(fr:"Mon nom est Max", en:"My name is Max", es:"Mi nombre es Max")
ML( LANG_FR : 45, EN : 46)
Fonction LangueCourante
La fonction LangueCourante() retourne la langue courante utilisée.
Fonction GoogleTraduction
La fonction GoogleTraduction appelle les API Google Translate pour traduire du texte.
GoogleTraduction(<APIKey>,<Texte à traduire>,<Langue à traduire>,<Langue résultat>[,<HTML>]) retourne le texte traduit.
APIKey : est la clé fournie par Google associé au compte Developper Google (https://developers.google.com/). Elle permet l'utilisation et la facturation.
Si vide utilise la valeur qui est dans la GOOGLEAPIKEY du fichier de configuration.
Texte à traduire : le texte à traduire, il y a une taille maximum imposée par Google qui est de 5Ko à laquelle il faut enlever environ 80 octets pour l'appel
Langue à traduire : le code langue correspondant à la langue du texte à traduire
Langue résultat : le code langue correspondant à la langue voulue
HTML : si le texte est du HTML, à Faux par défaut
Le code langue supporté par Google API est disponible:
https://cloud.google.com/translate/v2/using_rest#language-params
Extrait :
Français : fr
Anglais : en
Espagnol : es
Pour toutes informations complémentaires voir la documentation :
https://cloud.google.com/translate/docs et la FAQ : https://cloud.google.com/translate/v2/faq
Important :
SIMAX doit avoir accès à internet.
En cas d'erreur d'appel l'erreur retournée par SIMAX correspond à l'erreur retournée par Google.
Remarque :
Chaque appel à cette fonction peut être facturé par Google, ne pas l'utiliser dans une formule d'un calcul fréquemment mis à jour.
Afin de minimiser l'utilisation de l'API, cette fonction utilise un cache pendant la même session, ainsi 2 utilisations sur avec les mêmes paramètres ne génère qu'1 seul appel à l'API/
Exemple :
GoogleTraduction("Ici votre APIKey", "Mon nom est Max", "fr", "en")
Actions particulières de traduction
Il faut importer le SMX : Action particuliere - Traduire.smx dans SIMAX ou SIMAX.
Extraire CSV Traduction
Pour extraire un fichier CSV traduction, cliquez sur le menu Paramétrage > Maintenance > Multilangue > Extraire CSV Traduction. L’action particulière « Extraire CSV Traduction » s’ouvre alors.
Cette action vous permet d’extraire dans un fichier CSV l'ensemble des textes à traduire.
Sélectionnez le fichier de traduction CSV. Cochez la case « Ecraser le contenu du fichier ? » si vous le souhaitez. Inscrivez la langue à traduire.
Importer CSV Traduction
Pour importer un fichier CSV traduction, cliquez sur le menu Paramétrage > Maintenance > Multilangue > Importer CSV Traduction. L’action particulière « Importer CSV Traduction » s’ouvre alors.
Cette action particulière importe un fichier CSV de traduction précédemment exporté par l'action précédente.
Le remplacement ne tient pas compte de la casse, mais tient compte des accents.
Il est possible de spécifier la langue à importer : Anglais ou Allemand.
Attention : cette action écrase les traductions existantes.
Format :
"fr";"en";"de"
"Texte Français";"English text";"Deutsch Text"
Sélectionnez le fichier de traduction CSV et inscrivez la langue à importer.
Traduire depuis tableau
Pour traduire depuis tableau, cliquez sur le menu Paramétrage > Maintenance > Multilangue > Traduire depuis tableau. Choisissez la langue à traduire. Cochez la case « Ecraser traduction existante ? » si vous le souhaitez. Puis cliquez sur « OK ».
La solution vous envoie alors un message mentionnant le nombre de traduction effectué. Cliquez sur OK.

IMG_U00926
Gestion de la localisation
Définition de la sous-langue
En plus de la langue, SIMAX peut aussi être configuré pour la sous-langue.
En fonction de la langue (et sous-langue) SIMAX affiche les données en suivant les règles pour cette langue / sous-langue.
Les langues possibles sont :
- Français
- Anglais
Les sous langues sont définisses des régions où la langue primaire est la même mais où des règles changent. Par exemple :
- Français (France)
- Français (Canada)
- Anglais (Canada)
- Anglais (Royaume-Uni)
- Anglais (États-Unis)
Pour définir la sous langue :
Par info.simax : dans [CLIENT], ajoutez la clé SLANG=xx.
Par ligne de commande, ajoutez « /SLANG=xx ».
Par utilisateur, choisissez la langue (sous langue) dans la colonne Langue : importez le (SMX : Formulaire - Utilisateur.smx.
Les valeurs pour xx sont :
Français :
1 = France
2 = Belgique
3 = Canada
4 = Suisse
5 = Luxembourg
6 = Monaco
7 = Antilles
8 = Réunion
9 = Congo
10 = Sénégal
11 = Cameroun
12 = Côte d'Ivoire
13 = Mali
14 = Maroc
15 = Haïti
Anglais :
1 = États-Unis
2 = Royaumes Unis
3 = Australie
4 = Canada
5 = Nouvelle Zélande
6 = Irlande
7 = Afrique du Sud
8 = Jamaïque
9 = Caraïbe
10 = Belize
11 = Trinidad
12 = Zimbabwe
13 = Philippines
16 = Inde
17 = Malaisie
18 = Singapour
Gestion localisation : numérique, monétaire, date et heure
En fonction de la langue (et sous langue) SIMAX affiche les données des types suivant les règles pour cette langue / sous langue (Voir NV18N000036 Localisation : définition de la sous langue).
- Entier
- Nombre à virgule
- Monétaire
- Date
- Heure
- Date et Heure
Important :
Les règles d'affichages sont données par Windows ce qui permet de suivre les normes en vigueurs.
Ce qui change :
Entier
- Séparateur de millier
Nombre à virgule
- Séparateur de millier
- Séparateur décimal
Monétaire
- Séparateur de millier
- Séparateur décimal
- Monnaie
- Position de la monnaie
Date
- Format à la saisie et à l'affichage
Heure
- Format à la saisie et à l'affichage
Date et Heure
- Format à la saisie et à l'affichage
Rappel : Il est donc important que dans les paramétrages vous ne fassiez pas de suppositions sur le format affiché (taille, position, séparateur..). En effet pour une date en Français (France) "JJ/MM/AAAA" deviens en Français (Canada) "AAAA-MM-JJ" donc un Gauche de 2 sur une date affichée ne retourne plus le jour...
Mis à jour

