# vue: TranslationCatalog URL: https://generaltranslation.com/it/docs/vue/reference/types/translation-catalog.mdx --- title: TranslationCatalog description: Rappresenta tutte le traduzioni di stringhe semplici e contenuti avanzati per un'impostazione regionale. Riferimento API di TranslationCatalog. --- La CLI genera questo oggetto indicizzato tramite hash e un callback [`LoadTranslations`](/docs/vue/reference/types/load-translations) lo restituisce a un plugin. Il codice dell'applicazione accede normalmente ai cataloghi tramite componenti di traduzione e composable, anziché ispezionarli direttamente. ## Panoramica [#overview] ```ts import type { JsxChildren } from 'generaltranslation/types'; type TranslationCatalog = Record; ``` | Membro | Descrizione | Tipo | | ----------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | | [`hash`](#hash) | Chiave di catalogo stabile derivata dal contenuto sorgente e dai metadati di traduzione. | `string` | | [`value`](#value) | Traduzione `STRING` semplice o traduzione di contenuti avanzati serializzata. | [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) | ## Membri [#members] ### `hash` **Tipo** `string` · **Obbligatorio** Ogni chiave di proprietà identifica una voce sorgente estratta. Le stringhe semplici includono nella propria identità la stringa sorgente e il `$context` facoltativo. Il contenuto avanzato include anche la sorgente strutturata e i metadati di [``](/docs/vue/reference/components/t). Tratta gli hash come valori opachi. Lascia che la CLI `gt` li generi e aggiorni; modificare il contenuto sorgente o i metadati che influenzano l'hash crea una chiave diversa. ### `value` **Tipo** [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) · **Obbligatorio** Una voce semplice `STRING` memorizza una stringa tradotta. Una voce avanzata [``](/docs/vue/reference/components/t) memorizza l'albero dei contenuti serializzato elaborato dal renderer Vue. Il tipo wire pubblico include tutte le forme scalari usate dai cataloghi generati: ```ts type JsxChildren = boolean | null | JsxChild | JsxChild[]; type JsxChild = string | JsxElement | Variable; ``` I valori booleani e `null` possono essere usati come valori scalari di contenuto avanzato, incluso il contenuto nidificato di elementi e branch. Gli array child creati manualmente usano la shape più restrittiva `JsxChild[]`. Non creare manualmente record serializzati di elementi o variabili; i relativi indici e metadati devono corrispondere all'albero sorgente estratto. ## Comportamento di lookup [#lookup-behavior] [`useGT()`](/docs/vue/reference/composables/use-gt), [`t()`](/docs/vue/reference/functions/t) e [`useMessages()`](/docs/vue/reference/composables/use-messages) accettano solo valori di catalogo di tipo stringa per le ricerche di stringhe semplici. In caso di chiave mancante o valore non stringa, viene usata come fallback la stringa sorgente. [``](/docs/vue/reference/components/t) utilizza valori formattati e ricorre al relativo slot sorgente quando non è disponibile una traduzione corrispondente. L'impostazione regionale predefinita non richiede un catalogo, poiché il relativo contenuto sorgente funge da fallback. ## Esempio [#example] Restituisce un oggetto JSON generato sotto forma di catalogo: ```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; ``` Restituisce `{}` quando un'impostazione regionale non ha un catalogo e deve essere renderizzato il contenuto sorgente.