This appendix provides guidelines on the best practices for software internationalization. Internationalization is the process of developing a software application so that it supports the wide variety of languages and cultural conventions used throughout the world. Internationalization issues should be considered from the start of the product development cycle to avoid expensive re-engineering.
Localization is the process of translating and customizing a product for a specific language and country. Localization includes translation, engineering, desktop publishing, testing, and project management. Products that are properly internationalized can be efficiently localized which results in significant cost and time savings.
Internationalization affects all phases of product development (software engineering, certification, technical publications) and each type of technology (programming languages, application programs, operating systems). The guidelines in this document are stated in a technology-independent way but we have also included some specific information for C++ and .NET in a Microsoft Windows environment.
The guidelines have been prioritized into two levels: Required and Best Practice. Guidelines that are marked Required must be implemented to conform to Bentley internationalization standards and ensure that products can be efficiently localized. The guidelines that are marked Best Practice are recommended but are not required for all products.