You need to change the wixproj (or make a new one) when you add a new en-AU
package, or the new en-AU package will never be created. Right?

Now, regarding locales that the installer has to "support", what
specifically are you referring to? If I build an installation package for
the zh-TW culture, that MSI file works in computers built and configured for
Hong Kong without any issues at all (assuming that those in Hong Kong can
read Traditional Chinese written by people in Taiwan). If I need a slightly
different package for Hong Kong, then I have to make a different one for
that locale, which of course requires authoring.

Depending on the OS, most languages "neutral" locales work with Windows
Installer packages (such as using "9" instead of 1033 for English). The only
exceptions I could find were one or two of the newer languages where neutral
languages were never defined and Chinese where for some reason "1" is
regarded as Traditional Chinese instead of Simplified Chinese (I assume it
is due to some legacy something-or-other in native Win32. .Net has it right
AFAIK). We successfully used Taiwan and China as the countries to get the
correct language settings without any issue to cover the "Chinese neutral"
languages.

Or is there some other culture support from Installer you are referring to?
Is it the transforms that are named after the LCID? That has never been
supported by the Windows Installer team (although several groups both within
and outside of MSFT have used it on occasion). It is best practice to ship
separate installation packages for each "locale" you support, whether those
be language neutral or market-based.

If your requirements are to build installers for Chinese Simplified, Chinese
Traditional, English, Spanish, French, German, and Russian, you can supply
wxl files with every single string used for the following cultures and you
will get seven MSIs, each of which will have the languages you authored:
"zh-cn;zh-tw;en;es;fr;de;ru".

OTOH, MSFT ships "en-US" to every English speaking nation on this earth and
virtually no one gets any errors or complains as a result. The "culture"
setting in WiX (and the corresponding "ProductLanguage" property) aren't
used for very many formatting decisions. Any of those decisions that do
exist would require you build a package for that specific culture anyway,
and of course that requires "authoring" for that culture.

-----Original Message-----
From: Lian Jiang [mailto:lji...@microsoft.com] 
Sent: Sunday, October 11, 2009 11:53 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] LCID and language/culture fallback

Blair,

It is interesting to know the fallback mechanism. However, this does not
address the problem that all supported cultures need to be known in
authoring time. If the business requirement says "the installer should
support Chinese traditional language", it is not enough information to
author the installer because the installer need to know "what cultures using
Chinese traditional language should be supported?". But the same business
requirement may be enough to author a .NET UI application because this app
only cares about string localization for languages and .NET automatically
handles cultures.

You gave example "en-US,en;en-CA,en". If later on we decide to support
en-AU, we need to change the wixproj. Is there a way to specify a culture
and then all family cultures fall back to this culture? For example, my
wixproj uses en-US, and en-?? Falls back to en-us; my wixproj uses zh-TW,
then zh-HK falls back to zh-TW; my wixproj uses fr-fr; then fr-?? Falls back
to fr-fr... This way my wixproj does not need to changed for new cultures
which are in the same family of a supported culture.

Appreciate your guidance.


Thanks
Lian

-----Original Message-----
From: Blair [mailto:os...@live.com] 
Sent: 2009年10月11日 21:28
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] LCID and language/culture fallback

I've built several cultures using one wixproj. If you are using votive, the
setting is in the wixproj properties window in the "Build" tab. Otherwise
simply make a semi-colon delimited list of cultures (e.g. "zh-TW; en-US") as
a property called "Cultures".

produ...@language can be set using a !(loc.LCID) var (assuming you put a
string named LCID in your wxl files).

You will need to all ALL of your localized wxl files to your wixproj. Each
will be selected based on the wixlocalizati...@culture value.

Also there is a fallback mechanism. For instance, I can supply three wxl
files (one with @Culture="en-CA", one with @Culture="en-US", and one with
@Culture="en") and I can put the stuff that is common between en-CA and
en-US into the "en" wxl and the stuff that is different between them will go
into the more specific ones. Or, I put everything into the "en" one and
selectively override the strings using the specific ones. To do that, I have
to make my Cultures property look like this:
<Cultures>en-US,en;en-CA,en</Cultures>.

For the documentation on all this look for the "Specifying Cultures to
Build" topic in the wix.chm file.

If you do this, you may want to supply the codepage for the database using
the wixlocalizati...@codepage attribute instead of supplying it on the
Product element. You can't set the summary codepage this way, but summary
codepages can't be utf-8 anyway, so I usually require that summary info (the
stuff that is set using the <Package> element) be 7-bit ASCII (a codepage of
"0") forcing that to be entirely in English for all packages.

-----Original Message-----
From: Lian Jiang [mailto:lji...@microsoft.com] 
Sent: Sunday, October 11, 2009 7:25 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] LCID and language/culture fallback

Hi,

My installer has a wixproj for each culture/locale. For example, I have
LCID=1028 for Chinese-Taiwan, LCID=1033 for en-US. However, this requires
one wixproj for each culture/locale instead of each language. For example,
Chinese-Taiwan culture and Chinese-Hongkong culture cannot share one Chinese
traditional language wixproj. English language has much more cultures than
Chinese language - it is a pain to create a wixproj for each locale.

In my opinion:

1. there is no way to make a wixproj for each language since WIN32 API is
locale specific.
2. there is no culture/locale fallback mechanism so that Chinese-Hongkong
can fallback to Chinese-Taiway for example.
3. Even there is culture/locale fallback mechanism, it is not safe to
fallback due to some political/policy/legal reasons.

So I believe it is necessary to create a wixproj for each locale/culture.

Please correct me if I am thinking wrong.

Thanks
Lian
----------------------------------------------------------------------------
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


----------------------------------------------------------------------------
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

----------------------------------------------------------------------------
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to