Globalization Assessment

A review of the current state of the application is mandated before any claims can be made about its readiness for the global market, and well before any translation or marketing cost is incurred. The review covers the areas below with a globalization perspective:


  1. Software BOM
    Inventory of all external and internal interfaces.
  2. Marketing Plans
    Information collected from multiple people in your organization to analyze global rollout requirements.
  3. Functional Analysis
    Run the application to analyze UI components, backend services, offline services, runtime components, the build mechanism, and the packaging/deployment process.
  4. UI AnalysisContent & Formatting Issues related to text labels, input fields, numerals, special characters, date, time, currencies and data units are analyzed.
  5. Current I18n/L10n Strategies
    Any prior implementations are reviewed, gap analyzed, and incorporated in the design plans as appropriate.
  6. Code Analysis
    All front-end, back-end, and third party components sources are analyzed for I18n and L10n issues manually and with proprietary tools.


RESULT: An assessment statement of work summary and a detailed design strategy document.




Internationalization Engineering

Internationalization (I18n) engineering is the process of developing software that supports different languages, different character sets, and all culture-specific dependencies without modifying the software. I18n applies at the design level – to the very core of the application code - and is all-pervasive affecting over 90% of the code files.


I18n is a pre-requisite for Localization where you start seeing foreign characters in the app. I18n ensures that a product or Web site can be localized, that is, available in a simple way to exchange with native language translators and incorporate the translations back into the code and build/release system. It also ensures that application information is presented in a UI format natural to users from a specific country.


Text Storage and Data Format are two main categories of I18n issues that appear in an application:.


RESULT: The internationalized application will be able to:

  1. Support mock translations, and allow one or more pseudo-locales to be selected by the user
  2. Have all user-visible text and images external to the application source files
  3. Integrate with the locale to format date, time, number, and currencies
  4. Support the appropriate Unicode or other encoding used by the locale
  5. Preparation of a Localization Kit - a centralized package of all externalized UI text and other textual resources such as images, help files, manuals, release notes, packaging boxes and collateral.




Localization Engineering

Localization (L10n) engineering is the process of adapting your application to support a specific language and character set. L10n includes adapting to the cultural conventions for your target country audiences, together with the translation of all visible text and messages, as well as textual and symbolic images and use of colors. It can sometimes necessitate a comprehensive rethinking of logic, visual design, or presentation if the way of doing business (e.g., accounting) or the accepted paradigm for learning (e.g., focus on individual vs. group) in a given locale differs substantially from the originating culture.


Translation, Layout and Adaptation are the major L10n issue categories to address in an application.


RESULT: The localized application will be able to:

  1. Show the entire UI properly localized in a particular language.
  2. Allow tkit exchanges easily with translation vendors.
  3. Integrate translations easily and seamlessly back into the application infrastructure.



Globalization Verification

Globalization Verification is a multi-stage activity and consists of different QA tasks performed at different times in the globalization timeline.


The various types of verification are:

  1. Assessment Testing
    Determines the locale problems in your original software and used to estimate the amount of work needed to enable globalization.
  2. I18n Verification
    Verifies all internationalization issues by using pseudo-locales to identify potential L10N UI concerns.
  3. L10n Verification
    Verifies the localized product functionality after a language translation is integrated, and is consistent with the original code in English.
  4. Linguistic Verification
    Verifies the appropriateness of a translation in specific UI locations in context of the application domain, and usually done by your distributors/partners, beta customers, or a professional native QA engineer.
  5. I18n Test Automation
    Automating a set of sanity tests with the intention of qualifying each new English build in all pseudo (I18n) and target locales (L10n), as developers add new features for future releases.


Internationalization and Localization Pitfalls

  1. The assumptions and coding style of different developers in the application creates different problems requiring different I18n solutions.
  2. Multiple teams within your organization develop the various parts of your app, and it is quite time consuming and expensive to collaborate closely for several months until a global release and forever after.
  3. The programming languages used for different parts of the app determines the mechanisms and tools available for globalization and result in multiple I18n design choices.
  4. The OS capabilities determine the availability of locale information, and app need to make a choice on the extent of its dependency.
  5. Cultural differences between various regions drive the UI changes, so the UI elements and text layout needs to be flexible.
  6. Third party tools like databases, application servers and web server engines require different glues and style of data interchange and integration, and can also impose different implementation decisions on your app.
  7. Maintaining a common glossary and translations for each language pair you release is important, and keeping them all at the same quality level is complex when dealing with translators spread over the globe, and application code that changes rapidly resulting in new entries every day.