Translate <-> Vertalen
(Jacques van Leeuwen, Jan van der Heide)
For a good and broad acceptance of a lot of programs it is necessary to have those programs available in the language of the user. That works a lot easier and quicker, for her/him, most of the times. Although many users speak a second or a third language, there still is a large group that doesn't understand English well enough, for instance, by which they are unable to understand the programs, screens and helptexts by which they can not work good and efficiently with them. This group of people would be missed as users if the programs are not available in their own language.
If programs are available in other languages they are said to be NLS ready. NLS stands for National Language Support (support of own language). The programmer should already keep in mind that the program could be made available in other languages while coding. The strings should therefore be kept outside the actual program, for instance in seperate DLLs or MSG files. By using links, those strings are loaded into the program, although that can still cause problems because of the string length. English is a very compact language and a growth in string length of 10 to 30% during translation is not uncommon. But this is an area which goes beyond the scope for this article. This would better fit in an article about programming in relation to NLS.
Resource files
Many of the translatable strings can be found in so called resource files. These are a kind of program files, in ASCII format, which are compiled into help files, menus, dialogs and such which you will see by using the specific program. These files can exist in various formats. Standard versions are the .RC and .DLG filetypes. But for eCS also .HTML and regular text files (.TXT, .ME etc.) are being used.
For a good translation everything should be translated, this includes the command files (.CMD) which are being used as textfiles to perform installations and create the Desktop objects, for instance.
Don't worry and don't think that you will need to be able to program to be able to start translating, that is by far not needed. The strings that should be translated are mostly very easy to recognize and in case some error is being made, then most of the times that is very easy to find by processing the translated strings by the programmers.
Next to the program specific technical documents the help files also need to be translated. These are quite often either .HTML files or a so called .IPF file. The seperate HTML files are converted into one IPF file, which is then again converted into an INF or HLP file. The extension INF stands for a so called 'Information' file. Both the .INF file as the .HLP file have the same file format and can be read by the same program, for instance
NewView.
Mnemonics and shortcuts
In window menu bars, pull down menus, popup menus, dialogs etc. letters with underscores exist. Which are called 'Mnemonics', which means a memory aid. That means that the underscore letter is very typical for the specific word or expression (it is the first letter for instance). Next to that also expressions exist, after the options in for instance pull down menus, like 'Print Ctrl+P' with an underscore under the 'P' of 'Print' from the pull down menu 'File' in the menu bar. The key combination 'Ctrl+P' is called a shortcut. The 'P' with underscore is called a mnemonic.
The key combination 'Ctrl+P' is hard coded in the programs and can be used at any moment, while using the specific program, to print something. For that, the drop down menu belonging to 'File' doesn't have to be 'open'. If the pull down menu is 'open' you can press the 'P' to get the 'Print' dialog, as well. This option, an underscored letter in a pull down menu or popup menu and then open a dialog quickly exists for all pull down menus or popup menus in which underscored letters exist.
The in the menu bar, mostly the second bar in the window, shown possibilities like: File, Edit, etc. contain pull down menus which can be opened in two ways:
- to move the mouse pointer over the specific option and click once;
- by using the 'Alt+F' key combination, to open the pull down menu for the 'File' option for instance.
Shortcut combinations expressed with 'Alt+...', 'Ctrl+...' and 'Shift+...' cannot easily be translated most of the times. Mnemonics, an underscore letter in a pull down or popup menu, might need to be translated, meaning that a unique letter should be assigned. Most of the times this asks for a thorough search and test excercise. In mentioned situations the authors of this article are very willing to help you further.
Word list
Translating a stand alone program is not too complicated most of the times, especially if it isn't too large. It is a lot more complicated to translate all programs in the same and consistant way though, by which basic terms are named the same in each program, e.g. Close, Edit, Configuration etc. This is expressed by the term CUA (Common User Access: gemeenschappelijke gebruikerstoegang).
Using the same expressions is far from easy, especially if various people are translating at the same time. Most people have their own translation for the same English words. Therefore this has to be checked thoroughly, in the light of the fact that a dictionary gives multiple translations for one word as well. It is therefore handy and advisable to work with a word list. This can be a spreadsheet, a database or a comma seperated file. Also a seperate website, reachable by all translators, is an option.
The start of such a list and extending it is actually the MOST important thing before starting the actual translations.
This list is also known as a 'Terminology list'. It can be arranged for just one program, but also for a set of similar programs. It should contain the specific English terms, existing in the programs, with their respective translation(s).
With this list, which certainly is not the only source, as a start various people can start translating in parallel. Get agreement on newly found words from the others as soon as possible and add them to the word list, by which they can be used directly.
During the translation work for eCS 1.2 NL we already started, as an experiment, with an online word list (see
http://netage.nl/translate∞, userid: guest password: readonly).
This list is only conceptual at the moment and needs to be built on further, but it can surely be used as a starting point for the future. The big advantage of such a system is that multiple languages can be connected to each other in one single system by which it is easy to switch between those languages.
Tools
Next to the already mentioned word list there are of course various other possibilities to come to a uniform translation. You can think of dictionaries (especially computing specific dictionaries).
For using the correct spelling a spellingchecker is a must and next to the 'Word list Dutch Language' (the so called Groene boekje) books about grammar could be used as well. An important thing about this is that people are using the same publication/edition, otherwise differences might still occur. It is of course uncertain if these kind of books are available in the specific language.
Reading and re-reading
After things have been translated, it should all be valid with the original version of course as well as being understandable.
You yourself are reading your translations a couple of times and are testing things of course, but still you will be 'blind' for your own translations and won't recognize and see made mistakes. It is advisable to let your work be read and tested by others as well. That improves the quality most of the times very much.
For the Dutch version of eCS 1.2 a split up of translatable files was made. These were exchanged between each other after translation, by which a kind of cross check was established for used terms as well as style. Something to agree upon is how remarks should be communicated, by which it is clear what is meant and where things should be improved or could be improved.
For eCS 1.2 NL we always used editors that support linenumbers (MED or EPM for instance) and we stated in which line, from a named file, something was wrong or could be improved, for instance:
XFLDR031.RC:
Folder -> Map (414),
by which:
XFLDR031.RC: = the filename, often used as heading.
Folder -> Map (414) = the original text followed by the proposed improvement, with the linenumber(s) between brackets where the to be improved text was found.
This method proved to be very functional.
It is not advisable to directly change somebody elses texts, as most of the times it is not very clear anymore what has been changed and the correct translation can not be used in the rest of the process as well. And there is also the risk of introducing new mistakes in the text.
Explaining the reason for a change is also advisable. A hint might be that ASCII files can be easily compared using a program. A handy program for this is GFC (Graphical File Compare) which uses colors to show the differences between the two files.
Version control
After things have been translated and released, the original (mostly English) program will be updated, extended or improved most of the times. That will mostly also have consequences for the NLS files. It is important that a kind of version control system is being used, by which the original files are kept to be compared with the new versions (for instance with GFC). Thereby changes can be found quickly as well as what needs to be changed in or added to the translated documents.
This method is not used yet within the eCS 1.2 NL translation process, but will surely be used for the next version of eCS, or the seperate components within.
Language control
Translators need to be fluent in both languages for good translations. That makes translating a lot easier. Thereby it is not continuously necessary to check a dictionary or a word list. Something that is used a lot in the Dutch language are proverbs and sayings. Try not to use them, because it is very hard to find a good matching one in another language most of the times.
Communication
Especially if a lot of text has to be translated it is handy to know who is doing what and where people can go with questions, suggestions about translations, translating new terms and such. Quite often translators can add their name and email address in the translated stuff, but not everybody likes that, or there is not always place for it. Next to that it is also possible to add something to your mail closing stating that you are part of a translation group. An example of that can be: Member of the Dutch eComStation Translation Group (Lid van de Nederlandse eComStation Vertaalgroep).
But be carefull, before you know it, work is piling up. But remember that also others can volunteer for translating by which the translation work (which is a lot of fun to do) is made easier.
A handy communication tool between translators might be a private IRC channel; then the heads can be virtually put together quickly.
How to start
A lot of background information is given above, in various areas, in relation to translating. It is handy to think about a number things though, before you start at the diligent translation work.
- Look which books and other referential material is available or are used by other translators.
- Make a list of used words within the program to be translated. Start up the original English program and register the content of all dialogs, screens, popup menus, etc. Note in which named possibilities the found English expressions, texts etc. exist, as good as possible. An expression of which a letter has an underscore is included in the text file with a '~' (tilde) in front of the respective letter. But if that letter is coming back in the translated text is very questionable. The authors of this article are very willing to help you further.
- Prepare a word list of translations to be used (terminology list).
- Make that list available to the translators.
- Make a list of the used mnemonics within the program to be translated.
- Prepare a mnemonics list of translations to be used (mnemonics list).
- Make that list available to the translators.
- Distribute the files to be translated and agree upon a way of working/passing them on.
- Start translating.
- Pass your work on.
- Check the work from others and give remarks and adjust the word list and mnemonics list.
- Finish translations and send, if applicable, the outcome to the programmer(s).
- Go have some fun with the other translators to celebrate the finish.
In the near future, translators will also be able to use CVS (Concurrent Versioning System).
References
- Herziene Woordenlijst Nederlandse taal ("Het nieuwe Groene boekje"), Sdu Uitgeverij, ISBN 90 12 06128 8
- Woordenlijst voor computers, internet en telecommunicatie, Editie 2003/2004, Hein van Steenis, Academic Service, ISBN 90 395 2196 4
- Regular dictionaries
- NLSC terminology list OS/2 Warp 4
- National Language Design Guide Volume 2, Fourth Edition, IBM, SE09-8002-03
- Terminology list (Download Dutch example∞)
- Mnemonics list (Download Dutch example∞)
There are no comments on this page. [Add comment]