Quantcast

Transformer votre base FileMaker en multilingue

Avec la mondialisation, vous avez peut-être des employés étrangers qui travaillent sur votre base de données FileMaker. Il faut donc trouver une solution pour traduire rapidement les libellés et charger rapidement les libellés en changeant de langue.

Quelle solution pour la traduction ?

docteur

L'idée était de trouver la solution la plus simple et la plus rapide pour mettre en place la traduction des toutes les libellés affichés sur le modèle de la base de données FileMaker.

En réfléchissant sur les possibilités techniques, je me suis dit que le plus simple et le plus efficace serait de passer par l'extravtion des modèles en xml pour renommer les libellés et pouvoir les gérer dans une table de traduction.

Vous trouverez ci-dessous les étapes qui m'ont permis de mettre des libellés en français, anglais et espagnol dans une base de données FileMaker. 

Les étapes pour mettre en place des libellés traduits dans FileMaker

1. Création d'une table Langue et d'une table Traduction

Dans ma table Langue, j'ai créé deux rubriques : La langue au format ISO sur deux caractères (FR, EN, ES,...) et le drapeau.

Dans ma table traduction, j'ai ajouté une rubrique Libelle qui contient le libellé du texte qui sera contenu dans la variable de fusion globale et une rubrique par langue soit FR, EN, ES, il est donc possible de gérer autant de langues que vous souhaitez en créant autant de rubriques pour chaque langue à gérer.

2. Récupérer le modèle au format xml

Tous les éléments d'une base de données FileMaker sont stockés au format xml. Pour récupérer le contenu sous ce format, il faut copier tous les éléments puis ensuite coller dans l'application FileMaker Clipboard Management Tool.

3. Repérer les intitulés et les remplacer par des variables de fusion

Une fois votre base FileMaker en ligne, il faut vérifier que l'API est bien activée depuis l'administration de votre serveur FileMaker, le lien direct est http://127.0.0.1:16001/admin-console/app/connectors/fmdapi

4. Remplacer les balises

Pour transformer un texte simple en variable de fusion dans ce XML, il faut donc changer trois choses :

  • L'indicateur : <TextObj flags="0"> devient <TextObj flags="8">.
  • Le format : graphicFormat="5" devient graphicFormat="0" dans <ExtendedAttributes>.
  • Le texte : dans les deux balises <Data>, Texte devient &lt;&lt;$$Variable&gt;&gt;.

5. Passer le contenu du fichier xml dans le presse papier

Une fois toutes les balises remplacées, il vous suffit de mettre le contenu dans un fichier texte et le placer dans le presse papier sur MacOS avec cette commande :

f="$HOME/Downloads/sinistres_variables.xml"
osascript <<EOF
set the clipboard to (read (POSIX file "$f") as «class XML2»)
EOF

6. Coller le modèle dans FileMaker

Enfin, ouvrez votre modèle vierge et coller le contenu. Tous les labels textes seront remplacés par une variable de fusion

7. Chargez les traductions dans les variables de fusion

Avec une boucle sur chaque ligne de la table des champs traduits, vous remplissez les rubriques de fusion avec cette commande :

Evaluation ( "Definir ( $$" & TRADUCTION::Intitule & " = " & Citation ($traduction) & " ; \"\" )" )