App Localization and Internationalization 🌎 – Tips & Guide

Lior Eldan

This app localization and internationalization article was first published in July 2016 and last updated in September 2019.

The population is increasing rapidly, with over 7.7 billion people in the world as of today. According to Statista.com, over 3.5 billion people will have smartphones by 2020, with 3.3 billion in 2019.

The exponential growth of the population and the number of smartphone users combined with the rapid technological development of countries like India, Brazil, and China creates new opportunities for app developers and professional translators.

Internationalization and localization have become the norm in app store optimization strategies. Pushing your app into different countries that speak multiple languages creates new revenue streams and marketing opportunities.

Due to this opportunity, we’ve decided to create an article on the importance of app localization, list some of the best app localization tools, provide you with a guide to app localization and offer tips.

Why is app localization important?

In the United States, 75% of the population speaks only their mother tongue, be it English or Spanish. Technically, if you’re only targeting the U.S., you won’t have any problems with an English app.

Yet, if you’re going global and you don’t localize your app, you are losing more than 40% of the global population. According to a study published by the European Union, over 40% of the European population only speaks 1 language. Various other sources state that globally, between 40% and 50% of the population is monolingual.

The importance of app internationalization and localization is quite simple. By not translating your app, you are cutting off an ever-growing market of non-English speakers.

Importance of app localization

According to Common Sense Advisory, cited in the Harvard Business Review:

  • 72.1% of consumers spend most or all of their time on websites in their language.
  • 72.4% of consumers said they would be more likely to buy a product with information in their language.
  • 56.2% of consumers said that the ability to obtain information in their language is more important than price.

While this data is focused on web applications and online shops, the data is still extremely relevant, especially when most apps also have a web app, resulting in the need for web app localization.

The Makeappmagazine also presented a case study where localizing an app increased app downloads by 767%.

App localization for countries that are not English speaking will:

  1. Push your app into new markets
  2. Increase downloads and revenue
  3. Boost your app store ranking in different countries
  4. Increase the number of app store keywords you can rank for

Difference between app internationalization and app localization

Many people easily confuse the two terms, thinking that they are the same. Knowing the difference between the two can help you reduce costs and complete your Android app localization or iOS app localization in a more cost-effectively and productive manner.

What is app internationalization?

App internationalization is the process of designing and developing your app or product with the idea that it will be translated in the future. This process should be done at the same time as the development because changing your entire app in the future will have much higher costs.

App internationalization is done by separating the content from the code and allowing the app to run using external language files. Using this methodology, the app can easily be translated by adding new external language files.

When internationalizing your app, you need to take into consideration the following:

  • All content needs to be localized, not just the text
  • Don’t forget about context
  • Not all fonts can be localized
  • Remember plurals
  • Dates, text direction and numbers
  • You may need a different alphabet

All content needs to be localized, not just text

As mentioned before, all the content needs to be localized, not just the text. Work on improving your images, videos and audio.

As mentioned in our App store optimization guide, Uber did this perfectly by localizing its app store screenshots as well. They integrated Japanese maps and locations and showcased data that was relevant to the Japanese market.

Uber Localize Screenshots
Uber Localize Screenshots

Allowing your app to have German text content and showcasing English videos will only confuse users and make them uninstall the app for a better, properly localized app.

Don’t forget about context

While automated translations through software like Google translate is amazing, it cannot properly showcase context. You need to make sure that your translations are both grammatically correct and that they make sense to the end-user.

The easiest example we can give is from Quora.

Andru Lemon showcased one of many problems with word by word translation. He provided the following English phrase:

“The child might be punished and expected to be on his best behavior moving forward.”

The phrase has a parallel form that cannot be integrated into Spanish. Because of this, an expert app localization agency would split the phrase into two, not only translating the wording but making sure that it makes sense to Spanish speaking people.

“El niño podría ser castigado. Le podrían exigir que se comporte del la mejor manera de aquí en adelante.”

Not all fonts can be localized

Most fonts are created for the English language. Because of this, they lack extra letters or symbols that are present in other languages.

Some examples of extra letters or symbols that are not present in all fonts:

  • The Romanians have: ăâîșț
  • The Spanish have: ñ
  • The French have: àâéëêôû

Make sure that you use a font that can easily use the extra letters that you’ll have in your new language.

Don’t use a different font for every new language. This will increase the total size of your app!

Remember plurals

You can’t just put an extra letter at the end of a word and call it a plural. Plural forms may be extremely different in translated languages.

Make sure that your code checks the data and clearly understand the numbers behind, pulling the correct form of the word, be it singular or plural.

Even in English, while the plural for “bee” is “bees”, the plural for “woman” is ‘women”, a word whose entire structure changed, not just the end of the word.

Also, depending on your target, you may want to use “children” instead of “kids”. The same concept applies to all languages.

Dates, text direction and numbers

The way dates are displayed differ even between countries that speak the same language.

Dates are integrated as:

  1. MM/DD/YYYY in the United States
  2. YYYY/MM/DD in China, Korea, and Iran
  3. DD/MM/YYYY throughout the majority of the world

The text direction is also extremely relevant. Texts can go from left to right (usually used in western countries with the Latin alphabet), from right to left (in Hebrew and a couple of other languages) and from top to bottom in Chines or Japanese.

Languages with right to left writing:

  1. Arabic
  2. Aramaic
  3. Azeri
  4. Dhivehi/Maldivian
  5. Hebrew
  6. Kurdish (Sorani)
  7. Persian/Farsi
  8. Urdu

Languages with top to bottom writing:

  1. Chinese
  2. Korean
  3. Japanese

If you plan on translating your app into any of the languages above, you need to make sure that you change the format of your entire copy while also changing your graphic design for images, ads or videos.

Numbers also need to be changed depending on the alphabet.

In Japanese for example, the number 305 is written as 三百五. Yet, the sign in the middle isn’t 0, it is the sign for hundreds. So, technically, the Japanese write 305 as 3 hundred 5.

You may need a different alphabet

As mentioned before, you will need to write your content into an entirely different alphabet when you localize for countries such as China, Israel or Russia.

Around 90% of all languages in the world use the following writings systems that you need to take into consideration:

  1. Latin
  2. Greek
  3. Cyrillic
  4. Armenian
  5. Korean
  6. Hebrew
  7. Arabic
  8. Georgian

How to internationalize and localize an app?

As we’ve mentioned before, your first task is to make sure that you separate your text from your code. No texts should be hardcoded in the app if you want to internationalize it.

How to internationalize and localize an app?

  1. Transform Content into Strings

    Content should not be hardcoded inside the app. Instead, make sure to transform your content into strings that are stored in a “Localizable.strings” for iOS and “strings.xml” file for Android.

  2. Translate the entire Content

    Make sure you take into consideration social and cultural differences as well as language differences. In order to do that, we suggest you hire local translators from the country you’ll be localizing the app for.

  3. Don’t forget about the following:

    Not all Fonts can be localized. Plurals should be taken into consideration. Dates can be integrated into different orders and some languages are written in other directions.
    Don’t even get me started on different alphabets.

  4. Create a Flexible Design

    The design of the app should be flexible enough to allow long german words or text written from right to left.

  5. Localize images and videos as well

    App stores require new files for localized versions. Localized images are more attractive to users.

  6. Test on emulators before launch

    You don’t always have 20 different phone types in your office. Because of that, emulate different phones and os versions in order to test your app.

  7. Push it to the app store!

    Add all the needed information and follow the standard guidelines. Start getting localized app installs!

Also, make sure that you do the same with media and numbers. If it’s content and users can see it, do not hardcode it.

Android app internationalization

To be able to localize an Android app in the future, you need to internationalize it by using the “strings.xml” file. This will be the main resource file for all of your data.

The “String.xml” file is the database for all of your content. This allows you to set a string such as:

  • Text_a = “This is a text for the headline”
  • Text_b = “This is a text for the paragraph”

After integrating your content inside of the “string.xml” file, you’ll call the strings inside the code. By doing this, the app will automatically know which translation to pick for each string.

The file can be found, for localized android apps following this route: “res/values/strings.xml”

The app will decide on where to extract its data by using the country code integrated into the XML file name. When you localize string files, you add the country code at the end.

Example: res/drawable-ja/ (for Japan)

“The default resource set must also include any default drawables and layouts, and can include other types of resources such as animations:

  1. res/drawable/(required directory holding at least one graphic file, for the app’s icon on Google Play)
  2. res/layout/ (required directory holding an XML file that defines the default layout)
  3. res/anim/ (required if you have any res/anim- folders)
  4. res/xml/ (required if you have any res/xml- folders)
  5. res/raw/ (required if you have any res/raw- folders)”

The information above was taken from the Android Developer Guidelines.

You can also create your directories, depending on what type of data you want to show.

If the app runs in a locale that doesn’t have an associated XML file, it will stop running and showcase an error message.

Android string Localization

After you’ve understood how to use the XML files to organize your default strings, you can start adding your entire content to the file.

Do your best to keep the code as clean as possible. Avoid adding random names to the strings. Also, it’s worth the effort to follow the Android guidelines for user interface strings.

By following the guidelines, it will streamline the process in the future and help with debugging or changes made to the app localization translation if you change the dev teams.

Android app Localization example

The example below showcases how the data in a Sign-in button should be integrated as a string. By adding the data as text strings, instead of a hardcoded text, the button will be translated automatically as long as the translation exists.

  1. Android app Localization example for sign-in button – “Sign in”
  2. Android app Localization example for Headers – “Check out or newest Mother’s Day sales”
  3. Android app Localization example for Notification -“Do you love our app?
    Tell others about your experience and review our app on the app store.”

Android localization tips

1. Use the checklist!

Android released an app store localization checklist that you can easily follow. You can find it here: Localization checklist.

2. Make sure your app works in all locales

If even one text string is missing, the locale will be unsupported and the app will crash. Because of this, design your app to function on multiple locales and devices.

3. Create a Flexible Design

When data changes automatically, you won’t have the luxury to perfectly align every word or image. Because of this, when thinking about how to internationalize an app, you need to take into consideration how the translated text will affect the design.

German has long words that may not fit in your screen. The Chinese language needs larger fonts but fewer characters. Create an auto layout that changes width or sizes accordingly.

Look over what other apps have done and make sure everything is simple. Try to stay away from custom designs for each language, as these are harder to maintain.

4. Test on an emulator

You don’t need to have tens of phones or Android versions to internationalize your Android app. Mobile app localization testing can be done using emulators.

5. Use experts to localize your app

You can find app localization managers and experts in 2 places:

  1. Check your Android Studio for a list of app translation services.
  2. Contact Moburst for the best app localization services available.

iOS app internationalization and localization

iOS is not so different from Android when it comes to localizing an app for the app store. It also works with strings. Yet, this time the file has a “.strings” extension instead of an XML.

The default name for the localized text strings on iOS is “ Localizable.strings”. Do not change this name. Using a different name will increase your workload, as you’ll need to specify the source every time.

iOS string files work like a dictionary

When creating a string file, you need to define the key and the actual content inside. All lines end with a semicolon.

The key is the string name that you’ll integrate into the app’s code. The content is on the right side and represented the content in the language that the user has selected.

iOS app localization example:

“codeForTitle” = “Here is an English Title”;

You can integrate non-translatable data in all of the lines using the following format: \(#ofsales)

“codeForSales” = “Your app has sold over \(#ofsales) cookies this week!”;

Create country-specific folders on iOS apps

If you’re using Xcode, go to the info tab and press “Localization”. Press the + sign and choose your language.

Select all of the localizable files and press Finish.

Xcode will create “.proj” directories combined with the country codes you’re going to localize your app in.

Examples:

  • En.lproj for English
  • Ja.lproj for Japanese
  • Ro.lproj for Romanian

Don’t forget to move your localize.strings file inside the “lproj” files. Confirm the main language of your file and press Finish.

Translate iOS app

After you’ve integrated your localize.strings file, you’ll see extensions in the project manager. You can find a different version for all of the languages that you integrated.

Now, all you have to do is go into the language files and edit the content on the right side.

From: “codeForTitle” = “Here is an English Title”;

To: “codeForTitle” = “Aquí hay un título en español”;

Do not change the first line of the code that defines the string!

List of the best app localization tools

App localization isn’t a simple process. You need to manage multiple people with different skill sets in the same project and make the work together seamlessly.

To help you streamline the process, we’ve done the research and came up with a list of the best app localization tools on the market

Text United

Text United App Localization

A business-oriented platform for content translation. Useful for legal, medical, marketing or even consumer-based apps, Text United is extremely powerful and scalable.

You can use the service to easily connect apps, websites, and marketing automation systems into a translatable database.

Users: PWC, logitravel.com, Hirschman Automotive

Integrations: WordPress, Apps, custom websites through API

Free: Includes both a free package and a free Premium trial

Starting price: from € 60 and up

OneSky

One Sky app translation service

A cloud-based localization and translation solution for businesses. OneSky helps you localize apps, games, and content on the app store. With over 1,000+ apps helped in over 70+ countries, they are seen as industry leaders in the localization sector.

It seamlessly integrates with most platforms, allowing you to streamline the localization process.

Once you’ve placed an order, OneSky takes care of the process by assigning expert translators to your project. The client and translator can communicate on the platform.

Users: Airbnb, Tumblr, Hubspot, Microsoft, BMW, Bandai Namco

Integrations: Github, App Store, IOS Store

Free: Nothing free included

Starting price: $0.04 per word for apps and $0.17 per word for games

Applingua

Applingua app localization tool

Applingua is an awesome tool and platform that allows you to translate and localize almost any piece from the software. The platform accepts tons of file types from XML and string files for apps to PHP, SRT, JSON, INI and many, many more.

Their expert translators can work with metadata and even test your build for you.

Users: WarnerBros, MasterCard, 500px

Integrations: Any file type

Free: The platform is free, yet you’ll pay for all the translator services

Starting price: $0.12+ per word

Lokalise

Lokalise app translation

Lokalise is a translation tool most used for app localization, game localization, and website content translations. The app is meant to be used as a project management tool for the translation and you need to bring your team of translators.

You can use the project chat to talk with your team.

If you don’t have a team, you can hire through Lokalise for just $0.05 per word.

Users: Revolut, Bayer, Babilon, Transfer Go

Integrations: GitHub, Bitbucket, Slack, JIRA, Sketch, and many other tools

Free: 14 days trial – free for Open Source Projects and discounted for Non-profits

Starting price: $40/mo for the lowest package

Final Thoughts

App localization and app internationalization are 2 extremely important processes that will push your app into multiple emerging markets and open your business to new revenue streams.

App localization will boost app store ranking for relevant keywords in other countries, increase conversion rates and improve your app’s or mobile game’s user experience.

We hope we’ve managed to provide value through this article. If you need help with app localization from a professional ASO agency with years of experience, feel free to give us a call.

Related Post

Comments

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.