start

# Locales on X11

X11 it seems does not define its own locales but makes use of the system locale. It may only work for a subset of your systems locales because it needs to know about your locale. You need to make a few additions to ensure that X11 will recognise your glibc locales.

## Various Servers

There are currently two Xservers for the Free Software world: XFree86 and X.org. XFree86 is rapidly falling out of favour but in order to cover all of the Linux distributions you will probably want to patch both of these.

## Where to find the files to change

You can view these files using CVS web for XFree86 and X.org

We have used the Kinyarawanda example here to illustrate what needs to be changed. You can read the bugzilla report for adding Kinyarawanda to XFree86. Here is another example for X.org

## What needs changing

### locale.alias

The file locale.alias is usually found here:

    /usr/X11R6/lib/X11/locale

This needs to be updated to add all the locale permutations. Look at a language similar to yours and add the various permutations. Here are the lines that were added to get Kinyarawanda working:

    rw_RW:                 rw_RW.ISO8859-1
    rw_RW.iso8859-1:       rw_RW.ISO8859-1
    rw_RW.ISO88591:        rw_RW.ISO8859-1
    rw_RW.ISO-8859-1:      rw_RW.ISO8859-1
    rw_RW.utf8:            rw_RW.UTF-8

If you are not sure what character sets will be valid then look here to determine what will work:

    http://www.inference.phy.cam.ac.uk/dasher/download/alphabets/ALPHABETS.html
    http://www.eki.ee/letter/

### compose.dir

    iso8859-1/Compose:     rw_RW.ISO8859-1

and also

    en_US.UTF-8/Compose:                 rw_RW.UTF-8

Although it looks like the UTF-8 ones do not currently work

### locale.dir

    iso8859-1/XLC_LOCALE:                   rw_RW.ISO8859-1

and also

    en_US.UTF-8/XLC_LOCALE:                 rw_RW.UTF-8

### xc/programs/Xserver/XpConfig/Imakefile

This only seems to be relevant to X.org - this defines if your should inherit paper size from C or en_US. Add your locale and its permutations to the correct list.