Android and iOS Apps Localization

Effectively manage localization for iOS and Android apps without translating the same strings twice.

Localization Management within a Single Project

Translate iOS and Android files within one Crowdin project. Use one of the options suggested below, depending on your project specifications.


  • Upload iOS (iOS Strings, iOS XLIFF) and Android (Android XML) app files into different locations (folders) in the Crowdin project.
  • Connect both Android and iOS repos to your Crowdin project to automate the synchronization of the source and translation files.
  • Use the Duplicate Strings option to manage duplicates.
  • Use the Unify Placeholders option to manage Android and iOS placeholders.

Hide Duplicates

Upload iOS and Android app files to one Crowdin project and select the Hide option in the project’s Settings > Import > Source Strings.

File Settings

Usually, the app developed for iOS and Android platforms share most of the source strings for iOS and Android files. So once you select the Hide option, the system will detect the duplicate strings for both types of files (iOS and Android) and hide them while keeping visible only the strings in the files uploaded first.

Once the string that was uploaded first is translated, the hidden duplicate will get this translation automatically due to the selected Hide option. This way, translators will translate only the unique visible texts. When the translation of the visible string is updated, its hidden duplicates will also get the updated translation. The project owner and managers can easily distinguish duplicate strings with the help of labels HIDDEN and DUPLICATE, which are automatically added by the system. On export, you’ll get both iOS and Android files with the necessary translations.

Unify Placeholders

If some source strings for iOS and Android are the same but differ only in placeholders, we recommend selecting the Unify Placeholders option in the project’s Settings > Import > Source Strings.

For example, you added the iOS string Hello, %@! and a similar one to Android Hello, %s!. The Unify Placeholders option will convert both to Hello, [%s]!, so translation from the Android file can migrate to iOS. On export, you will get translations with the original placeholders.

It’s also possible to add/modify new strings online in the project for Android XML and iOS Strings files via the Strings section of the project. Read more about String Editing.

Localization Management within a Single Project with Bundles


Translation Export using Bundles

Localize the resources of just one application within Crowdin, and download different file formats for both your Android and iOS apps.

For example, you can upload an XML file to Crowdin for Android localization and receive two files on export: XML for Android and Strings for iOS. You might need to make some slight adjustments to the exported files (translation keys will remain the same as in the Android file, so they might need adjustments for the iOS file). However, the localization time and expenses for translation services can be significantly reduced using this approach.

Next Steps in Mobile Apps Localization

Here are the next steps you might consider while localizing your mobile apps. As an alternative to a more traditional approach when dealing with source files, you can send strings for translation directly from your design tools with the help of Crowdin plugins. Another good option is to use Over-the-Air Content Delivery to update translated strings of your mobile apps instantly without a need to roll out a new version on the App Store or Google Play.

Read more about Android or iOS mobile app localization on our blog.

See Also

Was this article helpful?