Création de modules de fusion multilingues

Les modules multilingues peuvent fournir des composants avec plusieurs langues différentes sous la forme d’un fichier composé unique. La conception et les fonctionnalités des modules de fusion multilingues sont similaires à celles des modules monolingues. Un module de fusion multilingue a plusieurs langues listées dans la propriété Template Summary. La base de données d’un module de fusion multilingue contient toutes les informations d’installation pour plusieurs langues. Le fichier CAB MergeModule.CABinet à l’intérieur d’un module de fusion multilingue contient tous les fichiers pour toutes les langues prises en charge.

Lors de l’application d’un fichier .msm multilingue à un fichier .msi, vous devez indiquer la langue finale du package d’installation après la fusion. Dans le cas d’un module de fusion monolingue, la table File du module de fusion liste chaque fichier présent dans le fichier CAB MergeModule.CABinet. Dans le cas d’un module de fusion multilingue, MergeModule.CABinet contient tous les fichiers pour chaque langue prise en charge par le module, mais seul le sous-ensemble de fichiers pour la langue finale est placé dans la table File du module. L’outil de fusion doit vérifier que le module fournit le sous-ensemble d’informations et de fichiers nécessaires pour la langue finale demandée.

Chaque module de fusion a une langue par défaut spécifiée dans la colonne Langue de la table ModuleSignature. La langue par défaut d’un module de fusion est également affichée en tant que première ou seule langue dans la propriété Template Summary. En fonction de la langue finale demandée et de la langue par défaut du module, l’outil de fusion peut appliquer des transformations de langue à un module de fusion multilingue afin qu’il puisse être ouvert dans la langue demandée, ou une approximation de la langue demandée. Les transformations de langue sont incorporées dans le module de fusion. Les outils de fusion doivent appliquer des transformations de langue conformément aux règles générales suivantes :

  • Si les langues par défaut et finales sont identiques, le module peut être fusionné sans utiliser de transformations de langue.
  • Si la langue par défaut est 0 (un module indépendant de la langue), le module peut être fusionné sans utiliser de transformations de langue.
  • Si la langue finale n’est pas la langue par défaut, l’outil de fusion doit appliquer une des transformations de langue incorporées dans le module pour changer le module afin qu’il utilise la langue finale ou une approximation de la langue finale.

Par exemple, aucune transformation de langue n’est nécessaire si la langue finale est 1 033 (Anglais US) et si la langue par défaut du module est 1033 (Anglais US), 0 (Indépendant de la langue) ou 9 (Anglais générique).

Des transformations de langue sont nécessaires si la langue finale est 1033 (Anglais US) et si la langue par défaut est 1031 (Allemand). Dans ce cas, l’outil de fusion peut d’abord rechercher dans le module multilingue une transformation de langue incorporée en 1033 (Anglais US). Si cela échoue, il peut alors rechercher une transformation en une langue avec un LANGID principal correspondant, même si le LANGID secondaire ne correspond pas. Par exemple, si l’outil ne trouve pas une transformation en 1033 (Anglais US), il recherche une transformation en 9 (Anglais générique). Si cela échoue, l’outil de fusion recherche une transformation en 0 (Indépendant de la langue). Si toutes ces recherches d’une transformation appropriée échouent, le module échoue à s’ouvrir.

Pour plus d’informations, consultez Création de modules de fusion multilingues.