26 12 2016
Is your software localized for use in multiple languages?
Your software, web apps, and mobile apps are ready.Now you may want to global by adding as many languages as possible so that the software can be used without problem by the user in their language. You may say the answer lies in translating the text of the coded message. But translation is a small part of the entire process. The crucial aspect is that the code in your software should be able to accommodate any new languages added and that added text is tested for operation in languages.
The entire process integrating your product for use in multiple languages is known as Software Localization.
Steps involved in Software Localization
- Make the product Internationalization (sometimes shortened to i18n, meaning “i-18 letters-n”) ready
Analyze the source file. The programming language and the codes. Your product needs to be i18n ready to enable localization. This means the process of engineering the code to extract all elements needed to be translated and to adapt items such as currencies, trade names, date, month year correct.
- String Extraction, Filtering & Review
Extraction of strings is a major task of making your product i18n ready. The application can handle multiple languages without resorting to multiple coding for different languages.
- Language Pack creation & Replacement
Once the strings are extracted from the code, they are saved in ‘key=value’ format in a separate file (language pack or .properties file).
Example of a java resource bundle/language pack
key = value
m1 = Hello World
m2 = Computers, Laptops & Tablets
m3 = Invalid username & password
Extracted strings in the code are replaced with some function ex. i18nUtil.getString(“m1”). This function will look for the ‘m1’ key in the language pack above and display the value ‘Hello World’ at runtime.
Extracting strings and converting them into a language pack or resource bundle means that;
- The code becomes locale-independent i.e. the application can handle multiple languages without having to write/maintain different code for each language.
- Translators can deal with just the translatable text and not the programming code, thus improving efficiency, quality and turnaround time of translating.
Shakti Enterprise has worked with some of the major companies for string extraction. They offer string extraction from the hard-coded source file and create language bundle with extracted strings. Strings in the source files are replaced with a code template (ex. function) that links them to the language bundle.