Skip to content

Manual localization workflows with the XLIFF String Catalog Localizer app

The fastest way to localize your apps is using the DeepL or Google API. The localizer app has automated the usage of these APIs for you. You only have to configure them by adding your personal API key.

You can reach more accurate localizations using the rule database as translator. However, that requires collecting and editing your own translation rules. For this, you need to set-up your so-called manual workflow to localize your Apple apps.

There are many options but these can be summarized in this diagram:

Setting to populate the database

After checking the ‘Save translated strings as rule’ all localized strings are automatically added as rule to the built-in database. You can use this option to collect an archive of localizations. Or edit them to make these rules more generic, for re-use when localizing other apps.

A second option to use app functions for capturing is the export option of the Untranslated Strings screen. You must add localized strings to this export first, to allow importing as a valid rule.

If you don’t configure or suspend all three translators, every localizable string of your app will be reported as “No translation found” and appear on the Untranslated String screen.

Working with .csv files

Spreadsheet programs like Microsoft Excel or the cheaper LibreOffice Calc, are ideal to bulk edit .csv files. Please make sure the UTF-8 encoding, tab-delimiter and ” as string delimiter are retained when saving the file again as .csv.

You can send a spreadsheet to translators who prefer to work with flat files and/or still have to invest in tools to process XLIFF XMLs.

Alternatively, you can collect localizations from dictonaries. Or copy the column with default strings in or another translation site, and paste the result in the localized string column. Finally, save the spreadsheet as tab-delimited .csv file and import it as rules in the database. Then localize your Xcode export again by selecting the folder on the Translate screen.

If you are using files exported from the Untranslated strings screen, you don’t have to delete the Translation result and Error message columns. These will be automatically ignored when importing.

Using JSON files

You can use other translation services than DeepL and Google Cloud to localize your apps. Write your own software in Swift or Golang that sends requests to the translator APIs of Microsoft/Bing, Amazon, Yandex, ChatGPT etc. and which reads the JSON format exported by XLIFF String Catalog Localizer app.

In this way you create a JSON file in which the localized string column is filled. Then you can import it as valid rules into the app database, to localize the folder exported from Xcode.

Get this unique app localization tool