Android and iOS applications localization using LocaleBro.com

Ievgenii Tkachenko
6 min readOct 2, 2019

Recently, while working on a new project, there was a need to translate the application for Android and iOS into 6 languages and we faced many problems, and now I want to share with you the way how we solve these problems, maybe this will help someone.

The main problem was that we had a lot of files: translators wanted to have texts from both platforms in one excel file. Everyone knows that phrases always have the form of key-value form-factor, but the file format is always different.

Android & iOS strings

So, in order to get one file from two applications, you need to transfer the data from the Android strings.xml and iOS Localize.strings files, which have a different format, order, and different keys. Then you need to identify duplicates, keep away the platform “keys” so that the translators won’t use them, and the main thing: you need to separate out the result for each language and for each platform from the translated file without breaking the file, and keeping the file in the right file format.

We refused this option, as it was a big problem for everyone except translators, as the amount of manual work was reduced to the maximum, while rationality was minimized, and the man-hour cost of two developers is also big enough.

As it is 2019 now, there should be convenient tools for such type of work, because the problem is uncommon and it has been solved more than once or twice. And as it turned out there are a lot of solutions for such type of problem, but for some reason, we created our own tool with blackjack and auto-translation.

What is LocaleBro.com?

LocaleBro is a web platform for mobile applications localization, designed mainly for developers, translators, and managers. The goal of LocaleBro is to optimize the process of adding new languages for existing or new Android and iOS applications.

LocaleBro

You can find the detailed instructions below, and here is some short one:

Let’s imagine that we have some project, it is an application or several applications for Android / iOS, which contain almost identical texts. For example, a Facebook app for Android and Facebook app for iOS, we can add them to one project, since the texts for these applications are almost identical. And then the process is as follows:

  • The developer uploads a phrase file from the code to the platform of the project, in the existing file format (XML / strings), not worrying about format conversion.
  • The manager/developer gives the translator access to the project.
  • The translator makes translations on the platform page, corrects the texts.
  • The developer makes export of the phrase files back to the app code in a suitable file format (XML / strings).
  • Everyone is happy and the project can be released :)

A big bonus is that you can automatically translate the entire project using Google Translate. You can translate the project into several languages in a few clicks, and then spend much less time on proofreading the translation.

Do you like it? Then here are some more details.

How does it work?

Let’s imagine that we have 2 applications for Android and iOS, with the same UI, but designed by two different developers, and with different keys in the text files.

To start with, you should create an account on our platform. For registration, you’ll only need an email and password, but you can also use your Facebook or Google account, you can choose the more suitable way for you.

After registration/login procedure, we’ll get to the page where the project can be added. The project contains all the texts that need to be translated.

Obviously, our project will be empty, so the string files from our applications should be imported into the project:

After uploading the file to the server, we reach the transient import page, where we can find what lines will be added to the system and what lines will be updated. In our case the project is empty, so we should click “Import” again and the texts from the files will be imported to our system.

The next thing we should do is to add phrases from iOS and the Lokalize.strings file. We should do the same actions, but now select the appropriate platform:

After the import, it can be noticed that the project contains keys for both platforms, but note that the number of lines is 6, as the LocaleBro automatically linked the text due to the content, without taking into account the keys.

This means that there is no need to translate the text of the “Cancel” button twice: for Android and for iOS, because now this one line in the project is used for both platforms. This will not only save time but also money, as each translated symbol costs money :)

After importing all the texts, we can start to add locales. Let’s suppose that we need translations into German and Norwegian languages. In this case, we should go to the locales and add them to the project.

So, as you can see, there’s nothing complex here. But the trouble is that doing everything manually while living in the 21st century is a bit wild or something like that. That’s why we have another tool that will simplify our work.

Text auto-translation using Google Translate.

This means that the whole project was translated into 2 additional languages almost immediately.

Of course, the translation of Google Translate is not ideal and all translations should be reviewed by the translator, but it is still a faster way of translating than translating from scratch. In case you need to change any line, just double-click on the text (or use the menu).

When you have reviewed all the translations, you can export your file to the desired locale:

You can save it to your project, and forget about the problem with localization forever.

The process is pretty simple, isn’t it?

And one more thing, if you want to watch the entire process of how it works, here is a short video with the same description:

Use LocaleBro.com, feel free to contact us for any questions or help☺

All the best to everyone!

--

--