# Vue: Archiviare le traduzioni
URL: https://generaltranslation.com/it/docs/vue/guides/storing-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Come generare, includere nel bundle e caricare i cataloghi di traduzione di gt-vue con l'applicazione.

`gt-vue` riceve i cataloghi per le impostazioni regionali di destinazione tramite una callback [`loadTranslations`](/docs/vue/reference/types/load-translations). Genera questi cataloghi nell&#39;albero sorgente per includerli nel bundle dell&#39;app ed evitare di dipendere da un servizio di traduzione in fase di runtime.

I cataloghi inclusi nel bundle rendono gli aggiornamenti delle traduzioni parte della distribuzione. Rigenera e ridistribuisci l&#39;app ogni volta che cambiano i contenuti sorgente o una traduzione.

## Configura il percorso di output [#configure]

Imposta l&#39;output di `gt` in `gt.config.json` su un percorso all&#39;interno della directory sorgente. Il placeholder `[locale]` crea un file per ogni impostazione regionale di destinazione:

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["es", "fr"],
  "files": {
    "gt": {
      "output": "src/_gt/[locale].json"
    }
  }
}
```

L&#39;impostazione regionale predefinita non richiede un file di catalogo perché il contenuto sorgente è già presente nell&#39;applicazione.

## Genera i cataloghi [#generate]

Esegui la CLI dopo aver aggiunto o modificato contenuti traducibili:

```bash
npx gt translate
```

Il comando estrae gli utilizzi supportati di [`<T>`](/docs/vue/reference/components/t), [`useGT()`](/docs/vue/reference/composables/use-gt), [`msg()`](/docs/vue/reference/functions/msg) e [`t()`](/docs/vue/reference/functions/t), quindi scrive i file per l&#39;impostazione regionale di destinazione. Considera questi file come output generato, anziché modificarli manualmente.

Aggiungi la generazione delle traduzioni prima della build di produzione se ogni distribuzione deve includere cataloghi aggiornati:

```json title="package.json"
{
  "scripts": {
    "build": "npx gt translate && vue-tsc -b && vite build"
  }
}
```

La CLI richiede `GT_PROJECT_ID` e `GT_API_KEY` nell&#39;ambiente di build. Non includere la chiave di produzione nel bundle del browser.

## Caricare i cataloghi con Vite [#vite]

Crea una callback [`loadTranslations`](/docs/vue/reference/types/load-translations) il cui percorso di import corrisponda all&#39;output configurato:

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

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

export default loadTranslations;
```

Passalo a [`createGT()`](/docs/vue/reference/functions/create-gt) per il caricamento reattivo oppure a [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) per una SPA solo browser precaricata.

Il callback precedente considera un file mancante come un catalogo vuoto, quindi per tale impostazione regionale viene renderizzato il contenuto sorgente. Lascia invece che l&#39;errore venga propagato quando l&#39;assenza di un catalogo di produzione deve bloccare il cambio dell&#39;impostazione regionale o l&#39;avvio dell&#39;applicazione.

## Usa importazioni esplicite quando necessario [#explicit-imports]

Alcuni bundler non riescono a individuare tutti i file richiamati da un&#39;importazione variabile. Definisci una mappa statica di loader affinché ogni destinazione sia visibile in fase di build:

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

const loaders = {
  es: () => import('./_gt/es.json'),
  fr: () => import('./_gt/fr.json'),
};

const loadTranslations: LoadTranslations = async (locale) => {
  const load = loaders[locale as keyof typeof loaders];
  return load ? (await load()).default : {};
};

export default loadTranslations;
```

Mantieni questa mappa sincronizzata con `locales` in `gt.config.json`. Restituire `{}` è appropriato per un&#39;impostazione regionale volutamente non supportata; il rifiuto rende l&#39;errore visibile al chiamante.

## Caricare da un&#39;altra sorgente [#custom-source]

Il callback può recuperare un catalogo dal tuo endpoint invece di importare un file incluso nel bundle:

```ts
const loadTranslations: LoadTranslations = async (locale) => {
  const response = await fetch(`/translations/${locale}.json`);
  if (!response.ok) throw new Error(`Catalog unavailable for ${locale}`);
  return response.json();
};
```

[`createGT()`](/docs/vue/reference/functions/create-gt) memorizza nella cache ogni catalogo caricato correttamente per tutta la durata della propria istanza del plugin e deduplica i caricamenti simultanei. Convalida le risposte al confine dell&#39;endpoint; il runtime richiede un [`TranslationCatalog`](/docs/vue/reference/types/translation-catalog) completo indicizzato per hash per l&#39;impostazione regionale richiesta.

## Next steps

- /docs/vue/guides/configuring
- /docs/vue/guides/developing-spa-translations
- /docs/vue/guides/managing-locales
- /docs/vue/guides/translating-content

## Sitemap

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