Více modulů sloučení jazyků
Několik jazykových modulů může dodávat komponenty s několika různými jazyky jako jeden složený soubor. Návrh a funkce více modulů pro sloučení jazyků se podobá modulům s jedním jazykem. Modul sloučení více jazyků obsahuje více jazyků uvedených v šablony Souhrn vlastnost. Databáze modulu sloučení s více jazyky obsahuje všechny informace o nastavení pro více jazyků. Soubor CAB MergeModule.CABinet v modulu sloučení s více jazyky obsahuje všechny soubory pro všechny podporované jazyky.
Při použití souboru .msm s více jazyky na soubor .msi musíte po sloučení určit konečný jazyk instalačního balíčku. V případě modulu hromadné korespondence s jedním jazykem je tabulka File modulu sloučení uvádí všechny soubory, které jsou přítomné v souboru CAB MergeModule.CABinet. V případě modulu sloučení s více jazyky obsahuje MergeModule.CABinet všechny soubory pro každý jazyk podporovaný modulem, ale pouze podmnožina souborů pro konečný jazyk přejde do tabulky Soubor modulu. Nástroj pro sloučení musí zajistit, aby modul poskytoval podmnožinu informací a souborů požadovaných pro požadovaný konečný jazyk.
Každý slučovací modul má výchozí jazyk zadaný ve sloupci Jazyk tabulky ModuleSignature. Výchozí jazyk modulu sloučení se také zobrazuje jako první nebo jediný jazyk vvlastnosti souhrnu šablony. V závislosti na požadovaném konečném jazyce a výchozím jazyku modulu může nástroj pro sloučení použít transformace jazyka na modul sloučení s více jazyky, aby bylo možné ho otevřít v požadovaném jazyce nebo aproximaci požadovaného jazyka. Transformace jazyka jsou vloženy do modulu sloučení. Nástroje pro sloučení musí používat transformace jazyka v souladu s následujícími obecnými pravidly:
- Pokud jsou výchozí a konečné jazyky stejné, je možné modul sloučit bez použití jazykových transformací.
- Pokud je výchozí jazyk 0 (modul neutrální jazyk), je možné modul sloučit bez použití jazykových transformací.
- Pokud konečný jazyk není výchozím jazykem, musí nástroj pro sloučení použít některou z transformací jazyka vloženého do modulu, aby se modul změnil na konečný jazyk nebo na aproximaci konečného jazyka.
Například pokud je konečný jazyk 1033 (angličtina v USA) a výchozí jazyk modulu je 1033 (angličtina v USA), 0 (jazyk neutrální) nebo 9 (obecná angličtina).
Transformace jazyka se vyžadují, pokud je konečný jazyk 1033 (angličtina v USA) a výchozí jazyk je 1031 (němčina). V tomto případě může nástroj pro sloučení nejprve vyhledat vloženou jazykovou transformaci na 1033 (angličtina v USA). Pokud se to nezdaří, může pak vyhledat transformaci na jazyk s odpovídající primární JAZYKID, i když sekundární LANGID neodpovídá. Pokud například nástroj nemůže najít transformaci na 1033 (angličtina v USA), vyhledá transformaci na 9 (obecná angličtina). Pokud to selže, nástroj pro sloučení vyhledá transformaci na 0 (jazyk neutrální). Pokud všechna tato hledání vhodnou transformaci selžou, modul se neotevře.
Další informace najdete v tématu vytváření více modulů sloučení jazyků.