thyme
about timian
summary & news
overview
some samples
license
mailing-lists
things to do
bugs!!
the author
get timian
supported platforms
download
building
binaries
documentation
manpage
change log
XSLT
report formats
report specs
Xalan extensions
DTDs
styles
overview
writing
gallery
analog
summary
XML explained
DTD analog-data
i18n
Overview
locale
languages
ISO639-2
ISO3166
UTF-8

feedback
tell me
© 2003 Per Jessen, per@computer.org.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

i18n - internationali[sz]ation

analog has had internationalised reports for a long time; I haven't looked it up, but it's certainly nothing new to analog. For new applications and Timian in particular, there are many good reasons for providing good support for internationalisation.

i18n - the generally accepted short version of "internationalisation" - will be used for the remainder of this document. (if you're wondering what the '18' means, it's simply the number of letters between the 'i' and the 'n').

summary

Timian is not about to re-invent the wheel nor i18n. Nor will this document attempt to explain what i18n is really all about. Instead it will focus on explaining the support for i18n in Timian, how to use it and very importantly, how to contribute to it.

Timian offers the possibility to leverage most if not all of the i18n work already done in analog; that is, when you build Timian, you have the option of specifying where to find the analog language files. If selected, they will be converted to a format suitable for Timians use (i.e. XML & UTF-8).

This is not entirely straight forward, see section Re-using analogs i18n for further details.

general idea

Timian was designed from the beginning with the explicit intention of supporting i18n. Writing a properly internationalised application can be a daunting task, but fortunately there is a lot of work going on in the area of i18n, which Timian i18n support will benefit from.

UTF-8

UTF-8 is the 8-bit Unicode Transformation Format. Timian will produce all reports using the UTF-8 format; this is not optional and cannot be changed without source-code changes. My intention is for Timian to maintain all output in UTF-8.

For a thorough explanation of UTF-8, see the UTF-8 and Unicode FAQ - worth a read even if you're not overly interested.

unix/gcc locales

For locale information (character classification and case conversion, collation order, date and time formats, non-monetary numeric formats, monetary formats) Timian uses the locales provided by the GNU C Library. On a Linux/UNIX platform, use the "locale -a" command to list the available locales. My Linux workstation reports 102 UTF-8 locales.

message catalogues

For translated messages, Timian uses message catalogues written using XML. This makes it easy for Timian to process, but also enables use by e.g. authoring & publishing tools.

Timian

The locale is specified as a command-line option when running Timian. A few examples:

./timian --locale=en_GB .... use English as spoken in Britain.
./timian --locale=en_US .... use English as spoken in America.
./timian --locale=de_CH .... use German as spoken in Switzerland.
./timian --locale=fr_CA .... use French as spoken in Canada.
./timian --locale=el_GR .... use Greek as spoken in Greece :-)
etc.

An unsupported locale will be detected, and processing stopped.

Last time this page was updated: Monday 9 June 2003 12:12 XHTML 1.1 Conformant! CSS2 Conformant!