Compartir a través de


Varios módulos de combinación de lenguajes

Varios módulos de lenguaje pueden entregar componentes con varios idiomas diferentes como un único archivo compuesto. El diseño y la funcionalidad de varios módulos de combinación de lenguajes es similar a los módulos de lenguaje único. Un módulo de combinación de varios idiomas tiene más de un idioma que se muestra en la propiedadResumen de plantilla de. La base de datos de un módulo de combinación de varios idiomas contiene toda la información de configuración de varios idiomas. El gabinete MergeModule.CABinet dentro de un módulo de combinación de varios idiomas contiene todos los archivos de todos los idiomas admitidos.

Al aplicar un archivo .msm de varios idiomas a un archivo .msi, debe indicar el idioma final del paquete de instalación después de la combinación. En el caso de un módulo de combinación de idioma único, la tabla Archivo del módulo de mezcla enumera todos los archivos presentes en el gabinete MergeModule.CABinet. En el caso de un módulo de combinación de varios idiomas, MergeModule.CABinet contiene todos los archivos de cada idioma admitido por el módulo, pero solo el subconjunto de archivos del idioma final entra en la tabla File del módulo. La herramienta de combinación debe asegurarse de que el módulo proporciona el subconjunto de información y archivos necesarios para el idioma final solicitado.

Cada módulo de combinación tiene un idioma predeterminado especificado en la columna Language de la tabla ModuleSignature . El idioma predeterminado de un módulo de combinación también se muestra como el primer idioma, o solo, en el Resumen de plantilla Propiedad. Según el idioma final solicitado y el idioma predeterminado del módulo, la herramienta de combinación puede aplicar transformaciones de idioma a un módulo de combinación de varios idiomas para que se pueda abrir en el idioma solicitado o una aproximación del idioma solicitado. Las transformaciones de lenguaje se insertan dentro del módulo de combinación. Las herramientas de combinación deben aplicar transformaciones de lenguaje en cumplimiento de las siguientes reglas generales:

  • Si los idiomas predeterminados y finales son los mismos, el módulo se puede combinar sin usar transformaciones de lenguaje.
  • Si el idioma predeterminado es 0 (un módulo independiente del idioma), el módulo se puede combinar sin usar transformaciones de lenguaje.
  • Si el idioma final no es el idioma predeterminado, la herramienta de combinación debe aplicar una de las transformaciones de idioma insertadas en el módulo para cambiar el módulo al idioma final o a una aproximación del idioma final.

Por ejemplo, no se requieren transformaciones de idioma si el idioma final es 1033 (inglés de EE. UU.) y el idioma predeterminado del módulo es 1033 (inglés de EE. UU.), 0 (idioma neutro) o 9 (inglés genérico).

Las transformaciones de idioma son necesarias si el idioma final es 1033 (inglés de EE. UU.) y el idioma predeterminado es 1031 (alemán). En este caso, la herramienta de combinación puede buscar primero el módulo de varios idiomas para una transformación de idioma insertada en 1033 (inglés de EE. UU.). Si se produce un error, puede buscar una transformación en un idioma con un LANGID principal coincidente, incluso si el LANGID secundario no coincide. Por ejemplo, si la herramienta no encuentra una transformación en 1033 (inglés de EE. UU.), busca una transformación en 9 (inglés genérico). Si se produce un error en la herramienta de combinación, se busca una transformación en 0 (idioma neutro). Si se produce un error en todas estas búsquedas para una transformación adecuada, el módulo no se puede abrir.

Para obtener más información, consulte Creación de varios módulos de combinación de lenguajes.