# vue: TranslationCatalog URL: https://generaltranslation.com/fr/docs/vue/reference/types/translation-catalog.mdx --- title: TranslationCatalog description: Représente toutes les traductions de chaînes simples et de contenu enrichi pour un paramètre régional. Référence API de TranslationCatalog. --- La CLI génère cet objet indexé par hachage, qu’un callback [`LoadTranslations`](/docs/vue/reference/types/load-translations) transmet à un plugin. Le code de l’application accède généralement aux catalogues via des composants de traduction et des composables plutôt que de les examiner directement. ## Vue d’ensemble [#overview] ```ts import type { JsxChildren } from 'generaltranslation/types'; type TranslationCatalog = Record; ``` | Membre | Description | Type | | ----------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------- | | [`hash`](#hash) | Clé de catalogue stable dérivée du contenu source et des métadonnées de traduction. | `string` | | [`value`](#value) | Traduction `STRING` brute ou traduction sérialisée de contenu enrichi. | [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) | ## Membres [#members] ### `hash` **Type** `string` · **Obligatoire** Chaque clé de propriété identifie une entrée source extraite. Les simples chaînes de caractères incluent la chaîne source et le `$context` facultatif dans leur identité. Le contenu enrichi inclut également sa source structurée et les métadonnées de [``](/docs/vue/reference/components/t). Traitez les hachages comme des valeurs opaques. Laissez la CLI `gt` les générer et les mettre à jour ; toute modification du contenu source ou des métadonnées affectant le hachage crée une clé différente. ### `value` **Type** [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) · **Obligatoire** Une entrée `STRING` simple stocke une chaîne traduite. Une entrée enrichie [``](/docs/vue/reference/components/t) stocke l’arborescence de contenu sérialisée utilisée par le moteur de rendu Vue. Le type de sérialisation public inclut l’ensemble des formes scalaires utilisées par les catalogues générés : ```ts type JsxChildren = boolean | null | JsxChild | JsxChild[]; type JsxChild = string | JsxElement | Variable; ``` Les valeurs booléennes et `null` peuvent être utilisées comme valeurs scalaires de contenu enrichi, y compris dans le contenu d’éléments et de branches imbriqués. Les tableaux d’enfants écrits manuellement utilisent la structure plus restrictive `JsxChild[]`. Ne créez pas manuellement d’enregistrements sérialisés d’éléments ou de variables : leurs indices et métadonnées doivent correspondre à l’arborescence source extraite. ## Comportement de recherche [#lookup-behavior] [`useGT()`](/docs/vue/reference/composables/use-gt), [`t()`](/docs/vue/reference/functions/t) et [`useMessages()`](/docs/vue/reference/composables/use-messages) n’acceptent que des valeurs de catalogue sous forme de chaînes pour les recherches de chaînes simples. En cas de clé absente ou de valeur non textuelle, le système se replie sur la chaîne source. [``](/docs/vue/reference/components/t) utilise des valeurs enrichies et se replie sur son slot source lorsqu’aucune traduction correspondante n’est disponible. Le paramètre régional par défaut n’a pas besoin de catalogue, car son contenu source sert de contenu de secours. ## Exemple [#example] Renvoie un objet JSON généré sous forme de catalogue : ```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; ``` Renvoyez `{}` lorsqu’un paramètre régional n’a pas de catalogue et que le contenu source doit s’afficher à la place.