Internationalization and Localization
It is a fact of software product and solution development that software should be built for the world markets. It is also a fact that sometimes products are brought very quickly to market before the need for internationalization has been fully understood. Or that internationalization and localization can drop lower on the priority list than near-term customer features. Or that as the value of your product or solution becomes more widely-known additional locales become critical for meeting revenue targets.
There are many reasons to work with a partner, and at Augmentum we are familiar with all of them, having experienced software and solutions development as VPs and directors of US software companies ourselves. We offer internationalization and localization services under the AUGMENTATION MODEL® framework.
At Augmentum, internationalization is a fundamental software development discipline.To architect for internationalization, we design and implement features that work in a consistent manner across different locales. We also have extensive experience in internationalization of existing code. Internationalization is a continuous process. It requires best practices in software development,
Here are a few examples of I18N concerns and required best practices:
- Identify culturally dependent data (message strings, labels and captions, date/time/numbers/currencies/phone numbers/postal addresses, page layouts, graphics)
- No hard coded date/time/number/currency formats
- Selective externalization of string literals for translation
- String manipulation (length, comparison, concatenation, extraction, deletion, compound messages)
- Consistent user interface
- Use of variable layout widgets
- Testing for I18N
- Handling of data in different encoding schemes
- Data conversion in every point of entrance and exit to/from system
- Instrumentation and performance checks should be done as a part of I18N development process.
- Casing and collation of localized strings may cause security holes and vulnerability to attack caused by buffer overflow
- Translation of string literals and linguistic walkthrough
- Resizing of dialog boxes
- Correct use of separators
- Culturally sensitive icons and bitmaps
- Customized features for specific locale
- Testing for localization