Skip to content
Back to top
View this page
Edit this page

# WiX Localization files (.wxl)

The Translate Toolkit is able to process WiX Localization files using the wxl2po converter.

WiX Localization (WiX) is the XML-based localization format used by the WiX Toolset for building Windows Installer packages. Files use the `.wxl` extension.

## Format

A WXL file contains a `WixLocalization` root element that carries two important attributes:

- `Culture` – the locale code for the target language, in lowercase, e.g. `de-de`, `pt-br` or `cs-cz`. This must be set for new files.

- `Codepage` – the Windows code page or encoding identifier for the file (e.g. `1252` for Western European, `65001` for UTF-8). This is used both as a hint for determining the file encoding and as metadata for the MSI installer.

Translatable strings live in child elements of the root:

- `<String Id="key">text</String>` – text as element content (WiX v3 style)

- `<String Id="key" Value="text" />` – text as `Value` attribute (WiX v4 style); other attributes on the element (e.g. `Overridable`) are preserved.

- `<UI Id="key" Text="text" … />` – translatable text in the `Text` attribute of a `UI` element.

`UI` elements without a `Text` attribute are non-translatable layout overrides that are preserved verbatim on round-trips.

Example (WiX v4):

    <?xml version="1.0" encoding="windows-1252"?>
    <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl"
                     Culture="de-de" Codepage="1252">
      <String Id="WixUIBack" Overridable="yes" Value="&amp;Zurück" />
      <String Id="WixUICancel" Overridable="yes" Value="Abbrechen" />
      <UI Dialog="FilesInUse" Control="Retry" X="280" Width="80" />
    </WixLocalization>

Example (WiX v3):

    <?xml version="1.0" encoding="windows-1252"?>
    <WixLocalization xmlns="http://schemas.microsoft.com/wix/2006/localization"
                     Culture="pt-br" Codepage="1252">
      <String Id="WixUIBack" Overridable="yes">&amp;Voltar</String>
      <String Id="WixUICancel">Cancelar</String>
    </WixLocalization>

## Encoding

WXL files often lack an explicit XML encoding declaration. When no declaration is present the toolkit defaults to `windows-1252` for parsing (the most common Codepage in WXL files) and verifies against the `Codepage` attribute after the root element has been read, re-parsing with the correct encoding if necessary.

Files that carry a `<?xml … encoding="…"?>` declaration are parsed using the declared encoding directly.

## References

- WixLocalization schema reference

- WiX v4 WXL XML schema

- WiX Toolset