Set up a software localization project

Discover how to streamline software localization in Smartcat by managing keys, supporting plurals, and integrating via API and CLI, with options to import and export strings in various formats.

Smartcat lets you streamline software localization by importing and exporting strings in JSON, YAML, Android XML, and iOS.strings.

Keys are stored in so-called collections. Each of these collections contains a unique set of keys. When necessary, you can have multiple collections inside one software localization project within Smartcat, and you can have as many isolated projects as needed.

What's important to know:

Not only can you import keys and translated content from external files, but you can also add and edit keys and their source text directly in Smartcat. This allows for a totally different experience: you can treat Smartcat as a central system of record for all your product copy, and maintain it directly on the platform without disturbing your developers.

Furthermore, developers can simply export keys and their translations in multiple formats to build their product.

How to create a software localization project

1. Select Create software localization project on your workspace homepage.

2. Fill in the project name, and choose source and target languages.

Now you have a blank project with a default collection titled “main.” Each project can have multiple collections of keys. You can import keys into any existing or new collection (collections are created instantly).

Smartcat enforces the uniqueness of keys within a collection level. You can freely add, edit and delete project keys, and Smartcat will update them in all language pairs within a collection.

Importing keys

Once the “main” project has been automatically created, you have several options to import keys for your software localization.

You can import keys manually using the Smartcat interface.

Alternatively, you can set up automated integrations and perform import and export operations via our public REST API and through a cross-platform command-line tool. To do so, please refer to our developer documentation for API and CLI tool.

Exporting keys

To export keys, you can do so right from the software localization project in Smartcat.

You can export keys from the collection overview page,

or directly from the Editor.

For easier integration you can export keys using the API and CLI tool.

Adding and editing keys in the Editor

To edit your keys, go to the Editor by clicking on any language pair in your collection.

  • Change the text as needed by clicking on a source segment 

  • Add new keys by clicking on the plus sign (+) at the end of segments

  • Delete keys by clicking on the three dots near the key's segment

Note that when a key's source text is changed, all its existing translations will be removed on a collection level. This ensures that every time the source text in a collection is changed, linguists will review or re-apply proper translations.

Plural support

There are two ways of handling plurals with Smartcat:

  • Natively (as independent segments in the editor)

  • Via ICU MessageFormat syntax

When you open a collection of keys in the editor, you can add new keys. You will need to specify if the key needs to be created with all plural forms.

When exporting keys, plural forms will be converted into an ICU MessageFormat-compatible string.

When importing a LocJSON file, you can specify if keys containing ICU MessageFormat syntax should be parsed and converted into individual segments in Smartcat, or kept as they are (so that you can edit the raw string).

In the case where you have raw ICU MessageFormat strings, you can use an interactive previewer/validator for this format by choosing it in a preview section.


Does Smartcat offer an on-premise solution?

While this option is no longer offered. Smartcat is very secure, being hosted on the biggest cloud infrastructure provider in the world (Amazon AWS). Cloud services are being used by most corporations today, even some with strict security requirements. You can find some information related to security on our website.

We also offer an IP Whitelisting option with some subscriptions that lets the user provide a list of IP addresses that are allowed to connect to the Smartcat account. IP addresses will be provided by an internal router for example so that only some workstation can connect to the account. This list can also include IP addresses of people working remotely if needed.