How to write a GNU libc locale

by Petter Reinholdtsen
Back

This is a draft document explaining how to write locale files for GNU libc. It will not go into details, but reference specifications. It will on the other hand mention some of the pitfalls, and try to document the current practice.

How to choose the locale file name

- how to choose the file name

Category order

To make it easier to compare locales with each other, I recommend using the same order for the categories in all locales. Any order will do, so I picked the order used in most locales, and decided to recommend this order:

  1. LC_IDENTIFICATION
  2. LC_CTYPE
  3. LC_COLLATE
  4. LC_MONETARY
  5. LC_NUMERIC
  6. LC_TIME
  7. LC_MESSAGES
  8. LC_PAPER
  9. LC_NAME
  10. LC_ADDRESS
  11. LC_TELEPHONE
  12. LC_MEASUREMENT

Reuse when possible

- "copy" from existing locales if the content should be identical

LD_INDENTIFICATION

- standard refs in the LD_INDENTIFICATION

LC_MESSAGES

- yes/no expr should have the form ^[yYnN], without 0 and 1

Standard documents and specifications


Petter Reinholdtsen
Last modified: Sat May 15 11:56:09 CEST 2004