@intlayer/docs 8.4.4 → 8.4.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/dist/cjs/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/cjs/blog.cjs +21 -1
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +81 -1
- package/dist/cjs/common.cjs.map +1 -0
- package/dist/cjs/doc.cjs +21 -1
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs +21 -1
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +572 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +3032 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +352 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +72 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/index.cjs +34 -1
- package/dist/cjs/legal.cjs +21 -1
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs +14 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +67 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs +14 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs +14 -1
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +570 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +3030 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +350 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +70 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/index.mjs +6 -1
- package/dist/esm/legal.mjs +14 -1
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts +2 -2
- package/dist/types/common.d.ts +37 -2
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/doc.d.ts +2 -2
- package/dist/types/frequentQuestions.d.ts +2 -2
- package/dist/types/generated/blog.entry.d.ts +35 -2
- package/dist/types/generated/blog.entry.d.ts.map +1 -0
- package/dist/types/generated/docs.entry.d.ts +158 -2
- package/dist/types/generated/docs.entry.d.ts.map +1 -0
- package/dist/types/generated/frequentQuestions.entry.d.ts +24 -2
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -0
- package/dist/types/generated/legal.entry.d.ts +10 -2
- package/dist/types/generated/legal.entry.d.ts.map +1 -0
- package/dist/types/legal.d.ts +2 -2
- package/docs/ar/configuration.md +520 -722
- package/docs/ar/intlayer_with_storybook.md +521 -0
- package/docs/bn/configuration.md +922 -0
- package/docs/bn/intlayer_with_hono.md +428 -0
- package/docs/de/configuration.md +369 -743
- package/docs/de/intlayer_with_storybook.md +521 -0
- package/docs/en/configuration.md +181 -507
- package/docs/en/intlayer_with_storybook.md +521 -0
- package/docs/en-GB/configuration.md +456 -657
- package/docs/en-GB/intlayer_with_storybook.md +521 -0
- package/docs/es/configuration.md +379 -754
- package/docs/es/intlayer_with_storybook.md +521 -0
- package/docs/fr/configuration.md +376 -757
- package/docs/fr/intlayer_with_storybook.md +521 -0
- package/docs/hi/configuration.md +532 -728
- package/docs/hi/intlayer_with_storybook.md +521 -0
- package/docs/id/configuration.md +371 -684
- package/docs/id/intlayer_with_storybook.md +521 -0
- package/docs/it/configuration.md +397 -775
- package/docs/it/intlayer_with_storybook.md +521 -0
- package/docs/ja/configuration.md +525 -724
- package/docs/ja/intlayer_with_storybook.md +521 -0
- package/docs/ko/configuration.md +525 -724
- package/docs/ko/intlayer_with_storybook.md +521 -0
- package/docs/pl/configuration.md +430 -734
- package/docs/pl/intlayer_with_storybook.md +521 -0
- package/docs/pt/configuration.md +375 -746
- package/docs/pt/intlayer_with_storybook.md +521 -0
- package/docs/ru/configuration.md +532 -701
- package/docs/ru/intlayer_with_storybook.md +521 -0
- package/docs/tr/configuration.md +527 -719
- package/docs/tr/intlayer_with_storybook.md +521 -0
- package/docs/uk/configuration.md +425 -744
- package/docs/uk/intlayer_with_storybook.md +521 -0
- package/docs/ur/configuration.md +922 -0
- package/docs/ur/intlayer_with_hono.md +428 -0
- package/docs/vi/configuration.md +412 -753
- package/docs/vi/intlayer_with_storybook.md +521 -0
- package/docs/zh/configuration.md +521 -714
- package/docs/zh/intlayer_with_storybook.md +521 -0
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +20 -0
- package/dist/cjs/common-a-l0ULP6.cjs +0 -2
- package/dist/cjs/common-a-l0ULP6.cjs.map +0 -1
- package/dist/types/blog.entry-D5IgxPXY.d.ts +0 -35
- package/dist/types/blog.entry-D5IgxPXY.d.ts.map +0 -1
- package/dist/types/common-B45TZvLQ.d.ts +0 -37
- package/dist/types/common-B45TZvLQ.d.ts.map +0 -1
- package/dist/types/docs.entry-CergjAYt.d.ts +0 -157
- package/dist/types/docs.entry-CergjAYt.d.ts.map +0 -1
- package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts +0 -24
- package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts.map +0 -1
- package/dist/types/legal.entry-B5Lg5eeH.d.ts +0 -10
- package/dist/types/legal.entry-B5Lg5eeH.d.ts.map +0 -1
package/docs/fr/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-20
|
|
4
4
|
title: Configuration
|
|
5
5
|
description: Apprenez à configurer Intlayer pour votre application. Comprenez les différents paramètres et options disponibles pour personnaliser Intlayer selon vos besoins.
|
|
6
6
|
keywords:
|
|
@@ -14,12 +14,15 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 8.4.0
|
|
18
|
+
date: 2026-03-20
|
|
19
|
+
changes: Ajout de la notation d'objet par locale pour 'compiler.output' et 'dictionary.fill'
|
|
17
20
|
- version: 8.3.0
|
|
18
21
|
date: 2026-03-11
|
|
19
|
-
changes:
|
|
22
|
+
changes: Déplacement de 'baseDir' de la configuration 'content' vers la configuration 'system'
|
|
20
23
|
- version: 8.2.0
|
|
21
24
|
date: 2026-03-09
|
|
22
|
-
changes: Mise à jour des options du compilateur, ajout du support
|
|
25
|
+
changes: Mise à jour des options du compilateur (compiler), ajout du support pour 'output' et 'noMetadata'
|
|
23
26
|
- version: 8.1.7
|
|
24
27
|
date: 2026-02-25
|
|
25
28
|
changes: Mise à jour des options du compilateur
|
|
@@ -31,25 +34,25 @@ history:
|
|
|
31
34
|
changes: Ajout du support pour les fournisseurs Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face et Together.ai
|
|
32
35
|
- version: 8.0.5
|
|
33
36
|
date: 2026-02-06
|
|
34
|
-
changes: Ajout de `dataSerialization` à la configuration
|
|
37
|
+
changes: Ajout de `dataSerialization` à la configuration AI
|
|
35
38
|
- version: 8.0.0
|
|
36
39
|
date: 2026-01-24
|
|
37
|
-
changes:
|
|
40
|
+
changes: Renommage du mode d'importation `live` en `fetch` pour mieux décrire le mécanisme sous-jacent.
|
|
38
41
|
- version: 8.0.0
|
|
39
42
|
date: 2026-01-22
|
|
40
|
-
changes:
|
|
43
|
+
changes: Déplacement de la configuration de build `importMode` vers la configuration `dictionary`.
|
|
41
44
|
- version: 8.0.0
|
|
42
45
|
date: 2026-01-22
|
|
43
|
-
changes: Ajout de l'option `rewrite` à la configuration
|
|
46
|
+
changes: Ajout de l'option `rewrite` à la configuration de routage
|
|
44
47
|
- version: 8.0.0
|
|
45
48
|
date: 2026-01-18
|
|
46
|
-
changes:
|
|
49
|
+
changes: Séparation de la configuration système de la configuration de contenu. Déplacement des chemins internes vers la propriété `system`. Ajout de `codeDir` pour séparer les fichiers de contenu et la transformation de code.
|
|
47
50
|
- version: 8.0.0
|
|
48
51
|
date: 2026-01-18
|
|
49
52
|
changes: Ajout des options de dictionnaire `location` et `schema`
|
|
50
53
|
- version: 7.5.1
|
|
51
54
|
date: 2026-01-10
|
|
52
|
-
changes: Ajout du support
|
|
55
|
+
changes: Ajout du support pour les formats de fichiers JSON5 et JSONC
|
|
53
56
|
- version: 7.5.0
|
|
54
57
|
date: 2025-12-17
|
|
55
58
|
changes: Ajout de l'option `buildMode`
|
|
@@ -58,7 +61,7 @@ history:
|
|
|
58
61
|
changes: Ajout de la configuration `dictionary`
|
|
59
62
|
- version: 7.0.0
|
|
60
63
|
date: 2025-10-21
|
|
61
|
-
changes: Remplacement
|
|
64
|
+
changes: Remplacement de `middleware` par la configuration de routage `routing`
|
|
62
65
|
- version: 7.0.0
|
|
63
66
|
date: 2025-10-12
|
|
64
67
|
changes: Ajout de l'option `formatCommand`
|
|
@@ -82,21 +85,21 @@ history:
|
|
|
82
85
|
changes: Remplacement de `activateDynamicImport` par l'option `importMode`
|
|
83
86
|
- version: 5.6.0
|
|
84
87
|
date: 2025-07-13
|
|
85
|
-
changes:
|
|
88
|
+
changes: Modification du contentDir par défaut de `['src']` à `['.']`
|
|
86
89
|
- version: 5.5.11
|
|
87
90
|
date: 2025-06-29
|
|
88
91
|
changes: Ajout des commandes `docs`
|
|
89
92
|
---
|
|
90
93
|
|
|
91
|
-
# Documentation de Configuration
|
|
94
|
+
# Documentation de Configuration Intlayer
|
|
92
95
|
|
|
93
|
-
##
|
|
96
|
+
## Aperçu
|
|
94
97
|
|
|
95
|
-
Les fichiers de configuration
|
|
98
|
+
Les fichiers de configuration Intlayer vous permettent de personnaliser divers aspects du plugin, tels que l'internationalisation (internationalization), le middleware et la gestion du contenu. Cette documentation fournit une description détaillée de chaque propriété de la configuration.
|
|
96
99
|
|
|
97
100
|
---
|
|
98
101
|
|
|
99
|
-
## Table des
|
|
102
|
+
## Table des Matières
|
|
100
103
|
|
|
101
104
|
<TOC/>
|
|
102
105
|
|
|
@@ -125,108 +128,108 @@ import { nextjsRewrite } from "intlayer/routing";
|
|
|
125
128
|
import { z } from "zod";
|
|
126
129
|
|
|
127
130
|
/**
|
|
128
|
-
*
|
|
131
|
+
* Exemple de fichier de configuration Intlayer affichant toutes les options disponibles.
|
|
129
132
|
*/
|
|
130
133
|
const config: IntlayerConfig = {
|
|
131
134
|
/**
|
|
132
|
-
* Configuration
|
|
135
|
+
* Configuration pour les paramètres d'internationalisation.
|
|
133
136
|
*/
|
|
134
137
|
internationalization: {
|
|
135
138
|
/**
|
|
136
|
-
*
|
|
137
|
-
*
|
|
139
|
+
* Liste des locales supportées dans l'application.
|
|
140
|
+
* Par défaut : [Locales.ENGLISH]
|
|
138
141
|
*/
|
|
139
142
|
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
140
143
|
|
|
141
144
|
/**
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
+
* Liste des locales obligatoires qui doivent être définies dans chaque dictionnaire.
|
|
146
|
+
* Si vide, toutes les locales sont obligatoires en mode `strict`.
|
|
147
|
+
* Par défaut : []
|
|
145
148
|
*/
|
|
146
149
|
requiredLocales: [Locales.ENGLISH],
|
|
147
150
|
|
|
148
151
|
/**
|
|
149
|
-
*
|
|
150
|
-
* - "strict":
|
|
151
|
-
* - "inclusive":
|
|
152
|
-
* - "loose":
|
|
153
|
-
*
|
|
152
|
+
* Niveau de stricte conformité pour le contenu internationalisé.
|
|
153
|
+
* - "strict": Erreur si une locale déclarée est manquante ou non déclarée.
|
|
154
|
+
* - "inclusive": Avertissement si une locale déclarée est manquante.
|
|
155
|
+
* - "loose": Accepte n'importe quelle locale existante.
|
|
156
|
+
* Par défaut : "inclusive"
|
|
154
157
|
*/
|
|
155
158
|
strictMode: "inclusive",
|
|
156
159
|
|
|
157
160
|
/**
|
|
158
|
-
*
|
|
159
|
-
*
|
|
161
|
+
* Locale par défaut utilisée comme solution de secours si la locale demandée n'est pas trouvée.
|
|
162
|
+
* Par défaut : Locales.ENGLISH
|
|
160
163
|
*/
|
|
161
164
|
defaultLocale: Locales.ENGLISH,
|
|
162
165
|
},
|
|
163
166
|
|
|
164
167
|
/**
|
|
165
|
-
*
|
|
168
|
+
* Paramètres contrôlant les opérations de dictionnaire et le comportement de repli.
|
|
166
169
|
*/
|
|
167
170
|
dictionary: {
|
|
168
171
|
/**
|
|
169
|
-
*
|
|
170
|
-
* - "static":
|
|
171
|
-
* - "dynamic":
|
|
172
|
-
* - "fetch":
|
|
173
|
-
*
|
|
172
|
+
* Contrôle la manière dont les dictionnaires sont importés.
|
|
173
|
+
* - "static": Importé statiquement au moment du build.
|
|
174
|
+
* - "dynamic": Importé dynamiquement en utilisant Suspense.
|
|
175
|
+
* - "fetch": Récupéré dynamiquement via l'API live sync.
|
|
176
|
+
* Par défaut : "static"
|
|
174
177
|
*/
|
|
175
178
|
importMode: "static",
|
|
176
179
|
|
|
177
180
|
/**
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
+
* Stratégie pour remplir automatiquement les traductions manquantes à l'aide de l'IA.
|
|
182
|
+
* Peut être une valeur booléenne ou un motif de chemin pour enregistrer le contenu rempli.
|
|
183
|
+
* Par défaut : true
|
|
181
184
|
*/
|
|
182
185
|
fill: true,
|
|
183
186
|
|
|
184
187
|
/**
|
|
185
|
-
*
|
|
186
|
-
* - "local":
|
|
187
|
-
* - "remote":
|
|
188
|
-
* - "hybrid":
|
|
189
|
-
* - "plugin" (
|
|
190
|
-
*
|
|
188
|
+
* Emplacement physique des fichiers de dictionnaire.
|
|
189
|
+
* - "local": Stocké dans le système de fichiers local.
|
|
190
|
+
* - "remote": Stocké dans l'Intlayer CMS.
|
|
191
|
+
* - "hybrid": Stocké à la fois localement et dans l'Intlayer CMS.
|
|
192
|
+
* - "plugin" (ou toute chaîne personnalisée) : Fourni par un plugin ou une source personnalisée.
|
|
193
|
+
* Par défaut : "local"
|
|
191
194
|
*/
|
|
192
195
|
location: "local",
|
|
193
196
|
|
|
194
197
|
/**
|
|
195
|
-
*
|
|
196
|
-
*
|
|
198
|
+
* Indique si le contenu doit être automatiquement transformé (ex: Markdown en HTML).
|
|
199
|
+
* Par défaut : false
|
|
197
200
|
*/
|
|
198
201
|
contentAutoTransformation: false,
|
|
199
202
|
},
|
|
200
203
|
|
|
201
204
|
/**
|
|
202
|
-
*
|
|
205
|
+
* Configuration du routage et du middleware.
|
|
203
206
|
*/
|
|
204
207
|
routing: {
|
|
205
208
|
/**
|
|
206
|
-
*
|
|
207
|
-
* - "prefix-no-default":
|
|
208
|
-
* - "prefix-all":
|
|
209
|
-
* - "no-prefix":
|
|
210
|
-
* - "search-params":
|
|
211
|
-
*
|
|
209
|
+
* Stratégie de routage des locales.
|
|
210
|
+
* - "prefix-no-default": Préfixe tout sauf la locale par défaut (ex: /dashboard, /fr/dashboard).
|
|
211
|
+
* - "prefix-all": Préfixe toutes les locales (ex: /en/dashboard, /fr/dashboard).
|
|
212
|
+
* - "no-prefix": Pas de locale dans l'URL.
|
|
213
|
+
* - "search-params": Utilise ?locale=...
|
|
214
|
+
* Par défaut : "prefix-no-default"
|
|
212
215
|
*/
|
|
213
216
|
mode: "prefix-no-default",
|
|
214
217
|
|
|
215
218
|
/**
|
|
216
|
-
*
|
|
217
|
-
* Options: 'cookie', 'localStorage', 'sessionStorage', 'header',
|
|
218
|
-
*
|
|
219
|
+
* Où stocker la locale sélectionnée par l'utilisateur.
|
|
220
|
+
* Options : 'cookie', 'localStorage', 'sessionStorage', 'header', ou un tableau de ceux-ci.
|
|
221
|
+
* Par défaut : ['cookie', 'header']
|
|
219
222
|
*/
|
|
220
223
|
storage: ["cookie", "header"],
|
|
221
224
|
|
|
222
225
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
226
|
+
* Chemin de base pour les URL de l'application.
|
|
227
|
+
* Par défaut : ""
|
|
225
228
|
*/
|
|
226
229
|
basePath: "",
|
|
227
230
|
|
|
228
231
|
/**
|
|
229
|
-
*
|
|
232
|
+
* Règles de réécriture d'URL personnalisées pour des chemins spécifiques par locale.
|
|
230
233
|
*/
|
|
231
234
|
rewrite: nextjsRewrite({
|
|
232
235
|
"/[locale]/about": {
|
|
@@ -237,131 +240,130 @@ const config: IntlayerConfig = {
|
|
|
237
240
|
},
|
|
238
241
|
|
|
239
242
|
/**
|
|
240
|
-
*
|
|
243
|
+
* Paramètres relatifs à la recherche et au traitement des fichiers de contenu.
|
|
241
244
|
*/
|
|
242
245
|
content: {
|
|
243
246
|
/**
|
|
244
|
-
*
|
|
245
|
-
*
|
|
247
|
+
* Extensions de fichiers pour le scan des dictionnaires.
|
|
248
|
+
* Par défaut : ['.content.ts', '.content.js', '.content.json', etc.]
|
|
246
249
|
*/
|
|
247
250
|
fileExtensions: [".content.ts", ".content.js", ".content.json"],
|
|
248
251
|
|
|
249
252
|
/**
|
|
250
|
-
*
|
|
251
|
-
*
|
|
253
|
+
* Répertoires où se trouvent les fichiers .content.
|
|
254
|
+
* Par défaut : ["."]
|
|
252
255
|
*/
|
|
253
256
|
contentDir: ["src"],
|
|
254
257
|
|
|
255
258
|
/**
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
+
* Où se trouve le code source.
|
|
260
|
+
* Utilisé pour l'optimisation du build et la transformation de code.
|
|
261
|
+
* Par défaut : ["."]
|
|
259
262
|
*/
|
|
260
263
|
codeDir: ["src"],
|
|
261
264
|
|
|
262
265
|
/**
|
|
263
|
-
*
|
|
264
|
-
*
|
|
266
|
+
* Motifs exclus du scan.
|
|
267
|
+
* Par défaut : ['node_modules', '.intlayer', etc.]
|
|
265
268
|
*/
|
|
266
269
|
excludedPath: ["node_modules"],
|
|
267
270
|
|
|
268
271
|
/**
|
|
269
|
-
*
|
|
270
|
-
*
|
|
272
|
+
* Indique s'il faut surveiller les modifications et reconstruire les dictionnaires pendant le développement.
|
|
273
|
+
* Par défaut : true en développement
|
|
271
274
|
*/
|
|
272
275
|
watch: true,
|
|
273
276
|
|
|
274
277
|
/**
|
|
275
|
-
*
|
|
278
|
+
* Commande utilisée pour formater les fichiers .content nouvellement créés / mis à jour.
|
|
276
279
|
*/
|
|
277
280
|
formatCommand: 'npx prettier --write "{{file}}"',
|
|
278
281
|
},
|
|
279
282
|
|
|
280
283
|
/**
|
|
281
|
-
* Visual Editor
|
|
284
|
+
* Configuration de l'Éditeur Visuel (Visual Editor).
|
|
282
285
|
*/
|
|
283
286
|
editor: {
|
|
284
287
|
/**
|
|
285
|
-
*
|
|
286
|
-
*
|
|
288
|
+
* Indique si l'éditeur visuel est activé.
|
|
289
|
+
* Par défaut : false
|
|
287
290
|
*/
|
|
288
291
|
enabled: true,
|
|
289
292
|
|
|
290
293
|
/**
|
|
291
|
-
* URL
|
|
292
|
-
*
|
|
294
|
+
* L'URL de votre application pour la validation de l'origine.
|
|
295
|
+
* Par défaut : ""
|
|
293
296
|
*/
|
|
294
297
|
applicationURL: "http://localhost:3000",
|
|
295
298
|
|
|
296
299
|
/**
|
|
297
|
-
* Port
|
|
298
|
-
*
|
|
300
|
+
* Port pour le serveur local de l'éditeur.
|
|
301
|
+
* Par défaut : 8000
|
|
299
302
|
*/
|
|
300
303
|
port: 8000,
|
|
301
304
|
|
|
302
305
|
/**
|
|
303
|
-
*
|
|
304
|
-
*
|
|
306
|
+
* URL publique de l'éditeur.
|
|
307
|
+
* Par défaut : "http://localhost:8000"
|
|
305
308
|
*/
|
|
306
309
|
editorURL: "http://localhost:8000",
|
|
307
310
|
|
|
308
311
|
/**
|
|
309
|
-
* Intlayer CMS
|
|
310
|
-
*
|
|
312
|
+
* URL de l'Intlayer CMS.
|
|
313
|
+
* Par défaut : "https://app.intlayer.org"
|
|
311
314
|
*/
|
|
312
315
|
cmsURL: "https://app.intlayer.org",
|
|
313
316
|
|
|
314
317
|
/**
|
|
315
|
-
*
|
|
316
|
-
*
|
|
318
|
+
* URL de l'API Backend.
|
|
319
|
+
* Par défaut : "https://back.intlayer.org"
|
|
317
320
|
*/
|
|
318
321
|
backendURL: "https://back.intlayer.org",
|
|
319
322
|
|
|
320
323
|
/**
|
|
321
|
-
*
|
|
322
|
-
*
|
|
324
|
+
* Indique s'il faut activer la synchronisation du contenu en temps réel.
|
|
325
|
+
* Par défaut : false
|
|
323
326
|
*/
|
|
324
327
|
liveSync: true,
|
|
325
328
|
},
|
|
326
329
|
|
|
327
330
|
/**
|
|
328
|
-
*
|
|
331
|
+
* Paramètres de traduction et de construction basés sur l'IA.
|
|
329
332
|
*/
|
|
330
333
|
ai: {
|
|
331
334
|
/**
|
|
332
|
-
*
|
|
333
|
-
* Options: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
|
|
334
|
-
*
|
|
335
|
+
* Fournisseur d'IA à utiliser.
|
|
336
|
+
* Options : 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
|
|
337
|
+
* Par défaut : 'openai'
|
|
335
338
|
*/
|
|
336
339
|
provider: "openai",
|
|
337
340
|
|
|
338
341
|
/**
|
|
339
|
-
*
|
|
342
|
+
* Modèle du fournisseur sélectionné à utiliser.
|
|
340
343
|
*/
|
|
341
344
|
model: "gpt-4o",
|
|
342
345
|
|
|
343
346
|
/**
|
|
344
|
-
*
|
|
347
|
+
* Clé API du fournisseur.
|
|
345
348
|
*/
|
|
346
349
|
apiKey: process.env.OPENAI_API_KEY,
|
|
347
350
|
|
|
348
351
|
/**
|
|
349
|
-
*
|
|
352
|
+
* Contexte global pour guider l'IA dans la génération des traductions.
|
|
350
353
|
*/
|
|
351
|
-
applicationContext:
|
|
352
|
-
"Cette application est un système de réservation de voyages.",
|
|
354
|
+
applicationContext: "Ceci est une application de réservation de voyages.",
|
|
353
355
|
|
|
354
356
|
/**
|
|
355
|
-
*
|
|
357
|
+
* URL de base pour l'API AI.
|
|
356
358
|
*/
|
|
357
359
|
baseURL: "http://localhost:3000",
|
|
358
360
|
|
|
359
361
|
/**
|
|
360
|
-
* Sérialisation des données
|
|
362
|
+
* Sérialisation des données (Data Serialization)
|
|
361
363
|
*
|
|
362
364
|
* Options :
|
|
363
|
-
* - "json" :
|
|
364
|
-
* - "toon" :
|
|
365
|
+
* - "json" : Par défaut, robuste ; consomme plus de tokens.
|
|
366
|
+
* - "toon" : Consomme moins de tokens, peut ne pas être aussi cohérent que le JSON.
|
|
365
367
|
*
|
|
366
368
|
* Par défaut : "json"
|
|
367
369
|
*/
|
|
@@ -369,170 +371,170 @@ const config: IntlayerConfig = {
|
|
|
369
371
|
},
|
|
370
372
|
|
|
371
373
|
/**
|
|
372
|
-
*
|
|
374
|
+
* Paramètres de build et d'optimisation.
|
|
373
375
|
*/
|
|
374
376
|
build: {
|
|
375
377
|
/**
|
|
376
|
-
*
|
|
377
|
-
* - "auto":
|
|
378
|
-
* - "manual":
|
|
379
|
-
*
|
|
378
|
+
* Mode d'exécution du build.
|
|
379
|
+
* - "auto": Construit automatiquement pendant le build de l'application.
|
|
380
|
+
* - "manual": Nécessite une commande de build explicite.
|
|
381
|
+
* Par défaut : "auto"
|
|
380
382
|
*/
|
|
381
383
|
mode: "auto",
|
|
382
384
|
|
|
383
385
|
/**
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
+
* Indique s'il faut optimiser le bundle final en supprimant les dictionnaires inutilisés.
|
|
387
|
+
* Par défaut : true en production
|
|
386
388
|
*/
|
|
387
389
|
optimize: true,
|
|
388
390
|
|
|
389
391
|
/**
|
|
390
|
-
*
|
|
391
|
-
*
|
|
392
|
+
* Format de sortie pour les fichiers de dictionnaire générés.
|
|
393
|
+
* Par défaut : ['cjs', 'esm']
|
|
392
394
|
*/
|
|
393
395
|
outputFormat: ["cjs", "esm"],
|
|
394
396
|
|
|
395
397
|
/**
|
|
396
|
-
*
|
|
397
|
-
*
|
|
398
|
+
* Indique si le build doit vérifier les types TypeScript.
|
|
399
|
+
* Par défaut : false
|
|
398
400
|
*/
|
|
399
401
|
checkTypes: false,
|
|
400
402
|
},
|
|
401
403
|
|
|
402
404
|
/**
|
|
403
|
-
* Logger
|
|
405
|
+
* Configuration du Logger.
|
|
404
406
|
*/
|
|
405
407
|
log: {
|
|
406
408
|
/**
|
|
407
|
-
*
|
|
408
|
-
* - "default":
|
|
409
|
-
* - "verbose":
|
|
410
|
-
* - "disabled":
|
|
411
|
-
*
|
|
409
|
+
* Niveau de log.
|
|
410
|
+
* - "default": Logging standard.
|
|
411
|
+
* - "verbose": Logging de débogage approfondi.
|
|
412
|
+
* - "disabled": Désactive le logging.
|
|
413
|
+
* Par défaut : "default"
|
|
412
414
|
*/
|
|
413
415
|
mode: "default",
|
|
414
416
|
|
|
415
417
|
/**
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
+
* Préfixe pour tous les messages de log.
|
|
419
|
+
* Par défaut : "[intlayer]"
|
|
418
420
|
*/
|
|
419
421
|
prefix: "[intlayer]",
|
|
420
422
|
},
|
|
421
423
|
|
|
422
424
|
/**
|
|
423
|
-
*
|
|
425
|
+
* Configuration Système (Pour usage avancé)
|
|
424
426
|
*/
|
|
425
427
|
system: {
|
|
426
428
|
/**
|
|
427
|
-
*
|
|
429
|
+
* Répertoire pour stocker les dictionnaires localisés.
|
|
428
430
|
*/
|
|
429
431
|
dictionariesDir: ".intlayer/dictionary",
|
|
430
432
|
|
|
431
433
|
/**
|
|
432
|
-
*
|
|
434
|
+
* Répertoire pour l'augmentation de modules TypeScript.
|
|
433
435
|
*/
|
|
434
436
|
moduleAugmentationDir: ".intlayer/types",
|
|
435
437
|
|
|
436
438
|
/**
|
|
437
|
-
*
|
|
439
|
+
* Répertoire pour stocker les dictionnaires non fusionnés.
|
|
438
440
|
*/
|
|
439
441
|
unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
|
|
440
442
|
|
|
441
443
|
/**
|
|
442
|
-
*
|
|
444
|
+
* Répertoire pour stocker les types de dictionnaires.
|
|
443
445
|
*/
|
|
444
446
|
typesDir: ".intlayer/types",
|
|
445
447
|
|
|
446
448
|
/**
|
|
447
|
-
*
|
|
449
|
+
* Répertoire où sont stockés les fichiers principaux de l'application.
|
|
448
450
|
*/
|
|
449
451
|
mainDir: ".intlayer/main",
|
|
450
452
|
|
|
451
453
|
/**
|
|
452
|
-
*
|
|
454
|
+
* Répertoire où sont stockés les fichiers de configuration.
|
|
453
455
|
*/
|
|
454
456
|
configDir: ".intlayer/config",
|
|
455
457
|
|
|
456
458
|
/**
|
|
457
|
-
*
|
|
459
|
+
* Répertoire où sont stockés les fichiers de cache.
|
|
458
460
|
*/
|
|
459
461
|
cacheDir: ".intlayer/cache",
|
|
460
462
|
},
|
|
461
463
|
|
|
462
464
|
/**
|
|
463
|
-
*
|
|
465
|
+
* Configuration du Compilateur (Pour usage avancé)
|
|
464
466
|
*/
|
|
465
467
|
compiler: {
|
|
466
468
|
/**
|
|
467
|
-
* Indique si le compilateur doit être activé.
|
|
469
|
+
* Indique si le compilateur (compiler) doit être activé.
|
|
468
470
|
*
|
|
469
|
-
* - false
|
|
470
|
-
* - true
|
|
471
|
-
* - "build-only"
|
|
471
|
+
* - false: Désactive le compilateur.
|
|
472
|
+
* - true: Active le compilateur.
|
|
473
|
+
* - "build-only": Ignore le compilateur pendant le développement et accélère le temps de démarrage.
|
|
472
474
|
*
|
|
473
475
|
* Par défaut : false
|
|
474
476
|
*/
|
|
475
477
|
enabled: true,
|
|
476
478
|
|
|
477
479
|
/**
|
|
478
|
-
* Définit le chemin
|
|
480
|
+
* Définit le chemin pour les fichiers de sortie. Remplace `outputDir`.
|
|
479
481
|
*
|
|
480
482
|
* - Les chemins `./` sont résolus par rapport au répertoire du composant.
|
|
481
483
|
* - Les chemins `/` sont résolus par rapport à la racine du projet (`baseDir`).
|
|
482
484
|
*
|
|
483
|
-
* - L'inclusion de la variable `{{locale}}` dans le chemin déclenchera la
|
|
485
|
+
* - L'inclusion de la variable `{{locale}}` dans le chemin déclenchera la création de dictionnaires séparés par langue.
|
|
484
486
|
*
|
|
485
487
|
* Exemple :
|
|
486
488
|
* ```ts
|
|
487
489
|
* {
|
|
488
|
-
* // Créer des fichiers .content.ts multilingues
|
|
490
|
+
* // Créer des fichiers .content.ts multilingues à côté du composant
|
|
489
491
|
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
490
492
|
*
|
|
491
|
-
* // output: './{{fileName}}{{extension}}', // Équivalent utilisant une chaîne de caractères
|
|
493
|
+
* // output: './{{fileName}}{{extension}}', // Équivalent en utilisant une chaîne de caractères
|
|
492
494
|
* }
|
|
493
495
|
* ```
|
|
494
496
|
*
|
|
495
497
|
* ```ts
|
|
496
498
|
* {
|
|
497
|
-
* // Créer des JSON centralisés par
|
|
499
|
+
* // Créer des JSON centralisés par langue à la racine du projet
|
|
498
500
|
* output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
|
|
499
501
|
*
|
|
500
|
-
* // output: '/locales/{{locale}}/{{key}}.content.json', // Équivalent utilisant une chaîne de caractères
|
|
502
|
+
* // output: '/locales/{{locale}}/{{key}}.content.json', // Équivalent en utilisant une chaîne de caractères
|
|
501
503
|
* }
|
|
502
504
|
* ```
|
|
503
505
|
*
|
|
504
506
|
* Liste des variables :
|
|
505
|
-
* - `fileName
|
|
506
|
-
* - `key
|
|
507
|
-
* - `locale
|
|
508
|
-
* - `extension
|
|
509
|
-
* - `componentFileName
|
|
510
|
-
* - `componentExtension
|
|
511
|
-
* - `format
|
|
512
|
-
* - `componentFormat
|
|
513
|
-
* - `componentDirPath
|
|
507
|
+
* - `fileName`: Nom du fichier.
|
|
508
|
+
* - `key`: Clé du contenu.
|
|
509
|
+
* - `locale`: Locale du contenu.
|
|
510
|
+
* - `extension`: Extension du fichier.
|
|
511
|
+
* - `componentFileName`: Nom du fichier du composant.
|
|
512
|
+
* - `componentExtension`: Extension du fichier du composant.
|
|
513
|
+
* - `format`: Format du dictionnaire.
|
|
514
|
+
* - `componentFormat`: Format du dictionnaire du composant.
|
|
515
|
+
* - `componentDirPath`: Chemin du répertoire du composant.
|
|
514
516
|
*/
|
|
515
517
|
output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
|
|
516
518
|
|
|
517
519
|
/**
|
|
518
|
-
* Indique si les composants doivent être
|
|
519
|
-
* De cette façon, le compilateur peut être exécuté une seule fois pour transformer l'application
|
|
520
|
+
* Indique si les composants doivent être enregistrés après avoir été transformés.
|
|
521
|
+
* De cette façon, le compilateur peut être exécuté une seule fois pour transformer l'application et peut ensuite être supprimé.
|
|
520
522
|
*/
|
|
521
523
|
saveComponents: false,
|
|
522
524
|
|
|
523
525
|
/**
|
|
524
|
-
*
|
|
526
|
+
* Insère uniquement le contenu dans le fichier généré. Utile pour une sortie JSON par langue pour i18next ou ICU MessageFormat.
|
|
525
527
|
*/
|
|
526
528
|
noMetadata: false,
|
|
527
529
|
|
|
528
530
|
/**
|
|
529
531
|
* Préfixe de clé de dictionnaire
|
|
530
532
|
*/
|
|
531
|
-
dictionaryKeyPrefix: "", //
|
|
533
|
+
dictionaryKeyPrefix: "", // Ajoutez un préfixe optionnel aux clés de dictionnaire extraites
|
|
532
534
|
},
|
|
533
535
|
|
|
534
536
|
/**
|
|
535
|
-
*
|
|
537
|
+
* Schémas personnalisés pour valider le contenu du dictionnaire.
|
|
536
538
|
*/
|
|
537
539
|
schemas: {
|
|
538
540
|
"my-schema": z.object({
|
|
@@ -541,7 +543,7 @@ const config: IntlayerConfig = {
|
|
|
541
543
|
},
|
|
542
544
|
|
|
543
545
|
/**
|
|
544
|
-
*
|
|
546
|
+
* Configuration des plugins.
|
|
545
547
|
*/
|
|
546
548
|
plugins: [],
|
|
547
549
|
};
|
|
@@ -549,250 +551,116 @@ const config: IntlayerConfig = {
|
|
|
549
551
|
export default config;
|
|
550
552
|
````
|
|
551
553
|
|
|
552
|
-
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## Référence de Configuration
|
|
553
557
|
|
|
554
|
-
Les sections suivantes décrivent les différents paramètres de configuration disponibles
|
|
558
|
+
Les sections suivantes décrivent les différents paramètres de configuration disponibles dans Intlayer.
|
|
555
559
|
|
|
556
560
|
---
|
|
557
561
|
|
|
558
|
-
### Configuration de l'
|
|
562
|
+
### Configuration de l'Internationalisation (Internationalization Configuration)
|
|
559
563
|
|
|
560
564
|
Définit les paramètres liés à l'internationalisation, y compris les locales disponibles et la locale par défaut de l'application.
|
|
561
565
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
- _Exemple_ : `['en', 'fr', 'es']`
|
|
569
|
-
|
|
570
|
-
- **requiredLocales** :
|
|
571
|
-
- _Type_ : `string[]`
|
|
572
|
-
- _Par défaut_ : `[]`
|
|
573
|
-
- _Description_ : La liste des locales requises dans l'application.
|
|
574
|
-
- _Exemple_ : `[]`
|
|
575
|
-
- _Note_ : Si vide, toutes les locales sont requises en mode `strict`.
|
|
576
|
-
- _Note_ : Assurez-vous que les locales requises sont également définies dans le champ `locales`.
|
|
577
|
-
- **strictMode** :
|
|
578
|
-
- _Type_ : `string`
|
|
579
|
-
- _Défaut_ : `inclusive`
|
|
580
|
-
- _Description_ : Assure une implémentation stricte du contenu internationalisé en utilisant TypeScript.
|
|
581
|
-
- _Note_ : Si défini sur "strict", la fonction de traduction `t` exigera que chaque locale déclarée soit définie. Si une locale est manquante, ou si une locale n'est pas déclarée dans votre configuration, cela générera une erreur.
|
|
582
|
-
- _Note_ : Si défini sur "inclusive", la fonction de traduction `t` exigera que chaque locale déclarée soit définie. Si une locale est manquante, cela générera un avertissement. Mais acceptera si une locale n'est pas déclarée dans votre configuration, mais existe.
|
|
583
|
-
- _Note_ : Si défini sur "loose", la fonction de traduction `t` acceptera n'importe quelle locale existante.
|
|
584
|
-
|
|
585
|
-
- **defaultLocale** :
|
|
586
|
-
- _Type_ : `string`
|
|
587
|
-
- _Défaut_ : `'en'`
|
|
588
|
-
- _Description_ : La locale par défaut utilisée comme solution de repli si la locale demandée n'est pas trouvée.
|
|
589
|
-
- _Exemple_ : `'en'`
|
|
590
|
-
- _Note_ : Ceci est utilisé pour déterminer la locale lorsqu'aucune n'est spécifiée dans l'URL, le cookie ou l'en-tête.
|
|
566
|
+
| Champ | Type | Description | Exemple | Note |
|
|
567
|
+
| ----------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
568
|
+
| `locales` | `string[]` | Liste des locales supportées dans l'application. Par défaut : `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
|
|
569
|
+
| `requiredLocales` | `string[]` | Liste des locales obligatoires dans l'application. Par défaut : `[]` | `[]` | Si vide, toutes les locales sont obligatoires en mode `strict`. Assurez-vous que les locales obligatoires sont également définies dans le champ `locales`. |
|
|
570
|
+
| `strictMode` | `string` | Garantit une implémentation robuste du contenu internationalisé en utilisant TypeScript. Par défaut : `inclusive` | | Si `"strict"`: la fonction `t` nécessite que chaque locale déclarée soit définie — renvoie une erreur si l'une d'elles est manquante ou non déclarée. Si `"inclusive"`: avertit des locales manquantes mais accepte les locales non déclarées existantes. Si `"loose"`: accepte n'importe quelle locale existante. |
|
|
571
|
+
| `defaultLocale` | `string` | Locale par défaut utilisée comme solution de secours si la locale demandée n'est pas trouvée. Par défaut : `Locales.ENGLISH` | `'en'` | Utilisé pour déterminer la locale lorsqu'aucune n'est spécifiée dans l'URL, le cookie ou l'en-tête. |
|
|
591
572
|
|
|
592
573
|
---
|
|
593
574
|
|
|
594
|
-
### Configuration de l'
|
|
595
|
-
|
|
596
|
-
Définit les paramètres liés à l'éditeur intégré, y compris le port du serveur et
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
- _Note_ : Le port du serveur de synchronisation en direct.
|
|
678
|
-
|
|
679
|
-
- **liveSyncURL** :
|
|
680
|
-
- _Type_ : `string`
|
|
681
|
-
- _Par défaut_ : `'http://localhost:{liveSyncPort}'`
|
|
682
|
-
- _Description_ : L'URL du serveur de synchronisation en direct.
|
|
683
|
-
- _Exemple_ : `'https://example.com'`
|
|
684
|
-
- _Note_ : Pointe vers localhost par défaut mais peut être modifiée vers n'importe quelle URL dans le cas d'un serveur de synchronisation en direct distant.
|
|
685
|
-
|
|
686
|
-
### Configuration du routage
|
|
687
|
-
|
|
688
|
-
Paramètres qui contrôlent le comportement du routage, y compris la structure de l'URL, le stockage de la locale et la gestion du middleware.
|
|
689
|
-
|
|
690
|
-
#### Propriétés
|
|
691
|
-
|
|
692
|
-
- **mode**:
|
|
693
|
-
- _Type_: `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'`
|
|
694
|
-
- _Par défaut_: `'prefix-no-default'`
|
|
695
|
-
- _Description_: Mode de routage d'URL pour la gestion des locales.
|
|
696
|
-
- _Exemples_:
|
|
697
|
-
- `'prefix-no-default'`: `/dashboard` (en) ou `/fr/dashboard` (fr)
|
|
698
|
-
- `'prefix-all'`: `/en/dashboard` (en) ou `/fr/dashboard` (fr)
|
|
699
|
-
- `'no-prefix'`: `/dashboard` (locale gérée par d'autres moyens)
|
|
700
|
-
- `'search-params'`: `/dashboard?locale=fr`
|
|
701
|
-
- _Note_: Ce paramètre n'impacte pas la gestion des cookies ou du stockage de la locale.
|
|
702
|
-
|
|
703
|
-
- **storage**:
|
|
704
|
-
- _Type_: `false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array`
|
|
705
|
-
- _Par défaut_: `['cookie', 'header']`
|
|
706
|
-
- _Description_: Configuration pour stocker la locale chez le client.
|
|
707
|
-
|
|
708
|
-
- **cookie**:
|
|
709
|
-
- _Description_: Stocke les données dans les cookies, de petits morceaux de données stockés sur le navigateur du client, accessibles côté client et côté serveur.
|
|
710
|
-
- _Note_: Pour un stockage conforme au RGPD, assurez-vous du consentement de l'utilisateur avant utilisation.
|
|
711
|
-
- _Note_: Les paramètres des cookies sont personnalisables s'ils sont définis comme CookiesAttributes (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`).
|
|
712
|
-
|
|
713
|
-
- **localStorage**:
|
|
714
|
-
- _Description_: Stocke les données dans le navigateur sans date d'expiration, permettant la persistance des données entre les sessions, accessible uniquement côté client.
|
|
715
|
-
- _Note_: Idéal pour stocker des données à long terme mais attention aux implications en matière de confidentialité et de sécurité.
|
|
716
|
-
- _Note_: Le local storage n'est accessible que côté client, le proxy intlayer ne pourra pas y accéder.
|
|
717
|
-
- _Note_: Les paramètres du local storage sont personnalisables s'ils sont définis comme StorageAttributes (`{ type: 'localStorage', name: 'custom-locale' }`).
|
|
718
|
-
|
|
719
|
-
- **sessionStorage**:
|
|
720
|
-
- _Description_: Stocke les données pour la durée d'une session de page, ce qui signifie qu'elles sont effacées une fois l'onglet ou la fenêtre fermés, accessible uniquement côté client.
|
|
721
|
-
- _Note_: Convient pour le stockage temporaire de données pour chaque session.
|
|
722
|
-
- _Note_: Le local storage n'est accessible que côté client, le proxy intlayer ne pourra pas y accéder.
|
|
723
|
-
- _Note_: Les paramètres du local storage sont personnalisables s'ils sont définis comme StorageAttributes (`{ type: 'sessionStorage', name: 'custom-locale' }`).
|
|
724
|
-
|
|
725
|
-
- **header**:
|
|
726
|
-
- _Description_: Utilise les en-têtes HTTP pour stocker ou transmettre les données de locale, adapté à la détermination de la langue côté serveur.
|
|
727
|
-
- _Note_: Utile dans les appels API pour maintenir des paramètres de langue cohérents entre les requêtes.
|
|
728
|
-
- _Note_: L'en-tête n'est accessible que côté serveur, le côté client ne pourra pas y accéder.
|
|
729
|
-
- _Note_: Le nom de l'en-tête est personnalisable s'il est défini comme StorageAttributes (`{ type: 'header', name: 'custom-locale' }`).
|
|
730
|
-
|
|
731
|
-
- **basePath**:
|
|
732
|
-
- _Type_: `string`
|
|
733
|
-
- _Par défaut_: `''`
|
|
734
|
-
- _Description_: Le chemin de base pour les URLs de l'application.
|
|
735
|
-
- _Exemple_: `'/my-app'`
|
|
736
|
-
- _Note_:
|
|
737
|
-
- Si l'application est hébergée à `https://example.com/my-app`
|
|
738
|
-
- Le chemin de base est `'/my-app'`
|
|
739
|
-
- L'URL sera `https://example.com/my-app/en`
|
|
740
|
-
- Si le chemin de base n'est pas défini, l'URL sera `https://example.com/en`
|
|
741
|
-
|
|
742
|
-
- **rewrite**:
|
|
743
|
-
- _Type_: `Record<string, StrictModeLocaleMap<string>>`
|
|
744
|
-
- _Par défaut_: `undefined`
|
|
745
|
-
- _Description_: Règles de réécriture d'URL personnalisées qui remplacent le mode de routage par défaut pour des chemins spécifiques. Permet de définir des chemins spécifiques par locale qui diffèrent du comportement de routage standard. Prend en charge les paramètres de route dynamiques en utilisant la syntaxe `[param]`.
|
|
746
|
-
- _Exemple_:
|
|
747
|
-
```typescript
|
|
748
|
-
routing: {
|
|
749
|
-
mode: "prefix-no-default", // Stratégie de repli
|
|
750
|
-
rewrite: nextjsRewrite({
|
|
751
|
-
"/about": {
|
|
752
|
-
en: "/about",
|
|
753
|
-
fr: "/a-propos",
|
|
754
|
-
},
|
|
755
|
-
"/product/[slug]": {
|
|
756
|
-
en: "/product/[slug]",
|
|
757
|
-
fr: "/produit/[slug]",
|
|
758
|
-
},
|
|
759
|
-
"/blog/[category]/[id]": {
|
|
760
|
-
en: "/blog/[category]/[id]",
|
|
761
|
-
fr: "/journal/[category]/[id]",
|
|
762
|
-
},
|
|
763
|
-
}),
|
|
764
|
-
}
|
|
765
|
-
```
|
|
766
|
-
- _Note_: Les règles de réécriture l'emportent sur le comportement du `mode` par défaut. Si un chemin correspond à une règle de réécriture, le chemin localisé de la configuration de réécriture sera utilisé à la place du préfixage de locale standard.
|
|
767
|
-
- _Note_: Les paramètres de route dynamiques sont pris en charge en utilisant la notation entre crochets (par exemple, `[slug]`, `[id]`). Les valeurs des paramètres sont automatiquement extraites de l'URL et interpolées dans le chemin réécrit.
|
|
768
|
-
- _Note_: Fonctionne avec les applications Next.js et Vite. Le middleware/proxy réécrira automatiquement les requêtes entrantes pour correspondre à la structure de route interne.
|
|
769
|
-
- _Note_: Lors de la génération d'URLs avec `getLocalizedUrl()`, les règles de réécriture sont automatiquement appliquées si elles correspondent au chemin fourni.
|
|
770
|
-
- _Reference_: Pour plus d'informations, voir [Réécritures d'URL personnalisées](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/custom_url_rewrites.md).
|
|
771
|
-
|
|
772
|
-
#### Attributs de Cookie
|
|
773
|
-
|
|
774
|
-
Lorsque vous utilisez le stockage par cookie, vous pouvez configurer des attributs de cookie supplémentaires :
|
|
775
|
-
|
|
776
|
-
- **name**: Nom du cookie (par défaut : `'INTLAYER_LOCALE'`)
|
|
777
|
-
- **domain**: Domaine du cookie (par défaut : undefined)
|
|
778
|
-
- **path**: Chemin du cookie (par défaut : undefined)
|
|
779
|
-
- **secure**: Nécessite HTTPS (par défaut : undefined)
|
|
780
|
-
- **httpOnly**: Drapeau HTTP-only (par défaut : undefined)
|
|
781
|
-
- **sameSite**: Politique SameSite (`'strict' | 'lax' | 'none'`)
|
|
782
|
-
- **expires**: Date d'expiration ou nombre de jours (par défaut : undefined)
|
|
783
|
-
|
|
784
|
-
#### Attributs de Stockage de Locale
|
|
785
|
-
|
|
786
|
-
Lorsque vous utilisez localStorage ou sessionStorage :
|
|
787
|
-
|
|
788
|
-
- **type**: Type de stockage (`'localStorage' | 'sessionStorage'`)
|
|
789
|
-
- **name**: Nom de la clé de stockage (par défaut : `'INTLAYER_LOCALE'`)
|
|
575
|
+
### Configuration de l'Éditeur (Editor Configuration)
|
|
576
|
+
|
|
577
|
+
Définit les paramètres liés à l'éditeur intégré, y compris le port du serveur et l'état d'activité.
|
|
578
|
+
|
|
579
|
+
| Champ | Type | Description | Exemple | Note |
|
|
580
|
+
| ---------------------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
581
|
+
| `applicationURL` | `string` | L'URL de votre application. Par défaut : `''` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Utilisé pour restreindre l'origine de l'éditeur pour des raisons de sécurité. Si défini sur `'*'`, l'éditeur peut être accédé depuis n'importe quelle origine. |
|
|
582
|
+
| `port` | `number` | Port utilisé par le serveur de l'Éditeur Visuel. Par défaut : `8000` | | |
|
|
583
|
+
| `editorURL` | `string` | URL du serveur de l'éditeur. Par défaut : `'http://localhost:8000'` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Utilisé pour restreindre les origines pouvant interagir avec l'application. Si défini sur `'*'`, accessible de n'importe quel origine. Doit être défini en cas de changement de port ou si l'éditeur est hébergé sur un domaine différent. |
|
|
584
|
+
| `cmsURL` | `string` | URL de l'Intlayer CMS. Par défaut : `'https://intlayer.org'` | `'https://intlayer.org'` | |
|
|
585
|
+
| `backendURL` | `string` | URL du serveur backend. Par défaut : `https://back.intlayer.org` | `http://localhost:4000` | |
|
|
586
|
+
| `enabled` | `boolean` | Indique si l'application interagira avec l'éditeur visuel. Par défaut : `true` | `process.env.NODE_ENV !== 'production'` | Si `false`, l'éditeur ne peut pas interagir avec l'application. Le désactiver pour des environnements spécifiques renforce la sécurité. |
|
|
587
|
+
| `clientId` | `string | undefined` | Permet aux paquets intlayer de s'authentifier auprès du backend à l'aide d'oAuth2. Pour obtenir un jeton d'accès, rendez-vous sur [intlayer.org/project](https://app.intlayer.org/project). Par défaut : `undefined` | | Garder secret ; stocker dans les variables d'environnement. |
|
|
588
|
+
| `clientSecret` | `string | undefined` | Permet aux paquets intlayer de s'authentifier auprès du backend à l'aide d'oAuth2. Pour obtenir un jeton d'accès, rendez-vous sur [intlayer.org/project](https://app.intlayer.org/project). Par défaut : `undefined` | | Garder secret ; stocker dans les variables d'environnement. |
|
|
589
|
+
| `dictionaryPriorityStrategy` | `string` | Stratégie de priorisation des dictionnaires lorsque des dictionnaires locaux et distants sont présents. Par défaut : `'local_first'` | `'distant_first'` | `'distant_first'`: donne la priorité au distant sur le local. `'local_first'`: donne la priorité au local sur le distant. |
|
|
590
|
+
| `liveSync` | `boolean` | Indique si le serveur de l'application doit recharger le contenu à chaud lorsqu'un changement est détecté sur le CMS / Éditeur Visuel / Backend. Par défaut : `true` | `true` | Lorsqu'un dictionnaire est ajouté/mis à jour, l'application met à jour le contenu de la page. La synchronisation en direct externalise le contenu vers un autre serveur, ce qui peut affecter légèrement les performances. Il est recommandé d'héberger les deux sur la même machine. |
|
|
591
|
+
| `liveSyncPort` | `number` | Port du serveur de synchronisation en direct. Par défaut : `4000` | `4000` | |
|
|
592
|
+
| `liveSyncURL` | `string` | URL du serveur de synchronisation en direct. Par défaut : `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Pointe vers localhost par défaut ; peut être changé pour un serveur de synchronisation en direct distant. |
|
|
593
|
+
|
|
594
|
+
### Configuration du Routage (Routing Configuration)
|
|
595
|
+
|
|
596
|
+
Paramètres contrôlant le comportement du routage, y compris la structure des URL, le stockage des locales et la gestion du middleware.
|
|
597
|
+
|
|
598
|
+
| Champ | Type | Description | Exemple | Note |
|
|
599
|
+
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
600
|
+
| `mode` | `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'` | Mode de routage d'URL pour la gestion des locales. Par défaut : `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) ou `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: la locale est gérée par d'autres moyens. `'search-params'`: `/dashboard?locale=fr` | N'affecte pas la gestion des cookies ou du stockage des locales. |
|
|
601
|
+
| `storage` | `false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array` | Configuration pour stocker la locale sur le client. Par défaut : `['cookie', 'header']` | `'localStorage'`, `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Voir le tableau des Options de Stockage ci-dessous. |
|
|
602
|
+
| `basePath` | `string` | Chemin de base pour les URL de l'application. Par défaut : `''` | `'/my-app'` | Si l'application est sur `https://example.com/my-app`, basePath est `'/my-app'` et les URL deviennent `https://example.com/my-app/en`. |
|
|
603
|
+
| `rewrite` | `Record<string, StrictModeLocaleMap<string>>` | Règles de réécritures d'URL personnalisées qui surchargent le mode de routage par défaut pour des chemins spécifiques. Supporte les paramètres dynamiques `[param]`. Par défaut : `undefined` | Voir l'exemple ci-dessous | Les règles de réécriture ont la priorité sur le `mode`. Fonctionne avec Next.js et Vite. `getLocalizedUrl()` applique automatiquement les règles correspondantes. Voir [Réécritures d'URL Personnalisées](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/custom_url_rewrites.md). |
|
|
604
|
+
|
|
605
|
+
**Exemple de `rewrite`** :
|
|
606
|
+
|
|
607
|
+
```typescript
|
|
608
|
+
routing: {
|
|
609
|
+
mode: "prefix-no-default", // Stratégie de repli
|
|
610
|
+
rewrite: nextjsRewrite({
|
|
611
|
+
"/about": {
|
|
612
|
+
en: "/about",
|
|
613
|
+
fr: "/a-propos",
|
|
614
|
+
},
|
|
615
|
+
"/product/[slug]": {
|
|
616
|
+
en: "/product/[slug]",
|
|
617
|
+
fr: "/produit/[slug]",
|
|
618
|
+
},
|
|
619
|
+
"/blog/[category]/[id]": {
|
|
620
|
+
en: "/blog/[category]/[id]",
|
|
621
|
+
fr: "/journal/[category]/[id]",
|
|
622
|
+
},
|
|
623
|
+
}),
|
|
624
|
+
}
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
#### Options de Stockage (Storage Options)
|
|
628
|
+
|
|
629
|
+
| Valeur | Description | Note |
|
|
630
|
+
| ------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
631
|
+
| `'cookie'` | Stocke la locale dans les cookies — accessible par les côtés client et serveur. | Pour la conformité au RGPD, assurez-vous d'obtenir le consentement approprié de l'utilisateur. Personnalisable via `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). |
|
|
632
|
+
| `'localStorage'` | Stocke la locale dans le navigateur sans date d'expiration — côté client uniquement. | N'expire pas à moins d'être explicitement effacé. Le proxy Intlayer ne peut pas y accéder. Personnalisable via `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). |
|
|
633
|
+
| `'sessionStorage'` | Stocke la locale pendant la durée de la session de la page — côté client uniquement. | Effacé à la fermeture de l'onglet/fenêtre. Le proxy Intlayer ne peut pas y accéder. Personnalisable via `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). |
|
|
634
|
+
| `'header'` | Stocke ou transmet la locale via les en-têtes HTTP — côté serveur uniquement. | Utile pour les appels d'API. Le côté client ne peut pas y accéder. Personnalisable via `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). |
|
|
635
|
+
|
|
636
|
+
#### Attributs de Cookie (Cookie Attributes)
|
|
637
|
+
|
|
638
|
+
Lors du stockage par cookie, vous pouvez configurer des attributs supplémentaires :
|
|
639
|
+
|
|
640
|
+
| Champ | Type | Description |
|
|
641
|
+
| ---------- | ------------------------------------- | -------------------------------------------------------------- |
|
|
642
|
+
| `name` | `string` | Nom du cookie. Par défaut : `'INTLAYER_LOCALE'` |
|
|
643
|
+
| `domain` | `string` | Domaine du cookie. Par défaut : `undefined` |
|
|
644
|
+
| `path` | `string` | Chemin du cookie. Par défaut : `undefined` |
|
|
645
|
+
| `secure` | `boolean` | Nécessite HTTPS. Par défaut : `undefined` |
|
|
646
|
+
| `httpOnly` | `boolean` | Drapeau HTTP-only. Par défaut : `undefined` |
|
|
647
|
+
| `sameSite` | `'strict' | 'lax' | 'none'` | Politique SameSite. |
|
|
648
|
+
| `expires` | `Date | number` | Date d'expiration ou nombre de jours. Par défaut : `undefined` |
|
|
649
|
+
|
|
650
|
+
#### Attributs de Stockage de Locale (Locale Storage Attributes)
|
|
651
|
+
|
|
652
|
+
Lors de l'utilisation de localStorage ou sessionStorage :
|
|
653
|
+
|
|
654
|
+
| Champ | Type | Description |
|
|
655
|
+
| ------ | ---------------------------------------- | ----------------------------------------------------------- |
|
|
656
|
+
| `type` | `'localStorage' | 'sessionStorage'` | Type de stockage. |
|
|
657
|
+
| `name` | `string` | Nom de la clé de stockage. Par défaut : `'INTLAYER_LOCALE'` |
|
|
790
658
|
|
|
791
659
|
#### Exemples de Configuration
|
|
792
660
|
|
|
793
|
-
Voici quelques exemples courants de configuration pour la nouvelle structure de routage
|
|
661
|
+
Voici quelques exemples courants de configuration pour la nouvelle structure de routage v7 :
|
|
794
662
|
|
|
795
|
-
**Configuration
|
|
663
|
+
**Configuration Basique (Par Défaut)** :
|
|
796
664
|
|
|
797
665
|
```typescript
|
|
798
666
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
@@ -812,7 +680,7 @@ const config: IntlayerConfig = {
|
|
|
812
680
|
export default config;
|
|
813
681
|
```
|
|
814
682
|
|
|
815
|
-
**Configuration
|
|
683
|
+
**Configuration Conforme au RGPD** :
|
|
816
684
|
|
|
817
685
|
```typescript
|
|
818
686
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
@@ -844,7 +712,7 @@ const config: IntlayerConfig = {
|
|
|
844
712
|
export default config;
|
|
845
713
|
```
|
|
846
714
|
|
|
847
|
-
**Mode Paramètres de Recherche** :
|
|
715
|
+
**Mode Paramètres de Recherche (Search Parameters Mode)** :
|
|
848
716
|
|
|
849
717
|
```typescript
|
|
850
718
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
@@ -864,7 +732,7 @@ const config: IntlayerConfig = {
|
|
|
864
732
|
export default config;
|
|
865
733
|
```
|
|
866
734
|
|
|
867
|
-
**Mode
|
|
735
|
+
**Mode Sans Préfixe avec Stockage Personnalisé**:
|
|
868
736
|
|
|
869
737
|
```typescript
|
|
870
738
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
@@ -887,7 +755,7 @@ const config: IntlayerConfig = {
|
|
|
887
755
|
export default config;
|
|
888
756
|
```
|
|
889
757
|
|
|
890
|
-
**Réécriture d'URL
|
|
758
|
+
**Réécriture d'URL Personnalisée avec Chemins Dynamiques**:
|
|
891
759
|
|
|
892
760
|
```typescript
|
|
893
761
|
// intlayer.config.ts
|
|
@@ -899,7 +767,7 @@ const config: IntlayerConfig = {
|
|
|
899
767
|
defaultLocale: "en",
|
|
900
768
|
},
|
|
901
769
|
routing: {
|
|
902
|
-
mode: "prefix-no-default", //
|
|
770
|
+
mode: "prefix-no-default", // Repli pour les chemins non réécrits
|
|
903
771
|
storage: "cookie",
|
|
904
772
|
rewrite: nextjsRewrite({
|
|
905
773
|
"/about": {
|
|
@@ -923,381 +791,132 @@ export default config;
|
|
|
923
791
|
|
|
924
792
|
---
|
|
925
793
|
|
|
926
|
-
### Configuration du
|
|
927
|
-
|
|
928
|
-
Paramètres
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
- _Exemple_ : `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
|
|
939
|
-
- _Note_ : La configuration de remplissage automatique. Elle peut être :
|
|
940
|
-
- boolean : Activer le remplissage automatique pour toutes les locales
|
|
941
|
-
- string : Chemin vers un fichier unique ou un modèle avec variables
|
|
942
|
-
- object : Chemins de fichiers par locale
|
|
943
|
-
|
|
944
|
-
- **watch** :
|
|
945
|
-
- _Type_ : `boolean`
|
|
946
|
-
- _Défaut_ : `process.env.NODE_ENV === 'development'`
|
|
947
|
-
- _Description_ : Indique si Intlayer doit surveiller les modifications dans les fichiers de déclaration de contenu de l'application pour reconstruire les dictionnaires associés.
|
|
948
|
-
|
|
949
|
-
- **fileExtensions** :
|
|
950
|
-
- _Type_ : `string[]`
|
|
951
|
-
- _Défaut_ : `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
|
|
952
|
-
- _Description_ : Extensions de fichiers à rechercher lors de la construction des dictionnaires.
|
|
953
|
-
- _Exemple_ : `['.data.ts', '.data.js', '.data.json']`
|
|
954
|
-
- _Note_ : Personnaliser les extensions de fichiers peut aider à éviter les conflits.
|
|
955
|
-
|
|
956
|
-
- **contentDir** :
|
|
957
|
-
- _Type_ : `string[]`
|
|
958
|
-
- _Défaut_ : `['.']`
|
|
959
|
-
- _Exemple_ : `['src', '../../ui-library', require.resolve("@my-package/content")]`
|
|
960
|
-
- _Description_ : Le chemin du répertoire où les fichiers de définition de contenu (`.content.*`) sont stockés.
|
|
961
|
-
- _Note_ : Ceci est utilisé pour surveiller les fichiers de contenu afin de reconstruire les dictionnaires.
|
|
962
|
-
|
|
963
|
-
- **codeDir** :
|
|
964
|
-
- _Type_ : `string[]`
|
|
965
|
-
- _Défaut_ : `['.']`
|
|
966
|
-
- _Exemple_ : `['src', '../../ui-library']`
|
|
967
|
-
- _Description_ : Le chemin du répertoire où le code est stocké, relatif au répertoire de base.
|
|
968
|
-
- _Note_ : Ceci est utilisé pour surveiller les fichiers de code à transformer (élaguer, optimiser). Garder cela séparé de `contentDir` peut améliorer les performances de compilation en évitant les analyses inutiles des fichiers de contenu.
|
|
969
|
-
|
|
970
|
-
- **excludedPath** :
|
|
971
|
-
- _Type_ : `string[]`
|
|
972
|
-
- _Défaut_ : `['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']`
|
|
973
|
-
- _Description_ : Répertoires exclus de la recherche de contenu.
|
|
974
|
-
- _Note_ : Ce paramètre n'est pas encore utilisé, mais est prévu pour une future mise en œuvre.
|
|
975
|
-
|
|
976
|
-
- **formatCommand** :
|
|
977
|
-
- _Type_ : `string`
|
|
978
|
-
- _Défaut_ : `undefined`
|
|
979
|
-
- _Description_ : La commande pour formater le contenu. Lorsqu'Intlayer écrit vos fichiers .content localement, cette commande sera utilisée pour formater le contenu.
|
|
980
|
-
- _Exemple_ : `'npx prettier --write "{{file}}" --log-level silent'` Utilisation de Prettier
|
|
981
|
-
- _Exemple_ : `'npx biome format "{{file}}" --write --log-level none'` Utilisation de Biome
|
|
982
|
-
- _Exemple_ : `'npx eslint --fix "{{file}}" --quiet'` Utilisation d'ESLint
|
|
983
|
-
- _Note_ : Intlayer remplacera {{file}} par le chemin du fichier à formater.
|
|
984
|
-
- _Note_ : Si non défini, Intlayer essaiera de détecter automatiquement la commande de formatage. En essayant de résoudre les commandes suivantes : prettier, biome, eslint.
|
|
794
|
+
### Configuration du Contenu (Content Configuration)
|
|
795
|
+
|
|
796
|
+
Paramètres relatifs au traitement du contenu dans l'application (noms de répertoires, extensions de fichiers et configurations dérivées).
|
|
797
|
+
|
|
798
|
+
| Champ | Type | Description | Exemple | Note |
|
|
799
|
+
| ---------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
800
|
+
| `watch` | `boolean` | Indique si Intlayer doit surveiller les modifications des fichiers de déclaration de contenu pour reconstruire les dictionnaires. Par défaut : `process.env.NODE_ENV === 'development'` | | |
|
|
801
|
+
| `fileExtensions` | `string[]` | Extensions de fichiers utilisées pour scanner les fichiers de déclaration de contenu. Par défaut : `['.content.ts', '.content.js', '.content.mjs', '.content.cjs', '.content.json', '.content.json5', '.content.jsonc']` | `['.content.ts', '.content.js']` | |
|
|
802
|
+
| `contentDir` | `string[]` | Chemins vers les répertoires où se trouvent les fichiers de déclaration de contenu. Par défaut : `['.']` | `['src/content']` | |
|
|
803
|
+
| `codeDir` | `string[]` | Chemins vers les répertoires où se trouvent les fichiers du code source de votre application. Par défaut : `['.']` | `['src']` | Utilisé pour optimiser le build et garantir que la transformation de code et le rechargement à chaud ne s'appliquent qu'aux fichiers nécessaires. |
|
|
804
|
+
| `excludedPath` | `string[]` | Chemins exclus du scan de contenu. Par défaut : `['node_modules', '.intlayer', '.next', 'dist', 'build']` | `['src/styles']` | |
|
|
805
|
+
| `formatCommand` | `string` | Commande qui sera exécutée pour formater les fichiers de contenu nouvellement créés ou mis à jour. Par défaut : `undefined` | `'npx prettier --write "{{file}}"'` | Utilisé lors de l'extraction de contenu ou via l'éditeur visuel. |
|
|
985
806
|
|
|
986
807
|
---
|
|
987
808
|
|
|
988
|
-
### Configuration
|
|
989
|
-
|
|
990
|
-
Paramètres
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
2. **Comportement de repli** : Fournir des valeurs de repli lorsque des champs spécifiques ne sont pas définis, vous permettant de définir le comportement des opérations du dictionnaire globalement
|
|
1046
|
-
|
|
1047
|
-
Pour plus d'informations sur les fichiers de déclaration de contenu et la façon dont les valeurs de configuration sont appliquées, consultez la [Documentation du fichier de contenu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/content_file.md).
|
|
1048
|
-
|
|
1049
|
-
#### Propriétés
|
|
1050
|
-
|
|
1051
|
-
- **fill**
|
|
1052
|
-
- **description**
|
|
1053
|
-
- **locale**
|
|
1054
|
-
- **location**
|
|
1055
|
-
- **importMode**:
|
|
1056
|
-
- _Note_: **Deprecated**: Use `dictionary.importMode` instead.
|
|
1057
|
-
- _Type_: `'static' | 'dynamic' | 'fetch'`
|
|
1058
|
-
- _Par défaut_: `'static'`
|
|
1059
|
-
- _Description_: Controls how dictionaries are imported.
|
|
1060
|
-
- _Exemple_: `'dynamic'`
|
|
1061
|
-
- **priority**
|
|
1062
|
-
- **live**
|
|
1063
|
-
- **schema**
|
|
1064
|
-
- **title**
|
|
1065
|
-
- **tags**
|
|
1066
|
-
- **version**
|
|
809
|
+
### Configuration du Dictionnaire (Dictionary Configuration)
|
|
810
|
+
|
|
811
|
+
Paramètres contrôlant les opérations de dictionnaire, y compris le comportement de remplissage automatique et la génération de contenu.
|
|
812
|
+
|
|
813
|
+
Cette configuration de dictionnaire sert deux objectifs principaux :
|
|
814
|
+
|
|
815
|
+
1. **Valeurs par Défaut** : Définir des valeurs par défaut lors de la création de fichiers de déclaration de contenu.
|
|
816
|
+
2. **Comportement de Repli** : Fournir des valeurs de repli lorsque des champs spécifiques ne sont pas définis, vous permettant de définir globalement le comportement des opérations de dictionnaire.
|
|
817
|
+
|
|
818
|
+
Pour plus d'informations sur les fichiers de déclaration de contenu et sur la manière dont les valeurs de configuration sont appliquées, consultez la [Documentation des fichiers de contenu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/content_file.md).
|
|
819
|
+
|
|
820
|
+
| Champ | Type | Description | Exemple | Note |
|
|
821
|
+
| --------------------------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
822
|
+
| `fill` | `boolean | FilePathPattern | Partial<Record<Locale, boolean | FilePathPattern>>` | Contrôle la manière dont les fichiers de sortie de remplissage automatique (traduction par IA) sont générés. Par défaut : `true` | Voir l'exemple ci-dessous | `true`: chemin par défaut (même fichier que la source). `false`: désactiver. Un modèle de chaîne/fonction génère des fichiers par locale. Objet par locale : chaque locale correspond à son propre modèle ; `false` ignore cette locale. L'inclusion de `{{locale}}` déclenche la génération par locale. Le `fill` au niveau du dictionnaire a toujours la priorité sur cette configuration globale. |
|
|
823
|
+
| `importMode` | `'static' | 'dynamic' | 'fetch'` | Contrôle la manière dont les dictionnaires sont importés. Par défaut : `'static'` | `'dynamic'` | `'static'`: importé statiquement. `'dynamic'`: importé dynamiquement via Suspense. `'fetch'`: récupéré dynamiquement via l'API live sync. N'affecte pas `getIntlayer`, `getDictionary`, `useDictionary`, etc. |
|
|
824
|
+
| `location` | `'local' | 'remote' | 'hybrid' | string` | Où sont stockés les dictionnaires. Par défaut : `'local'` | `'remote'` | `'local'`: système de fichiers. `'remote'`: Intlayer CMS. `'hybrid'`: les deux. |
|
|
825
|
+
| `contentAutoTransformation` | `boolean` | Indique si les fichiers de contenu doivent être automatiquement transformés (ex: de Markdown à HTML). Par défaut : `false` | `true` | Utile pour traiter les champs Markdown via @intlayer/markdown. |
|
|
826
|
+
|
|
827
|
+
**Exemple de `fill`** :
|
|
828
|
+
|
|
829
|
+
```ts
|
|
830
|
+
dictionary: {
|
|
831
|
+
fill: {
|
|
832
|
+
en: '/locales/en/{{key}}.content.json',
|
|
833
|
+
fr: ({ key }) => `/locales/fr/${key}.content.json`,
|
|
834
|
+
es: false,
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
---
|
|
840
|
+
|
|
841
|
+
### Configuration AI (AI Configuration)
|
|
842
|
+
|
|
843
|
+
Définit les paramètres pour les fonctionnalités basées sur l'IA d'Intlayer, telles que la construction de traductions.
|
|
844
|
+
|
|
845
|
+
| Champ | Type | Description | Exemple | Note |
|
|
846
|
+
| -------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
847
|
+
| `provider` | `string` | Fournisseur d'IA à utiliser. | `'openai'`, `'anthropic'`, `'googlevertex'` | |
|
|
848
|
+
| `model` | `string` | Modèle d'IA à utiliser. | `'gpt-4o'`, `'claude-3-5-sonnet-20240620'` | |
|
|
849
|
+
| `apiKey` | `string` | Clé API pour le fournisseur sélectionné. | `process.env.OPENAI_API_KEY` | |
|
|
850
|
+
| `applicationContext` | `string` | Contexte supplémentaire sur votre application pour améliorer la précision de la traduction par l'IA. | `'Une plateforme d'apprentissage pour les enfants.'` | |
|
|
851
|
+
| `baseURL` | `string` | URL de base optionnelle pour les appels d'API. | | Utile si vous utilisez un proxy ou un déploiement d'IA local. |
|
|
852
|
+
| `dataSerialization` | `'json' | 'toon'` | Définit comment les données sont envoyées à l'IA. Par défaut : `'json'` | `'json'` | `'json'`: plus robuste et précis. `'toon'`: consomme moins de tokens mais peut être moins stable. |
|
|
853
|
+
|
|
854
|
+
---
|
|
855
|
+
|
|
856
|
+
### Configuration de Build (Build Configuration)
|
|
857
|
+
|
|
858
|
+
Paramètres pour le processus de build et d'optimisation d'Intlayer.
|
|
859
|
+
|
|
860
|
+
| Champ | Type | Description | Exemple | Note |
|
|
861
|
+
| -------------- | ------------------------ | --------------------------------------------------------------------------------------------------------------------------- | ------- | ---- |
|
|
862
|
+
| `mode` | `'auto' | 'manual'` | Indique si Intlayer doit s'exécuter automatiquement pendant les étapes de pré-build de l'application. Par défaut : `'auto'` | | |
|
|
863
|
+
| `optimize` | `boolean` | Indique si les dictionnaires compilés doivent être optimisés pour l'exécution. Par défaut : `true` en production | | |
|
|
864
|
+
| `outputFormat` | `('cjs' | 'esm')[]` | Format de sortie pour les fichiers de dictionnaire générés. Par défaut : `['cjs', 'esm']` | | |
|
|
865
|
+
| `checkTypes` | `boolean` | Indique si Intlayer doit vérifier les types dans les fichiers générés. Par défaut : `false` | | |
|
|
1067
866
|
|
|
1068
867
|
---
|
|
1069
868
|
|
|
1070
|
-
### Configuration
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
- **prefix** :
|
|
1085
|
-
- _Type_ : `string`
|
|
1086
|
-
- _Default_ : `'[intlayer] '`
|
|
1087
|
-
- _Description_ : Le préfixe du logger.
|
|
1088
|
-
- _Example_ : `'[my custom prefix] '`
|
|
1089
|
-
- _Note_: Le préfixe du logger.
|
|
1090
|
-
|
|
1091
|
-
### Configuration de l'IA
|
|
1092
|
-
|
|
1093
|
-
Paramètres qui contrôlent les fonctionnalités d'IA d'Intlayer, y compris le fournisseur, le modèle et la clé API.
|
|
1094
|
-
|
|
1095
|
-
Cette configuration est optionnelle si vous êtes inscrit sur le [Tableau de bord Intlayer](https://app.intlayer.org/project) en utilisant une clé d'accès. Intlayer gérera automatiquement la solution d'IA la plus efficace et la plus rentable pour vos besoins. Utiliser les options par défaut garantit une meilleure maintenabilité à long terme, car Intlayer met continuellement à jour pour utiliser les modèles les plus pertinents.
|
|
1096
|
-
|
|
1097
|
-
Si vous préférez utiliser votre propre clé API ou un modèle spécifique, vous pouvez définir votre configuration IA personnalisée.
|
|
1098
|
-
Cette configuration IA sera utilisée globalement dans votre environnement Intlayer. Les commandes CLI utiliseront ces paramètres par défaut pour les commandes (par exemple `fill`), ainsi que le SDK, l'éditeur visuel et le CMS. Vous pouvez remplacer ces valeurs par défaut pour des cas d'utilisation spécifiques en utilisant des paramètres de commande.
|
|
1099
|
-
|
|
1100
|
-
Intlayer prend en charge plusieurs fournisseurs d'IA pour une flexibilité et un choix accrus. Les fournisseurs actuellement pris en charge sont :
|
|
1101
|
-
|
|
1102
|
-
- **OpenAI** (par défaut)
|
|
1103
|
-
- **Anthropic Claude**
|
|
1104
|
-
- **Mistral AI**
|
|
1105
|
-
- **DeepSeek**
|
|
1106
|
-
- **Google Gemini**
|
|
1107
|
-
- **Meta Llama**
|
|
1108
|
-
- **Ollama**
|
|
1109
|
-
- **OpenRouter**
|
|
1110
|
-
- **Alibaba Cloud**
|
|
1111
|
-
- **Fireworks**
|
|
1112
|
-
- **Hugging Face**
|
|
1113
|
-
- **Groq**
|
|
1114
|
-
- **Amazon Bedrock**
|
|
1115
|
-
- **Google AI Studio**
|
|
1116
|
-
- **Google Vertex**
|
|
1117
|
-
- **Together.ai**
|
|
1118
|
-
- **ollama**
|
|
1119
|
-
|
|
1120
|
-
#### Propriétés
|
|
1121
|
-
|
|
1122
|
-
- **provider** :
|
|
1123
|
-
- _Type_ : `string`
|
|
1124
|
-
- _Par défaut_ : `'openai'`
|
|
1125
|
-
- _Description_ : Le fournisseur à utiliser pour les fonctionnalités IA d'Intlayer.
|
|
1126
|
-
- _Options_ : `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
|
|
1127
|
-
- _Exemple_ : `'anthropic'`
|
|
1128
|
-
- _Note_: Différents fournisseurs peuvent nécessiter des clés API différentes et avoir des modèles de tarification différents.
|
|
1129
|
-
|
|
1130
|
-
- **model** :
|
|
1131
|
-
- _Type_ : `string`
|
|
1132
|
-
- _Par défaut_ : Aucun
|
|
1133
|
-
- _Description_ : Le modèle à utiliser pour les fonctionnalités d'IA d'Intlayer.
|
|
1134
|
-
- _Exemple_ : `'gpt-4o-2024-11-20'`
|
|
1135
|
-
- _Note_ : Le modèle spécifique à utiliser varie selon le fournisseur.
|
|
1136
|
-
|
|
1137
|
-
- **temperature** :
|
|
1138
|
-
- _Type_ : `number`
|
|
1139
|
-
- _Par défaut_ : Aucun
|
|
1140
|
-
- _Description_ : La température contrôle l'aléatoire des réponses de l'IA.
|
|
1141
|
-
- _Exemple_ : `0.1`
|
|
1142
|
-
- _Note_ : Une température plus élevée rendra l'IA plus créative et moins prévisible.
|
|
1143
|
-
|
|
1144
|
-
- **apiKey** :
|
|
1145
|
-
- _Type_ : `string`
|
|
1146
|
-
- _Par défaut_ : Aucun
|
|
1147
|
-
- _Description_ : Votre clé API pour le fournisseur sélectionné.
|
|
1148
|
-
- _Exemple_ : `process.env.OPENAI_API_KEY`
|
|
1149
|
-
- _Note_ : Important : Les clés API doivent être gardées secrètes et ne doivent pas être partagées publiquement. Veuillez vous assurer de les conserver dans un endroit sécurisé, comme des variables d'environnement.
|
|
1150
|
-
|
|
1151
|
-
- **applicationContext** :
|
|
1152
|
-
- _Type_ : `string`
|
|
1153
|
-
- _Par défaut_ : Aucun
|
|
1154
|
-
- _Description_ : Fournit un contexte supplémentaire sur votre application au modèle d'IA, l'aidant à générer des traductions plus précises et contextuellement appropriées. Cela peut inclure des informations sur le domaine de votre application, le public cible, le ton ou une terminologie spécifique.
|
|
1155
|
-
- _Note_: Vous pouvez l'utiliser pour ajouter plus de règles au modèle d'IA (par exemple "Vous ne devez pas transformer les urls").
|
|
1156
|
-
- _Exemple_ : `'Mon contexte d'application'`
|
|
1157
|
-
|
|
1158
|
-
- **baseURL** :
|
|
1159
|
-
- _Type_ : `string`
|
|
1160
|
-
- _Par défaut_ : Aucun
|
|
1161
|
-
- _Description_ : L'URL de base pour l'API d'IA.
|
|
1162
|
-
- _Exemple_ : `'https://api.openai.com/v1'`
|
|
1163
|
-
- _Exemple_ : `'http://localhost:5000'`
|
|
1164
|
-
- _Note_ : Peut être utilisé pour pointer vers un point de terminaison d'API d'IA local ou personnalisé.
|
|
1165
|
-
|
|
1166
|
-
- **dataSerialization**:
|
|
1167
|
-
- _Type_: `'json' | 'toon'`
|
|
1168
|
-
- _Par défaut_: `'json'`
|
|
1169
|
-
- _Description_: Le format de sérialisation des données à utiliser pour les fonctionnalités d'IA d'Intlayer.
|
|
1170
|
-
- _Exemple_: `'toon'`
|
|
1171
|
-
- _Note_: `json`: Standard, fiable ; utilise plus de tokens. `toon`: Moins de tokens, moins cohérent que le JSON.
|
|
1172
|
-
> Si vous fournissez des paramètres supplémentaires, Intlayer les transmettra au modèle d'IA en tant que contexte. Cela peut être utilisé pour personnaliser l'effort de raisonnement, la verbosité du texte, etc.
|
|
1173
|
-
|
|
1174
|
-
### Configuration du Build
|
|
1175
|
-
|
|
1176
|
-
Paramètres qui contrôlent la manière dont Intlayer optimise et construit l'internationalisation de votre application.
|
|
1177
|
-
|
|
1178
|
-
Les options de build s'appliquent aux plugins `@intlayer/babel` et `@intlayer/swc`.
|
|
1179
|
-
|
|
1180
|
-
> En mode développement, Intlayer utilise des imports statiques pour les dictionnaires afin de simplifier l'expérience de développement.
|
|
1181
|
-
|
|
1182
|
-
> Lorsqu'il est optimisé, Intlayer remplacera les appels aux dictionnaires pour optimiser le découpage, de sorte que le bundle final importe uniquement les dictionnaires réellement utilisés.
|
|
1183
|
-
|
|
1184
|
-
#### Propriétés
|
|
1185
|
-
|
|
1186
|
-
- **mode** :
|
|
1187
|
-
- _Type_ : `'auto' | 'manual'`
|
|
1188
|
-
- _Par défaut_ : `'auto'`
|
|
1189
|
-
- _Description_ : Contrôle le mode du build.
|
|
1190
|
-
- _Exemple_ : `'manual'`
|
|
1191
|
-
- _Note_ : Si 'auto', le build sera activé automatiquement lors de la construction de l'application.
|
|
1192
|
-
- _Note_ : Si 'manual', le build ne sera activé que lorsque la commande de build est exécutée.
|
|
1193
|
-
- _Note_ : Peut être utilisé pour désactiver la construction des dictionnaires, par exemple lorsque l'exécution dans un environnement Node.js doit être évitée.
|
|
1194
|
-
|
|
1195
|
-
- **optimize** :
|
|
1196
|
-
- _Type_ : `boolean`
|
|
1197
|
-
- _Par défaut_ : `undefined`
|
|
1198
|
-
- _Description_ : Contrôle si le build doit être optimisé.
|
|
1199
|
-
- _Exemple_ : `process.env.NODE_ENV === 'production'`
|
|
1200
|
-
- _Note_ : Par défaut, l'optimisation du build n'est pas fixée. Si elle n'est pas définie, Intlayer déclenchera l'optimisation du build lors de la construction de votre application (vite / nextjs / etc). La définir sur `true` forcera l'optimisation du build, y compris en mode développement. La définir sur `false` désactivera l'optimisation du build.
|
|
1201
|
-
- _Note_ : Lorsqu'activé, Intlayer remplacera tous les appels aux dictionnaires pour optimiser le découpage. Ainsi, le bundle final n'importera que les dictionnaires utilisés. Tous les imports resteront des imports statiques pour éviter un traitement asynchrone lors du chargement des dictionnaires.
|
|
1202
|
-
- _Note_ : Intlayer remplacera tous les appels de `useIntlayer` par le mode défini via l'option `importMode` et `getIntlayer` par `getDictionary`.
|
|
1203
|
-
- _Note_ : Cette option repose sur les plugins `@intlayer/babel` et `@intlayer/swc`.
|
|
1204
|
-
- _Note_ : Assurez-vous que toutes les clés sont déclarées statiquement dans les appels `useIntlayer`. Par exemple `useIntlayer('navbar')`.
|
|
1205
|
-
|
|
1206
|
-
- **checkTypes** :
|
|
1207
|
-
- _Type_ : `boolean`
|
|
1208
|
-
- _Par défaut_ : `false`
|
|
1209
|
-
- _Description_ : Indique si le build doit vérifier les types TypeScript et consigner les erreurs.
|
|
1210
|
-
- _Note_ : Cela peut ralentir le build.
|
|
1211
|
-
|
|
1212
|
-
- **outputFormat** :
|
|
1213
|
-
- _Type_ : `('esm' | 'cjs')[]`
|
|
1214
|
-
- _Par défaut_ : `['cjs', 'esm']`
|
|
1215
|
-
- _Description_ : Contrôle le format de sortie des dictionnaires.
|
|
1216
|
-
- _Exemple_ : `'cjs'`
|
|
1217
|
-
- _Note_ : Le format de sortie des dictionnaires.
|
|
1218
|
-
|
|
1219
|
-
- **traversePattern** :
|
|
1220
|
-
- _Type_ : `string[]`
|
|
1221
|
-
- _Par défaut_ : `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
|
|
1222
|
-
- _Description_ : Modèles qui définissent quels fichiers doivent être parcourus lors de l'optimisation.
|
|
1223
|
-
- _Exemple_ : `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
|
|
1224
|
-
- _Note_ : Utilisez ceci pour limiter l'optimisation aux fichiers de code pertinents et améliorer les performances de construction.
|
|
1225
|
-
- _Note_ : Cette option sera ignorée si `optimize` est désactivé.
|
|
1226
|
-
- _Note_ : Utilisez un motif glob.
|
|
869
|
+
### Configuration Système (System Configuration)
|
|
870
|
+
|
|
871
|
+
Ces paramètres sont destinés aux cas d'utilisation avancés et à la configuration interne d'Intlayer.
|
|
872
|
+
|
|
873
|
+
| Champ | Type | Description | Par défaut |
|
|
874
|
+
| ------------------------- | -------- | -------------------------------------------------- | --------------------------------- |
|
|
875
|
+
| `dictionariesDir` | `string` | Répertoire des dictionnaires compilés. | `'.intlayer/dictionary'` |
|
|
876
|
+
| `moduleAugmentationDir` | `string` | Répertoire d'augmentation de modules TypeScript. | `'.intlayer/types'` |
|
|
877
|
+
| `unmergedDictionariesDir` | `string` | Répertoire des dictionnaires non fusionnés. | `'.intlayer/unmerged_dictionary'` |
|
|
878
|
+
| `typesDir` | `string` | Répertoire des types générés. | `'.intlayer/types'` |
|
|
879
|
+
| `mainDir` | `string` | Répertoire du fichier principal d'Intlayer. | `'.intlayer/main'` |
|
|
880
|
+
| `configDir` | `string` | Répertoire des fichiers de configuration compilés. | `'.intlayer/config'` |
|
|
881
|
+
| `cacheDir` | `string` | Répertoire des fichiers de cache. | `'.intlayer/cache'` |
|
|
1227
882
|
|
|
1228
883
|
---
|
|
1229
884
|
|
|
1230
|
-
### Configuration du
|
|
1231
|
-
|
|
1232
|
-
Paramètres
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
- **output**:
|
|
1270
|
-
- _Type_: `FilePathPattern`
|
|
1271
|
-
- _Par défaut_: `undefined`
|
|
1272
|
-
- _Description_: Définit le chemin des fichiers de sortie. Remplace `outputDir`. Gère les variables dynamiques via des chaînes de modèles ou une fonction. Variables prises en charge : `{{fileName}}`, `{{key}}`, `{{locale}}`, `{{extension}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{format}}`, `{{componentFormat}}`, et `{{componentDirPath}}`.
|
|
1273
|
-
- _Note_: Les chemins `./` sont résolus par rapport au répertoire du composant. Les chemins `/` sont résolus par rapport à la racine du projet (`baseDir`).
|
|
1274
|
-
- _Note_: L'inclusion de la variable `{{locale}}` dans le chemin déclenchera la génération de dictionnaires séparés par locale.
|
|
1275
|
-
- _Exemple_:
|
|
1276
|
-
- **Fichiers multilingues près du composant** :
|
|
1277
|
-
- Chaîne : `'./{{fileName}}{{extension}}'`
|
|
1278
|
-
- Fonction : `({ fileName, extension }) => \`./${fileName}${extension}\``
|
|
1279
|
-
|
|
1280
|
-
- **JSON centralisé par locale** :
|
|
1281
|
-
- Chaîne : `'/locales/{{locale}}/{{key}}.content.json'`
|
|
1282
|
-
- Fonction : `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
|
|
1283
|
-
|
|
1284
|
-
- **noMetadata**:
|
|
1285
|
-
- _Type_: `boolean`
|
|
1286
|
-
- _Par défaut_: `false`
|
|
1287
|
-
- _Description_: Indique si les métadonnées doivent être enregistrées dans le fichier. Si vrai, le compilateur n'enregistrera pas les métadonnées des dictionnaires (clé, enveloppe de contenu). Utile pour les sorties JSON i18next ou ICU MessageFormat par locale.
|
|
1288
|
-
- _Note_: Utile si utilisé avec le plugin `loadJSON`.
|
|
1289
|
-
- _Exemple_: Si `true` :
|
|
1290
|
-
```json
|
|
1291
|
-
{
|
|
1292
|
-
"key": "value"
|
|
1293
|
-
}
|
|
1294
|
-
```
|
|
1295
|
-
Si `false` :
|
|
1296
|
-
```json
|
|
1297
|
-
{
|
|
1298
|
-
"key": "value",
|
|
1299
|
-
"content": {
|
|
1300
|
-
"key": "value"
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
```
|
|
885
|
+
### Configuration du Compilateur (Compiler Configuration)
|
|
886
|
+
|
|
887
|
+
Paramètres pour le compilateur Intlayer (`intlayer compiler`).
|
|
888
|
+
|
|
889
|
+
| Champ | Type | Description | Par défaut |
|
|
890
|
+
| --------------------- | ------------------------ | ----------------------------------------------------------------------------------------------- | ---------- |
|
|
891
|
+
| `enabled` | `boolean` | Indique si le compilateur est actif. | `false` |
|
|
892
|
+
| `output` | `string | Function` | Chemin de sortie pour les dictionnaires extraits. | |
|
|
893
|
+
| `saveComponents` | `boolean` | Indique si les fichiers sources originaux doivent être remplacés par les versions transformées. | `false` |
|
|
894
|
+
| `noMetadata` | `boolean` | Si `true`, le compilateur n'inclura pas de métadonnées dans les fichiers générés. | `false` |
|
|
895
|
+
| `dictionaryKeyPrefix` | `string` | Préfixe de clé de dictionnaire optionnel. | `''` |
|
|
896
|
+
|
|
897
|
+
---
|
|
898
|
+
|
|
899
|
+
### Configuration du Logger (Logger Configuration)
|
|
900
|
+
|
|
901
|
+
Paramètres pour personnaliser la sortie des logs d'Intlayer.
|
|
902
|
+
|
|
903
|
+
| Champ | Type | Description | Par défaut |
|
|
904
|
+
| -------- | ---------------------------------------------- | --------------------------------- | -------------- |
|
|
905
|
+
| `mode` | `'default' | 'verbose' | 'disabled'` | Mode de logging. | `'default'` |
|
|
906
|
+
| `prefix` | `string` | Préfixe pour les messages de log. | `'[intlayer]'` |
|
|
907
|
+
|
|
908
|
+
---
|
|
909
|
+
|
|
910
|
+
### Schémas Personnalisés (Custom Schemas)
|
|
911
|
+
|
|
912
|
+
| Champ | Type | Description |
|
|
913
|
+
| --------- | --------------------------- | --------------------------------------------------------------------------------- |
|
|
914
|
+
| `schemas` | `Record<string, ZodSchema>` | Permet de définir des schémas Zod pour valider la structure de vos dictionnaires. |
|
|
915
|
+
|
|
916
|
+
---
|
|
917
|
+
|
|
918
|
+
### Plugins
|
|
919
|
+
|
|
920
|
+
| Champ | Type | Description |
|
|
921
|
+
| --------- | ------------------ | ------------------------------------- |
|
|
922
|
+
| `plugins` | `IntlayerPlugin[]` | Liste des plugins Intlayer à activer. |
|