The eAIP Specification supports multilingual AIP and the expectations of the user for each presentation media have been also considered. In a browser, the user expect to see the eAIP in one language, while being able to switch to another language at any moment. On paper, users expect that multilingual AIP present the two languages in the classical style, either recto-verso or on two columns.
For technical reasons, one eAIP document in XML contains all the AIP content for a single language. That language is indicated by the attribute xml:lang on the e:eAIP element. When the AIP needs to be published in more than one language, the publishing organisation will have to create a separate set of eAIP XML files for each language.
There are some good reasons behind this decision:
the complexity of the DTD is considerably reduced, as a single language attribute is necessary;
separating the languages allows to keep eAIP files at a reasonable size.
Using the XSLT style sheets provided by EUROCONTROL, only one language is produced per HTML page. This is very much in line with the way almost all Web sites are organised. The user is offered the possibility to select his preferred language early on a Web site, and stick with it most of the time. The eAIP menu, which sits in the upper right corner of every eAIP page in HTML, will contain a link to the other language version.
At the time of the writing, using the stylesheets provided by EUROCONTROL it was not yet possible to combine 2 language versions in XSL-FO. Work is in progress in this area. It should be noted that using an alternate production process, where both the PDF and the XML files are produced from within a structured editor, this is not an issue. The PDF files may be created directly with two or more languages being embedded in the same document (recto-verso or multiple columns).
The XSLT style sheets that produce HTML and XSL-FO are (almost) language- and locale-independent ("internationalised"). When they need to generate static text, such as for en-route tables headings, they use a separate file, which contains translations (localisations) of (almost) all static content. For the EUROCONTROL's eAIP Specimen, this file is named "EC-locales-en-GB.xml".
The locales file is part of an eAIP: the eAIP is not usable without its locales file. It should always be located in the same directory as the XML eAIP file, and be named "-locales.xml", prefixed with the ICAO country code.
In the eAIP, a language is identified by a language tag, composed of an ISO language code (ISO 639) and a mandatory ISO country code (ISO 3166), separated by a dash ('-'). By convention, language codes are always in lower case while country codes are always in upper case. This is not imposed by ISO standards but it is good practice to respect case in XML context.
An eAIP document declares its language by way of the xml:lang attribute on the e:eAIP element. XSLT style sheets use this attribute value to find a translation in the translations file.
For each bit of static text to be output, the style sheet (namely, g-gettext.xslt) looks for an exact match of the language tag. If no exact match is available, it produces an error message.
This document explains the use of ISO language and country codes in the context of Internet communication.