Android and iOS Apps Localization
Tags: crowdin, localization, mobile, app
Published: 2019-12-10 10:04:00

Effectively manage localization for both iOS and [Android apps](https://blog.crowdin.com/2022/08/10/android-app-localization-tutorial/) without translating the same strings twice.

### Localization Management within a Single Project
Translate iOS and Android files within one Crowdin project. Choose one of the options suggested below, depending on your project specifications.

#### Hide Duplicates
Upload iOS and Android app files to one Crowdin project and choose the option to *hide* all duplicates via *Project Settings* tab.
![File Settings](https://thepracticaldev.s3.amazonaws.com/i/neiuj917hoi8hvv37mlx.png)

The system will spot the duplicated strings for both types of files (Android and iOS) and show such strings only in originally uploaded files. Once the originally uploaded string is translated, the hidden duplicates will share this translation. This way, translators will translate all the unique texts and won’t be translating duplicates. 

Translators won't see duplicates when making translations, project managers will see them highlighted in grey, as shown in the image below.
![Translating duplicate content](https://thepracticaldev.s3.amazonaws.com/i/87ry2895kzvn3h1alp8r.png)

For more advanced project management consider using [version branches](https://support.crowdin.com/versions-management/#branches), but choose to *hide* all duplicates instead of *show (recommended for versions)* option. This will allow developers to download separate branches for iOS and Android with all the translated texts whenever necessary.

<div class="alert alert-info"> <b>Note:</b> Suggested variant may affect translation accuracy, as all the duplicated strings independently of their context will share the same translation.</div>

#### Custom File Export
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 *.xml* file to Crowdin for Android localization and receive 2 files on export: *.xml* for Android and *.strings* for iOS. Translations keys will remain the same as in the Android file, so you’ll need to configure them for iOS file separately.

<a href="https://crowdin.com/contacts">Contact our support team</a> and we’ll gladly help you set up the necessary export option.

### Localization Management within 2 Projects
Create 2 separate projects for Android and iOS applications and enable [Translation Memory (TM) Sharing](https://support.crowdin.com/translation-memory/#tm-sharing). This way you can reuse common string translations from one project in the other one.

For example, while localizing the Android .xml file, the project TM will be filled out automatically. Then you can use the Android project TM to run pre-translation of iOS project, which will apply translations to the strings that both projects share.

Using this approach you can set up [a specific workflow](https://support.crowdin.com/advanced-workflows/) for all new strings to be automatically pre-translated by TM. Also, you may enable [auto-substitution](https://support.crowdin.com/tm-auto-substitution/) to substitute some non-translatable elements while using TM.