# gt: General Translation CLI tool: .resx
URL: https://generaltranslation.com/it/docs/cli/reference/formats/resx-files.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduci i file di risorse .NET (.resx e .resw) con la General Translation CLI. Riferimento API per il formato di file RESX.

La CLI traduce le risorse di tipo stringa contenute nei file `.resx` di .NET e nei file `.resw`, che adottano lo stesso schema. Le traduzioni conservano i nomi delle risorse, i commenti, i segnaposto .NET e tutte le risorse prive di testo. Il supporto richiede `gt` 2.23.1 o versione successiva.

## Panoramica [#overview]

| Argomento                                   | Descrizione                                                                                |
| ------------------------------------------- | ------------------------------------------------------------------------------------------ |
| [Configurazione](#config)                   | Individua i file sorgente e assegna i nomi alle traduzioni secondo le convenzioni di .NET. |
| [Comportamento della traduzione](#behavior) | Quali risorse vengono tradotte e cosa rimane invariato.                                    |
| [Segnaposto](#placeholders)                 | Mantieni intatti i segnaposto con nome e quelli del formato composito di .NET.     |
| [Risorse non tradotte](#untranslated)       | Risorse che la CLI non modifica.                                                           |
| [Codifica](#encoding)                       | Decodifica e ripristina le codifiche di testo con byte order mark (BOM).                   |
| [Validazione](#validation)                  | Ignora i file vuoti e rifiuta i documenti XML non validi.                                  |

## Configurazione [#config]

Aggiungi una voce `resx` sotto `files`. Un progetto .NET conserva le risorse della lingua predefinita in un file come `Properties/Resources.resx` e ogni traduzione in un file nella stessa cartella, con la cultura nel nome, come `Properties/Resources.es.resx`. Poiché il nome del file sorgente non contiene alcuna impostazione regionale, fai puntare `include` a questo file e usa `transform` per definire il nome dell&#39;output tradotto. Usa `exclude` con il segnaposto `[locales]` per evitare che i file tradotti nella stessa cartella vengano letti come file sorgente:

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

Con questa configurazione, la CLI legge `Properties/Resources.resx` e genera `Properties/Resources.es.resx` e `Properties/Resources.fr.resx`.

I progetti UWP e WinUI salvano i file `.resw` in una directory separata per ogni lingua, ad esempio `Strings/en-US/Resources.resw`. Per questo layout, usa il segnaposto `[locale]` e rimuovi `transform`:

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

RESX supporta solo il formato di output `RESX` e non può essere convertito in un altro formato di file tramite `transformationFormat`. Per le chiavi di file condivise, consulta il [riferimento alla configurazione](/docs/cli/reference/config#files).

## Comportamento della traduzione [#behavior]

La CLI traduce ogni voce `<data>` che contiene una stringa. Un file tradotto è una copia del file sorgente in cui vengono sostituiti i valori stringa, pertanto conserva:

* I nomi delle risorse e l&#39;ordine delle voci
* Le voci `<resheader>` e il blocco dello schema
* Le risorse che non contengono testo, come immagini, icone e dimensioni
* I commenti e l&#39;indentazione

Un `<comment>` associato a una voce viene passato al motore di traduzione come contesto: usalo quindi per chiarire il significato di una stringa breve o ambigua. Le istruzioni di localizzazione Microsoft presenti in un commento, come `{Locked}` e `{Locked="Power Display"}`, vengono inoltrate come istruzioni da rispettare.

Un valore che contiene XML, come un commento o tag inline, viene tradotto come XML e deve restare ben formato. Se un nome compare più volte, la CLI traduce la prima voce, ovvero quella letta da .NET, e lascia invariate le altre.

Le traduzioni esistenti delle voci non modificate possono essere riutilizzate, a meno che non si forzi una nuova traduzione.

## Segnaposto [#placeholders]

Le traduzioni mantengono ogni segnaposto .NET esattamente com&#39;è scritto, inclusi formato e allineamento:

| Segnaposto                 | Esempio                    |
| -------------------------- | -------------------------- |
| Formato composito          | `{0}`, `{0:N2}`, `{1,-10}` |
| Segnaposto con nome        | `{count}`, `{Name:0.00}`   |
| Parentesi graffa letterale | `{{` e `}}`                |

Un segnaposto può spostarsi all&#39;interno della frase per adattarsi all&#39;ordine delle parole della lingua di destinazione, ma deve comparire lo stesso numero di volte del testo sorgente. Una traduzione che modifica o elimina un segnaposto, oppure che rende non valido l&#39;XML in un valore che contiene XML, viene esclusa dal file tradotto: in questo caso .NET ricorre alla lingua sorgente per quella voce. All&#39;esecuzione successiva la traduzione viene ritentata.

Un singolo `&` prima di una lettera indica un tasto di scelta, come in `&File`. Le traduzioni mantengono un solo `&` prima di una lettera adatta della parola tradotta.

## Risorse non tradotte [#untranslated]

La CLI mantiene queste risorse nel file tradotto senza inviarle alla traduzione:

* Voci con un `mimetype`, che contengono dati binari come le immagini
* Voci con un `type` diverso da `System.String`, come `System.Drawing.Size`
* Voci del designer di Windows Forms, il cui nome inizia con `>>`
* Voci con valore vuoto

## Codifica [#encoding]

La CLI legge come UTF-8 i file `.resx` privi di BOM. Se un file inizia con un byte order mark (BOM), sono supportate le codifiche UTF-8, UTF-16 little-endian o big-endian e UTF-32 little-endian o big-endian. Visual Studio salva i file `.resx` in UTF-8 con BOM. Le traduzioni scaricate mantengono la codifica e il BOM del file sorgente.

Un file UTF-16 o UTF-32 privo di BOM viene interpretato come UTF-8. Prima di tradurlo, aggiungi il BOM appropriato oppure salvalo in UTF-8.

## Validazione [#validation]

La CLI salta i file `.resx` vuoti e li segnala nel riepilogo del comando. L&#39;API rifiuta i file che non sono XML ben formato o il cui elemento di primo livello non è `<root>`.

## Sitemap

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