Allegro Framework offre un environnement multilingue complet non seulement du point de vue de l'interface utilisateur, c'est-à-dire de la traduction de la zone de travail et des applications individuelles (textes statiques), mais aussi du point de vue des données de formulaire, c'est-à-dire au niveau des données (textes dynamiques). Ceci est assuré par un composant unique qui permet l'insertion de données multilingues directement dans les enregistrements individuels gérés par les applications (par exemple, le nom et la description du produit dans différentes langues). La langue de base de Allegro Framework est l'Anglais, qui est toujours utilisé si une traduction dans la langue demandée n'est pas disponible.
Niveau des données
Le nombre de langues dans lesquelles Allegro Framework peut être utilisé au niveau des données (c'est-à-dire les langues dans lesquelles les données peuvent être introduites dans le système) n'est pas limité et n'est conditionné que par le fait de cocher la case Utiliser pour les données dans le formulaire de définition de la langue. Autant de langues que de cases cochées sont alors proposées dans le champ de saisie multilingue. Dans les applications, la langue par défaut au niveau de données est définie en fonction des préférences utilisateur et peut varier d'un client à l'autre. Dans chaque client, l'ensemble des langues marquées destinées à être utilisées au niveau des données peut également être différent.
Dans la base de données, le champ multilingue est stocké dans une table associée avec le suffixe _LANG, où sont stockées toutes les mutations linguistiques du champ de saisie. Pour l'enregistrement parent lui-même, une expression anglaise est insérée dans la colonne de données concernée, si celle-ci est saisie, ou une expression correspondant à la langue par défaut du niveau de données, qui est obligatoire dans les applications et donc toujours disponible.
Lorsqu'il est demandé d'extraire des données dans une langue spécifique, la traduction correspondante est d'abord recherchée dans la table associée et, si elle n'est pas trouvée, elle est extraite de la colonne de données correspondante de l'enregistrement lui-même (où, comme indiqué ci-dessus, est stockée soit la traduction selon la langue par défaut, soit la traduction anglaise).
Interface Utilisateur
L'interface utilisateur est actuellement disponible en quatre langues - Tchèque, Anglais, Néerlandais et Français.Allegro Framework également entièrement traduits. L'extension à d'autres langues est possible sur demande.
La langue de l'interface utilisateur est dérivée de la langue du niveau de données. (selon les préférences) et si aucune correspondance n'est trouvée (par exemple, la langue du niveau de données est l'allemand), les traductions anglaises sont utilisées. Si le texte spécifique n'est pas disponible dans une langue donnée, la version anglaise est utilisée. Si elle n'est pas non plus trouvée, la traduction par défaut spécifiée par le programmeur dans le code source (ou le code de traduction si la traduction par défaut n'est pas disponible) est affichée, délimitée par un caractère ondulé (par exemple ~AccountingPeriod~).
Si la traduction est manquante du côté de l'ordinateur de l'utilisateur dans le code JavaScript, la traduction par défaut délimitée par le signe égal est utilisée (par exemple =Modifications non enregistrées détectées sur certains onglets.=).
Grâce à ce marquage, l'utilisateur peut facilement détecter les traductions manquantes et envoyer une Demande de traduction.
Module de Traduction
Pour la traduction de ces textes statiques, un module de traduction a été développé qui permet, entre autres, la construction d'un dictionnaire de termes et d'expressions de base. Ainsi, les expressions fréquemment utilisées ne doivent pas être traduites à plusieurs reprises, mais la traduction peut être dirigée vers ce dictionnaire à l'aide d'un pointeur.
Le module permet également de créer des variantes de traduction pour les majuscules (selon les règles des titres anglais - title case), pour les versions abrégées (utilisées par exemple dans les titres de colonnes limités par la largeur) ou pour des traductions alternatives dans des situations où la traduction principale ne convient pas (par exemple, anglais britannique contre anglais américain ou terminologie spécifique donnée par des pratiques d'entreprise établies).
Si des majuscules ou des versions abrégées sont requises et qu'une expression explicite n'est pas spécifiée, le texte résultant est généré automatiquement.
Le module de traduction se trouve dans Allegro Framework et n'est accessible que sur la base des autorisations accordées. L'utilisation de ce module ne fait pas partie de ce manuel.