# gt: General Translation CLI tool: .stringsdict
URL: https://generaltranslation.com/es/docs/cli/reference/formats/dot-stringsdict-files.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduce archivos .stringsdict con la CLI de General Translation. Referencia de API para el formato de archivo .stringsdict.

La CLI traduce archivos `.stringsdict`, las listas de propiedades XML que contienen las reglas de plural de una aplicación. Cada configuración regional tiene su propio archivo junto a sus tablas `.strings` en un directorio `<locale>.lproj`. Las traducciones conservan la estructura del plist, las claves de formato y los especificadores de formato, y reconstruyen las formas plurales de cada configuración regional de destino.

*Nota: `.stringsdict` forma parte del esquema de localización heredado de Apple, junto con [`.strings`](/docs/cli/reference/formats/dot-strings-files). La migración a String Catalog de Xcode combina ambos en un único [catálogo `.xcstrings`](/docs/cli/reference/formats/xcstrings-files) y los elimina, por lo que un proyecto usa un esquema u otro.*

## Configuración [#config]

Agrega una entrada `dotStringsdict` dentro de `files` con un array `include` de patrones glob. Coloca el marcador de posición `[locale]` en el nombre del directorio `.lproj` para que la CLI pueda encontrar el archivo fuente y guardar las traducciones en la ruta correcta.

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

Con esta configuración, el CLI lee `Resources/en.lproj/Localizable.stringsdict` y escribe el archivo traducido en `Resources/pl.lproj/`, `Resources/ar.lproj/` y `Resources/zh.lproj/`. Consulta la [referencia de configuración](/docs/cli/reference/config#files) para ver todas las claves de archivo.

La clave `dotStringsdict` requiere `gt` 2.18.1 o posterior.

## Codificación de archivos [#encoding]

La CLI detecta las marcas de orden de bytes UTF-8, UTF-16 y UTF-32 al leer un archivo `.stringsdict`. Envía el XML decodificado a la API y luego escribe cada traducción con la codificación original del archivo fuente. Un archivo sin marca de orden de bytes se trata como UTF-8.

Si el archivo fuente se movió o eliminó después de subirlo, la CLI usa la codificación del archivo traducido existente, si hay alguno disponible.

<Callout type="info">
  **Cambiado en v2.20.0:** la CLI ahora conserva la codificación del archivo fuente en lugar de reescribir un archivo UTF-16 como UTF-8 o enviar sus bytes codificados al analizador de XML.
</Callout>

## Comportamiento de la salida [#output]

La CLI conserva los retornos de carro en las claves y los valores de las listas de propiedades mediante referencias de caracteres XML.

## Traduce junto con tus tablas `.strings` [#pairing]

Un archivo `.stringsdict` solo cubre las claves que necesitan reglas de plural; el resto del texto de la configuración regional permanece en sus tablas `.strings`. Configura ambas claves para que un solo run abarque todo el directorio `.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"]
    }
  }
}
```

## Categorías de plural [#plurals]

Un archivo traducido incluye las categorías de plural que realmente usa el idioma de destino, que rara vez coinciden con las del idioma de origen. El inglés elige entre `one` y `other`, pero el polaco usa tres formas para un conteo entero, el árabe seis y el chino una. La CLI reconstruye cada variable de formato según las reglas CLDR del idioma de destino en lugar de copiar las categorías del origen:

* Las categorías que usa el idioma de destino siempre están presentes, de modo que una traducción al polaco gana formas que el inglés nunca tuvo.
* Las categorías que el idioma de destino nunca selecciona se descartan, de modo que una traducción al chino se reduce a una única forma `other`.
* Un `zero` explícito en el origen se conserva incluso en un idioma cuyas reglas CLDR no lo contemplan, ya que Foundation lo renderiza con conteo 0 de todas formas.

Como el conjunto de categorías cambia, no esperes que el archivo traducido tenga las mismas claves que el origen. En su lugar, compara la salida renderizada con conteos representativos.

## Sitemap

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