Flylib.com

Books Software

 
 
 

Machine Translation


Machine Translation

Machine translators are programs that translate text. They can be Windows programs, Web services, or Web sites. They provide a way of automating the translation of your application. You must decide whether to use them, and, if so, how much to use them. Start with the premise that machine translation will not be perfect. It will make mistakes. If you use a machine translation, you must also follow up the machine translation with a review by a human translator who can catch all the machine's translation mistakes. That said, many of the translations will be correct, and this approach can significantly reduce the amount of time that it takes for the overall translation effort (and, therefore, the cost of that effort). In addition, this approach is very useful for getting a demo version of the application up and running with little or no translation cost. Consider that if you demo the Greek version of your application using a machine translation, it will be indistinguishable from a human translation to someone who cannot read Greek.

Another very important use for machine translation is to create a pseudo translation of your application. A pseudo translation is a translation to a pseudo language that looks very similar to the original language but that can also be identified as not the original language. The benefit of a pseudo translation is that it allows developers to test that the application is localizable while still being able to read the prompts in the application so that it can be used without having to learn another language. This approach is a very useful strategy in testing an internationalized application. However, it requires you to choose a culture that is used for the pseudo translation. If you are using the .NET Framework 2.0, the best solution to this is to create a custom culture specifically for this purpose (this is one of the examples in Chapter 11, "Custom Cultures"). If you are using .NET Framework 1.1, then the best solution is to hijack an existing culture.



Resource Administration

The basic process of maintaining resourcesthat is, adding, editing, and deleting text and imagesis simple. Visual Studio provides a Resource Editor (with lesser functionality in Visual Studio 2003) to maintain resources. However, in a large application, the maintenance of these resources is a significant part of the development process. The problem is that if you delete an entry from one language, you will probably want to delete the same entry from all the others. The same can also be true for adding and editing resources. It is easy for resources to get out-of-synch with each other. A tool is needed to help manage the numerous changes made to resources and to keep those resources in synch. Chapter 12 provides the Resource Administrator for this purpose. In addition to this, unlike the Visual Studio Resource Editor, it is not restricted to using resx files. Furthermore, it can automatically translate resources as they are added. So if you add a new string for a MessageBox for "Collect additional company information?", the French resource is also updated with a string for "Rassemblez l'information additionnelle de compagnie?"



Testing

I have already pointed out that the most accurate testing is performed only by running the application on the language version of the intended operating system, and also that using a pseudo translation is a great way to find localizability issues before the application is released beyond the developers. Another tool in the testing armory is FxCop. Throughout this book, I make various recommendations or point out choices that you might want to adopt in the internationalization of your application. FxCop is a static analysis tool included with Visual Studio 2005 Team System and available for download for the .NET Framework 1.1 and 2.0. It enables you to create rules that enforce the decisions and choices you have made. Chapter 13, "Testing Internationalization Using FxCop," contains a collection of rules that enforce the recommendations made in this book. You can enable or disable individual rules according to your decisions.