# gt: General Translation CLI tool: .strings
URL: https://generaltranslation.com/it/docs/cli/reference/formats/dot-strings-files.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduci i file .strings con la General Translation CLI. Riferimento API per il formato di file .strings.

La CLI traduce i file `.strings`, le tabelle di testo chiave/valore che un&#39;app carica da una directory `<locale>.lproj` per ogni impostazione regionale. Le traduzioni conservano la chiave, gli escape e gli specificatori di formato di ogni voce e il commento che precede una voce viene passato al translation engine come context.

*Nota: `.strings` e `.stringsdict` costituiscono il layout di localizzazione legacy di Apple. La migrazione a String Catalog di Xcode unisce i file `.lproj` in un unico [catalog `.xcstrings`](/docs/cli/reference/formats/xcstrings-files) e li elimina, quindi un progetto usa un layout oppure l&#39;altro.*

## Configuration [#config]

Aggiungi una voce `dotStrings` all&#39;interno di `files` con un array `include` di glob patterns. Inserisci il placeholder `[locale]` nel nome della directory `.lproj`, in modo che la CLI possa trovare le tabella sorgente e salvare le traduzioni nel percorso corretto.

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

Con questa configurazione, la CLI legge le tabella in `Resources/en.lproj/` e scrive `Resources/es.lproj/`, `Resources/ja.lproj/` e `Resources/ar.lproj/`. Consulta il [riferimento di configurazione](/docs/cli/reference/config#files) per tutte le chiavi dei file.

La chiave `dotStrings` richiede `gt` 2.18.1 o versioni successive.

## Codifica dei file [#encoding]

La CLI rileva i byte order mark UTF-8, UTF-16 e UTF-32 quando legge un file `.strings`. Invia il testo decodificato all&#39;API, quindi scrive ogni traduzione nella codifica originale del file sorgente. Un file privo di byte order mark viene trattato come UTF-8.

Se il file sorgente è stato spostato o eliminato dopo l&#39;upload, la CLI utilizza la codifica del file tradotto esistente, quando disponibile.

<Callout type="info">
  **Modificato nella v2.20.0:** la CLI ora calcola l&#39;hash del testo decodificato e preserva la codifica sorgente. I file `.strings` esistenti ricevono nuovi version ID perché nei rilasci precedenti l&#39;hash veniva calcolato sui byte in base64: possono quindi essere tradotti un&#39;altra volta dopo l&#39;aggiornamento, anche se il loro testo non è cambiato.
</Callout>

## Comportamento dell&#39;output [#output]

Quando una tabella tradotta non contiene voci, la CLI scrive un dizionario property-list vuoto anziché un file di zero byte, in modo che Foundation possa caricarlo.

## Più tabelle per impostazione regionale [#tables]

La maggior parte delle app include più di una tabella per impostazione regionale, quindi una configurazione che elenca solo `Localizable.strings` lascia il resto non tradotto senza alcun avviso. Le due tabelle più comuni sono:

* `Localizable.strings` — il testo dell&#39;interfaccia caricato tramite `NSLocalizedString`
* `InfoPlist.strings` — i valori destinati al sistema in `Info.plist`, come `CFBundleDisplayName` e le descrizioni d&#39;uso mostrate nelle richieste di permesso

Elenca ogni tabella in `include`, oppure abbinale tutte con un unico glob:

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

## Plurali [#plurals]

Una voce `.strings` contiene una sola stringa per chiave e non può esprimere le forme plurali. Apple mantiene le regole di pluralizzazione in un file `.stringsdict` associato, collocato nella stessa directory `.lproj`, che corrisponde a una chiave di configurazione separata. Consulta [`.stringsdict`](/docs/cli/reference/formats/dot-stringsdict-files) per tradurle insieme alle tue tabelle.

## Sitemap

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