SqWebMail Language translations

Starting with version 0.23, SqWebMail includes configuration scripts in the html subdirectory (the one where you found this file) which make it possible to be able to add translated HTML templates to SqWebMail very easily. You will be able to create and maintain the translated HTML templates all by yourself.

Before you set up a translated HTML template set, you will need to have the following information:

Extract sqwebmail, and run configure

First, you want to take the standard sqwebmail-@VERSION@.tar.gz tarball, and extract it, then run the configure script with your usual options:

$ tar xzvf sqwebmail-@VERSION@.tar.gz
$ cd sqwebmail-@VERSION@
$ ./configure [ your usual options go here ]

Change to the html subdirectory.

$ cd html

The standard sqwebmail-@VERSION.tar.gz includes the subdirectory html/en-us. Let's say you want to translate it into French.

The ISO code/locality is fr-fr.

The locale code is fr_FR.

The ispell dictionary name is "french".

The first thing that needs to be done is to create another subdirectory in html. The name of the subdirectory must be the ISO code/locality for the language.

You don't have to do it by hand. There's a special target in html/Makefile that will do it for you!

$ make clone from=en-us to=fr-fr

This script takes the Makefile, the configure script, and other files from the html/en-us subdirectory, and creates the html/fr-fr subdirectory which will temporary contain the mirror image of the html/en-us subdirectory.

Setting LANGUAGE_PREF

You now have to make minor changes to some files in the fr-fr subdirectory. fr-fr/LANGUAGE will be automatically created by the make clone script. However, you must initialize the contents of the fr-fr/LANGUAGE_PREF file:

$ echo fr50 fr-fr >fr-fr/LANGUAGE_PREF

The LANGUAGE_PREF file must contain exactly one line with two words. The second word must always be the ISO code/locality. The first word is used to sort all the installed HTML templates alphabetically by ISO code/locality, and it's used to selecte the preferred locality within the same ISO code.

For example, the contents of en-us/LANGUAGE_PREF is "en50 en-us". Let's say you want to have both en-us and en-gb HTML templates. If you want clients requesting the "en" HTML to receive the en-gb HTML, you will have to set en-gb/LANGUAGE_PREF to something like "en40 en-gb":

$ echo en40 en-gb >en-gb/LANGUAGE_PREF

If you want clients requesting the "en" HTML to receive the en-us HTML, you will have to do something like this:

$ echo en60 en-gb >en-gb/LANGUAGE_PREF

The first word in all the LANGUAGE_PREF files is used to sort the list of all the available HTML templates, and the sorted list is used to select the preferred locality within the same ISO code.

Setting LOCALE

Let's resume the example with the French translation. The next file that needs to be changed is LOCALE. This file contains the locale code for the language. For French, the locale code is fr_FR:

$ echo fr_FR >fr-fr/LOCALE

Setting CHARSET

The CHARSET file sets the MIME character set of outgoing messages. For US and most european languages, this value should be iso-8859-1

$ echo iso-8859-1 >fr-fr/CHARSET

Setting ISPELLDICT

Finally, you need to specify which dictionary ispell will use for spell checking. For French, the dictionary is simply named "french":

$ echo french >fr-fr/ISPELLDICT

If you do not have an ispell dictionary for this language, initialize ISPELLDICT with the name of the default dictionary.

Rerunning the configure script

You now need to rerun the configure script in the main sqwebmail directory:

$ cd ..
$ ./configure [ options ]

This reruns the configure script in the sqwebmail-@VERSION@ directory, which will now pick up your new html/fr-fr subdirectory, which will be configured in.

Creating the actual translations

Now, you can edit all the .html files in html/fr-fr, and replace all English text with its French equivalent.

If you now do a make, followed by make install, the installation script will install both the original en-us HTML templates and fr-fr HTML templates together.

If you now run make dist:

$ make dist

This will create a new sqwebmail-@VERSION@.tar.gz tarball, containing both sets of HTML templates, which you can now distribute!

Updating translations for new versions of SqWebMail

Well, what should you do when a new version of SqWebMail is available?

First, you need to determine whether or not there were any changes to the contents of the html/en-us subdirectory. Then, you will have to apply the same changes to the translated contents of the old html/fr-fr subdirectory.

Then, repeat the previous procedure for the new version of SqWebMail, but before running the configure script for the second time, copy all the .html files from the previous version of SqWebMail (plus any changes or new files) into the html/fr-fr subdirectory of the new version.