Automatic account creation is now enabled. Captcha authentication required for account creation and editing unless you are trusted here.

Localization

From WiX Wiki at MindCapers

Jump to: navigation, search

Localization is the process of converting strings that are seen by an end-user into different natural languages. For example, a .msi package with the same technical content might need to be run by English and Spanish speaking users.

Contents

Codepages and Cultures

TODO: Track down some documentation about codepages, cultures, etc.


.wxl Format

WiX localization, or .wxl files, are used for localization. It takes a few tricks to get them working, but then it's smooth sailing. Please read Recommended WiX Project Directory Structure before proceding with this article.

.wxl Sample

 
<?xml version='1.0'?>
<WixLocalization Culture='en-us'
	xmlns='http://schemas.microsoft.com/wix/2006/localization'>
 
   <String Id='LANG'>1033</String>   
 
    <String Id='Company'>MindCapers</String>
    <String Id='ProductName'>SomeProductName in English</String> ...
</WixLocalization>
 


Using .wxl Strings

Localization String Syntax

Wherever you use plain text in a WiX String field, you can use a localization string. The syntax can be used inline with plain text. For a localization string with the id MY_PRODUCT_NAME, the syntax within a string field is:

 
   'Some plain text !(loc.MY_PRODUCT_NAME) more plain text'
 

Localization String Example

Referring to the #.wxl Sample above, here is an example of how to use localization strings within a .wxs file:

 
   <Package  Description='!(loc.ProductName)'
     Comments='!(loc.ProductName) v1.0'
     Manufacturer='!(loc.Company)' InstallerVersion='200'
     Compressed='yes' />
 

Building with Localization Files

To build, it's just the light command line that needs to have this added:

 
 -cultures:en-us -loc "lang\en-us\prod_en-us.wxl" -dWixUILicenseRtf="lang\en-us\License.rtf"
 

Changing the output directory to reflect the localization is recommended, similar to this:

 
  -out "Packages\en\prod_v1.0.msi"
 
Personal tools