some initial notes on getting squirrelmail i18n to work

locales on the system:
/etc/locale.gen

locale aliases in squirrelmail:
functions/i18n.php

universe of possible locales:
/usr/share/i18n/locales/*

In /etc/locale.gen, the country code matters! If you put the wrong country code, then squirrelmail won’t load the translation. For example, if you pick es_MX, spanish translations don’t work. You have to pick es_ES for squirrelmail to show spanish.

In /etc/locale.gen, it does not appear the charset matters! So, you just need to match up the language plus country code that is in squirrelmail with an entry in locale.gen, but it doesn’t need to be the correct character set.

getting arabic to actually work

Modify the arabic aliases so that it will actually work (we need a country code because debian won’t install a language without a country).

The new way
codetitle. functions/i18n.php

$languages['ar']['NAME']    = 'Arabic';
$languages['ar']['CHARSET'] = 'utf-8';
$languages['ar']['DIR']     = 'rtl';
$languages['ar']['LOCALE']  = 'ar_EG';

The old way
codetitle. functions/i18n.php

$languages['ar_EG']['NAME']    = 'Arabic';
$languages['ar_EG']['CHARSET'] = 'utf-8';
$languages['ar_EG']['DIR']     = 'rtl';
$languages['ar']['ALIAS']      = 'ar_EG';

create a new locale for arabic that includes country code:

> cd locale
> cp -r ar ar_EG

codetitle. ar_EG/setup.php

$languages['ar_EG']['NAME']    = 'Arabic';
$languages['ar_EG']['CHARSET'] = 'utf-8';
$languages['ar_EG']['DIR']     = 'rtl';
$languages['ar']['ALIAS'] = 'ar_EG';