',
optional: true,
default: 'undefined',
},
}}
/>
### Description
| Prop | Description |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `variables` | Objet dont les clés indiquent à quel emplacement chaque valeur est injectée dans la chaîne. |
| `$context` | Vous pouvez inclure `$context` comme variable dans l’objet `variables` pour fournir du contexte au contenu (utilisé pour la traduction). |
| `$id` | Vous pouvez inclure `$id` comme variable dans l’objet `variables` afin de fournir un identifiant à utiliser avec l’éditeur de traduction. |
| `$maxChars` | Vous pouvez inclure `$maxChars` comme variable pour limiter le nombre de caractères de la traduction. La bibliothèque applique strictement cette limite à l’aide de la logique `formatCutoff()`. |
***
## Exemples
### Contexte
Pour ajouter du contexte à la chaîne, nous utilisons 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: 'une salutation formelle' })}
;
};
```
### Passage de variables
Pour ajouter une variable à la chaîne, utilisez la syntaxe `{variable-name}`, où le nom de la variable est entouré d’accolades.
```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' })}
;
};
```
### Utilisation du format de messages ICU
`gt-react-native` prend en charge le format de messages ICU, qui vous permet également de gérer la mise en forme de vos variables.
```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,
}
) }
;
};
```
Consultez la [documentation du format de message ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/) pour plus d’informations sur le format de message ICU.
### Limites de caractères
Utilisez `$maxChars` pour limiter la longueur de la traduction :
```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…"
};
```
***
## Remarques
* `InlineTranslationOptions` est utilisé pour les traductions de chaînes en ligne.
* L’objet `variables` injecte des valeurs dans le texte.
* L’objet `variablesOptions` définit le comportement des variables.
## Étapes suivantes
* Consultez [`useGT`](/docs/react-native/api/strings/use-gt) pour en savoir plus sur la traduction en ligne des chaînes.
* Consultez [`format de message ICU`](https://unicode-org.github.io/icu/userguide/format_parse/messages/) pour en savoir plus sur les options de formatage.