1. Help Center
  2. Supported formats

Windows 8 Resource

What are .resx files, and what to pay attention to prior to localizing?

File Extensions .resx, .resw
API Extension windows8_resource
Import Yes
Export Yes
Pluralization supported? No
Descriptions supported? Yes


Windows 8 Resource File is an XML-based file format used primarily by Windows applications. Compared with other file formats, such as XLIFF and TS, it is not designed specifically for localization or translation. Therefore, it is usually not bi-lingual or multi-lingual. When used for localization, strings pending translation are stored in the <value> element nested under <data>. <value> elements under other tags are not supposed to be changed or filtered for translation

Code Sample

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded"/>
        <xsd:element name="data">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
            </xsd:sequence>
            <xsd:attribute name="name" type="xsd:string"/>
            <xsd:attribute name="type" type="xsd:string"/>
            <xsd:attribute name="mimetype" type="xsd:string"/>
          </xsd:complexType>
        </xsd:element>
        <xsd:element name="resheader">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
            </xsd:sequence>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
          </xsd:complexType>
        </xsd:element>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <data name="boolean_key">
    <value>--- true
</value>
  </data>
  <data name="empty_string_translation">
    <value/>
  </data>
  <data name="key_with_description">
    <value>This key has a description! (At least in some formats)</value>
    <comment>I'm an important description for that key!</comment>
  </data>
  <data name="key_with_line-break">
    <value>This translations contains
a line-break.</value>
  </data>
  <data name="nested.deeply.key">
    <value>I'm a deeply nested key.</value>
  </data>
  <data name="nested.key">
    <value>This key is nested inside a namespace.</value>
  </data>
  <data name="null_translation">
    <value/>
  </data>
  <data name="pluralized_key">
    <value>You have no pluralization.</value>
  </data>
  <data name="sample_collection">
    <value>---
- first item
- second item
- third item
</value>
  </data>
  <data name="simple_key">
    <value>Simple key, simple message.</value>
  </data>
  <data name="unverified_key">
    <value>Not yet verified translation waiting for it. (In some formats we also export this status)</value>
  </data>
</root>