# 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="/files/kDX08Vpd4Zraq0q9iglb" 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="/files/tmwxijN06VJR2JGhBfBC" 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="/files/7Y9EfWWCGJO5frTmG9io" 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;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.simax.fr/parametrage/outils/multilangue.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
