Duplicate Strings

Configure settings for duplicated strings to achieve the highest efficiency of the localization process and to save costs.

Overview

In Crowdin Enterprise, the localization process is based on translating the source strings to the defined target languages. In Crowdin Enterprise, the localization process is based on translating the source strings to the defined target languages. Each unique source string that was first uploaded or added (for CSV and other formats that support string editing) in Crowdin Enterprise is considered the master string. All other strings that are identical to the master string but were uploaded or created later are considered duplicated strings.

Duplicated Strings Management

There are six main options to work with duplicated strings in Crowdin Enterprise:

  • Show – translators will translate each instance separately.
  • Zeigen, aber sie automatisch übersetzen.
  • Show within a version branch (regular detection) – duplicates will be hidden only between version branches.
  • Show within a version branch (strict detection) – duplicates will be hidden only between version branches.
  • Hide (regular detection) – all duplicates will share the same translation.
  • Hide (strict detection) – all duplicates will share the same translation.

Regular duplicates detection – when comparing strings, Crowdin Enterprise considers only source texts.
Strict duplicates detection – when comparing strings, Crowdin Enterprise considers both string identifiers (keys) and source texts.

Duplicates Options

Show all duplicates

When this option is selected, all the duplicated strings will be visible to translators. When this option is selected, all the duplicated strings will be visible to translators.

Use case: works perfectly for the projects where the same words might have various meanings depending on the context.

Show, but auto-translate duplicates

When this option is selected, all duplicate strings are shown and automatically translated. Once the master string is translated, its translation is automatically shared among all duplicates. This allows translators to review and re-translate duplicate strings if necessary.

Use case: works excellently if you want to save time but still require automatic translations to be reviewed.

To better illustrate how the Show, but auto-translate them option works, consider the following five-string JSON file: two strings are unique, and three strings have identical source text.

{
    "hello": "Hello",
    "welcome": "Welcome!",
    "save1": "Save",
    "save2": "Save",
    "save3": "Save"
}

Upon importing this file, the system marks the first of these identical strings ("save1": "Save") as the master string with the “Master” marking, while the subsequent two identical strings ("save2": "Save" and "save3": "Save") are labeled as duplicates of this master string with the “Duplicate” marking.

Once you set the Duplicate strings option to Show, but auto-translate them, the system keeps all five strings visible to translators and for the master string and its two duplicates, automatic translation propagation is enabled. This means that translations are automatically shared from the master string to its duplicates.

Let’s consider the following scenarios:

  • Master string is translated first – the system immediately propagates the translation of the master string to its duplicates. As a result, all three identical strings (the master string and its two duplicates) are displayed with translations. However, translators can review and re-translate each duplicate with their own translation as needed. If a unique translation is provided for a specific duplicate, it will override the shared translation for that string alone, allowing for precise context-specific translations without affecting the other duplicates. If a translator removes a duplicate’s unique translation, it will be automatically translated with a translation from a master string.

  • One of the duplicates is translated first – the system does not propagate the translation of the duplicate to the master string or the other duplicate. Consequently, one duplicate string is displayed with a translation, while the master string and the other duplicate remain untranslated.

Show within a version branch. Duplicates are hidden only between version branches

When this option is selected, only the master strings that were originally uploaded to the system will be available for translations. All duplicated strings will automatically gain the original strings’ translations and will be hidden in all version branches. This option is available in two versions: regular duplicates detection, strict duplicates detection. If your source files contain strings with apparent identifiers (keys), it’s better to use a strict version of this option. In other cases, feel free to use a regular one.

Couple of things to keep in mind:

  • The system always checks the path to the string throughout the branches. For example, even if the strings are the same in different version branches (branch1 and branch2), but their paths are different (branch1 - /localization/android.xml and branch2 - /localization/apps/android.xml), they won’t be recognized as duplicates.
  • This option works only for the strings located in the files that have the same format. For example, if there is the same string in android.xml and ios.strings files, it won’t be recognized as a duplicate.

Use case: works perfectly for continuous projects with various version branches. Allows translators to work with unique strings in separate branches.

Hide all duplicates

When this option is selected, the system spots the duplicated strings in all files. Only the master strings that were originally uploaded are visible and should be translated. The hidden duplicated strings will automatically share the translations from the corresponding master strings. This option is available in two versions: regular duplicates detection, strict duplicates detection. If your source files contain strings with apparent identifiers (keys), it’s better to use a strict version of this option. In other cases, feel free to use a regular one.

Use case: works great for the projects with narrow scopes where all duplicates share the same context.

Siehe auch

War dieser Artikel hilfreich?