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

La CLI traduce archivos `.strings`, las tablas de texto de clave/valor que una aplicación carga desde un directorio `<locale>.lproj` por configuración regional. Las traducciones conservan la clave, los escapes y los especificadores de formato de cada entrada, y el comentario que aparece encima de una entrada se envía al motor de traducción como contexto.

*Nota: `.strings` y `.stringsdict` son la estructura de localización heredada de Apple. La migración a String Catalog de Xcode agrupa los archivos `.lproj` en un único [catálogo `.xcstrings`](/docs/cli/reference/formats/xcstrings-files) y los elimina, por lo que un proyecto usa una estructura u otra.*

## Configuración [#config]

Añade una entrada `dotStrings` dentro de `files` con una lista `include` de glob patterns. Coloca el marcador de posición `[locale]` en el nombre del directorio `.lproj` para que el CLI pueda encontrar las tablas de origen y guardar las traducciones en la ruta correcta.

```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 esta configuración, la CLI lee las tablas en `Resources/en.lproj/` y escribe `Resources/es.lproj/`, `Resources/ja.lproj/` y `Resources/ar.lproj/`. Consulta la [referencia de configuración](/docs/cli/reference/config#files) para ver todas las claves de archivos.

La clave `dotStrings` 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 `.strings`. Envía el texto decodificado a la API y luego escribe cada traducción con la codificación original del archivo fuente. Los archivos sin marca de orden de bytes se tratan como UTF-8.

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

<Callout type="info">
  **Cambio en la v2.20.0:** ahora la CLI calcula el hash del texto decodificado y preserva la codificación fuente. Los archivos `.strings` existentes reciben nuevos version IDs porque en versiones anteriores el hash se calculaba sobre los bytes en base64; por eso pueden traducirse una vez más tras la actualización, aunque su texto no haya cambiado.
</Callout>

## Comportamiento de la salida [#output]

Cuando una tabla traducida no tiene entradas, la CLI escribe un diccionario de lista de propiedades vacío en lugar de un archivo de cero bytes, para que Foundation pueda cargarlo.

## Varias tablas por configuración regional [#tables]

La mayoría de las aplicaciones incluyen más de una tabla por configuración regional, así que una configuración que solo enumere `Localizable.strings` dejará el resto sin traducir sin previo aviso. Las dos tablas más comunes son:

* `Localizable.strings`: el texto de la interfaz que se carga mediante `NSLocalizedString`
* `InfoPlist.strings`: los valores orientados al sistema en `Info.plist`, como `CFBundleDisplayName` y las descripciones de uso que aparecen en las solicitudes de permisos

Enumera cada tabla en `include` o abárcalas todas con un único glob:

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

## Plurales [#plurals]

Una entrada `.strings` contiene una sola cadena por clave y no puede expresar formas plurales. Apple mantiene las reglas de plural en un archivo `.stringsdict` complementario dentro del mismo directorio `.lproj`, que corresponde a una clave de configuración aparte. Consulta [`.stringsdict`](/docs/cli/reference/formats/dot-stringsdict-files) para traducirlas junto con tus tablas.

## Sitemap

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