How to Translate App Content for Different Platforms

10 mins read

How to translate content for iOS, Android, and Web

App stores are available all over the world. Everyone wants their apps to be seen and used by as many people as possible. Because of this, app translation is crucial for every company expanding to new markets.

When creating a multilingual app, you want to ensure it works well across all platforms. Modern projects are often spread across different platforms and built with different stacks. For example, you must translate an app with the same functions for Android, iOS, and the web. In this case, you need a way to localize the same content for different platforms only once.

You may have wondered how to properly manage translations for content that is similar or the same but is used on different platforms. In this article, we will tell you what app translation is and about methods when your translation files can probably be saved in different formats with different content for each platform with the help of Crowdin.

App Translation as a Part of Localization

App translation is a part of a localization process, it means customizing your application to satisfy the requirements of a specific language or culture.

The purpose of localization, sometimes known as “l10n” for its shortened form, is to make it simpler for consumers to utilize an application and have a more pleasurable experience while doing it in their mother tongue and embracing the cultural subtleties of their home country. Read more about internationalization and localization.

App Translation for Different Platforms with Crowdin

No need to translate the same string twice

Most of the time, the Web, iOS and Android versions of an app have much of the same content. Imagine that you did the integration, separated the texts from the code, and you already have several localization files with similar content for different platforms. The easiest way is to create one project, upload all the files using integrations or CLI, and activate the options for unifying placeholders and hiding duplicates.

Placeholders for iOS and Android strings should be unified

You can unify placeholders in iOS and Android strings so that more strings can be treated as duplicates. For example, Hello, [%s]! (Android) and Hello, [%@]! (iOS) will be matched as duplicates and shown to translators as Hello, [%s]!

When you export, you’ll get files with the placeholders still formatted the way before.

Strings treated as duplicates

Hide duplicates so that content is not translated twice

If you turn on the “Hide duplicates” option when setting up the project settings, similar strings will only be shown once to the translators.

Turning on Hide Duplicates

The translation of the master string will be automatically added to the strings that were copied. In this case, the first string added to the project is the master string.

Why Choose an Alternative Method for Multi-Platform Translation

With the methods listed above string management can be somewhat complicated since you still have to maintain separate files for each platform. For example, when you change the source string, you need to update it in different files for each platform.

Therefore, we offer an alternative option. You can upload files to one platform. Or, if the texts in the company are managed differently, with the help of some tool or spreadsheet, upload that spreadsheet, or set up integration Ditto, or other integrations). There will be no duplicates in the project, and the resulting files can be obtained in the required formats using the functionality of bundles. In addition, you can also get files in the source language if you add them to the list of target languages.

If you have several localization files with similar content for different platforms-use Bundles.

Bundles: Best App Translation Method for Different Platforms

Within Crowdin, you can localize the resources of a single application, and you can obtain a variety of file formats for use in your Android, Web, iOS, and other applications.

For instance, you can use Crowdin for Android app translation by uploading an XML file and receiving two files after the export operation: XML for Android and Strings for iOS. The exported files may need minor modifications on your end (translation keys will remain the same as in the Android file, so that they might need adjustments for the iOS file). Nevertheless, using this strategy, the amount of time required for localization and the costs associated with translation services may be significantly reduced.

In the Target Files Export section, you can add and configure bundles for exporting sets of strings in one of the selected formats. In simple terms, bundles are translation files containing groups of strings compiled based on the patterns you choose in the project settings. You can choose between the XLIFF, Android XML, and iOS Strings formats. You can also add more target file formats using apps from the Crowdin Marketplace.

The most common ways to use bundles

  • You can upload a single source file (like Android XML) to your project, translate it, and then use bundles to export translations for multiple platforms (e.g., Android XML for the Android app, iOS strings for the iOS app, JSON for the web app, etc.). So, you can export translations in any of the file formats.
  • You can store source strings for all platforms your app is built for in a single spreadsheet (like an XLSX or CSV file), and each string can have its label. You can add this file to your project, translate it, and then use the source file paths and string labels to make separate bundles for different platforms. As a result, with the help of labels, you can identify for what platform you have translated files.
  • You can export certain groups of strings in XLIFF format for offline translation and then upload the translated strings back to Crowdin when you’re done.
  • You can use CLI, UI, distributions (CDN vault that mirrors the translated content of your project) and DVCS integrations (Coming Soon) for downloading files. It will be convenient to download files from any source.

Configuring Bundles

You can create a bundle in the settings of your localization project in Crowdin. You’ll need to go to the Target Files Export section and click Add bundle. Once you do, you can choose the file format you want your strings to be saved in and name the source file. Also, you can use the Labels field to filter the strings included in the bundle by what labels they have. After you save the bundle, you can always go back and edit it.

Creating bundle in project settings

Downloading Configured Bundles

You can download bundles that have been set up through either the Home tab or the Settings tab of your project.

Follow these steps to download bundles through the Home tab:

  1. Go to the Home tab and open your project.
  2. Click the drop-down arrow on the button Build & Download.
  3. In the Bundles section, click on the bundle you need, and download the bundle.

How to download configured bundle

Follow these steps to download bundles through the Settings tab:

  1. Go to the Settings tab and open your project.
  2. Scroll down to where it says Target Files Export.
  3. Click Build toward the needed bundle.
  4. Once the bundle build activity is completed, click Download.

How to download bundle through the Settings tab

The system will make and download a ZIP file with folders for each project’s target languages containing the selected format’s translation files.

Read more instructions in Crowdin Knowledge Base.

Next Steps for Application Translation

With Crowdin plugins, you can sync strings to be translated straight from your design tools, providing an option to the more conventional method often used when working with source files. You also can use Over-the-Air Content Delivery, which allows you to instantly update the translated strings of your mobile apps without having to release a new version of the app on either the App Store or Google Play.


If you want to go straight from one format to another with localizable files, you can do this with the help of Bundles on the Crowdin localization platform. You can add bundles and set them up to export sets of strings in one of the formats you choose. Bundles are translation files that contain groups of strings that are put together based on the patterns you choose in the project settings.

Translate app content once and use it across several platforms

Crowdin offers Bundles for it. Try Crowdin.
Julia Herasymchuk

Previous Post
Multilingual Chatbot: Guide on Why and How to Localize It
Next Post
How TYPO3 localized their content management system and 100+ extensions with Crowdin