# Multilangue

Le Multilangue permet de :

\- traduire le paramétrage ;

\- exporter une traduction de paramétrage.

## Langue de référence

&#x20;

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.

&#x20;

## Langue courante

&#x20;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

&#x20;

## Installation du Multilangue

&#x20;

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.

&#x20;

&#x20;

## Traduction

### Aide à la traduction des champs multi langues

&#x20;

Il existe de nouvelles options de traduction dans le menu associé au bouton Langue des champs multi langues.

&#x20;

Copie traduction existante :

Elle permet de rechercher les traductions existantes dans le paramétrage.

&#x20;

<figure><img src="https://1324884545-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBJ3Kpe0vg6NlDz0QDIX%2Fuploads%2Fp2AkM1F07HjyZgouVoXw%2FO1.png?alt=media&#x26;token=187ab0af-d891-4edb-a5bb-7ff7f63c5657" alt=""><figcaption></figcaption></figure>

<p align="right">IMG_U00924</p>

Traduction avec Google :

Il est possible de traduire la langue courante dans les autres langues (uniquement les vides ou écrase) en utilisant Google Traduction.

&#x20;

Il faut que la clé GOOGLEAPIKEY du fichier de configuration soit égale à la APIKey.

&#x20;

<figure><img src="https://1324884545-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBJ3Kpe0vg6NlDz0QDIX%2Fuploads%2FI3YkYdTBnpZzAJKp7wy6%2FO2.png?alt=media&#x26;token=40dacae5-4bb0-4ee9-9171-3b6abe992363" alt=""><figcaption></figcaption></figure>

<p align="right">IMG_U00924</p>

<p align="center"></p>

### Traduction automatique du paramétrage

&#x20;

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

&#x20;

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

&#x20;

Il faut importer le SMX : Action particuliere - Traduire.smx.

&#x20;

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

&#x20;

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.

&#x20;

Utilisation de Google Translate : Il faut utiliser un APIKey valide

&#x20;

### Action Export traduction de paramétrage

&#x20;

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.

&#x20;

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.

&#x20;

&#x20;

## Fonctions Traduction Multilangue

### Fonction MultiLangue ou (ML)

&#x20;

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.

&#x20;

Syntaxe :

MultiLangue(\<langue>:\<valeur>,\<langue>:\<valeur>, ..)

&#x20;ou

&#x20;ML( \<langue>:\<valeur>,\<langue>:\<valeur>, ..)

&#x20;

\<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

&#x20;

Exemples:

&#x20;

MultiLangue(fr:"Mon nom est Max", en:"My name is Max", es:"Mi nombre es Max")

ML( LANG\_FR : 45, EN : 46)

&#x20;

### Fonction LangueCourante

&#x20;La fonction LangueCourante() retourne la langue courante utilisée.

&#x20;

### 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.

&#x20;

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

&#x20;

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

&#x20;

Pour toutes informations complémentaires voir la documentation :

<https://cloud.google.com/translate/docs> et la FAQ : <https://cloud.google.com/translate/v2/faq>

&#x20;

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.

&#x20;

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/

&#x20;

Exemple :

GoogleTraduction("Ici votre APIKey", "Mon nom est Max", "fr", "en")

&#x20;

## Actions particulières de traduction

&#x20;Il faut importer le SMX : Action particuliere - Traduire.smx dans SIMAX ou SIMAX.

&#x20;

## Extraire CSV Traduction

&#x20;

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.

&#x20;

### Importer CSV Traduction

&#x20;

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.

&#x20;

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.

&#x20;Il est possible de spécifier la langue à importer : Anglais ou Allemand.

&#x20;

{% hint style="danger" %}
Attention : cette action écrase les traductions existantes.
{% endhint %}

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

&#x20;

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 ».

&#x20;

La solution vous envoie alors un message mentionnant le nombre de traduction effectué. Cliquez sur OK.

&#x20;

<figure><img src="https://1324884545-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBJ3Kpe0vg6NlDz0QDIX%2Fuploads%2FtbwdyFyRpwBpLZobi1md%2FO3.png?alt=media&#x26;token=d1d40ba7-acee-4c4d-b4ad-17c55ac1bb16" alt=""><figcaption></figcaption></figure>

<p align="right">IMG_U00926</p>

## Gestion de la localisation

### Définition de la sous-langue

&#x20;

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

&#x20;

&#x20;

### 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...

&#x20;
