ETS and Product languages
Every KNX product (more precisely the application) contains two text areas. The important one for languages deals with the product parameters visible in ETS.
These primarily have to do with texts which are created and entered by the KNX product developers only once during device development. The developer saves his 'personal' parameter designation, usually in the language of his country (or in English right away).
- ETS3 inline texts have no explicit language codes recognizable by ETS that would uniquely associate the inline texts with a language.
- ETS6 inline texts do have explicit language codes recognizable by ETS that would uniquely associate the inline texts with a language (either because they were converted from ETS3, see 5, or because they are fundamentally native ETS 4/5/6 products).
- Inline texts are, by definition, always complete; every possible (display) parameter always requires an explicit description. Consequently, during product creation, these parameters must always be (textually) entered because these texts form the exclusive basis for every later translation.
- ETS3 allowed these inline texts to be specifically overwritten by a language chosen by the user (see Translated Texts) (function translate database). In this case, when exporting a product from ETS3, a language ID already exists, which does not necessarily mean that the language version is fully complete (See Translated texts, point 2).
- When KNX product databases are exported from ETS3, then these product inline texts for ETS6 always represent an 'unknown' language (See Inline Texts, point 1). Exception is made when in ETS3 the function from III. has been previously executed. The following rules/sequence should be used to create the inline texts while converting ETS3 products to ETS6 format.
- Sort through the list of the available languages in the ETS3 product.
- In the event the manufacturer has a standard language*, and a match is found in the list, choose this one.
- In the event the manufacturer has a standard language*, and a match from the same language family (en-GB -> en-US) is found in the list, choose the first entry in the list from that language family.
- In the case a database language (See Inline Texts, point 3) is specified, choose this one.
- Choose the first element from the list.
- Should there be no list of available languages, then enter the identifiable language code en-US (pathological case). No translations will exist in the en-US mode.
These are an additional entry added to the inline text in the respective language.
- Translated texts do have an explicit language code recognizable by ETS.
- Translated texts are not necessarily complete (in regard to the inline texts) because the translator could have forgotten some translations or left them out on purpose.
During import, the ETS6 import wizard attempts to present KNX product database entries in the preferred product language, which is where the following display algorithm described comes into play.
ETS6 uses a special algorithm in order to display KNX product database entries (i.e. each individual product independently of the others) in the desired language (applies to presentation in ETS as well as in the Import Wizard).
- The ETS6 user interface is presented in a specific language (A).
- ETS6 attempts to present all KNX product entries in the desired language (B).
- If this language (B) is not available in the product entry, for example, if both languages (A) + (B) are set to German, but particular KNX product entries contain only English translations, ETS will try to present these product entries in the default language*.
- However, if this fails (e.g. because the device's manufacturer has not defined a default language), then ETS6 uses the inline texts, so that for these product entries at least some sort of product data can be presented instead of blank fields. This is precisely the reason why after intentially deselecting a language in the product import wizard exactly this very language could be displayed as a fallback solution. In this case, it was available as inline text in addition to the actual translation (which was deselected).
Product import wizard
In the product import wizard you can choose to import all or just selected languages. ETS6 only offers such selected languages to choose from into which the KNX product entry catalog display was also translated by the manufacturer.
For some product entries there might be less languages defined for the catalog section by the manufacturer than for the application program (i.e. parameter dialog). In such a case, if all languages are imported, then more languages can be displayed that may not have been visible during a manual selection. This is done by changing the preferred product language in ETS settings.
* If a default language has been specified by the manufacturer, then the 'replacement language' will always be the same (manufacturers who do this choose English because English is always available and complete for their products). This setting avoids the need to fall back on the Display Algorithm, point 2.
ETS and Project Languages
Editable or visible texts are found everywhere in an ETS project, but several types are of special importance to be correctly displayed in ETS:
- Project-specific texts (e.g. names of lines, device descriptions, etc.)
- Product-specific texts
- "Inline" Texts
- Download Texts (device properties of the text type, which, for example, can be loaded in a display as a greeting)
Editable texts such as these (1 and the Download Texts) are defined by ETS in a corresponding language on a computer. However, as soon as you find yourself on another computer with ETS and a different operating system language with the original project, there are several boundary conditions which shall be observed.
ETS3 based Projects
Language information is not part of an exported ETS3 project. Therefore, only the currently used language settings on the computer, and ultimately the character set used for it, determine all textual information in the ETS3 project. Consequently, before importing such a project, ETS must know in what language was the project designed in ETS3 or was exported from.
- A project was designed in ETS3 in Hebrew, was parametrized, loaded to the installation and exported (Windows code, page 1255).
- On a computer with an English operating system, it was imported to ETS6 with an English language configuration (Windows code, page 1250). In this case, ETS6 would not be able to display the texts properly due to the character set mismatch (characters at position XY are different in CP-1255/CP-1250 respectively).
The project import wizard offers a means of control (if the language of the source project is known by the user) using the following procedure:
- The definition of a language for a format conversion of non-linguistically assignable source texts (8 bit) into linguistically defined target texts (UTF-8). This assumes, of course, that the source texts are also available in the project in the specified language.
- No language conversion or translation from language X to Y is performed (the original language X is not even known). Only data content in ETS is available by means of the codepage.
The language selected in the project import wizard is therefore defined as follows:
- Project-specific texts : Display in ETS6 according to the language settings made previously in the project import wizard.
- Product-specific (download texts): Download in ETS6 according to the language settings made previously in the product import wizard; these settings can still be adjusted later using project's the codepage.
Single languages or groups as well as entire Windows codepages are ultimately mapped to ISO-compliant languages and the list can be found in the language selection in the 'Settings'.
ETS 4/5/6 based Projects
ETS versions 4,5 and 6 operate with a Unicode character set (UTF-8). Consequently, projects which are created, exported and then reimported** all in ETS6, contain all the language information required for project-specific texts, therefore they are always displayed correctly by any operating system and thus no definition of the project language is required in the project import wizard.
** This also applies to imported ETS3 projects into ETS4,5 or 6. Once the language has been set correctly during project import, they behave like an ETS4/5/6 project with regards to the language display.
- Project-specific texts: Display is always correct; see the explanation above.
- Product-specific (download texts): Download in ETS6 using the value defined in the 'codepage' of the project details.
The device's manufacturer can define an explicit language to be always used regardless of the project settings (only possible for native ETS4/5/6 products).