# gt: General Translation CLI tool: .xcstrings
URL: https://generaltranslation.com/fr/docs/cli/reference/formats/xcstrings-files.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduisez les String Catalogs d'Apple avec le CLI de General Translation. Référence d'API pour le format du fichier .xcstrings.

Le CLI traduit les fichiers `.xcstrings`, qui stockent le contenu source et tous les paramètres régionaux dans un seul String Catalog. La prise en charge nécessite `gt` 2.21.0 ou une version ultérieure.

## Aperçu [#overview]

| Sujet                                 | Description                                                                                           |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| [Configuration](#config)              | Sélectionner les catalogues et conserver tous les paramètres régionaux dans le même fichier.          |
| [Fonctionnement](#how-it-works)       | Découper le contenu source pour l&#39;envoi et fusionner les paramètres régionaux traduits au téléchargement.     |
| [Modifications locales](#local-edits) | Synchroniser les modifications sans considérer les autres paramètres régionaux du catalogue comme des changements. |
| [Erreurs](#errors)                    | Identifier les catalogues invalides et les paramètres de chemin non pris en charge.                   |

## Configuration [#config]

Ajoutez une entrée `xcstrings` sous `files`, avec un tableau `include` qui pointe directement vers chaque catalogue.

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["es", "ja"],
  "files": {
    "xcstrings": {
      "include": ["Resources/Localizable.xcstrings"]
    }
  }
}
```

Un String Catalog regroupe tous les paramètres régionaux dans un seul fichier et est mis à jour sur place. Ses approches `include` ne doivent pas contenir `[locale]`, et la config `xcstrings` n&#39;accepte pas `transform`.

Le `sourceLanguage` du catalogue doit se résoudre vers le même paramètre régional canonique que `defaultLocale`. Par exemple, un catalogue défini avec `"sourceLanguage": "en"` peut utiliser `"defaultLocale": "en"`, mais pas `"defaultLocale": "fr"`.

## Fonctionnement [#how-it-works]

Lors du téléversement, le CLI lit le catalogue et envoie à l&#39;API un extrait ne contenant que la source. Chaque entrée conserve sa localisation dans la langue source lorsqu&#39;elle en possède une ; les entrées qui utilisent la clé elle-même comme texte source demeurent dans l&#39;extrait, sans champ `localizations`. Les paramètres régionaux cibles existants ne sont pas téléversés en tant que contenu source.

Lors du téléchargement, le CLI réintègre chaque paramètre régional cible dans le catalogue présent sur le disque. Il ne modifie que la localisation de ce paramètre régional pour les entrées correspondantes. Les autres paramètres régionaux, les commentaires, les états d&#39;extraction, les substitutions, les variations et les champs non reconnus restent sur place.

Si la traduction téléchargée contient une clé qui n&#39;existe plus dans le catalogue local, le CLI ignore cette clé et affiche un avertissement. Le fichier téléchargé est sérialisé en JSON avec une indentation de deux espaces et un saut de ligne final.

## Local edits [#local-edits]

Le suivi des téléchargements est stocké par paramètre régional, même si tous les paramètres régionaux partagent un seul et même fichier. Cela évite qu&#39;un paramètre régional cible inchangé soit soumis comme local edit après la fusion d&#39;un autre paramètre régional dans le catalogue.

Utilisez [`gt save-local`](/docs/cli/reference/commands/save-local), [`gt translate --save-local`](/docs/cli/reference/commands/translate) ou [`options.saveLocal: true`](/docs/cli/reference/config#save-local) pour soumettre les localisations cibles modifiées. La synchronisation des local edits fonctionne sur la base de l&#39;opt-in.

Le Dashboard ouvre également les traductions `.xcstrings` dans la vue Raw modifiable. Une modification enregistrée ne met à jour que le paramètre régional cible sélectionné dans le catalogue.

## Erreurs [#errors]

* Un JSON invalide, un `sourceLanguage` manquant ou vide, ou un champ `strings` qui n&#39;est pas un objet conduit le CLI à ignorer le catalogue et à signaler le problème de validation.
* Un `sourceLanguage` qui ne correspond pas à `defaultLocale` interrompt l&#39;exécution avant le téléversement des fichiers.
* Une approche `include` contenant `[locale]` ou un paramètre `xcstrings.transform` interrompt l&#39;exécution, car les paramètres régionaux traduits doivent être fusionnés dans le catalogue d&#39;origine.
* La clé réservée `__proto__` est rejetée dans les maps de chaînes et de localisation. Les clés nommées `constructor` ou `prototype` sont prises en charge.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
