Modules de fusion de langage multiples
Plusieurs modules de langage peuvent fournir des composants avec plusieurs langues différentes en tant que fichier composé unique. La conception et les fonctionnalités de plusieurs modules de fusion de langage sont similaires aux modules à langage unique. Un module de fusion de plusieurs langues comporte plusieurs langues répertoriées dans la Template Summary Property. La base de données d’un module de fusion de plusieurs langues contient toutes les informations d’installation pour plusieurs langues. L’armoire MergeModule.CABinet à l’intérieur d’un module de fusion de plusieurs langues contient tous les fichiers pour toutes les langues prises en charge.
Lors de l’application d’un fichier .msm de plusieurs langues à 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 en langage unique, la table de fichiers du module de fusion répertorie chaque fichier présent dans l’armoire MergeModule.CABinet. Dans le cas d’un module de fusion de plusieurs langues, 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 passe dans la table de fichiers du module. L’outil de fusion doit s’assurer que le module fournit le sous-ensemble d’informations et de fichiers requis 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 comme la première langue, ou uniquement, dans la Résumé du modèle Propriété. 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 linguistiques à un module de fusion de plusieurs langues afin qu’il puisse être ouvert dans la langue demandée ou une approximation de la langue demandée. Les transformations de langage sont incorporées dans le module de fusion. Les outils de fusion doivent appliquer des transformations linguistiques en respectant les 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 linguistiques.
- Si la langue par défaut est 0 (module neutre en langage), le module peut être fusionné sans utiliser de transformations de langage.
- Si la langue finale n’est pas la langue par défaut, l’outil de fusion doit appliquer l’une des transformations de langue incorporées dans le module pour modifier le module en langue finale ou à une approximation de la langue finale.
Par exemple, aucune transformation de langue n’est requise si la langue finale est 1033 (anglais américain) et que la langue par défaut du module est 1033 (anglais américain), 0 (neutre en langue) ou 9 (anglais générique).
Les transformations linguistiques sont requises si la langue finale est 1033 (anglais américain) et que la langue par défaut est 1031 (allemand). Dans ce cas, l’outil de fusion peut d’abord rechercher dans le module de langue multiple une transformation de langue incorporée en 1033 (anglais américain). Si cela échoue, il peut ensuite rechercher une transformation en langage avec un LANGID principal correspondant, même si le LANGID secondaire ne correspond pas. Par exemple, si l’outil ne trouve pas de transformation en 1033 (anglais américain), il recherche une transformation en 9 (anglais générique). Si cela échoue, l’outil de fusion recherche une transformation en 0 (neutre en langue). Si toutes ces recherches pour une transformation appropriée échouent, le module ne parvient pas à s’ouvrir.
Pour plus d’informations, consultez Création de modules de fusion de plusieurs langages.