Tips for Linux Localization


A Note for Quick & Speedy po file translations

Linux Applications are being written with the philosophy that they can be translated in any language for wider usage. The applications use gettext po files that contain application’s information about basic interface, error messages, documentation and so on in the primary language in which they have been created (mostly English). These are then compiled in Machine Object (mo) file to render user interface in that language. The translation of po files can be done on any platform and through any Unicode enabled text editor capable of taking input in the Language in which translation is being done, such as Takhti, Vim, emacs, Yudit etc. With editors such as Takhti, you can create your own Keyboard map for use it as Unicode text editor using Unicode font of your language and keyboard you are familiar with. There is a language specific multi platform Bangla Unicode editor called “Lekho” (http://lekho.sourceforge.net) which can be used effectively for Bangla translation. But it is better to use translation tool that are specifically devised for translation. Translation tools are devised in such a way that not only they help you in speedy translation, but they help you in maintaining consistency across your work and with find & replace tool if you want to correct your common errors. They also provide machine assisted auto-translation features that help you translating strings as much as 30 to 40 % automatically depending upon your available translation database. Some tools are platform specific and some are available cross platform.

Yudit

This, in fact, is a plain, multilingual Unicode text editor. Yudit is old, trusted, and available for most languages with fonts and has its own key maps. It is popular, and is available for cross platform use, that is, you can use it either in Windows or on the Linux platform.

To work on Yudit, you have to simply install that font and key-map that you want to work with and configure it. It can convert text between various encodings with its own conversion utility. It does not depend upon OS to render Unicode Indic fonts because of it runs even in Win95 where Unicode is not supported. You can set Keyboard input maps to act like text converters. For example, you can type in translation strings in Phonetic Keyboard like BharatBhasha, or Traditional Indian Typewriter keyboard and it will convert text in Unicode format. However, it is good if you type in Inscript keyboard with Indic fonts since it is native font style for Indic Unicode and require much less effort in long run and lengthy typing. However you are free to choose your input keyboard you are familiar and proficient with, that may vary from phonetic (that require multiple key-stroke for typing single character) to traditional (Ramington or Godrej) etc. Yudit is plain and simple po file translator and does not have much functions or advanced features, hence has limited use for big translation projects. As, you have to navigate through whole strings that are not divided in to separate Window. This becomes little confusing. The interface also is crude, black-green and is not eye friendly.

This tool has one prominent feature that others lack: you can zoom in to increase Font size. It does not show the errors you type in translated strings since it can not compile po file. Po files are translated with its formats preserved, i.e. if there are marks /n, %s etc. for a new line, some messages etc. respectively in the original string, msgid, it will invariably have same marks in translated string, msgstr. Yudit is available for free to download at http://www.yudit.org

Poedit

This is a pure po file translation tool and is available for multiple platforms. You can use it in Windows 2000 / XP and Linux with Indian Language options enabled. It has some advanced features such as Auto-translation, catalogue management, string numbering, po file compilation, error message display etc. that help you in better, effective and easy translation. The disadvantage is that you can not use it if you haven’t set your operating environment in the language you want to translate. It takes input from the system keyboard and hence for Indian language translations, it is limited to the support your operating system provides. Poedit natively support 14 Indian languages. It has very powerful auto-translation tool. It has impressive auto-translation tool that helps you reducing your key strokes. When you right click on an un-translated string, it searches to its database which is updated dynamically when you save the translated file. If it finds similar translated string, it gives you several options to choose from. If you find an approximate translation, click that and do minor correction if necessary and you are done. The bigger your database, the more hints you will get and you can complete your translation more easily and quickly. Due to its auto translation feature, it has been observed that the consistency in translation is also maintained effectively. In its status bar, it shows translation progress as how many strings are translated out of total along with Fuzzy (translation with error or need to be revised) translation. It is available free at http://poedit.sourceforge.net/

Gtranslator

It is a Gtk based po file translation tool you can use in Linux. You have to set your keyboard environment to take input in language you want to translate. It has better, explorer bar like interface than Poedit. The window is divided in three parts. Left side one shows you three tabs - Translated, Fuzzy and Untranslated to select. Right side upper one shows original string, and the below one is for translation. It also has auto translation, po file compilation feature similar as Poedit. Gtranslator also lets you merge new, untranslated po file with old translated one. It has powerful Find /Replace / Query function for quick translation of similar strings. Gtranlator also lets you to edit po file header. Gtranlator comes with all standard Linux distribution with Gnome desktop. A pre configured, ready to work Gtranslator is available in indlinux.org’s Linux Milan 0.7 CD which lets you translate in six Indian Languages.

KBabel

KBabel is a program specifically written for advanced editing of po files with a view for speedier translation. KBabel uses KDE therefore, it is only available beyond KDE3.2 versions for Indic fonts i.e. Indian Language Translations. For Indian Languages, you can use this tool effectively for translation. It has a Rough Translation tool which translate your file roughly with your Glossary like Database file in one go. Thus almost all standard menu items and other common terms get translated automatically. After that you only need to refine a bit, and translate remaining strings it fails to find in database and hence could not translate. This is the only tool that uses Dictionary and spell check if you have one for your language. It has host of other functions as well such as quick navigation between different kinds of strings, Validation of translated strings that performs checking in syntax, arguments etc. as well, for right translation. KBabel comes with standard KDE installation if you had select KDE Development during installation, else you can download and install it from http://www.kde.org This is the only tool that gives you tool like find & replace which is quite powerful. Define a catalogue of all po files say, 500+ files of KDE and if you want to replace KE with KAI in translations, simply define it and it will find and replace all such occurrences recursively. Great for revisions. However, it has one major drawback. Presently, during editing, if you delete something in curser’s right positions, Indic fonts go mingled and do more harm than good. Lets hope, this bug will be removed soon in its next version.

Dictionaries

You also need an online/computer based dictionary for your language. Because, it is simply not viable to turn pages of hard bound dictionaries for terms you cant figure out exact meaning. Finding exact word in your language for a particular IT related English word takes your time and made you insane. So, it will also be better if you can invest in a commercial, computer based dictionary if one is available for your language. I myself have used at least 4 kinds of computer based Dictionaries since you may not find a particular dictionary to be complete in all respect.

Support

If you want to contribute in translating Linux in your own language, act right now. It is advisable to join translation groups and their mailing lists for keeping in touch for their everyday activity and for getting help. You may need initial help in setting up language specific environment, fonts and key maps in your platform on which you work. The statuses of current level of translation, files to be translated etc. are maintained there. One such place is http://www.indlinux.org which is committed to translate Linux in Indian Language with the help of Volunteers. It has done impressive work for Indian language, and has released a bootable Linux CD Milan 0.7 that has Hindi Interface and lets you work in Hindi, Gujrati, Kannada, Bangla, Malayalam and Tamil. There is plan for Rangoli live CD that have multiple Indian Language interface. There is Bangla specific Linux project – Ankur, and you can contribute here in Bangla, of course at http://www.ankurbangla.org . Recently, there were some activities started in some govt. funded agencies as well for localization of Linux in Indian Languages. One such place is http://www.indictrans.org . CDAC and NCST are since long involved in making Indian languages reach to computers. Indictrans has also released a Morphics based Bootable Linux CD GNUBHAARATII that has Hindi / Marathi interface and lets you work in some Indian language as well. This distribution has also used some translated po files from indlinux.org as all translations were also maintained as open source.

Conclusion:

If you want to involve seriously in translation business, use multiple translation tool, use online dictionary, invariably use auto-translation feature of translation tool available. My personal favorite are, use poedit for individual po file translation, kbabel for mass level review and update of many pofile at once.

No comments: