# gt: General Translation CLI tool: .resx
URL: https://generaltranslation.com/fr/docs/cli/reference/formats/resx-files.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduisez les fichiers de ressources .NET (.resx et .resw) avec la CLI de General Translation. Référence de l'API pour le format de fichier RESX.

La CLI traduit les ressources de type chaîne de caractères des fichiers .NET `.resx`, ainsi que des fichiers `.resw`, qui reposent sur le même schéma. Les traductions conservent les noms des ressources, les commentaires, les espaces réservés .NET, ainsi que toutes les ressources dépourvues de texte. Cette prise en charge nécessite `gt` 2.23.1 ou une version ultérieure.

## Vue d&#39;ensemble [#overview]

| Sujet                                     | Description                                                                                      |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------ |
| [Configuration](#config)                  | Faire correspondre les fichiers sources et nommer les traductions selon les conventions de .NET. |
| [Comportement de traduction](#behavior)   | Les ressources traduites et celles qui restent inchangées.                                       |
| [Espaces réservés](#placeholders)         | Conserver intacts le format composite .NET et les espaces réservés nommés.                       |
| [Ressources non traduites](#untranslated) | Les ressources que la CLI ne modifie pas.                                                        |
| [Encodage](#encoding)                     | Décoder et restaurer les encodages de texte avec marque d&#39;ordre des octets (BOM).            |
| [Validation](#validation)                 | Ignorer les fichiers vides et rejeter les documents XML non valides.                             |

## Configuration [#config]

Ajoutez une entrée `resx` sous `files`. Un projet .NET stocke ses ressources dans la langue par défaut dans un fichier tel que `Properties/Resources.resx`, et chaque traduction dans un fichier adjacent nommé d&#39;après la culture, par exemple `Properties/Resources.es.resx`. Comme le nom du fichier source ne contient aucun paramètre régional, faites pointer `include` vers ce fichier et utilisez `transform` pour nommer le fichier traduit généré. Utilisez `exclude` avec l’espace réservé `[locales]` pour que les fichiers traduits adjacents ne soient pas lus comme des fichiers sources :

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["es", "fr"],
  "files": {
    "resx": {
      "include": ["Properties/*.resx"],
      "exclude": ["Properties/*.[locales].resx"],
      "transform": "*.[locale].resx"
    }
  }
}
```

Avec cette configuration, la CLI lit `Properties/Resources.resx` et écrit `Properties/Resources.es.resx` et `Properties/Resources.fr.resx`.

Les projets UWP et WinUI stockent les fichiers `.resw` dans un répertoire par langue, par exemple `Strings/en-US/Resources.resw`. Pour cette organisation, utilisez l’espace réservé `[locale]` et supprimez l&#39;option `transform` :

```json title="gt.config.json"
{
  "defaultLocale": "en-US",
  "locales": ["es-ES", "fr-FR"],
  "files": {
    "resx": {
      "include": ["Strings/[locale]/Resources.resw"]
    }
  }
}
```

RESX ne prend en charge que le format de sortie `RESX` ; il ne peut pas être converti vers un autre format de fichier avec `transformationFormat`. Consultez la [référence de configuration](/docs/cli/reference/config#files) pour connaître les clés de fichier communes.

## Comportement de traduction [#behavior]

La CLI traduit chaque entrée `<data>` contenant une chaîne de caractères. Un fichier traduit est une copie du fichier source dont les valeurs de chaînes de caractères ont été remplacées ; il conserve donc :

* Les noms des ressources et l&#39;ordre des entrées
* Les entrées `<resheader>` et le bloc de schéma
* Les ressources qui ne contiennent aucun texte, comme les images, les icônes et les tailles
* Les commentaires et l&#39;indentation

Un `<comment>` associé à une entrée est transmis au moteur de traduction comme contexte : utilisez-le pour lever l&#39;ambiguïté d&#39;une chaîne de caractères courte ou polysémique. Les instructions de localisation Microsoft figurant dans un commentaire, comme `{Locked}` et `{Locked="Power Display"}`, sont transmises comme des consignes à respecter.

Une valeur contenant du XML, comme un commentaire ou des balises inline, est traduite en tant que XML et doit rester bien formée. Lorsqu&#39;un nom apparaît plusieurs fois, la CLI traduit la première entrée, celle que lit .NET, et laisse les autres inchangées.

Les traductions existantes des entrées inchangées peuvent être réutilisées, sauf si vous forcez la retraduction.

## Espaces réservés [#placeholders]

Les traductions conservent chaque espace réservé .NET exactement tel qu&#39;il est écrit, y compris son format et son alignement :

| Espace réservé       | Exemple                    |
| -------------------- | -------------------------- |
| Format composite     | `{0}`, `{0:N2}`, `{1,-10}` |
| Espace réservé nommé | `{count}`, `{Name:0.00}`   |
| Accolade littérale   | `{{` et `}}`               |

Un espace réservé peut être déplacé dans la phrase pour respecter l&#39;ordre des mots de la langue cible, mais il doit apparaître autant de fois que dans la source. Toute traduction qui modifie ou supprime un espace réservé, ou qui corrompt le XML d&#39;une valeur contenant du XML, est exclue du fichier traduit : .NET se replie alors sur la langue source pour cette entrée. Une nouvelle tentative a lieu lors de l&#39;exécution suivante.

Un `&` unique placé devant une lettre désigne une touche d&#39;accès clavier, comme dans `&File`. Les traductions conservent un seul `&`, placé devant une lettre appropriée du mot traduit.

## Ressources non traduites [#untranslated]

La CLI conserve ces ressources telles quelles dans le fichier traduit, sans les envoyer en traduction :

* Les entrées possédant un `mimetype`, qui contiennent des données binaires telles que des images
* Les entrées dont le `type` est différent de `System.String`, comme `System.Drawing.Size`
* Les entrées du concepteur Windows Forms, dont le nom commence par `>>`
* Les entrées dont la valeur est vide

## Encodage [#encoding]

La CLI lit les fichiers `.resx` sans marque d&#39;ordre des octets comme de l&#39;UTF-8. Lorsqu&#39;un fichier commence par une marque d&#39;ordre des octets (BOM), elle prend en charge l&#39;UTF-8, l&#39;UTF-16 petit-boutiste ou gros-boutiste, ainsi que l&#39;UTF-32 petit-boutiste ou gros-boutiste. Visual Studio enregistre les fichiers `.resx` en UTF-8 avec une BOM. Les traductions téléchargées reprennent l&#39;encodage et la BOM du fichier source.

Un fichier UTF-16 ou UTF-32 sans BOM est traité comme de l&#39;UTF-8. Ajoutez la BOM appropriée ou enregistrez le fichier en UTF-8 avant de le traduire.

## Validation [#validation]

La CLI ignore les fichiers `.resx` vides et les signale dans le récapitulatif de la commande. L&#39;API rejette tout fichier dont le XML est mal formé ou dont l&#39;élément racine n&#39;est pas `<root>`.

## Sitemap

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