04 Jun 2008

So I’ve been playing with Mnemosyne recently, using it to help brush up on my woeful Latin vocabulary. I thought it would be a good idea to get some of that data out of my head an into Ubuntu (which has a Latin translation).

Imagine my surpise when, after installing the latin language pack (through the gui), I could not log into Ubuntu in Latin?!

It turns out that there is no Latin locale in Ubuntu, or indeed in glibc. This is kind of strange (there is an esperanto locale). Remember that locales combine language and location – they describe how to format money, numbers, telephone details and so on. So clearly, I needed to add a latin locale. I could add one for just me (e.g. la_AU), or I could add a generic one (helpfully using AU values) on the betting chance that at this point there are not enough folk wishing to log in in latin (after all you can’t!) for us to need one per country. And even more so, doing la_AU doesn’t make a lot of sense – there isn’t a pt_AU locale even though there are portuguese speakers living in Australia. (The root issue here is that location and language are conflated. POSIX I hate thee). So, a quick crash course in locales, some copy and paste later, and there is a Latin locale.

Installing that on my system got me a latin locale, but gdm still wouldn’t let me select it. It turns out that gdm feels the urge to maintain its own list of what locales exist, and what to call them. I thought duplication in software was a bad idea, but perhaps I don’t understand the problem space enough. Anyhow, time to fix it.

And because this is something other people may be interested in, and the patches are not yet in Ubuntu because upstream glibc may choose a different locale code (e.g. la_AU), I’ve finally had reason to activate my ppa on launchpad, so there are now binary packages for hardy for anyone that wants to play with this!