# Vue: TranslationCatalog
URL: https://generaltranslation.com/es/docs/vue/reference/types/translation-catalog.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Representa todas las traducciones de texto sin formato y contenido enriquecido para una configuración regional. Referencia de la API de TranslationCatalog.

La CLI genera este objeto indexado por hash, y un callback de [`LoadTranslations`](/docs/vue/reference/types/load-translations) lo devuelve a un plugin. El código de la aplicación normalmente accede a los catálogos mediante componentes de traducción y composables, en lugar de inspeccionarlos directamente.

## Resumen [#overview]

```ts
import type { JsxChildren } from 'generaltranslation/types';

type TranslationCatalog = Record<string, JsxChildren>;
```

| Miembro           | Descripción                                                                                  | Tipo                                                              |
| ----------------- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [`hash`](#hash)   | Clave de catálogo estable derivada del contenido de origen y de los metadatos de traducción. | `string`                                                          |
| [`value`](#value) | Traducción `STRING` sin formato o traducción de contenido enriquecido serializada.           | [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) |

## Miembros [#members]

### `hash`

**Tipo** `string` · **Obligatorio**

Cada clave de propiedad identifica una entrada de origen extraída. Las cadenas simples incluyen la cadena de origen y el `$context` opcional en su identidad. El contenido enriquecido también incluye su origen estructurado y los metadatos de [`<T>`](/docs/vue/reference/components/t).

Trata los hashes como valores opacos. Deja que la CLI `gt` los genere y actualice; al cambiar el contenido de origen o los metadatos que afectan al hash, se crea una clave distinta.

### `value`

**Tipo** [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) · **Obligatorio**

Una entrada `STRING` simple almacena una cadena traducida. Una entrada enriquecida [`<T>`](/docs/vue/reference/components/t) almacena el árbol de contenido serializado que utiliza el renderizador de Vue.

El tipo de transferencia público incluye todas las estructuras escalares utilizadas por los catálogos generados:

```ts
type JsxChildren = boolean | null | JsxChild | JsxChild[];
type JsxChild = string | JsxElement | Variable;
```

Los valores booleanos y `null` pueden aparecer como valores escalares de contenido enriquecido, incluido el contenido anidado de elementos y ramas. Las listas de elementos secundarios creadas manualmente usan la estructura más específica `JsxChild[]`. No cree manualmente registros serializados de elementos o variables; sus índices y metadatos deben coincidir con el árbol de origen extraído.

## Comportamiento de búsqueda [#lookup-behavior]

[`useGT()`](/docs/vue/reference/composables/use-gt), [`t()`](/docs/vue/reference/functions/t) y [`useMessages()`](/docs/vue/reference/composables/use-messages) solo aceptan valores de catálogo de tipo cadena para búsquedas de texto sin formato. Si falta una clave o el valor no es una cadena, se usa la cadena de origen.

[`<T>`](/docs/vue/reference/components/t) utiliza valores enriquecidos y recurre a su slot de origen cuando no existe una traducción coincidente. La configuración regional predeterminada no necesita un catálogo, ya que su contenido de origen actúa como contenido alternativo.

## Ejemplo [#example]

Devuelve un objeto JSON generado a modo de catálogo:

```ts title="src/loadTranslations.ts"
import type { LoadTranslations, TranslationCatalog } from 'gt-vue';

const loadTranslations: LoadTranslations = async (locale) => {
  const module = await import(`./_gt/${locale}.json`);
  return module.default as TranslationCatalog;
};

export default loadTranslations;
```

Devuelve `{}` cuando una configuración regional no tenga catálogo y deba renderizarse el contenido de origen en su lugar.

## Sitemap

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