Internationalization and localization - Planning, tools, and process

By Russell Taga

Companywide, we are very excited to have recently released support for French, German, Italian, and Spanish in the HotelTonight apps to better serve more people in more places! When it comes to supporting multiple locales, we are really just getting started in many respects. Despite this, we thought we would share some of our experiences from the past 3 months in order to help others better understand what’s involved once you decide that you’re ready to bring your mobile apps to an international audience.

This will be a eight part series of posts that discuss:

With all of that out of the way, let’s dive in and talk planning, tools, and process.


So you want to expand to an international audience, where to start? We’re going to limit the scope of what we talk about to be very app-centric. In other words “What do you need to worry about that is directly tied to your mobile apps?”

When we started on this journey, there wasn’t much done.

So how’d we go about figuring out what to do?

Identify tools to help

Internationalization and localization is a solved problem at least to a degree. We absolutely did not want to re-invent the wheel and primarily focused on finding a hosted translation management system (TMS) that we could use to localize content. Some key features that we looked for:

We ended up choosing Smartling as the TMS that best fit for our needs. Besides satisfying our core needs they offered some nice features to help support better translation quality like the ability to associate screenshots with strings to give translators better context to translate with.

Roughly estimate technical scope

1) Internationalization

2) Mobile app screen layout

3) Web content and emails

4) Internal tools

Roughly estimate localization scope

Once the strings were externalized, we were able to generate word counts via the TMS. A number that is often used for rough estimates is to assume that a professional translator can translate on the order of 2,000 words/day.

We used the word counts to project costs and a schedule. We staggered the schedule such that strings in the mobile apps and APIs were translated first so that we could begin testing as early as possible.

Start hiring help

We immediately began searching for localization help, multilingual customer support team members, and multilingual QA engineers. We were able to fill these roles in a 1-2 month period.


Since this was our first round of support for new locales, we intentionally kept things fairly manual out of the gate. Here’s the basic workflow we follow for each round of localization that we complete:

We plan more automation around this process to make it more continuous in the future, but wanted to make sure we had something basic that worked as a starting point.

When we need to adjust translations we search for and update them directly in the TMS. The updated translations are typically then pulled into the apps with the next round of localization.


Many of the roles here such as designer, engineer, QA engineer, or translator are fairly obvious. One that may not be obvious is the localization project manager. This person is responsible for:

For us there were additional responsibilities such as soliciting feedback from multilingual team members throughout the company. This is a full-time job! If you are working with a localization service provider you will likely pay for someone to take on at least a chunk of these duties, but if you are doing things in-house be aware that this isn’t a side job.

This concludes what we’ve got for you around planning, tools, and process. If you have questions or would like more details please don’t hesitate to get in touch with us. In upcoming posts in the series, we will delve into more specifics for Rails, Android, iOS, design/UX, QA, marketing, and analytics.

Written by Russell Taga

Read more posts by Russell, and follow Russell on Twitter.

Interested in building something great?

Join us in building the worlds most loved hotel app.
View our open engineering positions.