# Vue: `<T>`
URL: https://generaltranslation.com/it/docs/vue/reference/components/t.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduce in-place il contenuto dei template Vue. Riferimento API per il componente `<T>`.

Il componente `<T>` legge il contenuto creato staticamente dal relativo slot predefinito e renderizza la voce corrispondente nel catalogo di contenuti avanzati. Se non trova una voce corrispondente, renderizza lo slot originale e non aggiunge alcun wrapper HTML.

## Panoramica [#overview]

Raggruppa il testo e il markup che devono costituire un&#39;unica traduzione:

```vue
<T>
  Oggi sono andato al <strong>negozio</strong>.
</T>
```

Usa [`<Var>`](/docs/vue/reference/components/var), [`<Num>`](/docs/vue/reference/components/num), [`<Currency>`](/docs/vue/reference/components/currency) e [`<DateTime>`](/docs/vue/reference/components/datetime) per i valori in fase di runtime. Usa [`<Plural>`](/docs/vue/reference/components/plural) o [`<Branch>`](/docs/vue/reference/components/branch) per le alternative.

## Come funziona [#how-it-works]

* **Estrazione statica.** La CLI estrae la struttura letterale del template, i metadati di traduzione, le props di testo supportate e ogni branch supportato. Le espressioni a runtime che contribuiscono al contenuto tradotto devono essere racchiuse in un componente variabile; le normali props dei componenti e i listener rimangono valori a runtime.
* **Ricerca nel catalogo.** Il componente calcola l&#39;hash della struttura sorgente e dei metadati, quindi legge la relativa voce dal catalogo del plugin attivo. Se la voce è mancante o incompatibile, viene usato come fallback lo slot sorgente.
* **Rendering reattivo.** Con un plugin [`createGT()`](/docs/vue/reference/functions/create-gt), il caricamento di un nuovo catalogo o la modifica dell&#39;impostazione regionale attivano nuovamente la ricerca. Un plugin restituito da [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) precarica il catalogo prima del montaggio e modifica l&#39;impostazione regionale ricaricando la pagina.
* **Radice Fragment.** Il componente restituisce sempre un confine Fragment di Vue. Non inserisce un elemento DOM e l&#39;output tradotto può contenere zero, uno o più contenuti figlio senza modificare tale confine del componente.

`<T>` non elabora la sintassi ICU né interpola i segnaposto. Inserisci ogni valore dinamico nel componente variabile appropriato.

## Props e slot [#props]

| Nome                                | Descrizione                                                       | Tipo         | Facoltativo | Predefinito |
| ----------------------------------- | ----------------------------------------------------------------- | ------------ | ----------- | ----------- |
| [`default`](#default-slot)          | Contenuto statico del template da tradurre.                       | `VNodeChild` | Sì          | Vuoto       |
| [`context`](#context)               | Contesto che consente di distinguere contenuti sorgente identici. | `string`     | Sì          | —           |
| [`id`](#id)                         | Metadati di compatibilità deprecati.                              | `string`     | Sì          | —           |
| [`maxChars`](#maxchars)             | Lunghezza massima richiesta per le traduzioni generate.           | `number`     | Sì          | —           |
| [`requiresReview`](#requiresreview) | Indica che la voce richiede una revisione umana.                  | `boolean`    | Sì          | `false`     |

### Slot predefinito

**Tipo** `VNodeChild` · **Facoltativo** · **Predefinito** Vuoto

Il testo, gli elementi, i componenti e i branch supportati che compongono la traduzione. Il contenuto definito deve essere statico, ad eccezione dei valori racchiusi nei componenti variabile.

### `context`

**Tipo** `string` · **Facoltativo**

Contesto statico utilizzato per calcolare l&#39;hash del contenuto. Usalo quando lo stesso testo sorgente richiede traduzioni diverse, ad esempio `"Open"` usato come verbo o come aggettivo.

```vue
<T context="Button that opens the settings panel">Open</T>
```

### `id`

**Tipo** `stringa` · **Facoltativo** · **Deprecato**

Metadati di compatibilità per il codice adattato dall&#39;API di React. Non sostituiscono l&#39;hash del catalogo di Vue basato sul contenuto e non devono essere usati come identificatore di traduzione stabile.

### `maxChars`

**Tipo** `number` · **Facoltativo**

Richiede agli strumenti di traduzione un numero massimo di caratteri espresso come intero positivo. Si tratta di metadati di traduzione; il runtime di Vue non tronca l&#39;output renderizzato.

Usa un numero intero associato staticamente in un template:

```vue
<T :max-chars="80">Salva le modifiche</T>
```

### `requiresReview`

**Tipo** `boolean` · **Facoltativo** · **Predefinito** `false`

Indica che la voce di traduzione richiede una revisione umana. Si tratta di metadati della traduzione e non modifica di per sé il rendering.

```vue
<T requires-review>Terms and conditions apply.</T>
```

## Regole del template [#template-rules]

Mantieni deterministica la struttura del sorgente, affinché estrazione e rendering in fase di esecuzione siano coerenti:

* Non annidare un `<T>` all&#39;interno di un altro.
* Racchiudi in un componente variabile ogni interpolazione e altro valore a runtime renderizzato come contenuto tradotto.
* Sposta `v-if`, `v-else-if`, `v-else` e `v-for` fuori dalla traduzione oppure rappresenta le alternative con [`<Branch>`](/docs/vue/reference/components/branch) o [`<Plural>`](/docs/vue/reference/components/plural).
* Non usare `v-html`, `v-text` o `<slot>` all&#39;interno della traduzione.
* Usa tag diretti per i componenti personalizzati. Le forme selettore come `<component :is="...">` e `is="vue:..."` sono supportate solo per i componenti GT riconosciuti o i componenti Vue integrati supportati che l&#39;estrattore risolve esplicitamente; i selettori personalizzati arbitrari, selezionati a runtime o non risolti non sono supportati.
* Mantieni `context` e `id` come stringhe statiche, `maxChars` come intero associato staticamente e `requiresReview` come booleano statico o attributo senza valore.

Le prop statiche `placeholder`, `title`, `alt`, `aria-label`, `aria-labelledby` e `aria-describedby` sugli elementi HTML e sui componenti personalizzati partecipano alla traduzione quando sia i valori figlio originali sia quelli tradotti superano il controllo di veridicità a runtime. Gli elementi senza figli, come `<img>`, e i nodi il cui valore figlio originale o tradotto è falsy mantengono le prop del sorgente. Traduci separatamente le prop testuali di tali elementi con [`useGT()`](/docs/vue/reference/composables/use-gt). Le versioni dinamiche di queste prop testuali non sono supportate all&#39;interno di `<T>`.

```vue title="ProfileGreeting.vue"
<script setup lang="ts">
import { T, Var } from 'gt-vue';

defineProps<{ name: string }>();
</script>

<template>
  <T>
    Hello, <Var>{{ name }}</Var>!
  </T>
</template>
```

## Confini dei componenti [#components]

Il contenuto dello slot predefinito definito staticamente all&#39;interno di un componente personalizzato rimane parte della traduzione circostante. Vue mantiene il componente, le props runtime non traducibili, i listener e l&#39;identità, sostituendone il contenuto dello slot predefinito e le props di testo statiche supportate:

```vue
<T>
  <DocsLink to="/docs">Leggi la documentazione</DocsLink>
</T>
```

Il contenuto creato all&#39;interno dell&#39;implementazione di `DocsLink` non è visibile alla traduzione esterna. Per un componente personalizzato, usa un tag diretto. Le forme dei selettori sono limitate ai componenti GT riconosciuti e ai componenti integrati di Vue supportati che l&#39;estrattore risolve esplicitamente; i selettori personalizzati arbitrari, selezionati a runtime o non risolti non costituiscono sorgenti di traduzione.

Per gli slot con scope o con nomi arbitrari di componenti personalizzati, inserisci invece `<T>` nello slot. Puoi anche racchiudere un confine opaco di componente dinamico in [`<Var>`](/docs/vue/reference/components/var).

I confini letterali `<Suspense>` supportano uno slot predefinito statico con una singola radice. Il relativo contenuto predefinito partecipa alla traduzione esterna, mentre lo slot fallback viene preservato ma escluso. Inserisci componenti `<T>` separati negli slot predefinito e fallback quando il confine è dinamico o con alias in modo tale che l&#39;estrattore non possa risolverlo.

## Spazi bianchi [#whitespace]

Il compilatore di template di Vue decide se gli spazi bianchi nel sorgente vengono condensati o mantenuti. L&#39;estrattore usa le impostazioni del compilatore Vue dell&#39;app che lo utilizza, quindi modificare l&#39;opzione `whitespace` del compilatore può cambiare il contenuto sorgente e il relativo hash.

Mantieni espliciti e inline gli spazi significativi:

```vue
<T>Hello <strong>world</strong>!</T>
```

Evita commenti che suddividono il testo o sono adiacenti a spazi significativi all&#39;interno di `<T>`. Vue può preservare i commenti in modo diverso a seconda della build e l&#39;estrattore rifiuta i casi in cui ciò renderebbe l&#39;hash di traduzione dipendente dalla build.

## Sitemap

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