Birden Çok Dil Birleştirme Modülü
Birden çok dil modülü, birkaç farklı dil içeren bileşenleri tek bir bileşik dosya olarak sunabilir. Birden çok dil birleştirme modülünün tasarımı ve işlevselliği tek dilli modüllere benzer. Birden çok dil birleştirme modülünün Şablon Özeti Özelliği'nde birden fazla dil listelenir. Birden çok dil birleştirme modülünün veritabanı, birden çok dil için tüm kurulum bilgilerini içerir. Birden çok dil birleştirme modülünün içindeki MergeModule.CABinet dolabı, desteklenen tüm diller için tüm dosyaları içerir.
Bir .msi dosyasına birden çok dil .msm dosyası uygularken, birleştirmeden sonra yükleme paketinin son dilini belirtmeniz gerekir. Tek dil birleştirme modülü söz konusu olduğunda birleştirme modülünün Dosya tablosu MergeModule.CABinet dolabında bulunan tüm dosyaları listeler. Birden çok dil birleştirme modülü söz konusu olduğunda, MergeModule.CABinet modülün desteklediği her dil için tüm dosyaları içerir, ancak modülün Dosya tablosuna yalnızca son dil için dosyaların alt kümesi gider. Birleştirme aracı, modülün istenen son dil için gereken bilgi ve dosyaların alt kümesini sağladığından emin olmalıdır.
Her birleştirme modülünün, ModuleSignature tablosunun Dil sütununda belirtilen varsayılan bir dili vardır. Birleştirme modülünün varsayılan dili, Şablon Özeti Özelliğinde ilk veya yalnızca dil olarak da gösterilir. İstenen son dile ve modülün varsayılan diline bağlı olarak, birleştirme aracı dil dönüşümlerini birden çok dil birleştirme modülüne uygulayarak istenen dilde açılabilmesini veya istenen dilin yaklaşık olarak açılmasını sağlayabilir. Dil dönüşümleri birleştirme modülünün içine eklenir. Birleştirme araçları, aşağıdaki genel kurallara uygun olarak dil dönüşümleri uygulamalıdır:
- Varsayılan ve son diller aynıysa, modül dil dönüştürmeleri kullanılmadan birleştirilebilir.
- Varsayılan dil 0 ise (dil bağımsız modülü), modül dil dönüştürmeleri kullanılmadan birleştirilebilir.
- Son dil varsayılan dil değilse, birleştirme aracının modülü son dile veya son dilin yaklaşık olarak değiştirilmesi için modüle katıştırılmış dil dönüşümlerinden birini uygulaması gerekir.
Örneğin, son dil 1033 (ABD İngilizcesi) ve modülün varsayılan dili 1033 (ABD İngilizcesi), 0 (dilden bağımsız) veya 9 (genel İngilizce) ise dil dönüşümü gerekmez.
Son dil 1033 (ABD İngilizcesi) ve varsayılan dil 1031 (Almanca) ise dil dönüştürmeleri gereklidir. Bu durumda, birleştirme aracı ilk olarak katıştırılmış dil dönüşümünü 1033'e (ABD İngilizcesi) dönüştürmek için birden çok dil modülünde arama yapabilir. Bu başarısız olursa, ikincil LANGID eşleşmese bile eşleşen birincil LANGID'ye sahip bir dile dönüştürme araması yapabilir. Örneğin, araç 1033'e (ABD İngilizcesi) dönüştürme bulamazsa 9'a (Genel İngilizce) dönüştürme arar. Bu başarısız olursa, birleştirme aracı 0'a (dilden bağımsız) dönüştürme arar. Uygun bir dönüştürme için yapılan tüm bu aramalar başarısız olursa modül açılamaz.
Daha fazla bilgi için bkz. Birden Çok Dil Birleştirme Modülü Yazma.