First page Back Continue Last page Overview Graphics
So far we have covered message translation and internationalized text display in Linux. To complete the internationalization equation, let's look at locale data. Locale data are important for insuring the proper display of sorted lists (i.e., collation), monetary currencies, numbers, times, calendar dates, and other regional preferences.
Glibc is the GNU C library implementation for GNU Hurd1 and Linux systems. In addition to providing a high-performance and standards-conformant2 C library, it is extensively internationalized. The latest release, version 2.3.4, is packaged with 189 locales. The locale data used by glibc are in the POSIX format, a sample of which is shown in the background here.
The Unicode Consortium's Common Locale Data Repository (CLDR)3 project was originally developed under the sponsorship of the Linux Application Development Environment (LADE) of the Free Standards Group4's Open Internationalization Initiative5. Locale data in CLDR are collected and stored in an XML format known as the Locale Data Markup Language (LDML)6. One goal of the CLDR was to be compatible with existing locale specifications, such as the POSIX specification. A transformer is used to translate locale data in the master XML format into the POSIX format required by glibc7. Note that CLDR is not just for Linux – it is the master locale data repository for IBM's ICU framework and for Java as well.
1. GNU Hurd: http://www.gnu.org/software/hurd/hurd.html.
2. GNU glibc conforms to ISO C 99, POSIX.1c, POSIX.1j, POSIX.1d, Unix98 and the Single Unix Specification. See http://www.gnu.org/software/libc/libc.html.
3. Unicode Common Locale Data Repository: http://www.unicode.org/press/pr-cldr1.2.html.
4. Free Standards Group, http://www.freestandards.org.
5. Open Internationalization Initiative, http://www.openi18n.org.
6. Mark Davis, LDML, Unicode Technical Standard #35, http://www.unicode.org/reports/tr35/.
7. Kentaro Noji and Tetsuji Orita, Open Source Project for Unicode Locales, http://www.unicode.org/iuc/iuc18/papers/a2-paper.pdf.