Visual Studio .NET 2003
When preparing your application for the localization process, focusing your efforts in the following areas can reduce costs and expedite the process.
- Determine the working language set — Prior to beginning the localization process, you need to know which languages and cultures you will support in your application. You might need to add features to support localization or locale-specific features for your target markets. For more information, see Globalization.
- Test your application for globalization issues — The goal of globalization testing is to detect potential problems in application design that could inhibit your application while functioning under different cultures/locales. It makes sure that the code can handle all international support without breaking functionality that would cause either data loss or display problems. Globalization testing checks proper functionality of the product with any of the culture/locale settings using every type of international input possible. For more information, see Globalization Testing.
- Create resource-only libraries (DLLs) — The greatest aid to localization is to separate localizable resources from application source code. Separating these resources from source code eliminates the need to recompile source code. For more information, see Isolating Localizable Resources.
- Test your application for localizability issues — Localizability testing verifies that you can easily translate the user interface of the program to any target language without re-engineering or modifying code. Localizability testing catches bugs normally found during product localization, so localization of the program is required to complete this test. As such, localizability testing is essentially a hybrid of globalization testing and localization testing. Successful completion of localizability testing indicates that the product is ready for localization. You can use pseudo-localization to avoid the time and expense of true localization. Pseudo-localization is perhaps the most cost-effective way of finding localizability bugs. For more information, see Localizability Testing.
- Prepare help content — When localizing your application, you should also localize the accompanying help content. Prior to localizing help content, there are steps you can take to reduce the expense of localization. For more information, see Preparing Help Content for Localization.
- Find a localization vendor — After preparing your application for localization, the next challenge is to locate a localization vendor. Microsoft provides help locating a localization vendor. For more information, see the Localization Partners section of the Visual Studio .NET Partner Resources Site (http://msdn.microsoft.com/vstudio/partners/default.asp).
- Determine the localization tool — Most companies use localization tools to translate strings between two languages. Localization tools provide the advantage of translation memories that recycle previously translated strings. For example, if you need to update your software, a translation tool allows you to update it without losing your previous translations. Two general types of translation tools are available — those that work on compiled binary files and those that process text or source code files. If your application has a complex UI that requires a visual designer to resize it, tools that work on the compiled binary files are generally more efficient. Tools that support binary localization do not require you to recompile your source files to develop localized resource (or satellite) DLLs. If your application translation only consists of strings, and visual resizing is not required, then a tool that works on text or source files might be sufficient. When using an external vendor for localization, your vendor might use a preferred localization tool.
- Recycle text from translation memories — If your application or a similar application has been previously localized, you can use a localization tool to import previous translations for recycling. This could reduce the cost of localization by reducing the number of strings a localizer needs to translate.