App translator

The App translator option is part of the Manifest & resource options, which can be unlocked by purchasing the Manifest & resource options add-on.

Often apps are localized only for a limited number of languages. The App translator option allows you edit and translate resource strings found inside apps and thus build a new translated version of the app.

The resource strings are presented in a sorted list view. Each resource string consists of a unique key and a value. For arrays, the array index is appended to the key. For plurals, the plural identifier, e.g. zero, one, two, few, many, or other is appended.

Strings not yet translated are annotated by Needs translation in red. Translated strings are shown in green. If a string was already translated but the original string has changed, e.g. through an app update, it is annotated by Needs updated translation in orange.

Some resource strings may be used to store internal identifiers or constants, which cannot be translated or should not be modified. Long-press these strings to exclude them from the list.

Use the filter button in the toolbar to show All strings, Translated strings (this includes strings that need an updated translation), Strings needing translation (this also includes strings that need an updated translation) or Excluded strings. You can long-press an excluded string to re-include it.

The menu item Search allows you to search for / filter strings by key.

If you have the small donation, you may import or export the strings and translations using the menu items Load file and Save file. This reads or writes a CSV file with a compulsory header row containing three named columns: key, original and translated. The CSV file can be easily imported into applications such as Excel on a PC or Mac, where it may be more comfortable to translate a larger number of strings.

The menu item Reset allows clearing the translations of all strings, effectively disabling the App translator option.

Tap on a string to translate it or edit its translation.

Tap the Translate button to use a translation service to automatically translate the string. This requires that you’ve configured a translation service with your own API key in the App Cloner settings. Remember that translations provided by automated translation services may need to be manually corrected.

Tap the Use button to copy the original string into the translated string input field. This is useful for certain strings that don’t need translating or need minor changes only.

Tap the menu button to:

  • Share the original string to other apps. For example, you can share the string directly to Google Translate to obtain a translation.
  • Copy the original string to the clipboard.
  • Paste the clipboard to the translated string.

When translating strings you need to ensure that any placeholders are kept in the translation. For example, %s is a placeholder to substitute another string while %d is a placeholder to substitute a number.

There are also positional placeholders such as %1$s for a string substitution of the parameter at index 1 or %2$d for a number substitution of the parameter at index 2. Positional placeholders can be placed anywhere inside the translated string as long as they do occur at least once (they may also be used multiple times in different places). Non-positional placeholders must be kept in their original order, which means you may not swap %s with %d. App Cloner will validate all translated strings in this regard.

Cloning an app with the App translator option enabled automatically disables any other languages. This ensures that only the translated version is used, no matter what system language is configured.

App Cloner integrates with a number of translation services, which can be configured with your own API key in the App Cloner settings :

  • Google Translation API
  • Yandex Translate API
  • Microsoft Translator API
  • Amazon Translate API

Microsoft Translator API and Amazon Translate API are available for users with the small donation.

For the Microsoft Translator API please use the key format <Key>:<Region>, where <Key> is either Key 1 or Key 2 and <Region> is Location/Region from the Keys and Endpoint page.

For the Amazon Translate API please use the key format <AWS Access Key ID>:<AWS Secret Access Key>.