Our client develops mobile apps to increase efficiency of WiFi hotspots. Their English-language app sold fairly well in foreign language markets, so they decided to increase sales with mobile app and website translation into Arabic, Chinese, French, German, Portuguese, Russian, Spanish, and Turkish. After consideration of several language service providers, they chose Scriptis for our demonstrated expertise in translation for information technology.
Apps developed for Android and iOS devices pose a specific localization challenge: extracting the translatable text from the code. Standard translation software (CAT tools) can import some file formats “straight out of the box,” providing a clean view of the text to the translators.
For other file types, the tool can read the file but the translators might still see portions of code. Some localization engineers might be satisfied with this. They would expect the translation team to distinguish code from text and avoid breaking it as they work. This “worst-practice” strategy greatly increases the chance of errors in business-critical functions. However, in some instances, portions of untranslatable text should be presented in the translator’s view to provide the translators with context.
Our client’s app resources were stored in the JSON file format. To import JSON files, we use regular expressions to extract the text. Although JSON files follow a similar data model, there were case-specific details we needed to know about. These include which string “objects” should be translated and which left “as is.”
To make sure they had all the translatable text as well as the context to understand it, we provided translators with notes and images (like the one below) for clarification. Then, at the QA stage, we performed an extra phase of checks to review those portions of “unprotected code” and ensure that translators did not accidentally alter the code. Translatable text is in green.
In addition to guarding against changes to the code, we needed to prevent our translators from introducing invisible errors. Windows Notepad is commonly thought of as a “clean” text editor. Although Notepad won’t add formatting tags like MS Word does, it saves Unicode UTF-8 files as UTF-8 with BOM (Byte Order Marks). Most text editors can’t “see” the marks. Some legacy applications use BOM to signal UTF-8 character encoding. But BOM cause bugs with many modern applications. We make sure our team used “code friendly” text editors like Sublime Text.
To create a multilingual site, we advised the client to create sub-directories for the translated websites (e.g., www.client.com/fr/). This transfers the established authority of the client’s flagship website to the sub-directory pages.
We cautioned against using flags as signals on the language menu, because they can limit audiences. The Arabic language, for example, should be written out as Arabic in script and not presented as a flag of Egypt or Saudi Arabia. We also advised on core international SEO to make sure potential customers searching in their native countries would find the new sites.
Complex projects require testing to make sure that everything works perfectly for the foreign-language user. When translating into some languages such as Chinese and Arabic, the integrity of the strings isn’t apparent until you see the application at work. In an Arabic application, the code reads left to right, but the text itself reads right to left. Even if the strings look messy, they could deploy just fine. But you can’t know unless you test.
The testing process also involves linguistic review. Combining linguistic review and functional testing provides a final opportunity to confirm that the application meets local users’ expectations and preferences. Our localization project manager worked closely with the client to review of the software and the website to catch any glitches before going live.
The key to the success of this mobile app and website translation project was the continuous communication between our localization engineer and the client’s development team. We raised and addressed issues in real time via our project-specific Slack channel.
Within three months of their foreign-language launch, our client saw an average of 30% increase in sales across the eight new language markets. We are proud of our work on this project and excited to see an impressive return on our client’s localization investment.