@intlayer/docs 9.0.0-canary.5 → 9.0.0-canary.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/ar/intlayer_with_react_native+expo.md +56 -79
- package/docs/ar/packages/react-native-intlayer/exports.md +48 -14
- package/docs/de/intlayer_with_react_native+expo.md +50 -68
- package/docs/de/packages/react-native-intlayer/exports.md +47 -13
- package/docs/en/intlayer_with_react_native+expo.md +14 -18
- package/docs/en/packages/react-native-intlayer/exports.md +47 -13
- package/docs/en-GB/intlayer_with_react_native+expo.md +40 -94
- package/docs/en-GB/packages/react-native-intlayer/exports.md +51 -18
- package/docs/es/intlayer_with_react_native+expo.md +43 -80
- package/docs/es/packages/react-native-intlayer/exports.md +47 -13
- package/docs/fr/intlayer_with_react_native+expo.md +54 -68
- package/docs/fr/packages/react-native-intlayer/exports.md +47 -13
- package/docs/hi/intlayer_with_react_native+expo.md +90 -87
- package/docs/hi/packages/react-native-intlayer/exports.md +48 -14
- package/docs/id/intlayer_with_react_native+expo.md +45 -33
- package/docs/id/packages/react-native-intlayer/exports.md +47 -13
- package/docs/it/intlayer_with_react_native+expo.md +32 -72
- package/docs/it/packages/react-native-intlayer/exports.md +47 -13
- package/docs/ja/intlayer_with_react_native+expo.md +98 -137
- package/docs/ja/packages/react-native-intlayer/exports.md +47 -14
- package/docs/ko/intlayer_with_react_native+expo.md +231 -29
- package/docs/ko/packages/react-native-intlayer/exports.md +48 -14
- package/docs/pl/intlayer_with_react_native+expo.md +75 -46
- package/docs/pl/packages/react-native-intlayer/exports.md +47 -13
- package/docs/pt/intlayer_with_react_native+expo.md +38 -75
- package/docs/pt/packages/react-native-intlayer/exports.md +47 -13
- package/docs/ru/intlayer_with_react_native+expo.md +71 -60
- package/docs/ru/packages/react-native-intlayer/exports.md +49 -16
- package/docs/tr/intlayer_with_react_native+expo.md +30 -56
- package/docs/tr/packages/react-native-intlayer/exports.md +48 -15
- package/docs/uk/intlayer_with_react_native+expo.md +64 -52
- package/docs/uk/packages/react-native-intlayer/exports.md +47 -13
- package/docs/vi/intlayer_with_react_native+expo.md +43 -32
- package/docs/vi/packages/react-native-intlayer/exports.md +47 -13
- package/docs/zh/intlayer_with_react_native+expo.md +216 -82
- package/docs/zh/packages/react-native-intlayer/exports.md +48 -14
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-06-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
4
|
title: "Expo + React Native i18n - Guide complet pour traduire votre application"
|
|
5
5
|
description: "Oubliez i18next. Le guide 2026 pour créer une application Expo + React Native multilingue (i18n). Traduisez avec des agents IA et optimisez la taille du bundle, le SEO et les performances."
|
|
6
6
|
keywords:
|
|
@@ -17,12 +17,18 @@ slugs:
|
|
|
17
17
|
applicationTemplate: https://github.com/aymericzip/intlayer-react-native-template
|
|
18
18
|
applicationShowcase: https://intlayer-react-native.vercel.app
|
|
19
19
|
history:
|
|
20
|
+
- version: 9.0.0
|
|
21
|
+
date: 2026-06-25
|
|
22
|
+
changes: "Importer les providers et les hooks directement depuis react-native-intlayer ; react-intlayer n'est plus nécessaire en tant que dépendance directe"
|
|
20
23
|
- version: 8.9.0
|
|
21
24
|
date: 2026-05-04
|
|
22
25
|
changes: "Mettre à jour l'utilisation de l'API useIntlayer de Solid pour un accès direct aux propriétés"
|
|
23
26
|
- version: 7.5.9
|
|
24
27
|
date: 2025-12-30
|
|
25
28
|
changes: "Ajouter la commande init"
|
|
29
|
+
- version: 6.1.6
|
|
30
|
+
date: 2025-10-02
|
|
31
|
+
changes: "Ajouter la section de débogage"
|
|
26
32
|
- version: 5.5.10
|
|
27
33
|
date: 2025-06-29
|
|
28
34
|
changes: "Historique initial"
|
|
@@ -37,7 +43,7 @@ author: aymericzip
|
|
|
37
43
|
<iframe
|
|
38
44
|
src="https://ide.intlayer.org/aymericzip/intlayer-react-native-template?file=intlayer.config.ts"
|
|
39
45
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
40
|
-
title="Demo CodeSandbox - Intlayer"
|
|
46
|
+
title="Demo CodeSandbox - Comment internationaliser votre application avec Intlayer"
|
|
41
47
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
42
48
|
loading="lazy"
|
|
43
49
|
/>
|
|
@@ -56,11 +62,13 @@ author: aymericzip
|
|
|
56
62
|
</Tab>
|
|
57
63
|
</Tabs>
|
|
58
64
|
|
|
59
|
-
|
|
65
|
+
## Table des matières
|
|
66
|
+
|
|
67
|
+
<TOC/>
|
|
60
68
|
|
|
61
69
|
## Pourquoi Intlayer plutôt que des alternatives ?
|
|
62
70
|
|
|
63
|
-
Par rapport aux solutions principales telles que `react-native-localize` ou `i18next`, Intlayer est une solution qui comprend des optimisations intégrées telles que
|
|
71
|
+
Par rapport aux solutions principales telles que `react-native-localize` ou `i18next`, Intlayer est une solution qui comprend des optimisations intégrées telles que :
|
|
64
72
|
|
|
65
73
|
<AccordionGroup>
|
|
66
74
|
|
|
@@ -78,13 +86,13 @@ Déclarer le contenu directement au plus près de vos composants **facilite la m
|
|
|
78
86
|
|
|
79
87
|
<Accordion header="Prêt pour les agents IA">
|
|
80
88
|
|
|
81
|
-
La colocalisation du contenu **réduit le contexte nécessaire** aux grands modèles de langage (LLM). Intlayer est également livré avec une suite d'outils, tels qu'une **CLI** pour vérifier les traductions manquantes, un **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
89
|
+
La colocalisation du contenu **réduit le contexte nécessaire** aux grands modèles de langage (LLM). Intlayer est également livré avec une suite d'outils, tels qu'une **CLI** pour vérifier les traductions manquantes, un **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, un **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** et des **[agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, afin de rendre l'expérience développeur (DX) encore plus fluide pour les agents IA.
|
|
82
90
|
|
|
83
91
|
</Accordion>
|
|
84
92
|
|
|
85
93
|
<Accordion header="Automatisation">
|
|
86
94
|
|
|
87
|
-
Automatisez les traductions dans votre pipeline CI/CD en utilisant le LLM de votre choix au coût de votre propre fournisseur d'IA. Intlayer propose également un **compilateur** pour automatiser l'extraction de contenu, ainsi qu'une [plateforme web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
95
|
+
Automatisez les traductions dans votre pipeline CI/CD en utilisant le LLM de votre choix au coût de votre propre fournisseur d'IA. Intlayer propose également un **compilateur** pour automatiser l'extraction de contenu, ainsi qu'une [plateforme web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) pour vous aider à **traduire en arrière-plan**.
|
|
88
96
|
|
|
89
97
|
</Accordion>
|
|
90
98
|
|
|
@@ -96,7 +104,7 @@ Associer de gros fichiers JSON à vos composants peut ralentir les performances
|
|
|
96
104
|
|
|
97
105
|
<Accordion header="Collaboration avec les non-développeurs">
|
|
98
106
|
|
|
99
|
-
Bien plus qu'une simple solution i18n, Intlayer propose un **[éditeur visuel](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
107
|
+
Bien plus qu'une simple solution i18n, Intlayer propose un **[éditeur visuel](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** auto-hébergé et un **[CMS complet](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** pour gérer votre contenu multilingue en **temps réel**. Cela rend la collaboration avec les traducteurs, concepteurs-rédacteurs et autres membres de l'équipe extrêmement simple. Le contenu peut être stocké localement et/ou à distance.
|
|
100
108
|
|
|
101
109
|
</Accordion>
|
|
102
110
|
|
|
@@ -113,66 +121,42 @@ Au lieu de charger de lourds fichiers JSON dans vos pages, ne chargez que le con
|
|
|
113
121
|
|
|
114
122
|
Voir [Modèle d'application](https://github.com/aymericzip/intlayer-react-native-template) sur GitHub.
|
|
115
123
|
|
|
116
|
-
Depuis votre projet React Native, installez les packages suivants
|
|
124
|
+
Depuis votre projet React Native, installez les packages suivants :
|
|
117
125
|
|
|
118
126
|
```bash packageManager="npm"
|
|
119
|
-
|
|
120
|
-
npm install --save-dev réagir-native-intlayer
|
|
121
|
-
initialisation de la couche interne npx
|
|
127
|
+
npx intlayer-cli init --interactive
|
|
122
128
|
```
|
|
123
129
|
|
|
124
130
|
```bash packageManager="pnpm"
|
|
125
|
-
pnpm
|
|
126
|
-
pnpm add --save-dev réagir-native-intlayer
|
|
127
|
-
initialisation de la couche interne pnpm
|
|
131
|
+
pnpm dlx intlayer-cli init --interactive
|
|
128
132
|
```
|
|
129
133
|
|
|
130
|
-
```bash packageManager="
|
|
131
|
-
|
|
132
|
-
fil ajouter --save-dev réagir-native-intlayer
|
|
133
|
-
initialisation de la couche interne de fil
|
|
134
|
+
```bash packageManager="yarn"
|
|
135
|
+
yarn dlx intlayer-cli init --interactive
|
|
134
136
|
```
|
|
135
137
|
|
|
136
138
|
```bash packageManager="bun"
|
|
137
|
-
|
|
138
|
-
chignon ajouter --dev réagir-native-intlayer
|
|
139
|
-
bun x initialisation de la couche interne
|
|
139
|
+
bunx intlayer-cli init --interactive
|
|
140
140
|
```
|
|
141
141
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
- **intercalaire**
|
|
145
|
-
La boîte à outils de base i18n pour la configuration, le contenu du dictionnaire, la génération de types et les commandes CLI.
|
|
146
|
-
|
|
147
|
-
- **réagir-intercalaire**
|
|
148
|
-
Intégration React qui fournit les fournisseurs de contexte et les hooks React que vous utiliserez dans React Native pour obtenir et changer de langue.
|
|
142
|
+
> Le flag `--interactive` est facultatif. Utilisez `intlayer-cli init` si vous êtes un agent IA.
|
|
149
143
|
|
|
150
|
-
|
|
151
|
-
Intégration React Native qui fournit le plugin Metro pour intégrer Intlayer au bundle React Native.
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
</Step>
|
|
156
|
-
|
|
157
|
-
<Step number={2} title="Installer les dépendances">
|
|
158
|
-
|
|
159
|
-
Depuis votre projet React Native, installez les packages suivants :
|
|
144
|
+
> Cette commande détectera votre environnement et installera les packages requis. Par exemple :
|
|
160
145
|
|
|
161
146
|
```bash packageManager="npm"
|
|
162
|
-
|
|
163
|
-
npm install intlayer react-intlayer
|
|
164
|
-
npm install --save-dev react-native-intlayer
|
|
147
|
+
npm install intlayer react-native-intlayer
|
|
165
148
|
```
|
|
166
149
|
|
|
167
150
|
```bash packageManager="pnpm"
|
|
168
|
-
pnpm add intlayer react-intlayer
|
|
169
|
-
pnpm add --save-dev react-native-intlayer
|
|
170
|
-
pnpm intlayer init
|
|
151
|
+
pnpm add intlayer react-native-intlayer
|
|
171
152
|
```
|
|
172
153
|
|
|
173
154
|
```bash packageManager="yarn"
|
|
174
|
-
yarn add intlayer react-intlayer
|
|
175
|
-
|
|
155
|
+
yarn add intlayer react-native-intlayer
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
```bash packageManager="bun"
|
|
159
|
+
bun add intlayer react-native-intlayer
|
|
176
160
|
```
|
|
177
161
|
|
|
178
162
|
### Packages
|
|
@@ -180,17 +164,14 @@ yarn add --save-dev react-native-intlayer
|
|
|
180
164
|
- **intlayer**
|
|
181
165
|
La boîte à outils i18n principale pour la configuration, le contenu des dictionnaires, la génération de types et les commandes CLI.
|
|
182
166
|
|
|
183
|
-
- **react-intlayer**
|
|
184
|
-
Intégration React qui fournit les fournisseurs de contexte et les hooks React que vous utiliserez dans React Native pour obtenir et changer les locales.
|
|
185
|
-
|
|
186
167
|
- **react-native-intlayer**
|
|
187
|
-
Intégration React Native qui fournit le plugin Metro pour intégrer Intlayer avec le bundler React Native.
|
|
168
|
+
Intégration React Native qui fournit les fournisseurs de contexte et les hooks React que vous utiliserez pour obtenir et changer les locales, les polyfills React Native et le plugin Metro pour intégrer Intlayer avec le bundler React Native. Il ré-exporte tout depuis `react-intlayer`, vous n'avez donc besoin que de ce seul package dans une application React Native.
|
|
188
169
|
|
|
189
170
|
---
|
|
190
171
|
|
|
191
172
|
</Step>
|
|
192
173
|
|
|
193
|
-
<Step number={
|
|
174
|
+
<Step number={2} title="Créer une configuration Intlayer">
|
|
194
175
|
|
|
195
176
|
Dans la racine de votre projet (ou à tout autre endroit pratique), créez un fichier de **configuration Intlayer**. Il pourrait ressembler à ceci :
|
|
196
177
|
|
|
@@ -220,11 +201,11 @@ Dans cette configuration, vous pouvez :
|
|
|
220
201
|
- Configurer votre **liste de locales prises en charge**.
|
|
221
202
|
- Définir une locale **par défaut**.
|
|
222
203
|
- Plus tard, vous pourrez ajouter des options plus avancées (par exemple, des logs, des répertoires de contenu personnalisés, etc.).
|
|
223
|
-
- Consultez la [documentation de configuration d'Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
204
|
+
- Consultez la [documentation de configuration d'Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md) pour plus d'informations.
|
|
224
205
|
|
|
225
206
|
</Step>
|
|
226
207
|
|
|
227
|
-
<Step number={
|
|
208
|
+
<Step number={3} title="Ajouter le plugin Metro">
|
|
228
209
|
|
|
229
210
|
Metro est un bundler pour React Native. C'est le bundler par défaut pour les projets React Native créés avec la commande `react-native init`. Pour utiliser Intlayer avec Metro, vous devez ajouter le plugin dans votre fichier `metro.config.js` :
|
|
230
211
|
|
|
@@ -239,13 +220,18 @@ module.exports = (async () => {
|
|
|
239
220
|
})();
|
|
240
221
|
```
|
|
241
222
|
|
|
223
|
+
> Note : `configMetroIntlayer` est une fonction asynchrone. Utilisez `configMetroIntlayerSync` à la place si vous souhaitez l'utiliser de manière synchrone, ou éviter une IIFE (Immediately Invoked Function Expression).
|
|
224
|
+
> Note : `configMetroIntlayerSync` ne permet pas de construire les dictionnaires intlayer au démarrage du serveur
|
|
225
|
+
|
|
242
226
|
</Step>
|
|
243
227
|
|
|
244
|
-
<Step number={
|
|
228
|
+
<Step number={4} title="Ajouter le fournisseur Intlayer">
|
|
229
|
+
|
|
230
|
+
Pour garder synchronisée la langue de l'utilisateur dans toute votre application, vous devez envelopper votre composant racine avec le composant `IntlayerProvider` de `react-native-intlayer`.
|
|
245
231
|
|
|
246
|
-
|
|
232
|
+
> Importez toujours depuis `react-native-intlayer`. Son `IntlayerProvider` inclut des polyfills pour l'API web utilisée par Intlayer, et le package ré-exporte tous les hooks et utilitaires de `react-intlayer`.
|
|
247
233
|
|
|
248
|
-
|
|
234
|
+
De plus, vous devez ajouter la fonction `intlayerPolyfill` à votre fichier `index.js` pour vous assurer qu'Intlayer puisse fonctionner correctement.
|
|
249
235
|
|
|
250
236
|
```tsx fileName="app/_layout.tsx" codeFormat={["typescript", "esm"]}
|
|
251
237
|
import { Stack } from "expo-router";
|
|
@@ -270,7 +256,7 @@ export default RootLayout;
|
|
|
270
256
|
|
|
271
257
|
</Step>
|
|
272
258
|
|
|
273
|
-
<Step number={
|
|
259
|
+
<Step number={5} title="Déclarez Votre Contenu">
|
|
274
260
|
|
|
275
261
|
Créez des fichiers de **déclaration de contenu** n'importe où dans votre projet (généralement dans `src/`), en utilisant l'un des formats d'extension pris en charge par Intlayer :
|
|
276
262
|
|
|
@@ -335,13 +321,13 @@ export default homeScreenContent;
|
|
|
335
321
|
}
|
|
336
322
|
```
|
|
337
323
|
|
|
338
|
-
> Pour plus de détails sur les déclarations de contenu, consultez la [documentation du contenu d
|
|
324
|
+
> Pour plus de détails sur les déclarations de contenu, consultez la [documentation du contenu d'Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
339
325
|
|
|
340
326
|
---
|
|
341
327
|
|
|
342
328
|
</Step>
|
|
343
329
|
|
|
344
|
-
<Step number={
|
|
330
|
+
<Step number={6} title="Utiliser Intlayer dans vos composants">
|
|
345
331
|
|
|
346
332
|
Utilisez le hook `useIntlayer` dans les composants enfants pour obtenir du contenu localisé.
|
|
347
333
|
|
|
@@ -349,7 +335,7 @@ Utilisez le hook `useIntlayer` dans les composants enfants pour obtenir du conte
|
|
|
349
335
|
|
|
350
336
|
```tsx fileName="app/(tabs)/index.tsx" codeFormat={["typescript", "esm"]}
|
|
351
337
|
import { Image, StyleSheet, Platform } from "react-native";
|
|
352
|
-
import { useIntlayer } from "intlayer";
|
|
338
|
+
import { useIntlayer } from "react-native-intlayer";
|
|
353
339
|
import { HelloWave } from "@/components/HelloWave";
|
|
354
340
|
import ParallaxScrollView from "@/components/ParallaxScrollView";
|
|
355
341
|
import { ThemedText } from "@/components/ThemedText";
|
|
@@ -390,13 +376,13 @@ export default HomeScreen;
|
|
|
390
376
|
|
|
391
377
|
> Lors de l'utilisation de `content.someKey` dans des props basées sur des chaînes (par exemple, le `title` d'un bouton ou les `children` d'un composant `Text`), **appelez `content.someKey.value`** pour obtenir la chaîne réelle.
|
|
392
378
|
|
|
393
|
-
> Si votre application existe déjà, vous pouvez utiliser le [Compilateur Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
379
|
+
> Si votre application existe déjà, vous pouvez utiliser le [Compilateur Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compiler.md), ainsi que la [commande d'extraction](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/extract.md), pour transformer des milliers de composants en une seconde.
|
|
394
380
|
|
|
395
381
|
---
|
|
396
382
|
|
|
397
383
|
</Step>
|
|
398
384
|
|
|
399
|
-
<Step number={
|
|
385
|
+
<Step number={7} title="Changer la langue de l'application" isOptional={true}>
|
|
400
386
|
|
|
401
387
|
Pour changer la langue depuis vos composants, vous pouvez utiliser la méthode `setLocale` du hook `useLocale` :
|
|
402
388
|
|
|
@@ -404,7 +390,7 @@ Pour changer la langue depuis vos composants, vous pouvez utiliser la méthode `
|
|
|
404
390
|
import { type FC } from "react";
|
|
405
391
|
import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
|
|
406
392
|
import { getLocaleName } from "intlayer";
|
|
407
|
-
import { useLocale } from "react-intlayer";
|
|
393
|
+
import { useLocale } from "react-native-intlayer";
|
|
408
394
|
|
|
409
395
|
export const LocaleSwitcher: FC = () => {
|
|
410
396
|
const { setLocale, availableLocales } = useLocale();
|
|
@@ -447,7 +433,7 @@ const styles = StyleSheet.create({
|
|
|
447
433
|
|
|
448
434
|
Cela déclenche un nouveau rendu de tous les composants qui utilisent le contenu Intlayer, affichant désormais les traductions pour la nouvelle locale.
|
|
449
435
|
|
|
450
|
-
> Voir la [documentation de `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
436
|
+
> Voir la [documentation de `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useLocale.md) pour plus de détails.
|
|
451
437
|
|
|
452
438
|
</Step>
|
|
453
439
|
|
|
@@ -506,9 +492,9 @@ Pour plus de détails sur l'utilisation de l'extension, consultez la [documentat
|
|
|
506
492
|
|
|
507
493
|
## Aller plus loin
|
|
508
494
|
|
|
509
|
-
- **Éditeur Visuel** : Utilisez le [Éditeur Visuel Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
510
|
-
- **Intégration CMS** : Vous pouvez également externaliser et récupérer le contenu de votre dictionnaire depuis un [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
511
|
-
- **Commandes CLI** : Explorez le [CLI Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/
|
|
495
|
+
- **Éditeur Visuel** : Utilisez le [Éditeur Visuel Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) pour gérer les traductions visuellement.
|
|
496
|
+
- **Intégration CMS** : Vous pouvez également externaliser et récupérer le contenu de votre dictionnaire depuis un [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md).
|
|
497
|
+
- **Commandes CLI** : Explorez le [CLI Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) pour des tâches telles que **l'extraction des traductions** ou **la vérification des clés manquantes**.
|
|
512
498
|
|
|
513
499
|
Profitez de la création de vos applications **React Native** avec une i18n pleinement optimisée grâce à **Intlayer** !
|
|
514
500
|
|
|
@@ -522,7 +508,7 @@ Intlayer cible principalement l'API Web Intl ; sur React Native, vous devez incl
|
|
|
522
508
|
|
|
523
509
|
Checklist :
|
|
524
510
|
|
|
525
|
-
- Utilisez les dernières versions de `intlayer
|
|
511
|
+
- Utilisez les dernières versions de `intlayer` et `react-native-intlayer`.
|
|
526
512
|
- Activez le polyfill Intlayer.
|
|
527
513
|
- Si vous utilisez `getLocaleName` ou d'autres utilitaires basés sur l'API Intl, importez ces polyfills tôt (par exemple dans `index.js` ou `App.tsx`) :
|
|
528
514
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-01-21
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
4
|
title: Documentation du package react-native-intlayer
|
|
5
|
-
description: Support React Native pour Intlayer, fournissant des providers
|
|
5
|
+
description: Support React Native pour Intlayer, fournissant des providers, des hooks, des polyfills et la configuration Metro.
|
|
6
6
|
keywords:
|
|
7
7
|
- react-native-intlayer
|
|
8
8
|
- react-native
|
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- react-native-intlayer
|
|
15
15
|
- exports
|
|
16
16
|
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-06-25
|
|
19
|
+
changes: "Ré-exporter l'intégralité de l'API react-intlayer (hooks, utilitaires, sous-chemins format/html/markdown) pour qu'une application React Native ne dépende que de react-native-intlayer"
|
|
17
20
|
- version: 8.0.0
|
|
18
21
|
date: 2026-01-21
|
|
19
22
|
changes: "Documentation unifiée pour tous les exports"
|
|
@@ -22,7 +25,9 @@ author: aymericzip
|
|
|
22
25
|
|
|
23
26
|
# Package react-native-intlayer
|
|
24
27
|
|
|
25
|
-
Le package `react-native-intlayer` fournit les outils nécessaires pour intégrer Intlayer dans les applications React Native. Il
|
|
28
|
+
Le package `react-native-intlayer` fournit les outils nécessaires pour intégrer Intlayer dans les applications React Native. Il ré-exporte l'intégralité de l'API `react-intlayer` (hooks et utilitaires) avec un `IntlayerProvider` prêt pour React Native, ainsi que les polyfills et la configuration Metro requis par React Native.
|
|
29
|
+
|
|
30
|
+
> Dans une application React Native, importez **tout** depuis `react-native-intlayer`. Vous n'avez pas besoin d'installer ni d'importer `react-intlayer` directement.
|
|
26
31
|
|
|
27
32
|
## Installation
|
|
28
33
|
|
|
@@ -34,14 +39,30 @@ npm install react-native-intlayer
|
|
|
34
39
|
|
|
35
40
|
### Provider
|
|
36
41
|
|
|
37
|
-
| Composant | Description
|
|
38
|
-
| ------------------ |
|
|
39
|
-
| `IntlayerProvider` | Composant Provider qui enveloppe votre application et fournit le contexte Intlayer. |
|
|
42
|
+
| Composant | Description |
|
|
43
|
+
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `IntlayerProvider` | Composant Provider qui enveloppe votre application et fournit le contexte Intlayer. Applique automatiquement les polyfills nécessaires. |
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
import { IntlayerProvider } from "react-native-intlayer";
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Hooks et utilitaires
|
|
51
|
+
|
|
52
|
+
Ces éléments sont ré-exportés depuis `react-intlayer`, vous pouvez donc les importer directement depuis `react-native-intlayer` :
|
|
40
53
|
|
|
41
|
-
|
|
54
|
+
| Export | Description |
|
|
55
|
+
| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
|
|
56
|
+
| `useIntlayer` | Accède au contenu localisé pour une clé de dictionnaire. |
|
|
57
|
+
| `useLocale` | Lit et modifie la locale courante. |
|
|
58
|
+
| `useDictionary`, `useDictionaryAsync`, `useDictionaryDynamic`, `useLoadDynamic` | Charge le contenu du dictionnaire de différentes manières. |
|
|
59
|
+
| `useI18n` | Hook compatible i18next. |
|
|
60
|
+
| `t` | Aide à la traduction en ligne. |
|
|
61
|
+
| `getIntlayer`, `getDictionary` | Accesseurs de contenu impératifs. |
|
|
62
|
+
| `localeCookie`, `localeInStorage`, `setLocaleCookie`, `setLocaleInStorage`, `useLocaleCookie`, `useLocaleStorage` | Aides à la persistance de la locale. |
|
|
42
63
|
|
|
43
64
|
```tsx
|
|
44
|
-
import "react-native-intlayer";
|
|
65
|
+
import { useIntlayer, useLocale, t } from "react-native-intlayer";
|
|
45
66
|
```
|
|
46
67
|
|
|
47
68
|
### Polyfill
|
|
@@ -50,10 +71,25 @@ import "react-native-intlayer";
|
|
|
50
71
|
| ------------------ | ------------------------------------------------------------------------------------------------ |
|
|
51
72
|
| `intlayerPolyfill` | Fonction qui applique les polyfills nécessaires pour que React Native prenne en charge Intlayer. |
|
|
52
73
|
|
|
53
|
-
|
|
74
|
+
```tsx
|
|
75
|
+
import { intlayerPolyfill } from "react-native-intlayer";
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
> Le polyfill est appliqué automatiquement lorsque vous importez `IntlayerProvider`. Appelez `intlayerPolyfill` manuellement uniquement si vous avez besoin des polyfills avant le montage du provider.
|
|
79
|
+
|
|
80
|
+
### Formateurs
|
|
81
|
+
|
|
82
|
+
Les hooks de formatage numérique, de date et autres basés sur Intl sont disponibles depuis le sous-chemin `/format` :
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { useNumber, useDate } from "react-native-intlayer/format";
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Rendu Markdown et HTML
|
|
54
89
|
|
|
55
90
|
```tsx
|
|
56
|
-
import "react-native-intlayer";
|
|
91
|
+
import { MarkdownProvider } from "react-native-intlayer/markdown";
|
|
92
|
+
import { HTMLProvider } from "react-native-intlayer/html";
|
|
57
93
|
```
|
|
58
94
|
|
|
59
95
|
### Configuration Metro
|
|
@@ -66,8 +102,6 @@ Le package `react-native-intlayer` fournit des utilitaires de configuration Metr
|
|
|
66
102
|
| `configMetroIntlayerSync` | Fonction synchrone qui fusionne la configuration Metro sans préparer les ressources d'Intlayer. |
|
|
67
103
|
| `exclusionList` | Crée un motif RegExp pour le blockList de Metro afin d'exclure des fichiers de contenu du bundle. |
|
|
68
104
|
|
|
69
|
-
Import :
|
|
70
|
-
|
|
71
105
|
```tsx
|
|
72
|
-
import "react-native-intlayer/metro";
|
|
106
|
+
import { configMetroIntlayer } from "react-native-intlayer/metro";
|
|
73
107
|
```
|