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

Le CLI traduit les fichiers `.strings`, les tables de texte clé/valeur qu&#39;une application charge depuis un répertoire `<locale>.lproj` par paramètre régional. Les traductions conservent la clé, les séquences d&#39;échappement et les spécificateurs de format de chaque entrée, et le commentaire placé au-dessus d&#39;une entrée est transmis au translation engine en tant que context.

*Remarque : `.strings` et `.stringsdict` correspondent à l&#39;ancienne organisation de localisation d&#39;Apple. La migration vers les String Catalogs de Xcode regroupe les fichiers `.lproj` dans un unique [catalog `.xcstrings`](/docs/cli/reference/formats/xcstrings-files) puis les supprime : un projet utilise donc soit l&#39;une, soit l&#39;autre.*

## Configuration [#config]

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

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["es", "ja", "ar"],
  "files": {
    "dotStrings": {
      "include": [
        "Resources/[locale].lproj/Localizable.strings",
        "Resources/[locale].lproj/InfoPlist.strings"
      ]
    }
  }
}
```

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

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

## Encodage des fichiers [#encoding]

Le CLI détecte les marques d&#39;ordre des octets UTF-8, UTF-16 et UTF-32 lorsqu&#39;il lit un fichier `.strings`. Il envoie le texte 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 considéré comme de l&#39;UTF-8.

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

<Callout type="info">
  **Modifié en v2.20.0 :** le CLI hache désormais le texte décodé et préserve l&#39;encodage source. Les fichiers `.strings` existants reçoivent de nouveaux version IDs, car les versions antérieures hachaient les octets base64 ; ils seront donc traduits une fois de plus après la mise à niveau, même si leur texte n&#39;a pas changé.
</Callout>

## Comportement de sortie [#output]

Lorsqu&#39;une table traduite ne contient aucune entrée, le CLI écrit un dictionnaire de liste de propriétés vide au lieu d&#39;un fichier de zéro octet, afin que Foundation puisse le charger.

## Plusieurs tables par paramètre régional [#tables]

La plupart des applications embarquent plus d&#39;une table par paramètre régional : une configuration qui ne liste que `Localizable.strings` laisse donc silencieusement le reste non traduit. Les deux tables les plus courantes sont :

* `Localizable.strings` — le texte de l&#39;interface chargé via `NSLocalizedString`
* `InfoPlist.strings` — les valeurs destinées au système dans `Info.plist`, telles que `CFBundleDisplayName` et les descriptions d&#39;usage affichées dans les demandes d&#39;autorisation

Listez chaque table dans `include`, ou couvrez-les toutes avec un seul motif glob :

```json title="gt.config.json"
{
  "files": {
    "dotStrings": {
      "include": ["Resources/[locale].lproj/*.strings"]
    }
  }
}
```

## Pluriels [#plurals]

Une entrée `.strings` contient une seule chaîne par clé et ne peut pas exprimer les formes du pluriel. Apple conserve les règles de pluriel dans un fichier `.stringsdict` associé, placé dans le même répertoire `.lproj`, qui correspond à une clé de configuration distincte. Consultez [`.stringsdict`](/docs/cli/reference/formats/dot-stringsdict-files) pour les traduire en même temps que vos tables.

## Sitemap

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