Mobile Apps Localization
Tags: localization, translation, multilingual, app
Published: 2021-11-10 08:16:07

Whenever you are new to localization, the best thing to keep in mind is that localization is an integral part of product development, the same as prototyping or testing. Thus, localization will require some extra setups at the beginning in order for you to create a continuous workflow later.

In case you’re afraid that localization can slow down your team and the results you make, we can change your mind. Downloading resource files, sending them to translators, and integrating translations into the codebase manually is really time-consuming, but luckily, it’s not the only option.

Learn how Crowdin helps you automate the localization of your Android or iOS mobile apps.

## Quick Recap: One Project or Two for Each App?

The content of iOS and Android apps typically overlaps. In Crowdin, you can easily identify duplicate strings and ensure that the same content is not translated twice.

You can hide duplicates. Translators will see and translate only one string rather than five identical ones, while the translation will be automatically applied to duplicates. Or choose to show duplicates - if the content is precisely different and requires different translations.

You can enable *Hide duplicates* option in the project settings.

Unify placeholders for iOS and Android strings. This will help to treat more strings as duplicates. For example, *Hello, %s!* (Android) and *Hello, %@!* (iOS) will be matched as duplicates and will be shown to translators as *Hello, [%s]!* On export, you’ll get files with the placeholders in their original formatting.

![Crowdin settings, unify placeholders](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ihxc1390bo1w7s0qs9k4.png)

Read more about how to <a href="https://support.crowdin.com/advanced-project-setup/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article#unify-placeholders" target="_blank" >unify placeholders</a> in Android and iOS localization.

## Send Strings Directly from Your Design Tool

Did you know that designers could send strings for translation with the keys and text segmentation rules while working on the prototypes?

Your team can send strings for translation directly from a design tool like Figma, Sketch, or Adobe XD. Don’t worry about integrating texts into the codebase. Each string has its unique identifier, so development teams can integrate both sources and translated content in the codebase without any problems. 

If you set up automatic synchronization with your repo - these updates can be added automatically. In the same way, you can edit or create sources - to synchronize them back, for example, in GitHub integration - choose *sync sources* in the integration settings.

In addition, if the source files in Crowdin are of a different format than Android XML and Strings, engineers will be able to launch custom exporters and download the files in the appropriate format. They can use either Crowdin API or *crowdin download targets* command of the CLI 3.4.0 version and higher.

You can read more about custom file exporters and discover more smart ways of <a href="https://blog.crowdin.com/2021/02/11/smart-ways-to-approach-mobile-app-localization/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article" target="_blank">mobile app localization</a> on our blog.

Crowdin's integration with their design tools allows designers to preview translated mockups, customize them as needed, or notify engineers that elements must be scaled.

Learn more about Crowdin plugins for design teams and how they help streamline <a href="https://blog.crowdin.com/2021/01/27/best-practices-for-ui-localization/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article" target="_blank">user interface localization</a>.

## Update Localized Content with Over-the-Air Technology

Sometimes rolling out new versions on the App Store or Google Play each time new translations arrive is not an option. When updates happen occasionally, waiting for app verification does not cause much trouble, but if you want to deliver translations to users much faster, you should consider using <a href="https://blog.crowdin.com/2019/12/12/over-the-air-content-delivery-for-android-and-ios-apps-available-in-open-beta/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article" target="_blank">Over-the-Air technology</a>. 

To use it, you need to create a distribution in your Crowdin project and install Crowdin SDK on the mobile app (<a href="https://github.com/crowdin/mobile-sdk-android/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article" target="_blank">Android</a> or <a href="https://github.com/crowdin/mobile-sdk-ios/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article" target="_blank">iOS</a>). Distribution is a CDN vault that mirrors the translated content of your project. You can create separate distributions for different files, or one distribution per project.

Once you're done with the settings, you can create releases within the required distribution each time you'd like to update translations in your app and deliver translations to consumers immediately. You can discover even more ways to <a href="https://blog.crowdin.com/2021/02/11/smart-ways-to-approach-mobile-app-localization/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article" target="_blank"> localize your mobile app</a> on our blog.

## Localize Your Product with Crowdin

Keep developing new features and improvements while translators receive new texts in real-time. Release multilingual versions for customers around the globe simultaneously. Register in <a href="https://accounts.crowdin.com/register/?utm_source=dev.to&utm_medium=referral&utm_campaign=mobile-apps-localization&utm_content=article" target="_blank">Crowdin</a> to try it out first hand, and if you’ve got any questions, <a href="https://crowdin.com/contacts" target="_blank">contact</a> the support team.