Google was making it easier for developers to request language translations, tapping direct integrations with professional translation and localization companies. Developers submit the source-language text-strings through their main app-management interface, and receive the localized strings back. Simple.
It was certainly a smart move on Google’s part, as it tries to woo developers on board with new tools. And for existing Android programmers, well, it makes their life that little bit easier.
For now, the service is open to a select crowd of ‘whitelisted’ developers, and there are only a selection of hand-picked translation companies on board too. But it should be opening up to all developers shortly and, longer term, it has the potential to encourage startups to think global from the outset.
TNW touched base with one of the translation companies selected for Google’s initial roll-out, to try and get a better idea of how the integration works.
Given that Google was already a client of One Hour Translation, having worked together on a number of projects, putting the Cyprus-headquartered company in its original roster of translation companies made sense.
As for the uptake so far, well, it’s still early days.
“The service is relatively new, and open to select developers only, thus so far it has been used by almost 100 developers,” says David Shaw, VP Business Development, One Hour Translation. “But we see a lot of interest. App localization is a process, it usually takes a few weeks between interest in localization and sending the actual project.”
In terms of how this process works, within the console developers will see an ‘App Translation’ option at the bottom.
They’re invited to upload the source text to initiate the translation.
When a developer initiates a project, the translation company is automatically notified by Google via its API, and once the payment has been collected, the project starts.
The translation itself is done using GTM (Google Translation Manager), so the translator is working with the text in the GTM environment which is directly linked to the translation vendor’s system.
In terms of how a developer divides the text into ‘strings’ for translation, well, this can be done in a number of ways.
They can be defined by the user – so, for example, an action such as ‘Click Here to Read More’ or ‘Check In’ would seem like a logical snippet to define as a string. But it can also be separated automatically according to the meta data – so line and paragraph breaks for example, or punctuation.
“Smart string parsing is actually very important in order to correctly identify repeating strings,” adds Shaw.
In effect, this means that to prevent translating the same pieces of text repeatedly (which has time and cost implications), it’s important to identify this in advance of any translations.
Google recently announced that it had passed one million apps on Google Play, narrowly edging Apple to the magic milestone figure. Between Android and iOS, there’s the best part of two million apps available on the dominant mobile platforms, thought to represent around 90% of all smartphones shipped in Q1 2013.
So, although most of the focus thus far has been on Android’s new translation feature, we do of course want to cover all bases. And much of the advice from here on will apply to any platform.
How do developers kick-start their localization efforts?
Apple and Google provide software developer kits (SDKs) for their respective operating systems, both of which support localization by placing all the text into separate string files. Each language has its own string file, and every string has an ID, which corresponds between the different files (languages).
For each app, the developer must prepare a localization file, which contains all the text strings – this could be submitted to the translation company in various formats, including XML, PO, XLIFF and more. They then prepare supporting assets such as screenshots and other reference material including links to the existing app in the app store(s), and send it on through to the translation company – this could be by email, or uploaded directly to the firm’s internal translation system.
The translator is sent the text and supporting material and translates the strings one-by-one. “Our translator’s workbench allows for ‘clean’ translation of only the text, without touching the tags or other meta data,” says Shaw.
For any startup looking to spread its wings into other tongues, well, they will need to consider the implications of language-length when translating text.
For example, German often has longer words than its English equivalents and, as such, the text may not fit in the same space within an app.
“We have translators who specialize in application localization, they actually perform some copywriting too, to fit the translation within the text limits specified by the client, and maintain he original meaning,” says Shaw. “Also, we highly recommend additional proofreading for the translated screens once the translation has been inserted to the application.”
This is to ensure that everything has indeed been translated correctly and is in the correct place, while checking for text that is too long or doesn’t look good where it is.
Prices for any translation – be it for apps or any other medium – often vary according to the language combination (e.g. English to French, or Swahili to Hungarian).
With many translation companies, the more ‘rare’ the combination – i.e. the less native speakers there are of the target language who are also fluent in the required source language – the more expensive it will likely be. But One Hour Translation has a set rate for general translations across all languages.
As a guideline, One Hour Translation gave us an overview of its pricing which is fixed at a per-word rate. So, if you’re looking to translate an iOS app from English to French, you would pay $0.07 per source word for general professional translation (more if it’s specialized industry text such as legal or medicine).
If your goal is to tap previously un-tapped markets with your all-singing, all-dancing wonder-app, then Spanish, German, French, Chinese, Japanese, Portuguese, Russian or Arabic are all good starting points in terms of the number of people it will give you access to – obviously depending on who you reckon the target market is. Though, if you’re a young startup with limited funds, you’d likely be best testing the water first with just one language.
Also, language translation is only one part of the localization process. If you’re truly looking to integrate your app into a country or culture, you will have to consider things such as the imagery you incorporate too – think about using local photos of people, places and things instead of that generic stock-photo of two western businessmen shaking hands on a deal.
Not just apps…
“Customers are more likely to read about your app if it’s in their native language. It just makes it easier for more people to learn about your app.” – Apple
Apple, for example, provides pretty detailed resources on how to internationalize your app, including starting with the metadata, keywords and screenshots. Then there’s the ‘Available in the App Store’ text that’s displayed on those badges you splay around the Web – Apple actually provides localized versions for developers.
The main takeaways Apple gives for structuring your iOS app to better support local content is as follows:
- Creating separate user-visible text and images from your executable code and translating them into desired languages.
- Integrating the content back into your app as separate localized resource files stored within your app’s bundle.
- Using system provided APIs to express and manage user-visible or dynamically generated values properly across different locales (e.g. dates, lengths, weights, prices, and currency symbols).
- Ensuring your app accepts user-generated text in any language and in multiple languages at once, independent of the language of the user interface.
But what better way to get an idea of what’s involved in the app localization process than speaking with companies that are already thriving globally?
Airbnb has been something of a revelation in the online accommodation-booking space. Given the very nature of its industry, it certainly pays for such a service to be made as ‘global’ as possible – as such, both the Android and iOS versions of Airbnb are available in 27 languages.
We caught up with Jason Katz-Brown, an Airbnb software engineer, to get the lowdown on what’s involved in taking the service to the mobile masses.
“People from over 150 different countries traveled on Airbnb in 2012, from every corner of the Earth, coming from places as far as Madagascar, Fiji, and Nepal,” says Katz-Brown. “So it is important that we are both international and local at the same time. Because of this, we’ve taken many steps toward localization, one of which is translation.”
Airbnb is a big company though, having raised north of $100 million in funding since it was founded in 2008. This also means it has lots of offices in lots of countries staffed by lots of people.
Moreover, Airbnb has a lot of users too, many of which are used to carry out the localizations.
“With offices in over twelve countries worldwide we have built a tool that allows any employee can edit and give feedback on translations,” explains Katz-Brown.
“We have an incredible community of hosts and guests worldwide and we have on-boarded many members of the community as freelance translators and proofreaders – we’ve had the most success when our translators and proofreaders are guests and hosts on Airbnb, as they know the process very intimately.
“Our internal translation tools are relatively advanced – translation changes go live on the site immediately, as opposed to having to redeploy the app; new phrases automatically get a screenshot taken and shown to translators; phrases that need translation are prioritized in the translation tools based on pageviews over the last week; and translators can right-click on any phrase on the site and edit translations in-context.”
To help manage all this, Airbnb also has a handful of in-house localization managers.
So emerging startups could take a cue from Airbnb on this front. If they have a band of loyal users – however small – around the world, this could be one way of cutting corners to at least semi-localize the app for other markets. As we’ve seen with many online endeavors – such as Wikipedia – the public are often more than willing to donate their time to something they care about, so you may not even have to promise financial incentives in the beginning.
Granted, this won’t always produce the best results if you’re not working with professional translators, but with enough native speakers in a target tongue on board, you could produce a decent peer-reviewed incarnation for another market.
Also, Katz-Brown noted an interesting solution to managing regional variants of the English language.
“We have a high attention to detail, and we also want to do more with less. So, for our English sites, Airbnb.com, Airbnb.co.uk, Airbnb.com.au, and so on, we have a computer program that converts our American English to the stlye of English appropriate for each site,” he says.
“This covers spelling variants such as ‘canceled’ and ‘cancelled’, vocabulary variants like ‘vacation’ and ‘holiday’, and regional differences like ‘cabin’ and ‘cottage’,” he continues. “We worked with our British, Australian, Canadian, and so on, colleagues to make these non-obvious vocabulary mappings that are appropriate for Airbnb. And for our Swiss German site, we automatically replace ‘ß’ with ‘ss’ in the Germany-German translations.”
So within each language itself, there are simple ways to tweak the text and tailor it for a more specific market.
We also caught up with mobile messaging and VoIP service provider Viber, given that the Israel-headquartered startup has made its mobile app available in more than 30 languages – iOS in 32 and Android in 34.
Unlike Airbnb, Viber outsources all its translations to agencies, working with several who all use industry-standard tools such as translation memory, which is basically a database of previously translated text that grows over time to help translators.
Viber employs an in-house localization project manager who works directly with the agencies, and the text-string files are sent by email, with issues and bugs reported using Viber’s own project management system.
In terms of managing the language-length issue, Viber instructs the translators to ensure the translation contains the same amount of characters that were used in the English string, which obviously will require a little creativity and linguistic dexterity.
“Afterwards, to ensure that everything is actually done this way, we perform a localization QA (quality assurance),” says Viber. “If we see that some strings are too long, we make them shorter by keeping the same idea but changing the form of the sentence.”
And what about other language nuances and intricacies? Is it inherently any more difficult to work between certain languages?
“Each language has its own challenges – specifically, German and Russian are difficult due to the word-length and unique language structure,” says Viber. “In some languages – such as Italian, Greek and Hindi – there are differences between the words that are used for female and male. Right-to-left languages such as Hebrew and Arabic are also a challenge.”
For context, we’re told that a Viber app contains around 2,000 words divided between more than 500 strings. Interestingly, Viber divulged that a typical app localization, for them, costs roughly $10,000 which obviously includes everything – translation, proofreading, Q&A, project management and delivery.
One thing I did notice with Viber’s non-English versions – they all used the same English-language screenshots, as you’ll observe from this Japanese app. “We are in the process of translating our screenshots,” says Viber. “We divided the translation process into a few stages, screenshot translation being the final stage.”
So, it is all about prioritizing. Naturally, the first thing you’d want to localize as a startup with limited funds would be the app itself, everything else can wait.