OneSky Localization Blog

Insights on international expansion

How to set up your websites / apps to facilitate future translation

The localization process generally consists of 5 stages and there are uesful tips that you can follow at each of the below stages to facilitate your localization process.

  1. Pre-localization
  2. Coding for localization
  3. Layout design
  4. Finding the right tool
  5. Translate

1. Pre-localization – Make sure your codes support localization at the very beginning

It would be a nightmare if you have to tidy up your codes to support localization after your startup has been running for months. Why not simply make sure your codes support localization at the very beginning? It would only take you very little extra effort.

We recommend that you should use those commonly used formats / frameworks for your platforms, e.g. i18n for Ruby on Rails, String resources for iOS. Most of them provide an easy-to-use interface that supports pluralization, different context… etc.


2. Coding for localization – Wrap your strings properly

When wrapping your strings, make sure the output strings are easy to understand for translators.

We’ve written a blog post about 4 small tips for localization engineering according to our experience in helping many apps and websites translate their content.

The key takeaways of that blog post are:

  • Always wrap full sentences

  • Be aware of SPACE

  • Try your best to avoid HTML tags in wrapped strings

  • Try to add meanings to variables

Spend just a few minutes to read the above blog post and it can save you hundreds of hours later.

3. Layout design – Make sure the translations won’t break your layout design

Most of the languages would work fine in the original layout that you’ve designed for English, but for a few languages, you might have to pay special attention on the layout when targeting them.

  • Languages that generally have longer spellings. e.g. German, Indonesian

    • The words in languages like German & Indonesian are generally longer (sometimes even 50-100% longer than English) and thus may break your just-fit blocks. This problem is more serious in mobile apps than websites as developers often have to use shorter buttons to fit the smaller screens.
  • Languages that use “square-block characters”. e.g. Chinese, Japanese, Korean
    • “Square-block characters” (e.g. Hanzi for Chinese, Kanji for Japanese) might look strange in your layout that is originally designed for English. This case is more prominent for Chinese as Chinese translations are generally shorter. For example, your header for the landing page might originally be occupying the whole screen, but the Chinese translation might only contain a few characters that would make the look & feel of the page less appealing.
  • RTL (right-to-left) languages. e.g. Arabic, Hebrew
    • Some languages are written from right to left. So the users get used to read from right to left as well. So you might consider re-arranging some of the elements on your website to make them easier to read from right to left. Some websites are doing this in an incredibly awesome way. See the below example of Wikipedia.


4. Finding the right tool – A management tool that can streamline the management and update process


Translating websites and apps are much more complicated than translating plain documents and a right tool can save you a lot of headaches. When looking for a right tool, you might want to consider the below points.

  • Does it help you extract text from your resource files?
    • Translating websites and apps often involves the handling of resource files such as .strings, .xml, .po, .yml, etc. If you give your resource files directly to translators, your code might mess up if translators accidentally altered the wrong part of the code files. To avoid such situation from happening, some developers might choose to extract the text manually into a format that is easier to understand (e.g. excel) for translators to handle. But either of the above ways would cost a huge amount of time.
    • There are tools out there that can solve the above problem. For example, by using OneSky, simply upload your resource files and our platform would automatically extract the text for you. You can even hook up with our API to automate file transfer. And our platform has a built-in placeholder validation system to ensure your translation contains no missing / misspelled placeholders.
  • Does it help to streamline the update process?
    • For websites and mobile apps, it’s likely that your strings would be updated from time to time. Without a right tool, it would be a really painful process to keep track of what are being updated and what needs to be sent out to translations in order to keep all language versions updated.
    • Similarly, there are tools out there to solve this problem. For example, by using OneSky, simply upload your updated resource files to our platform and our system can auto-detect what are new. You can also hook up with our API so that whenever your original strings get updated, they would be reflected on our online platform and you only need a few clicks to send out translation orders / invite your translators to update the translation.
  • Does it allow you to communicate with your translators effectively?
    • Context is extremely important in translation as a word / phrase can have different meanings in different situations. For example, the word “Italian” could be referring to a language, a nationality, a cuisine, etc. and the translations for the different cases might be different. So it’s important to provide enough background information and maintain close communication with translators to ensure that they really understand the context of your strings.
    • Materials / guidelines that you should provide to translators include:
      • Screenshots
      • Description for the phrase (especially for phrases that might involve ambiguities)
      • Length limitation (if any)
      • Tone (e.g. formal vs. casual)
      • Glossary (any phrases that you would like to ensure they are translated consistently?)

OneSky platform provides an easy way for you to provide all the above information to translators, see our features and tools.


5. Translate – Finding the right translators

There are generally three ways you can translate your products:

  • Internal team members
    • If you have bilingual employees, they would be the reliable source to go to as they should know your product well. But even if you decide to do your translation in-house, finding a right tool as mentioned in step 4 is still very important to manage the whole translation process, especially if you might have a few employees collaborate on one language.
  • Professional translators
    • However, even the biggest companies might not have staff that can speak all the different languages. To outsource your translation projects, there are many ways that you can find professional translators. For examples, you can go for translation agencies or hiring freelancers directly. But no matter which method you choose, make sure you find someone who are experienced in handling websites and apps translation so they would be able to adapt the translation to fit the common usage (e.g. using terminologies that mobile apps would generally use). To produce high quality translation, remember to provide enough contextual information to translations as mentioned in step 3.
    • To ensure the quality of your translation, it would be the best if you can find some trustable friends who can help to take a look at your translations if you are working with an agency / freelancer for the first time. And you may engage your users to collect on-going feedback.
  •  Your users (crowdsource)
    • Your users can also be a good source when you are looking for translators as they are the one who are actually using your products. For example, Facebook, Twitter and Evernote all provide platforms for their users to help translate. However, the effectiveness and speed of translation would really depend on whether you have a large enough international user base that is passionate enough to help translate your products. Offering incentives, e.g. free download of premium versions, would often help in motivating users.

In order to reach your international markets fast, it is suggested that you can first get your translation completed by professional translators and then invite your internal team members and/or users to help finetune the translation afterwards to make it more perfect to suit your users’ preferences if needed.

OneSky cloud-based translation management platform provides easy solutions to manage your workflow no matter which translation methods (internal staff / professional translators / crowdsource) you choose. You can read more about our platform and services at or contact us at



Image courtesy of Stuart Miles at