A String Catalog in Xcode is a centralized file for managing localized strings in your iOS or macOS app. Instead of juggling multiple .strings files, a String Catalog stores all translations in one place, making it easier to add languages, keep translations consistent, and update your app’s user interface text.
How to create a String Catalog in Xcode:
- Open your project in Xcode.
- In the Project Navigator, right-click on your project folder (or the group where you want to keep the catalog).
- Choose New File… and then under Resource, select String Catalog.
- Name your file (e.g.,
Localizable.xcstrings) and click Create.
How to configure a String Catalog:
- Select the new
.xcstrings file in the Project Navigator.
- In the editor, you’ll see a table-like view where you can add keys (string identifiers) and provide translations for each supported language.
- To add more languages, go to your project settings, select the Info tab, click Localizations, and enable the languages you want. The new languages will appear in the catalog automatically.
- Use the Value column for your source language, and fill in the translations for other languages in their respective columns.
When you run the app, Xcode automatically picks the correct string based on the user’s device language settings.
Using Localazy with String Catalogs:
Instead of managing translations manually inside Xcode, you can connect your .xcstrings file to Localazy.
- Upload your source language to Localazy. You can do this manually in the app interface or — to speed up your workflow — use the Localazy CLI to upload files with a single command, enabling automated integration with your build or deployment process. For example:
localazy upload
This command uploads your latest .xcstrings file to Localazy automatically, so you don’t need to manually handle files every time.
Once your source is in Localazy, you can choose how to translate your project:
- Translate on your own or invite contributors and use our built-in suggestion system.
- Translate quickly in bulk, using machine translation or Localazy AI with context-aware results. This is ideal for first iterations or localization testing.
- Automate human translations with Continuous Localization. After your Localazy integration is set up, you can request translations from our professional linguists and have your projects translated automatically. The service works proactively, so you can check in only occasionally to monitor progress.
When all translations are complete, download ready-to-use .xcstrings files for all supported languages.
localazy download
This way, Localazy keeps your String Catalog in sync across all languages, reduces manual editing, and ensures faster, consistent localization.