Installation


Upgrades


DTC-Xen Installation


DTC-Xen / Dom0 Howtos

DTC-Xen / DomU Howtos

FAQ


DTC Howtos


Manuals


Features


Roadmap


Devel docs


Wiki - i18n


Wiki - Meta


Translating DTC to your favorite language

DTC now uses gettext technology (the industry standard for internationalization and localization), with the express goal of making it easy for you to get DTC in your language.

Here's the process, in a nutshell:

  1. Get your copy of DTC (preferably from the master Git repository)
  2. run make l12n in the top-level directory you got
  3. start translating
  4. send us a patch file or the translation file

Getting DTC

You can use both a tarball that contains DTC (preferably the latest release) or the latest revision of our Git repository. We'd rather you translate the latest revision because it makes your and our jobs easier (honest!), so here's how you check out something from Git:

apt-get install git-core curl
git clone http://git.gplhost.com/dtc.git

Rebuilding the translations

Now change into the DTC directory you just got, and run:

make l12n

Start translating

The file you need to translate corresponds to the language you want. For example: dtc/shared/vars/es_ES.po refers to the Spanish variant of Spain. dtc/shared/vars/es_AR.po would be the Argentinian Spanish file, and dtc/shared/vars/de_DE.po would be German from Germany variant. If the language you're targeting doesn't exist yet, copy the template.pot file to the appropriate file name, respecting the ISO language and country codes for it.

I suggest you use an application like KBabel, lokalize or poedit to do the translation job (I heard many times that Lokalize is best though). It's much easier than using a traditional text editor, because it's made for the job. In all likelihood, your Linux distribution carries it, so there shouldn't be a problem installing it. Poedit is available in most if not all operating systems.

If you are starting from scratch, then you should do a copy of dtc/shared/vars/templates.po to your target language (like es.po for spanish for example), edit the header, and start from there.

In any case, do not forget to edit the header of your .po file. It MUST include your email, so we can get in touch with you if there are some new translation job to be done in newer versions of DTC.

Do not forget that there is also some translation work to be done in the debian/po folder.

Once you have done this job, you can also translate the email messages sent by DTC. They are stored in etc/dtc. Simply copy the English text and use the encoding name of your target language at the end of the file name. Take care, you MUST use UTF-8. If you can't, then you can use another character set, then use the utility iconv to convert to UTF-8 (which is shipped with all libc).

Registration, expiration and other email messages

You'll also find in etc/dtc (relative to the toplevel directory of the sources) some files to translate. These are all the content of the email sent by DTC (registration, expiration, etc.). Here's how to translate them.

For the text messages, I guess the format is self explanatory. But better be safe than sorry. All messages have to be written in UTF-8, and you should use this format: messages_header_pt_BR.txt (if you are translating to Brazilian Portuguese for example) for the name of the files itself. If you can't find a good UTF-8 editor, you can always use your local encoding, then use iconv (shipped with libc6, so you'll have it on your system for sure) to change the encoding (man iconv if you don't know how to use it). Something like this might do (example for French, that could be using iso8859-1 as encoding):

   cp messages_header_fr_FR.txt temp.txt
   iconv --from-code ISO8859-1 --to-code UTF-8 temp.txt >messages_header_fr_FR.txt
   rm temp.txt

Send us the patch or file!

It's fine if you do not manage to translate the *entire* application. 1% is better than 0%. So don't be afraid of sending even a partial translation, somebody else might finish the job later!

Once you're done, you can use Git to generate a patch (a file describing the differences between what was before, and what's new). Try the git-format-patch command, or if you're in a hurry, go to the top level DTC directory and run:

   git diff -u > my-language_my-name_strings.patch

You can also publish your Git repository somewhere on the Internet we can pull. Or, if you don't want to, just send us the translated file.

If you find using Git too complicated for you, then simply sending your new .po file is ok as well. We'd also appreciate your own country's flag if possible (please, use the same size as others), but it doesn't mater much, as a country flag is not a copyrighted material (as much as I know), and it's easy to find on the web (like on wikipedia).

Send the translations to dtcdev@gplhost.sg. Normally, you can't send to the list it if you didn't subscribe to it before (we did it like that to avoid spam to our users). To subscribe, send a mail to dtcdev-subscribe@gplhost.sg and reply to the confirmation email that will arrive shortly afterwards. You do not risk anything by subscribing -- the archive removes the domain names from the display.

Editing this page means accepting its license.

Page last modified on June 11, 2012, at 03:42 PM EST