# vue: TranslationCatalog URL: https://generaltranslation.com/es/docs/vue/reference/types/translation-catalog.mdx --- title: TranslationCatalog 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; ``` | 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 [``](/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 [``](/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. [``](/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.