linSmith: Translating

Even though English is widely accepted as the language for scientific computing, and many programs are accepted in the original version, an increasing number of people insist that programs be adapted to their tongue.

Internationalization (i18n for short) takes care of the translation part of adapting programs, which is a very large part of the problem, particularly taking into account the diverse needs of the world's languages.

Localization (l10n) is very related, and takes into account the local customs - how to write numbers, monetary systems, time representation and many other, less obvious aspects of daily life.

Translating linSmith

From version 0.7.6, linSmith can be translated to other languages, and, in fact received translations to Chinese and Spanish.

I you would like to translate the program, here are the steps to follow:

  1. Unpack the tar.gz source package as usual.
  2. Go to the po/ directory
  3. Copy linsmith.pot to a file consisting of the desired language and .po, eg.: nl.po for Dutch.
  4. Edit this file with an editor capable of editing your language using Unicode - UTF-8 (of course, you say. But it is not so simple for the Asian languages!) For each translatable term, the .po file contains a comment, and two lines. Eg:
         #: src/interface.c:91 
         msgid "Circuit" 
         msgstr "" 
    Translate the term after msgid, and insert the translation between the quotes after msgstr. Do leave all lines in the destination file - they are needed to make the translation, and to automatically update the files when a new version comes along.
  5. To test, do a 'make install' and run linsmith again. If the language corresponds to the one of your system, the program should now start in your language! If you want to test linsmith in one of the other languages, you can do this:
    LANG=zh_CN linsmith
    Of course, you need to have a capable font installed to see the result.
  6. Note: if you test other languages with the above method, remember that your window manager was probably started in your language, so the title of the main window may not be translated correctly!
  7. And a last note: If you would like to contribute the translation to the package, please do so. I would appreciate it very much. If you would like to know more about the fields to be completed at the top of the .po-file, or other details about the internationalization process, please consult the official gettext documentation at gnu.org


(c) John Coppens ON6JC/LW3HAZ mail