Connectify, Inc. creates applications to help consumers do more with their internet connections. MTM LinguaSoft worked with Connectify to translate mobile apps Connectify Hotspot and Speedify. Within three months, Connectify saw an average 30% increase in sales across eight new language markets: Arabic, Chinese, French, German, Portuguese, Russian, Spanish, and Turkish. We also translated and localized Connectify websites for these languages.
The key to the success of this project was the continuous communication between our localization engineer and Connectify’s development team. We raised and addressed issues in real time via our project-specific Slack channel, which was indispensable for a complex project involving multiple languages, resources, and files.
Mobile app translation and software localization
Apps developed for Android and iOS devices pose specific challenges for translators. First, the translatable text needs to be extracted from the code. Standard translation software (CAT tools) can import some file formats “straight out of the box,” disentangling the code from the text, and providing a clean view of the text to the translators. For other file types, the files can be read by the CAT tool but the translators might still see portions of code. Some localization engineers might be satisfied with this outcome and expect the translation team to distinguish code from text and avoid breaking it as they work, but this “worst-practice” strategy greatly increases the chance of errors in business-critical functions.
Connectify’s app resources were stored in the JSON file format. It’s a format we’ve seen with increasing frequency over the years, but most CAT tools still have trouble importing it without intervention. In many cases, we use a form of custom code called “regular expressions” to extract the text, but only after consultation with the client. Although JSON files follow a similar data model, there were case-specific details we needed to know about, such as which string “objects” should be translated and which left “as is.”
Another complication comes with application strings that are generated by the user’s situation or prior actions. For example, an alert might pop up showing the number of days remaining in the subscription. For English and many other languages, the noun form looks different depending on whether the days are singular or plural. The corresponding JSON is then structured in such a way that variable names and translatable text are displayed in brackets, nested one inside the other. In these instances, we decided to include a portion of the untranslatable code in the translator’s view, so that they can understand the context. We provided translators with notes and images (like the one below) to clarify how to handle translatable text. 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.
For app localization, once the string format has been evaluated and a plan put in place, the next step is usually a “pseudo translation” to identify any text that was not being captured as expected. Pseudo-translation also provides a heads up on potential issues related to the expansion or shrinkage of translated text. Some European languages take up a lot more space than English, and either the developer can lengthen the field to accommodate it, or the translator can save space by using abbreviations or paraphrasing. The Connectify development team was already familiar with the process and did pseudo-translation on their side.
In addition to guarding against changes to the code, we needed to make sure our translators did not introduce invisible errors when editing text in what is commonly thought of as a “clean” text editor, Windows Notepad. Although Notepad doesn’t add formatting tags like MS Word does, it saves Unicode UTF-8 files as UTF-8 with BOM (Byte Order Marks). These marks are invisible to most text editors and are used in some legacy applications as a signal that the character encoding is in UTF-8, but they cause problems with many modern applications and lead to bugs that are hard to track down. We make sure our team uses “code friendly” text editors like Sublime Text. Translation teams who are experienced with software localization are already sensitized to these issues, but there’s always something new to look out for. That’s why localization engineering is such an important part of the project.
Website translation and localization
Before starting a website translation project, we always talk with the client about how the translated sites will be structured. They might choose to host localized sites on separate ccTLDs (country code top level domains), or they might use language-specific subdomains or sub-directories on their existing site. Since Connectify was an established product with high search engine presence for their flagship domain connectify.me, they decided to use sub-directories to store their translated websites (e.g., www.connectify.me/fr/). This was a good choice from an SEO perspective because the established authority of the Connectify website easily transfers to the sub-directory pages.
For language menus (to navigate from one language to another), we counsel our clients to avoid country flags, as they needlessly limit audiences. 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 needed to make sure potential customers searching in their native countries would find the new sites that had been prepared for them.
Testing and more testing:
Complex projects require teamwork between the development team and the localization partner to make sure that everything works perfectly for the foreign-language user. Our project manager Ken Farrall worked closely with Connectify on in-country localization testing of the software and the website to catch any glitches before going live. 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. Any text expansion issues that cropped up during the translation process are addressed and remediated.
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.
And the story continues…
We are proud of our work on this project and excited to see an impressive return on their investment in localization. Thank you to Connectify for a great working partnership.
Or call 215-729-6765 to talk with a team member.