',
optional: true,
default: 'undefined',
},
}}
/>
### Descrizione
| Prop | Descrizione |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `variables` | Un oggetto in cui le chiavi indicano a quale parte della stringa è associato ciascun valore. |
| `$context` | Facoltativamente, includi `$context` come variabile nell'oggetto `variables` per fornire contesto al contenuto (usato per la traduzione). |
| `$id` | Facoltativamente, includi `$id` come variabile nell'oggetto `variables` per fornire un identificatore da usare con l'editor di traduzione. |
| `$maxChars` | Facoltativamente, includi `$maxChars` come variabile per limitare il numero di caratteri della traduzione. La libreria applica rigorosamente questo limite tramite la logica di `formatCutoff()`. |
***
## Esempi
### Contesto
Per aggiungere contesto alla stringa, utilizziamo la prop `$context`.
```jsx title="Component.tsx"
// [!code word:$context]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return {gt('Hello, world!', { $context: 'un saluto formale' })}
;
};
```
### Passare variabili
Per aggiungere una variabile alla stringa, usiamo la sintassi `{variable-name}`, in cui il nome della variabile è racchiuso tra parentesi graffe.
```jsx title="Component.tsx"
// [!code word:username]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return {gt('Hello, {username}! How is your day?', { username: 'Brian123' })}
;
};
```
### Uso del formato messaggi ICU
`gt-react-native` supporta il formato messaggi ICU, che consente anche di formattare le variabili.
```jsx title="Component.tsx"
// [!code word:account-balance]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return
{ gt(
'Your account balance: {dollars, number, ::currency/USD}!',
{
"dollars" : 1000000,
}
) }
;
};
```
Per ulteriori informazioni sul formato messaggi ICU, consulta la [documentazione sul formato messaggi ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/).
### Limiti di caratteri
Usa `$maxChars` per limitare la lunghezza della traduzione:
```jsx title="Component.tsx"
// [!code word:$maxChars]
import { useGT } from 'gt-react-native';
const Component = () => {
const gt = useGT();
return {gt('Welcome to our application', { $maxChars: 15 })}
;
// Output: "Bienvenue à no\u202F…"
};
```
***
## Note
* `InlineTranslationOptions` viene usato per le traduzioni inline delle stringhe.
* L'oggetto `variables` passa i valori al testo.
* L'oggetto `variablesOptions` definisce il comportamento delle variabili.
## Passaggi successivi
* Consulta [`useGT`](/docs/react-native/api/strings/use-gt) per maggiori informazioni sulla traduzione inline delle stringhe.
* Consulta [`formato messaggi ICU`](https://unicode-org.github.io/icu/userguide/format_parse/messages/) per maggiori informazioni sulle opzioni di formattazione.