# General Translation Integrations: Avvio rapido
URL: https://generaltranslation.com/it/docs/integrations/paraglide/quickstart.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Registra il codice sorgente attorno a ogni messaggio di Paraglide JS e invialo alla traduzione come contesto.

`@generaltranslation/paraglide-js` individua ogni utilizzo di un messaggio di Paraglide JS nella tua app e salva il codice circostante. In questo modo, un messaggio come &quot;Order&quot; arriva alla traduzione accompagnato dal codice che indica se si tratta di un pulsante, di un titolo, di un sostantivo o di un verbo.

Legge i tuoi file sorgente. Non modifica Paraglide JS e non esegue mai il tuo bundler, quindi funziona a prescindere da come viene compilata la tua app.

## Prima di iniziare [#before-start]

Ti serviranno:

* Node.js 20 o versioni successive.
* Paraglide JS 1, 2 o 3, compilato almeno una volta in modo che la relativa directory di output esista.
* Messaggi salvati nel formato dei messaggi inlang (`plugin.inlang.messageFormat`), ad esempio `messages/en.json`.
* Un progetto che traduca questi file di messaggi con la CLI. (Consulta l&#39;[Avvio rapido della CLI](/docs/cli/quickstart)).
* Per i componenti non scritti in JavaScript, TypeScript o JSX, lo strumento di linguaggio del framework installato nella tua app. (Consulta [Formati di file supportati](/docs/integrations/paraglide/reference/file-formats)).

## Avvio rapido [#quickstart]

Installa il pacchetto, raccogli il contesto e poi traduci come di consueto.

### 1. Installa `@generaltranslation/paraglide-js`

<Tabs items={['npm', 'yarn', 'bun', 'pnpm']}>
  <Tab value="npm">
    ```bash
    npm install --save-dev @generaltranslation/paraglide-js
    ```
  </Tab>

  <Tab value="yarn">
    ```bash
    yarn add --dev @generaltranslation/paraglide-js
    ```
  </Tab>

  <Tab value="bun">
    ```bash
    bun add --dev @generaltranslation/paraglide-js
    ```
  </Tab>

  <Tab value="pnpm">
    ```bash
    pnpm add --save-dev @generaltranslation/paraglide-js
    ```
  </Tab>
</Tabs>

### 2. Raccogli il contesto

Esegui [`paraglide-context`](/docs/integrations/paraglide/reference/paraglide-context) dalla directory della tua app. Con `--verbose` vengono mostrati il numero di utilizzi trovati e le directory di output di Paraglide JS utilizzate.

```bash
npx paraglide-context --verbose
```

Accanto a ogni file di messaggi della tua impostazione regionale di base viene creato un file di metadati. Per ogni messaggio utilizzato, il file riporta il codice che circonda ciascun suo utilizzo, raggruppato per file sorgente:

```json title="messages/en.metadata.json"
{
  "greeting": {
    "sourceCode": {
      "src/Header.tsx": [
        {
          "before": "import { m } from './paraglide/messages.js';\n…",
          "target": "  return <h1>{m.greeting({ username })}</h1>;",
          "after": "}\n…"
        }
      ]
    }
  }
}
```

<Callout type="info">
  Gli avvisi indicano cosa è stato ignorato e come risolvere il problema: un alias di importazione non risolto, uno strumento di linguaggio mancante o una directory non riconosciuta come output di Paraglide JS (consulta [Risoluzione delle importazioni](/docs/integrations/paraglide/guides/resolving-imports)).
</Callout>

### 3. Traduci i tuoi messaggi

Esegui [`gt translate`](/docs/cli/reference/commands/translate). La CLI individua ogni file di metadati posizionato accanto al relativo file dei messaggi e lo invia insieme ai messaggi come [metadati associati alle chiavi](/docs/cli/reference/keyed-metadata).

```bash
npx gt translate
```

Per mantenere il contesto aggiornato, raccoglilo prima di ogni traduzione:

```json title="package.json"
{
  "scripts": {
    "translate": "paraglide-context && gt translate"
  }
}
```

<Callout type="info">
  Un nuovo contesto, da solo, non basta a far ritradurre un messaggio. Un messaggio viene tradotto di nuovo solo quando cambia il suo testo di origine.
</Callout>

## Next steps

- /docs/integrations/paraglide/guides/resolving-imports
- /docs/integrations/paraglide/guides/adding-file-formats

## Sitemap

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