Step 1: Internationalization
Internationalization is a process of making one source code work for all languages so that it accommodates any operating system or browser language. For example, if a user of web-based application opens the same English application in a browser which has default language as Arabic, then his web application should replicate the behavior of Arabic language (without translation) i.e. mirroring the user interface and displaying date, time, numbers, etc. as per the Arabic language. Abbreviation for internationalization is ‘I18N’ i.e. there are 18 characters in between ‘I’ and ’N’.
Below are the key things to do internationalization:
Hardcoded strings play a very crucial role when one has to localize the application into multiple languages. One needs to make sure that all labels, strings, user messages are externationalized in the resource files. These resource files are sent for translation to expert linguists.
Locale-Specific Methods/ Functions: Locale specific methods must not be language, country or region specific but independent. The software engineer needs to make sure that functions and methods for locale specifics i.e. date, time and number are independent of languages and the actual format is retrieved at the run time of the application either from operating system language or from web browser language. If the application is browser-based, then the first preference will be given to browser language and then to the operating system.
This is a type of file containing strings which appear on the application. Strings could be labels, error messages, user messages or logs. Resource files can be different filetypes depending on the technology you are working on. For example, .NET technology will have RESX filetype whereas JAVA technology will have PROPERTIES filetype and there are few other filetypes like – PO, RC, XML, JSON, etc.
Step 2: Translate
Machine Translation sometimes referred to as MT is a buzzword and many companies today are using it and we will soon write more on this topic in the coming blogs. However, to cover this topic I will quickly brief on the types of scenarios wherein one can use Machine Translation. Machine Translation can be used when there are tight deadlines to deliver the localized product, increasing the global presence immediately when you are still finalizing on expert linguists or having short and context-insensitive content which can be translated well using the machine, for instance, common menus on the application.
Humans will definitely be required to proofread the content and make sure that it is contextually correct and delivering the same tone to the language as the source. Our recommendation is to have the first round of translation using the machine and then use humans in order to reduce the time and cost in the entire translation process.
Step 3: Localization
Localization is a process of taking the internationalized source code and making it culturally and locally fit for the region or market. Abbreviation for localization is ‘L10N’ i.e. there are 10 characters in between ‘L’ and ’N’. Following are a few main things to consider when doing localization:
Icon, Images, Graphics, etc.
Having images with embedded text increases localization effort. It is always the best practice to keep text out of the images at the source which will drastically reduce time and cost for the graphics team. Imagine you have 20 images in English product which have text embedded on it and now you are planning to localize into 10 languages.
UI and Design
Make sure that the UI and Design are as per the local language, for example, all right-to-left languages have proper mirror layout of English UI.
Conversion of locale-specific data
Date, time, currency, number format, phone numbers, page size, etc. all must be shown as per the local regional setting. For example, the US date format is mm/dd/yyyy and UK is dd/mm/yyyy. Hence, if the user is in the UK, the date format should be displayed accordingly.
Integration of resource files
Translated files/resource files must be integrated properly as per the language and region. For example, German in Germany and German in Austria will have de-DE and de-AT.
Key differentiators between internationalization and localization:
|The process of making your source code handle any language, culture and region.||The process of translating a resource file for each specific language.|
|Developer/Software Engineers are involved during this phase||Language specialists are involved during this phase|
|Works on source code||Works on resource files|
|First steps towards globalizing the application||Starts only after internationalization is complete|
|One source code fits all languages||Each resource file is worked as per the language|
Prudle Labs is one stop solution for all your globalization requirements. We have our own IP and tools for doing Internationalization ‘Prudle-I18N’, Prudle Translation Management System and Prudle Localization QA plugin which is for Google Chrome browser.