Continued from page 1
Some translators and agencies might be positive to providing their service for free. There are numerous examples of shareware and freeware software where professional translators have been generous. Mozilla is a good example of such a co-operative effort.
The object of
project is to develop multi-lingual software in which
end result will consist of our executable files linked to our table(s) of text. The specific text file shipped with
product will be in
language of
user’s choice. An alternative option is to store each translation in a specific language file and when
user installs
software they specify their language preference. Thus
routine that reads
text records needs to identify
language needed and isolate itself to that language.
And of course you need to test
resulting language versions. This is best performed by speakers of
specific languages you’ve decided to implement. Testing under language versions of
operating system might also be worthwhile.
Character constants are a special case. For example,
software might need to determine that a particular key has been pressed from a selection. Assume
menu selection includes Open, Save, Find, Copy and Paste. The routine in
program might look something like:
switch (myInputString[0]) { case ‘Open’; DoOpen (); break; case ‘Save’; DoSave (); break; case ‘Find’; DoSearch (); break; case ‘Copy’; DoCopy (); break; case ‘Paste’; DoPaste (); break; }
The code above is efficient and concise, but it is difficult to translate. The various constants (Open, Save, Find, Close, and Paste) have to be replaced with data items that have been loaded with
equivalent constants from
specific language file being used by
user.
What are
potential pitfalls? A common problem is that
space required by text on screens or reports differs between languages. For example
phrase ‘enter name and address’ is 22 characters. In German
equivalent phrase would be ‘Geben Sie ihr Name und Adresse ein’ which is 34 characters. We’re often faced with
problem that
translated language requires more screen and report space than
equivalent English. So test carefully that truncation doesn’t occur. And consider
cosmetic appeal of
resulting screen or report.
There are some legal aspects that you need to research. Obviously every country makes its own laws. In Germany, for example, there are quite restrictive laws that disallow anyone to make claims that a product is better than another company’s product. Not to forget that
United States also has export laws. Encryption algorithms are an obvious example. So do a little research, and if you are using a translation agency then ask for advice.
Copy protection, upgrades, error reporting are all issues that will broaden if you want to sell software offshore. You also need to take account that date format, paper sizes, currency symbols, sort order and addresses might differ, and lets not forget that
majority of
world uses
metric system for weights and measurement.
The translations don’t have to perfect. In saying this I am not suggesting you lower your standards. But most people appreciate that you have taken
trouble to translate
text, and will overlook
odd mistake. And let’s be realistic,
English used in your software will likely have
odd typo anyway.
Organising a marketing agreement with a local distributor can also provide a useful resource not only for
product’s language development, but in ongoing product promotion and support.
Microsoft provides an extensive resource available on their web site. There are several very helpful news groups that you can subscribe to and a number of books are devoted to
topic of software localization.
I hope this has given you something to think about.

Copyright © 2002 Grant McNamara, All Rights Reserved. This article may be freely distributed and published. If you wish to publish the article, out of courtesy, please email me and advise the url. Author Information: Grant McNamara web site: http://www.translateme.co.nz Email: grant.mcnamara@translateme.co.nz Grant McNamara is a consultant specializing multilingual software development and Internet support.