18. translation
Prev | Chapter 4. Reference |

## 18. translation

    <translation
      location = anyURI matching [path/]resourcename_lang.properties
    />

Specifies how to translate messages found in action `label` and `toolTip`, pane `label`, layout `label`, etc.

Localizing GUI specification files works as follows:

1. The `location` attribute points to a Java™ property file. Example used in the tutorial:

       <translation location="custom_gui_en.properties" />
           ...
       <layout label="Document Editor" icon="docedit.png">
           ...

   Where `custom_gui_en.properties` contains:

       layout.label=Document Editor
           ...

   The location URL specifies:

   - The reference language of the GUI specification file: a two-letter lower-case ISO code. In the above example: `en`.

   - A unique resource name used to find translations to other languages. In the above example: `custom_gui`. More on this below.

   The reference property file is only used to map messages to message IDs. For example, `custom_gui_en.properties` specifies that message "`Document Editor`" has ID "`layout.label`".

2. If, for example, XXE is started using a French locale, a property file called `custom_gui_fr.properties`:

   - is searched in the same directory as the reference property file;

   - OR, if this file is not found there, this property file is searched as a resource using the `CLASSPATH`. That is, `custom_gui_fr.properties` is supposed to be contained[6] in a `jar` file found in the `CLASSPATH`.

   For performance reasons, language variants such `CA` in `fr-CA` are not supported.

3. For the localization to work, the translated property file must refer to the same IDs as those found in the reference property file.

   For example, `custom_gui_fr.properties` contains:

       layout.label=Éditeur de Document
            ...

[6] Directly contained, and not contained in a ``folder''. That is, "`jar tvf foo.jar`" must display `custom_gui_fr.properties` and not `foo/bar/custom_gui_fr.properties`.

Prev | Up |
17. toolBarItems | Home |