The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Language Localization

We have a product in English and we would like to release in other languages (European, Asian etc.) Can anyone help me:

a. Is it better to get it transalated locally or outsource to a single contact.

b. In the code part, if we give Resource file and Message Box text is it sufficient for translation or require more?

Vat Send private email
Thursday, March 29, 2007
1. The answer depends on your location. It's easier to work with a local provider, but the provider should be experienced with the cultural differences for all locations you need. It may not be enough for the provider to know the target language.

2. Most providers can not use the resource files in  the original form (I presume you are speaking about Visual C++ stile resources). Translation of such files is painful: you must extract all strings and place them back; sometimes, the new (translated) string does not fit into the placeholder for the original. Combo Boxes and list boxes may need resizing for other languages, too. Some foreign cultures require changes in layout of your dialogs (e.g. for Hebrew, the direction is right-to-left).

If you are speaking about other kinds of resources, like Borland C++, C# or VB, they are even more tightly linked to the development environment than in Visual C++.

In summary, you need a translation provider that is proficient with your development technology. I found it a viable alternative to use HTML dialogs, supported by MFC 7 and up. You pay some price in your code, but translators work with plain HTML pages, and they have much more tools to deal with these.

3. Consider moving all the messages into the String table in the resource file. Note that the message strings may include formatted parameters (e.g. %d or %s). Foreign language may require changing the order of parameters. Normal sprintf() or CString::Format() are not useful tehrefore. Visual C++ supports CString::FormatMessage() whic addresses the parameters order.
Alex Cohn Send private email
Thursday, March 29, 2007
Hi Alex Cohn,

Thanks alot for your suggestion, I will consider these invaluable inputs.

Vat Send private email
Friday, March 30, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz