# General Translation Key Concepts: Contenuti dinamici
URL: https://generaltranslation.com/it/docs/key-concepts/dynamic-content.mdx
---
title: Contenuti dinamici
description: Una breve panoramica su come lavorare con i contenuti dinamici in GT.
---
## Panoramica
**Contenuto dinamico** è in generale qualsiasi contenuto che può cambiare in base all'utente, al contesto, all'ambiente e così via.
Questo si contrappone al **Contenuto statico**, che rimane invariato indipendentemente dall'utente, dal contesto, dall'ambiente e così via.
In breve
* Il contenuto statico non cambia mai (stringhe letterali, testo, ecc.).
* Il contenuto dinamico può cambiare (nomi, email, ora, lingua, ecc.).
**Che cos'è il Contenuto statico?**
In generale, il contenuto statico si riferisce a qualsiasi testo letterale presente nel bundle distribuito ai tuoi utenti.
Una buona regola pratica è che qualsiasi testo o stringa che uno sviluppatore può leggere nel codice sorgente è testo statico.
Per esempio, considera questo file:
```jsx title="Landing.jsx" copy
export default function Landing() {
return (
<> Welcome to my app!>
);
}
```
Il testo "Welcome to my app!" è Contenuto statico perché non cambia mai.
Ma cosa succede se vogliamo modificare la pagina in modo che reagisca al fatto che l'utente abbia effettuato l'accesso:
```jsx title="Landing.jsx" copy
export default function Landing(user) {
if (user) {
return (
Welcome to my app, {user.name}!
);
}
return (
Welcome to my app!
);
}
```
Anche se queste due frasi vengono visualizzate in modo condizionale, sono entrambe considerate testo statico.
Ricorda la nostra regola pratica: possiamo vedere questo contenuto leggendo il codice sorgente in `landing.jsx`.
Tuttavia, `{user.name}` è considerato contenuto dinamico, perché può cambiare.
Non possiamo sapere cosa verrà visualizzato sullo schermo dell'utente semplicemente leggendo il file `landing.jsx`.
## "Tx o non Tx"
A volte vogliamo tradurre contenuti dinamici, ma altre volte vogliamo che restino invariati.
Un buon esempio è l'indirizzo email o il nome di un utente.
Un altro esempio potrebbe essere il saldo di un conto bancario o il numero di previdenza sociale (SSN) di un utente.
Questi elementi, infatti, (1) in genere non devono essere tradotti quando la tua app viene visualizzata in un'altra lingua e (2) possono variare (in questo caso da un utente all'altro).
### Esempio
```jsx title="Greeting.jsx" copy
import { T, Var } from 'gt-next'
export default function Greeting(name) {
return (
Hello, {name}!
);
}
```
Per quanto riguarda la traduzione, questo comporta due vantaggi:
1. Non devi creare una traduzione per ogni possibile nome.
* Usando ``, generiamo una sola traduzione, che sarebbe sostanzialmente così:
* `¡Hola, ${name}!`
* Se non usiamo ``, dovremmo eseguire una traduzione on-demand per ogni singolo nome:
* "¡Hola, Alice!", "¡Hola, Bob!", "¡Hola, Charlie!", "¡Hola, David!", ...
2. Inoltre, non devi preoccuparti che i nomi stessi vengano convertiti in una versione tradotta del nome: (ad es. "¡Hola, Alicia!", "¡Hola, Roberto!", ...).
**Nota:** I componenti ``, ``, `` e `` sono disponibili in `gt-next`, `gt-react` e `gt-react-native`.
Come puoi vedere, il componente `` dovrebbe essere usato per racchiudere qualsiasi contenuto che deve rimanere invariato, indipendentemente dall'impostazione regionale.
In questo modo, evitiamo di dover creare traduzioni per ogni possibile valore del contenuto dinamico.
Racchiudendo le informazioni private in un componente ``, puoi assicurarti che non vengano inviate all'API di General Translation.
**Eccezioni**
Le eccezioni a quanto detto sopra sono (1) il caso di un componente `` annidato usato all'interno di un componente `` (cioè i figli del componente `` annidato verranno tradotti)
oppure (2) quando i dati vengono passati intenzionalmente alla nostra API in un altro modo all'interno di un figlio del componente `` (ad esempio, con una chiamata fetch).
Tuttavia, questo non è l'uso previsto del componente `` né dell'API di General Translation, e farlo può peggiorare i tempi di caricamento e le prestazioni.