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

Le CLI traduit les fichiers `.stringsdict`, ces listes de propriétés XML qui contiennent les règles de pluriel d&#39;une application. Chaque paramètre régional possède son propre fichier, aux côtés de ses tables `.strings`, dans un répertoire `<locale>.lproj`. Les traductions conservent la structure du plist, les clés de format et les spécificateurs de format, et reconstruisent les formes du pluriel pour chaque paramètre régional cible.

*Remarque : `.stringsdict` fait partie de l&#39;ancienne organisation de localisation d&#39;Apple, associée à [`.strings`](/docs/cli/reference/formats/dot-strings-files). La migration vers les String Catalogs de Xcode regroupe les deux dans un unique [catalogue `.xcstrings`](/docs/cli/reference/formats/xcstrings-files) et les supprime : un projet utilise donc l&#39;une ou l&#39;autre organisation.*

## Configuration [#config]

Ajoutez une entrée `dotStringsdict` sous `files`, avec un tableau `include` de motifs glob. Placez l&#39;espace réservé `[locale]` dans le nom du répertoire `.lproj` afin que la CLI puisse trouver le fichier source et enregistrer les traductions au bon emplacement.

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["pl", "ar", "zh"],
  "files": {
    "dotStringsdict": {
      "include": ["Resources/[locale].lproj/Localizable.stringsdict"]
    }
  }
}
```

Avec cette configuration, le CLI lit `Resources/en.lproj/Localizable.stringsdict` et écrit le fichier traduit dans `Resources/pl.lproj/`, `Resources/ar.lproj/` et `Resources/zh.lproj/`. Consultez la [référence de configuration](/docs/cli/reference/config#files) pour connaître toutes les clés de fichiers.

La clé `dotStringsdict` nécessite `gt` 2.18.1 ou une version ultérieure.

## Encodage des fichiers [#encoding]

La CLI détecte les marques d&#39;ordre des octets (BOM) UTF-8, UTF-16 et UTF-32 lorsqu&#39;elle lit un fichier `.stringsdict`. Elle envoie le XML décodé à l&#39;API, puis écrit chaque traduction dans l&#39;encodage d&#39;origine du fichier source. Un fichier dépourvu de marque d&#39;ordre des octets est traité comme de l&#39;UTF-8.

Si le fichier source a été déplacé ou supprimé après l&#39;upload, la CLI utilise l&#39;encodage du fichier traduit existant, lorsqu&#39;il y en a un.

<Callout type="info">
  **Modifié dans la v2.20.0 :** la CLI préserve désormais l&#39;encodage source au lieu de réécrire un fichier UTF-16 en UTF-8 ou d&#39;envoyer ses octets encodés à l&#39;analyseur XML.
</Callout>

## Comportement de sortie [#output]

La CLI préserve les retours chariot dans les clés et les valeurs des listes de propriétés au moyen de références de caractères XML.

## Traduire en parallèle de vos tables .strings [#pairing]

Un fichier `.stringsdict` ne couvre que les keys nécessitant des règle de pluriel ; le reste du texte du paramètre régional reste dans ses tables `.strings`. Configurez les deux keys pour qu&#39;un seul run couvre l&#39;ensemble du répertoire `.lproj` :

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["pl", "ar", "zh"],
  "files": {
    "dotStrings": {
      "include": ["Resources/[locale].lproj/*.strings"]
    },
    "dotStringsdict": {
      "include": ["Resources/[locale].lproj/*.stringsdict"]
    }
  }
}
```

## Catégories de pluriel [#plurals]

Un fichier traduit contient les catégories de pluriel réellement utilisées par la langue cible, qui correspondent rarement à celles de la source. L&#39;anglais choisit entre `one` et `other`, alors que le polonais utilise trois formes pour un nombre entier, l&#39;arabe six et le chinois une seule. Le CLI reconstruit chaque variable de formatage d&#39;après les règles CLDR de la langue cible plutôt que de recopier les catégories de la source :

* Les catégories utilisées par la langue cible sont toujours présentes : une traduction polonaise gagne donc des formes que l&#39;anglais n&#39;avait pas.
* Les catégories que la langue cible ne sélectionne jamais sont supprimées : une traduction chinoise se réduit donc à une seule forme `other`.
* Un `zero` explicite dans la source est conservé, même pour une langue dont les règles CLDR n&#39;en prévoient pas, car Foundation l&#39;affiche de toute façon lorsque count vaut 0.

Comme l&#39;ensemble des catégories change, ne vous attendez pas à ce que le fichier traduit comporte les mêmes keys que la source. Comparez plutôt le résultat affiché pour des valeurs de count représentatives.

## Sitemap

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