@intlayer/docs 8.4.6 → 8.4.8

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.
Files changed (33) hide show
  1. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  2. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  3. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  4. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  5. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  6. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  7. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  8. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  9. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  10. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  11. package/docs/ar/configuration.md +300 -264
  12. package/docs/cs/configuration.md +958 -0
  13. package/docs/de/configuration.md +285 -249
  14. package/docs/en/configuration.md +115 -137
  15. package/docs/en-GB/configuration.md +272 -237
  16. package/docs/es/configuration.md +161 -125
  17. package/docs/fr/configuration.md +137 -101
  18. package/docs/it/configuration.md +294 -259
  19. package/docs/ja/configuration.md +269 -233
  20. package/docs/nl/configuration.md +958 -0
  21. package/docs/pt/configuration.md +311 -275
  22. package/docs/ru/configuration.md +287 -272
  23. package/docs/tr/configuration.md +265 -229
  24. package/package.json +6 -6
  25. package/docs/bn/configuration.md +0 -922
  26. package/docs/hi/configuration.md +0 -922
  27. package/docs/id/configuration.md +0 -922
  28. package/docs/ko/configuration.md +0 -922
  29. package/docs/pl/configuration.md +0 -922
  30. package/docs/uk/configuration.md +0 -922
  31. package/docs/ur/configuration.md +0 -922
  32. package/docs/vi/configuration.md +0 -922
  33. package/docs/zh/configuration.md +0 -922
@@ -16,52 +16,52 @@ slugs:
16
16
  history:
17
17
  - version: 8.4.0
18
18
  date: 2026-03-20
19
- changes: Aggiunta la notazione per oggetto per locale per 'compiler.output' e 'dictionary.fill'
19
+ changes: Aggiunta notazione a oggetti per locale per 'compiler.output' e 'dictionary.fill'
20
20
  - version: 8.3.0
21
21
  date: 2026-03-11
22
22
  changes: Spostato 'baseDir' dalla configurazione 'content' alla configurazione 'system'
23
23
  - version: 8.2.0
24
24
  date: 2026-03-09
25
- changes: Aggiornate le opzioni del compilatore (compiler), aggiunto il supporto per 'output' e 'noMetadata'
25
+ changes: Aggiornate le opzioni del compilatore, aggiunto supporto per 'output' e 'noMetadata'
26
26
  - version: 8.1.7
27
27
  date: 2026-02-25
28
28
  changes: Aggiornate le opzioni del compilatore
29
29
  - version: 8.1.5
30
30
  date: 2026-02-23
31
- changes: Aggiunta l'opzione del compilatore 'build-only' e il prefisso del dizionario
31
+ changes: Aggiunta opzione del compilatore 'build-only' e prefisso del dizionario
32
32
  - version: 8.0.6
33
33
  date: 2026-02-12
34
- changes: Aggiunto il supporto per i fornitori Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face e Together.ai
34
+ changes: Aggiunto supporto per i fornitori Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face e Together.ai
35
35
  - version: 8.0.5
36
36
  date: 2026-02-06
37
37
  changes: Aggiunto `dataSerialization` alla configurazione AI
38
38
  - version: 8.0.0
39
39
  date: 2026-01-24
40
- changes: Rinominata la modalità di importazione `live` in `fetch` per descrivere meglio il meccanismo sottostante.
40
+ changes: Rinominata modalità di importazione `live` in `fetch` per descrivere meglio il meccanismo sottostante.
41
41
  - version: 8.0.0
42
42
  date: 2026-01-22
43
43
  changes: Spostata la configurazione di build `importMode` nella configurazione `dictionary`.
44
44
  - version: 8.0.0
45
45
  date: 2026-01-22
46
- changes: Aggiunta l'opzione `rewrite` alla configurazione del routing
46
+ changes: Aggiunta l'opzione `rewrite` alla configurazione di routing
47
47
  - version: 8.0.0
48
48
  date: 2026-01-18
49
- changes: Separata la configurazione di sistema dalla configurazione di contenuto. Spostati i percorsi interni nella proprietà `system`. Aggiunto `codeDir` per separare i file di contenuto e la trasformazione del codice.
49
+ changes: Separata la configurazione di sistema dalla configurazione dei contenuti. Spostati i percorsi interni nella proprietà `system`. Aggiunto `codeDir` per separare i file di contenuto dalla trasformazione del codice.
50
50
  - version: 8.0.0
51
51
  date: 2026-01-18
52
52
  changes: Aggiunte le opzioni del dizionario `location` e `schema`
53
53
  - version: 7.5.1
54
54
  date: 2026-01-10
55
- changes: Aggiunto il supporto per i formati di file JSON5 e JSONC
55
+ changes: Aggiunto supporto per i formati file JSON5 e JSONC
56
56
  - version: 7.5.0
57
57
  date: 2025-12-17
58
58
  changes: Aggiunta l'opzione `buildMode`
59
59
  - version: 7.0.0
60
60
  date: 2025-10-25
61
- changes: Aggiunta la configurazione `dictionary`
61
+ changes: Aggiunta configurazione `dictionary`
62
62
  - version: 7.0.0
63
63
  date: 2025-10-21
64
- changes: Sostituito `middleware` con la configurazione del routing `routing`
64
+ changes: Sostituito `middleware` con la configurazione `routing`
65
65
  - version: 7.0.0
66
66
  date: 2025-10-12
67
67
  changes: Aggiunta l'opzione `formatCommand`
@@ -73,19 +73,19 @@ history:
73
73
  changes: Aggiunta l'opzione `outputFormat`
74
74
  - version: 6.0.0
75
75
  date: 2025-09-21
76
- changes: Rimossi il campo `dictionaryOutput` e il campo `i18nextResourcesDir`
76
+ changes: Rimosso il campo `dictionaryOutput` e il campo `i18nextResourcesDir`
77
77
  - version: 6.0.0
78
78
  date: 2025-09-16
79
- changes: Aggiunta la modalità di importazione `live`
79
+ changes: Aggiunta modalità di importazione `live`
80
80
  - version: 6.0.0
81
81
  date: 2025-09-04
82
- changes: Sostituito il campo `hotReload` con `liveSync`, e aggiunti i campi `liveSyncPort` e `liveSyncURL`
82
+ changes: Sostituito il campo `hotReload` con `liveSync` e aggiunti i campi `liveSyncPort` e `liveSyncURL`
83
83
  - version: 5.6.1
84
84
  date: 2025-07-25
85
85
  changes: Sostituito `activateDynamicImport` con l'opzione `importMode`
86
86
  - version: 5.6.0
87
87
  date: 2025-07-13
88
- changes: Modificato il contentDir predefinito da `['src']` a `['.']`
88
+ changes: Modificato il `contentDir` predefinito da `['src']` a `['.']`
89
89
  - version: 5.5.11
90
90
  date: 2025-06-29
91
91
  changes: Aggiunti i comandi `docs`
@@ -95,7 +95,7 @@ history:
95
95
 
96
96
  ## Panoramica
97
97
 
98
- I file di configurazione di Intlayer consentono di personalizzare vari aspetti del plugin, come l'internazionalizzazione (internationalization), il middleware e la gestione dei contenuti. Questa documentazione fornisce una descrizione approfondita di ogni proprietà nella configurazione.
98
+ I file di configurazione di Intlayer consentono di personalizzare vari aspetti del plugin, come l'internazionalizzazione, il middleware e la gestione dei contenuti. Questo documento fornisce una descrizione dettagliata di ciascuna proprietà nella configurazione.
99
99
 
100
100
  ---
101
101
 
@@ -105,7 +105,7 @@ I file di configurazione di Intlayer consentono di personalizzare vari aspetti d
105
105
 
106
106
  ---
107
107
 
108
- ## Formati dei file di configurazione supportati
108
+ ## Supporto dei File di Configurazione
109
109
 
110
110
  Intlayer accetta i formati di file di configurazione JSON, JS, MJS e TS:
111
111
 
@@ -132,33 +132,33 @@ import { z } from "zod";
132
132
  */
133
133
  const config: IntlayerConfig = {
134
134
  /**
135
- * Configurazione delle impostazioni di internazionalizzazione.
135
+ * Configurazione per le impostazioni di internazionalizzazione.
136
136
  */
137
137
  internationalization: {
138
138
  /**
139
- * Elenco delle locali (locales) supportate nell'applicazione.
139
+ * Elenco dei locali supportati nell'applicazione.
140
140
  * Predefinito: [Locales.ENGLISH]
141
141
  */
142
142
  locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
143
143
 
144
144
  /**
145
- * Elenco delle locali obbligatorie che devono essere definite in ogni dizionario.
146
- * Se vuoto, tutte le locali sono obbligatorie in modalità `strict`.
145
+ * Elenco di locali richiesti che devono essere definiti in ogni dizionario.
146
+ * Se vuoto, tutti i locali sono richiesti in modalità `strict`.
147
147
  * Predefinito: []
148
148
  */
149
149
  requiredLocales: [Locales.ENGLISH],
150
150
 
151
151
  /**
152
- * Livello di rigore per il contenuto internazionalizzato.
153
- * - "strict": Errore se manca una locale dichiarata o se non è dichiarata.
154
- * - "inclusive": Avviso se manca una locale dichiarata.
152
+ * Livello di severità per il contenuto internazionalizzato.
153
+ * - "strict": Errore se manca un locale dichiarato o se non è dichiarato.
154
+ * - "inclusive": Avviso se manca un locale dichiarato.
155
155
  * - "loose": Accetta qualsiasi locale esistente.
156
156
  * Predefinito: "inclusive"
157
157
  */
158
158
  strictMode: "inclusive",
159
159
 
160
160
  /**
161
- * La locale predefinita utilizzata come fallback nel caso in cui la locale richiesta non venga trovata.
161
+ * Locale predefinito utilizzato come fallback se il locale richiesto non viene trovato.
162
162
  * Predefinito: Locales.ENGLISH
163
163
  */
164
164
  defaultLocale: Locales.ENGLISH,
@@ -171,65 +171,65 @@ const config: IntlayerConfig = {
171
171
  /**
172
172
  * Controlla come vengono importati i dizionari.
173
173
  * - "static": Importato staticamente al momento della build.
174
- * - "dynamic": Importato dinamicamente usando Suspense.
175
- * - "fetch": Recuperato dinamicamente tramite la Live Sync API.
174
+ * - "dynamic": Importato dinamicamente utilizzando Suspense.
175
+ * - "fetch": Recuperato dinamicamente tramite l'API live sync.
176
176
  * Predefinito: "static"
177
177
  */
178
178
  importMode: "static",
179
179
 
180
180
  /**
181
- * Strategia per compilare automaticamente le traduzioni mancanti usando l'AI.
182
- * Può essere un valore booleano o un pattern di percorso per salvare il contenuto compilato.
181
+ * Strategia per l'auto-completamento delle traduzioni mancanti utilizzando l'IA.
182
+ * Può essere un booleano o un modello di percorso per memorizzare il contenuto riempito.
183
183
  * Predefinito: true
184
184
  */
185
185
  fill: true,
186
186
 
187
187
  /**
188
- * La posizione fisica dei file del dizionario.
188
+ * Posizione fisica dei file del dizionario.
189
189
  * - "local": Memorizzato nel file system locale.
190
- * - "remote": Memorizzato nell'Intlayer CMS.
191
- * - "hybrid": Memorizzato sia localmente che nell'Intlayer CMS.
192
- * - "plugin" (o qualsiasi stringa personalizzata): Fornita da un plugin o da una sorgente personalizzata.
190
+ * - "remote": Memorizzato nel CMS Intlayer.
191
+ * - "hybrid": Memorizzato nel file system locale e nel CMS Intlayer.
192
+ * - "plugin" (o qualsiasi stringa personalizzata): Fornito da un plugin o da una fonte personalizzata.
193
193
  * Predefinito: "local"
194
194
  */
195
195
  location: "local",
196
196
 
197
197
  /**
198
- * Se il contenuto debba essere trasformato automaticamente (es. da Markdown a HTML).
198
+ * Indica se trasformare automaticamente i contenuti (es. da Markdown a HTML).
199
199
  * Predefinito: false
200
200
  */
201
201
  contentAutoTransformation: false,
202
202
  },
203
203
 
204
204
  /**
205
- * Configurazione del routing e del middleware.
205
+ * Configurazione di routing e middleware.
206
206
  */
207
207
  routing: {
208
208
  /**
209
- * Strategia di routing per le locali.
210
- * - "prefix-no-default": Aggiunge un prefisso a tutte le locali tranne quella predefinita (es. /dashboard, /fr/dashboard).
211
- * - "prefix-all": Aggiunge un prefisso a tutte le locali (es. /en/dashboard, /fr/dashboard).
212
- * - "no-prefix": Nessuna locale nell'URL.
209
+ * Strategia di routing dei locali.
210
+ * - "prefix-no-default": Prefisso per tutti tranne il locale predefinito (es. /dashboard, /fr/dashboard).
211
+ * - "prefix-all": Prefisso per tutti i locali (es. /en/dashboard, /fr/dashboard).
212
+ * - "no-prefix": Nessun locale nell'URL.
213
213
  * - "search-params": Usa ?locale=...
214
214
  * Predefinito: "prefix-no-default"
215
215
  */
216
216
  mode: "prefix-no-default",
217
217
 
218
218
  /**
219
- * Dove memorizzare la locale selezionata dall'utente.
220
- * Opzioni: 'cookie', 'localStorage', 'sessionStorage', 'header' o un array di questi.
219
+ * Dove memorizzare il locale selezionato dall'utente.
220
+ * Opzioni: 'cookie', 'localStorage', 'sessionStorage', 'header', o un array di questi.
221
221
  * Predefinito: ['cookie', 'header']
222
222
  */
223
223
  storage: ["cookie", "header"],
224
224
 
225
225
  /**
226
- * Il percorso di base per gli URL dell'applicazione.
226
+ * Percorso base per gli URL dell'applicazione.
227
227
  * Predefinito: ""
228
228
  */
229
229
  basePath: "",
230
230
 
231
231
  /**
232
- * Regole di rewrite URL personalizzate per percorsi specifici per locale.
232
+ * Regole di riscrittura URL personalizzate per percorsi specifici del locale.
233
233
  */
234
234
  rewrite: nextjsRewrite({
235
235
  "/[locale]/about": {
@@ -240,58 +240,58 @@ const config: IntlayerConfig = {
240
240
  },
241
241
 
242
242
  /**
243
- * Impostazioni relative alla ricerca e all'elaborazione dei file di contenuto.
243
+ * Impostazioni per trovare e processare i file di contenuto.
244
244
  */
245
245
  content: {
246
246
  /**
247
- * Estensioni dei file per la scansione dei dizionari.
247
+ * Estensioni file da scansionare per i dizionari.
248
248
  * Predefinito: ['.content.ts', '.content.js', '.content.json', ecc.]
249
249
  */
250
250
  fileExtensions: [".content.ts", ".content.js", ".content.json"],
251
251
 
252
252
  /**
253
- * Directory in cui si trovano i file .content.
253
+ * Directory dove si trovano i file .content.
254
254
  * Predefinito: ["."]
255
255
  */
256
256
  contentDir: ["src"],
257
257
 
258
258
  /**
259
- * Dove si trova il codice sorgente.
260
- * Utilizzato per l'ottimizzazione della build e la trasformazione del codice.
259
+ * Directory dove si trova il codice sorgente.
260
+ * Usato per l'ottimizzazione della build e la trasformazione del codice.
261
261
  * Predefinito: ["."]
262
262
  */
263
263
  codeDir: ["src"],
264
264
 
265
265
  /**
266
- * Pattern esclusi dalla scansione.
266
+ * Modelli da escludere dalla scansione.
267
267
  * Predefinito: ['node_modules', '.intlayer', ecc.]
268
268
  */
269
269
  excludedPath: ["node_modules"],
270
270
 
271
271
  /**
272
- * Se monitorare le modifiche e ricostruire i dizionari durante lo sviluppo.
273
- * Predefinito: true in modalità sviluppo
272
+ * Indica se monitorare i cambiamenti e rigenerare i dizionari in fase di sviluppo.
273
+ * Predefinito: true in fase di sviluppo
274
274
  */
275
275
  watch: true,
276
276
 
277
277
  /**
278
- * Comando utilizzato per formattare i file .content appena creati / aggiornati.
278
+ * Comando per formattare i file .content appena creati / aggiornati.
279
279
  */
280
280
  formatCommand: 'npx prettier --write "{{file}}"',
281
281
  },
282
282
 
283
283
  /**
284
- * Configurazione dell'Editor Visuale (Visual Editor).
284
+ * Configurazione del Visual Editor.
285
285
  */
286
286
  editor: {
287
287
  /**
288
- * Se l'editor visuale è abilitato.
288
+ * Indica se il visual editor è abilitato.
289
289
  * Predefinito: false
290
290
  */
291
291
  enabled: true,
292
292
 
293
293
  /**
294
- * L'URL della tua applicazione per la validazione dell'origine (origin validation).
294
+ * URL della tua applicazione per la validazione dell'origine.
295
295
  * Predefinito: ""
296
296
  */
297
297
  applicationURL: "http://localhost:3000",
@@ -303,43 +303,43 @@ const config: IntlayerConfig = {
303
303
  port: 8000,
304
304
 
305
305
  /**
306
- * L'URL pubblico per l'editor.
306
+ * URL pubblico per l'editor.
307
307
  * Predefinito: "http://localhost:8000"
308
308
  */
309
309
  editorURL: "http://localhost:8000",
310
310
 
311
311
  /**
312
- * URL dell'Intlayer CMS.
312
+ * URL del CMS Intlayer.
313
313
  * Predefinito: "https://app.intlayer.org"
314
314
  */
315
315
  cmsURL: "https://app.intlayer.org",
316
316
 
317
317
  /**
318
- * URL dell'API Backend.
318
+ * URL del backend API.
319
319
  * Predefinito: "https://back.intlayer.org"
320
320
  */
321
321
  backendURL: "https://back.intlayer.org",
322
322
 
323
323
  /**
324
- * Se abilitare la sincronizzazione dei contenuti in tempo reale.
324
+ * Indica se abilitare la sincronizzazione dei contenuti in tempo reale.
325
325
  * Predefinito: false
326
326
  */
327
327
  liveSync: true,
328
328
  },
329
329
 
330
330
  /**
331
- * Impostazioni per la traduzione e la creazione basate sull'AI.
331
+ * Impostazioni di traduzione e generazione tramite IA.
332
332
  */
333
333
  ai: {
334
334
  /**
335
- * Il fornitore AI da utilizzare.
335
+ * Fornitore IA da utilizzare.
336
336
  * Opzioni: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
337
337
  * Predefinito: 'openai'
338
338
  */
339
339
  provider: "openai",
340
340
 
341
341
  /**
342
- * Modello del fornitore selezionato da utilizzare.
342
+ * Modello da utilizzare dal fornitore selezionato.
343
343
  */
344
344
  model: "gpt-4o",
345
345
 
@@ -349,22 +349,21 @@ const config: IntlayerConfig = {
349
349
  apiKey: process.env.OPENAI_API_KEY,
350
350
 
351
351
  /**
352
- * Contesto globale per guidare l'AI nella creazione delle traduzioni.
352
+ * Contesto globale per guidare l'IA nella generazione delle traduzioni.
353
353
  */
354
- applicationContext:
355
- "Questa è un'applicazione per la prenotazione di viaggi.",
354
+ applicationContext: "Questa è una applicazione di prenotazione viaggi.",
356
355
 
357
356
  /**
358
- * URL del percorso di base per l'API AI.
357
+ * URL base per l'API IA.
359
358
  */
360
359
  baseURL: "http://localhost:3000",
361
360
 
362
361
  /**
363
- * Serializzazione dei dati (Data Serialization)
362
+ * Serializzazione dei dati
364
363
  *
365
364
  * Opzioni:
366
- * - "json": Predefinito, robusto; consuma più token.
367
- * - "toon": Consuma meno token, potrebbe non essere coerente come JSON.
365
+ * - "json": Standard, affidabile; consuma più token.
366
+ * - "toon": Meno token, meno consistente di JSON.
368
367
  *
369
368
  * Predefinito: "json"
370
369
  */
@@ -377,40 +376,40 @@ const config: IntlayerConfig = {
377
376
  build: {
378
377
  /**
379
378
  * Modalità di esecuzione della build.
380
- * - "auto": Viene compilato automaticamente durante la build dell'applicazione.
379
+ * - "auto": Build automatica durante la build dell'app.
381
380
  * - "manual": Richiede un comando di build esplicito.
382
381
  * Predefinito: "auto"
383
382
  */
384
383
  mode: "auto",
385
384
 
386
385
  /**
387
- * Se ottimizzare il bundle finale rimuovendo i dizionari inutilizzati.
386
+ * Indica se ottimizzare il bundle finale rimuovendo i dizionari inutilizzati.
388
387
  * Predefinito: true in produzione
389
388
  */
390
389
  optimize: true,
391
390
 
392
391
  /**
393
- * Formato di output per i file del dizionario generati.
392
+ * Formato di output per i file di dizionario generati.
394
393
  * Predefinito: ['cjs', 'esm']
395
394
  */
396
395
  outputFormat: ["cjs", "esm"],
397
396
 
398
397
  /**
399
- * Indica se la build debba controllare i tipi TypeScript.
398
+ * Indica se la build deve verificare i tipi TypeScript.
400
399
  * Predefinito: false
401
400
  */
402
401
  checkTypes: false,
403
402
  },
404
403
 
405
404
  /**
406
- * Configurazione del log (Logger).
405
+ * Configurazione del Logger.
407
406
  */
408
407
  log: {
409
408
  /**
410
- * Livello di log.
409
+ * Livello di logging.
411
410
  * - "default": Logging standard.
412
- * - "verbose": Logging di debug approfondito.
413
- * - "disabled": Disabilita il logging.
411
+ * - "verbose": Logging di debug dettagliato.
412
+ * - "disabled": Nessun logging.
414
413
  * Predefinito: "default"
415
414
  */
416
415
  mode: "default",
@@ -423,119 +422,119 @@ const config: IntlayerConfig = {
423
422
  },
424
423
 
425
424
  /**
426
- * Configurazione di sistema (per uso avanzato)
425
+ * Configurazione di sistema (Casi d'uso avanzati)
427
426
  */
428
427
  system: {
429
428
  /**
430
- * Directory per memorizzare i dizionari localizzati.
429
+ * Directory per la memorizzazione dei dizionari localizzati.
431
430
  */
432
431
  dictionariesDir: ".intlayer/dictionary",
433
432
 
434
433
  /**
435
- * Directory per il TypeScript module augmentation.
434
+ * Directory per l'aumento dei moduli (module augmentation).
436
435
  */
437
436
  moduleAugmentationDir: ".intlayer/types",
438
437
 
439
438
  /**
440
- * Directory per memorizzare i dizionari non fusi (unmerged).
439
+ * Directory per la memorizzazione di dizionari non fusi.
441
440
  */
442
441
  unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
443
442
 
444
443
  /**
445
- * Directory per memorizzare i tipi di dizionario.
444
+ * Directory per la memorizzazione dei tipi di dizionario.
446
445
  */
447
446
  typesDir: ".intlayer/types",
448
447
 
449
448
  /**
450
- * Directory in cui vengono memorizzati i file principali dell'applicazione.
449
+ * Directory dove sono memorizzati i file principali dell'applicazione.
451
450
  */
452
451
  mainDir: ".intlayer/main",
453
452
 
454
453
  /**
455
- * Directory in cui vengono memorizzati i file di configurazione.
454
+ * Directory dove sono memorizzati i file di configurazione.
456
455
  */
457
456
  configDir: ".intlayer/config",
458
457
 
459
458
  /**
460
- * Directory in cui vengono memorizzati i file di cache.
459
+ * Directory dove sono memorizzati i file di cache.
461
460
  */
462
461
  cacheDir: ".intlayer/cache",
463
462
  },
464
463
 
465
464
  /**
466
- * Configurazione del Compilatore (Per uso avanzato)
465
+ * Configurazione del Compilatore (Casi d'uso avanzati)
467
466
  */
468
467
  compiler: {
469
468
  /**
470
- * Indica se il compilatore debba essere abilitato.
469
+ * Indica se il compilatore deve essere abilitato.
471
470
  *
472
471
  * - false: Disabilita il compilatore.
473
472
  * - true: Abilita il compilatore.
474
- * - "build-only": Salta il compilatore durante lo sviluppo e accelera il tempo di avvio.
473
+ * - "build-only": Salta il compilatore durante lo sviluppo per velocizzare i tempi di avvio.
475
474
  *
476
475
  * Predefinito: false
477
476
  */
478
477
  enabled: true,
479
478
 
480
479
  /**
481
- * Definisce il percorso per i file di output. Sostituisce `outputDir`.
480
+ * Definisce il percorso dei file di output. Sostituisce `outputDir`.
482
481
  *
483
- * - I percorsi con `./` sono risolti rispetto alla directory del componente.
484
- * - I percorsi con `/` sono risolti rispetto alla radice del progetto (`baseDir`).
482
+ * - I percorsi `./` sono risolti relativamente alla directory del componente.
483
+ * - I percorsi `/` sono risolti relativamente alla radice del progetto (`baseDir`).
485
484
  *
486
- * - L'inclusione della variabile `{{locale}}` nel percorso attiverà la creazione di dizionari separati per lingua.
485
+ * - L'inclusione della variabile `{{locale}}` nel percorso attiverà la generazione di dizionari separati per locale.
487
486
  *
488
487
  * Esempio:
489
488
  * ```ts
490
489
  * {
491
- * // Crea file .content.ts multilingue accanto al componente
490
+ * // Crea file .content.ts multilingua vicino al componente
492
491
  * output: ({ fileName, extension }) => `./${fileName}${extension}`,
493
492
  *
494
- * // output: './{{fileName}}{{extension}}', // Equivalente usando una template string
493
+ * // output: './{{fileName}}{{extension}}', // Equivalente usando stringa di template
495
494
  * }
496
495
  * ```
497
496
  *
498
497
  * ```ts
499
498
  * {
500
- * // Crea JSON centralizzati per lingua nella radice del progetto
499
+ * // Crea JSON centralizzati per locale alla radice del progetto
501
500
  * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
502
501
  *
503
- * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalente usando una template string
502
+ * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalente usando stringa di template
504
503
  * }
505
504
  * ```
506
505
  *
507
- * Elenco delle variabili:
508
- * - `fileName`: Nome del file.
509
- * - `key`: Chiave del contenuto.
510
- * - `locale`: Locale del contenuto.
511
- * - `extension`: Estensione del file.
512
- * - `componentFileName`: Nome del file del componente.
513
- * - `componentExtension`: Estensione del file del componente.
514
- * - `format`: Formato del dizionario.
515
- * - `componentFormat`: Formato del dizionario del componente.
516
- * - `componentDirPath`: Percorso della directory del componente.
506
+ * Elenco variabili:
507
+ * - `fileName`: Il nome del file.
508
+ * - `key`: La chiave del contenuto.
509
+ * - `locale`: Il locale del contenuto.
510
+ * - `extension`: L'estensione del file.
511
+ * - `componentFileName`: Il nome del file del componente.
512
+ * - `componentExtension`: L'estensione del file del componente.
513
+ * - `format`: Il formato del dizionario.
514
+ * - `componentFormat`: Il formato del dizionario del componente.
515
+ * - `componentDirPath`: Il percorso della directory del componente.
517
516
  */
518
517
  output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
519
518
 
520
519
  /**
521
- * Indica se i componenti debbano essere salvati dopo essere stati trasformati.
522
- * In questo modo, il compilatore può essere eseguito una sola volta per trasformare l'applicazione e poi rimosso.
520
+ * Indica se i componenti devono essere salvati dopo essere stati trasformati.
521
+ * In questo modo, il compilatore può essere eseguito solo una volta per trasformare l'app e poi può essere rimosso.
523
522
  */
524
523
  saveComponents: false,
525
524
 
526
525
  /**
527
- * Inserisce solo il contenuto nel file generato. Utile per l'output JSON per lingua per i18next o ICU MessageFormat.
526
+ * Inserisce solo il contenuto nel file generato. Utile per output JSON i18next o ICU MessageFormat per locale.
528
527
  */
529
528
  noMetadata: false,
530
529
 
531
530
  /**
532
- * Prefisso della chiave del dizionario
531
+ * Prefisso chiave dizionario
533
532
  */
534
- dictionaryKeyPrefix: "", // Aggiungi un prefisso opzionale alle chiavi del dizionario estratte
533
+ dictionaryKeyPrefix: "", // Aggiungi un prefisso opzionale per le chiavi del dizionario estratte
535
534
  },
536
535
 
537
536
  /**
538
- * Schemi personalizzati (Schemas) per validare il contenuto dei dizionari.
537
+ * Schemi personalizzati per validare il contenuto dei dizionari.
539
538
  */
540
539
  schemas: {
541
540
  "my-schema": z.object({
@@ -544,7 +543,7 @@ const config: IntlayerConfig = {
544
543
  },
545
544
 
546
545
  /**
547
- * Configurazione dei plugin (Plugins).
546
+ * Configurazione dei plugin.
548
547
  */
549
548
  plugins: [],
550
549
  };
@@ -554,54 +553,56 @@ export default config;
554
553
 
555
554
  ---
556
555
 
557
- ## Riferimento della Configurazione (Configuration Reference)
556
+ ## Riferimento della Configurazione
558
557
 
559
- Le sezioni seguenti descrivono le varie opzioni di configurazione disponibili in Intlayer.
558
+ Le sezioni seguenti descrivono le varie impostazioni di configurazione disponibili per Intlayer.
560
559
 
561
560
  ---
562
561
 
563
- ### Configurazione di Internazionalizzazione (Internationalization Configuration)
562
+ ### Configurazione dell'Internazionalizzazione
564
563
 
565
- Definisce le impostazioni relative all'internazionalizzazione, incluse le locali disponibili e la locale predefinita per l'applicazione.
564
+ Definisce le impostazioni relative all'internazionalizzazione, compresi i locali disponibili e il locale predefinito per l'applicazione.
566
565
 
567
- | Campo | Tipo | Descrizione | Esempio | Nota |
568
- | ----------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
569
- | `locales` | `string[]` | Elenco delle locali supportate nell'applicazione. Predefinito: `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
570
- | `requiredLocales` | `string[]` | Elenco delle locali obbligatorie nell'applicazione. Predefinito: `[]` | `[]` | Se vuoto, tutte le locali sono obbligatorie in modalità `strict`. Assicurati che le locali obbligatorie siano definite anche nel campo `locales`. |
571
- | `strictMode` | `string` | Garantisce un'implementazione robusta del contenuto internazionalizzato utilizzando TypeScript. Predefinito: `inclusive` | | Se `"strict"`: la funzione `t` richiede che ogni locale dichiarata sia definita — genera un errore se ne manca una o se non è dichiarata. Se `"inclusive"`: avverte per le locali mancanti ma accetta le locali esistenti non dichiarate. Se `"loose"`: accetta qualsiasi locale esistente. |
572
- | `defaultLocale` | `string` | Locale predefinita utilizzata come fallback se la locale richiesta non viene trovata. Predefinito: `Locales.ENGLISH` | `'en'` | Utilizzata per determinare la locale quando non ne viene specificata nessuna in URL, cookie o intestazione (header). |
566
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
567
+ | ---------------- | --------------------------------------------------------------------------------------------------- | ---------- | ------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
568
+ | `locales` | L'elenco dei locali supportati nell'applicazione. | `string[]` | `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
569
+ | `requiredLocales` | L'elenco dei locali richiesti nell'applicazione. | `string[]` | `[]` | `[]` | Se vuoto, tutti i locali sono richiesti in modalità `strict`.<br/>• Assicurati che i locali richiesti siano definiti anche nel campo `locales`. |
570
+ | `strictMode` | Garantisce implementazioni robuste dei contenuti internazionalizzati utilizzando TypeScript. | `string` | `'inclusive'` | | Se `"strict"`: la funzione `t` richiede che ogni locale dichiarato sia definito — genera un errore se uno manca o non è dichiarato.<br/>• Se `"inclusive"`: avverte sui locali mancanti ma accetta quelli non dichiarati esistenti.<br/>• Se `"loose"`: accetta qualsiasi locale esistente. |
571
+ | `defaultLocale` | Il locale predefinito utilizzato come fallback se il locale richiesto non viene trovato. | `string` | `Locales.ENGLISH` | `'en'` | Usato per determinare il locale quando nessuno è specificato nell'URL, nel cookie o nell'header. |
573
572
 
574
573
  ---
575
574
 
576
- ### Configurazione dell'Editor (Editor Configuration)
575
+ ### Configurazione dell'Editor
576
+
577
+ Definisce le impostazioni del visual editor integrato, inclusi la porta del server e lo stato attivo.
578
+
579
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
580
+ | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
581
+ | `applicationURL` | L'URL dell'applicazione. | `string` | `undefined` | `'http://localhost:3000'` <br/> `'https://example.com'` <br/> `process.env.INTLAYER_EDITOR_URL` | • Usato per restringere l'origine dell'editor per motivi di sicurezza.<br/>• Se impostato su `'*'`, l'editor è accessibile da qualsiasi origine. |
582
+ | `port` | La porta utilizzata dal server del visual editor. | `number` | `8000` | | |
583
+ | `editorURL` | L'URL del server dell'editor. | `string` | `'http://localhost:8000'` | `'http://localhost:3000'` <br/> `'https://example.com'` <br/> `process.env.INTLAYER_EDITOR_URL` | • Usato per restringere le origini che possono interagire con l'applicazione.<br/>• Se impostato su `'*'`, accessibile da qualsiasi origine.<br/>• Deve essere impostato se la porta viene cambiata o se l'editor è ospitato su un dominio diverso. |
584
+ | `cmsURL` | L'URL del CMS Intlayer. | `string` | `'https://app.intlayer.org'` | `'https://app.intlayer.org'` | |
585
+ | `backendURL` | L'URL del server backend. | `string` | `https://back.intlayer.org` | `http://localhost:4000` | |
586
+ | `enabled` | Indica se l'applicazione interagisce con il visual editor. | `boolean` | `false` | `process.env.NODE_ENV !== 'production'` | • Se `false`, l'editor non può interagire con l'applicazione.<br/>• Disabilitare per ambienti specifici migliora la sicurezza. |
587
+ | `clientId` | Consente ai pacchetti intlayer di autenticarsi con il backend tramite oAuth2. Per ottenere un token di accesso, vai a [intlayer.org/project](https://app.intlayer.org/project). | `string` &#124; <br/> `undefined` | `undefined` | | Da mantenere segreto; memorizzare nelle variabili d'ambiente. |
588
+ | `clientSecret` | Consente ai pacchetti intlayer di autenticarsi con il backend tramite oAuth2. Per ottenere un token di accesso, vai a [intlayer.org/project](https://app.intlayer.org/project). | `string` &#124; <br/> `undefined` | `undefined` | | Da mantenere segreto; memorizzare nelle variabili d'ambiente. |
589
+ | `dictionaryPriorityStrategy` | Strategia per dare priorità ai dizionari quando sono presenti sia locali che distanti. | `string` | `'local_first'` | `'distant_first'` | • `'distant_first'`: dà priorità ai distanti rispetto ai locali.<br/>• `'local_first'`: dà priorità ai locali rispetto ai distanti. |
590
+ | `liveSync` | Indica se il server dell'app deve ricaricare i contenuti a caldo quando viene rilevata una modifica sul CMS <br/> Visual Editor <br/> Backend. | `boolean` | `true` | `true` | • Quando un dizionario viene aggiunto/aggiornato, l'app aggiorna il contenuto della pagina.<br/>• Live sync esternalizza il contenuto su un altro server, il che può influire leggermente sulle prestazioni.<br/>• Si consiglia di ospitare entrambi sulla stessa macchina. |
591
+ | `liveSyncPort` | La porta del server live sync. | `number` | `4000` | `4000` | |
592
+ | `liveSyncURL` | L'URL del server live sync. | `string` | `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Punta a localhost per impostazione predefinita; può essere modificato per un server live sync remoto. |
577
593
 
578
- Definisce le impostazioni relative all'editor integrato, inclusa la porta del server e lo stato di attività.
579
-
580
- | Campo | Tipo | Descrizione | Esempio | Nota |
581
- | ---------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
582
- | `applicationURL` | `string` | L'URL della tua applicazione. Predefinito: `''` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Utilizzato per limitare le origini (origins) dell'editor per motivi di sicurezza. Se impostato su `'*'`, l'editor è accessibile da qualsiasi origine. |
583
- | `port` | `number` | Porta utilizzata dal server dell'Editor Visuale. Predefinito: `8000` | | |
584
- | `editorURL` | `string` | URL del server dell'editor. Predefinito: `'http://localhost:8000'` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Utilizzato per limitare le origini che possono interagire con l'applicazione. Se impostato su `'*'`, accessibile da qualsiasi origine. Deve essere impostato se si cambia porta o se l'editor è ospitato su un dominio diverso. |
585
- | `cmsURL` | `string` | URL dell'Intlayer CMS. Predefinito: `'https://intlayer.org'` | `'https://intlayer.org'` | |
586
- | `backendURL` | `string` | URL del server backend. Predefinito: `https://back.intlayer.org` | `http://localhost:4000` | |
587
- | `enabled` | `boolean` | Indica se l'app interagirà con l'editor visuale. Predefinito: `true` | `process.env.NODE_ENV !== 'production'` | Se `false`, l'editor non può interagire con l'app. Disabilitarlo per ambienti specifici migliora la sicurezza. |
588
- | `clientId` | `string &#124; undefined` | Consente ai pacchetti intlayer di autenticarsi con il backend utilizzando oAuth2. Per ricevere un token di accesso, vai su [intlayer.org/project](https://app.intlayer.org/project). Predefinito: `undefined` | | Tienilo segreto; memorizzalo nelle variabili d'ambiente. |
589
- | `clientSecret` | `string &#124; undefined` | Consente ai pacchetti intlayer di autenticarsi con il backend utilizzando oAuth2. Per ricevere un token di accesso, vai su [intlayer.org/project](https://app.intlayer.org/project). Predefinito: `undefined` | | Tienilo segreto; memorizzalo nelle variabili d'ambiente. |
590
- | `dictionaryPriorityStrategy` | `string` | Strategia per dare priorità ai dizionari quando esistono sia dizionari locali che remoti. Predefinito: `'local_first'` | `'distant_first'` | `'distant_first'`: Priorità ai remoti rispetto ai locali. `'local_first'`: Priorità ai locali rispetto ai remoti. |
591
- | `liveSync` | `boolean` | Indica se il server dell'applicazione debba ricaricare i contenuti a caldo quando viene rilevata una modifica nel CMS / Editor Visuale / Backend. Predefinito: `true` | `true` | Quando un dizionario viene aggiunto/aggiornato, l'app aggiorna il contenuto della pagina. Il live sync esternalizza il contenuto a un altro server, il che può influire leggermente sulle prestazioni. Si raccomanda di ospitare entrambi sulla stessa macchina. |
592
- | `liveSyncPort` | `number` | Porta del server Live Sync. Predefinito: `4000` | `4000` | |
593
- | `liveSyncURL` | `string` | URL del server Live Sync. Predefinito: `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Punta a localhost per impostazione predefinita; può essere modificato in un server Live Sync remoto. |
594
+ ---
594
595
 
595
- ### Configurazione del Routing (Routing Configuration)
596
+ ### Configurazione di Routing
596
597
 
597
- Impostazioni che controllano il comportamento del routing, inclusa la struttura URL, la memorizzazione della locale e la gestione del middleware.
598
+ Impostazioni che controllano il comportamento del routing, inclusa la struttura dell'URL, la memorizzazione del locale e la gestione del middleware.
598
599
 
599
- | Campo | Tipo | Descrizione | Esempio | Nota |
600
- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
601
- | `mode` | `'prefix-no-default' &#124; 'prefix-all' &#124; 'no-prefix' &#124; 'search-params'` | Modalità di routing URL per la gestione delle locali. Predefinito: `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) o `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: la locale viene gestita tramite altri mezzi. `'search-params'`: usa `/dashboard?locale=fr` | Non influisce sulla gestione dei cookie o sul locale storage. |
602
- | `storage` | `false &#124; 'cookie' &#124; 'localStorage' &#124; 'sessionStorage' &#124; 'header' &#124; CookiesAttributes &#124; StorageAttributes &#124; Array` | Configurazione per memorizzare la locale sul client. Predefinito: `['cookie', 'header']` | `'localStorage'`, `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Vedi la tabella delle Opzioni di Memoria sotto. |
603
- | `basePath` | `string` | Il percorso di base per gli URL dell'applicazione. Predefinito: `''` | `'/my-app'` | Se l'applicazione è su `https://example.com/my-app`, basePath è `'/my-app'` e gli URL diventano come `https://example.com/my-app/en`. |
604
- | `rewrite` | `Record<string, StrictModeLocaleMap<string>>` | Regole di rewrite URL personalizzate che sovrascrivono la modalità di routing predefinita per percorsi specifici. Supporta parametri dinamici `[param]`. Predefinito: `undefined` | Vedi esempio sotto | Le regole di rewrite hanno la precedenza su `mode`. Funziona con Next.js e Vite. `getLocalizedUrl()` applica automaticamente le regole corrispondenti. Vedi [Rewrite URL Personalizzati](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/custom_url_rewrites.md). |
600
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
601
+ | ---------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
602
+ | `mode` | Modalità di routing URL per la gestione del locale. | `'prefix-no-default'` &#124; <br/> `'prefix-all'` &#124; <br/> `'no-prefix'` &#124; <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) o `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: locale gestito con altri mezzi. `'search-params'`: `/dashboard?locale=fr` | Non influisce sulla gestione dei cookie o della memoria del locale. |
603
+ | `storage` | Configurazione per la memorizzazione del locale nel client. | `false` &#124; <br/> `'cookie'` &#124; <br/> `'localStorage'` &#124; <br/> `'sessionStorage'` &#124; <br/> `'header'` &#124; <br/> `CookiesAttributes` &#124; <br/> `StorageAttributes` &#124; <br/> `Array` | `['cookie', 'header']` | `'localStorage'` <br/> `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Vedere la tabella Opzioni di Memorizzazione di seguito. |
604
+ | `basePath` | Percorso base per gli URL dell'applicazione. | `string` | `''` | `'/my-app'` | Se l'app è su `https://example.com/my-app`, basePath è `'/my-app'` e gli URL diventano `https://example.com/my-app/en`. |
605
+ | `rewrite` | Regole di riscrittura URL personalizzate che annullano la modalità di routing predefinita per percorsi specifici. Supporta parametri dinamici `[param]`. | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | Vedere l'esempio di seguito | Le regole di riscrittura hanno la precedenza su `mode`.<br/>• Funziona con Next.js e Vite.<br/>• `getLocalizedUrl()` applica automaticamente le regole corrispondenti.<br/>• Vedere [Riscritture URL Personalizzate](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md). |
605
606
 
606
607
  **Esempio di `rewrite`**:
607
608
 
@@ -625,43 +626,43 @@ routing: {
625
626
  }
626
627
  ```
627
628
 
628
- #### Opzioni di Memoria (Storage Options)
629
+ #### Opzioni di Memorizzazione
629
630
 
630
- | Valore | Descrizione | Nota |
631
- | ------------------ | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
632
- | `'cookie'` | Salva la locale nei cookie — accessibile sia lato client che lato server. | Per la conformità GDPR, assicurati di ottenere il consenso appropriato dell'utente. Personalizzabile tramite `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). |
633
- | `'localStorage'` | Salva la locale nel browser senza data di scadenza solo lato client. | Non scade finché non viene esplicitamente cancellato. Il proxy Intlayer non può accedervi. Personalizzabile tramite `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). |
634
- | `'sessionStorage'` | Salva la locale per la durata della sessione della pagina — solo lato client. | Cancellato quando si chiude la scheda/finestra. Il proxy Intlayer non può accedervi. Personalizzabile tramite `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). |
635
- | `'header'` | Salva o trasmette la locale tramite intestazioni HTTP — solo lato server. | Utile per le chiamate API. Il lato client non può accedervi. Personalizzabile tramite `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). |
631
+ | Valore | Nota | Descrizione |
632
+ | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
633
+ | `'cookie'` | Per la conformità GDPR, assicurarsi di ottenere il corretto consenso dell'utente.<br/>• Personalizzabile tramite `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). | Memorizza il locale nei cookie — accessibile sia lato client che lato server. |
634
+ | `'localStorage'` | Nessuna scadenza a meno che non venga cancellato esplicitamente.<br/>• Il proxy Intlayer non può accedervi.<br/>• Personalizzabile tramite `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). | Memorizza il locale nel browser senza scadenza — solo lato client. |
635
+ | `'sessionStorage'` | Cancellato quando la scheda/finestra viene chiusa.<br/>• Il proxy Intlayer non può accedervi.<br/>• Personalizzabile tramite `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). | Memorizza il locale per la durata della sessione della pagina — solo lato client. |
636
+ | `'header'` | Utile per le chiamate API.<br/>• Il lato client non può accedervi.<br/>• Personalizzabile tramite `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). | Memorizza o trasmette il locale tramite header HTTP — solo lato server. |
636
637
 
637
- #### Attributi del Cookie (Cookie Attributes)
638
+ #### Attributi dei Cookie
638
639
 
639
640
  Quando si utilizza la memorizzazione tramite cookie, è possibile configurare attributi aggiuntivi:
640
641
 
641
- | Campo | Tipo | Descrizione |
642
- | ---------- | ------------------------------------- | ------------------------------------------------------------- |
643
- | `name` | `string` | Nome del cookie. Predefinito: `'INTLAYER_LOCALE'` |
644
- | `domain` | `string` | Dominio del cookie. Predefinito: `undefined` |
645
- | `path` | `string` | Percorso del cookie. Predefinito: `undefined` |
646
- | `secure` | `boolean` | Richiede HTTPS. Predefinito: `undefined` |
647
- | `httpOnly` | `boolean` | Flag HTTP-only. Predefinito: `undefined` |
648
- | `sameSite` | `'strict' &#124; 'lax' &#124; 'none'` | Politica SameSite. |
649
- | `expires` | `Date &#124; number` | Data di scadenza o numero di giorni. Predefinito: `undefined` |
642
+ | Campo | Descrizione | Tipo |
643
+ | ---------- | ------------------------------------------- | ----------------------------------------------------- |
644
+ | `name` | Nome del cookie. Predefinito: `'INTLAYER_LOCALE'` | `string` |
645
+ | `domain` | Dominio del cookie. Predefinito: `undefined` | `string` |
646
+ | `path` | Percorso del cookie. Predefinito: `undefined` | `string` |
647
+ | `secure` | Richiede HTTPS. Predefinito: `undefined` | `boolean` |
648
+ | `httpOnly` | Flag HTTP-only. Predefinito: `undefined` | `boolean` |
649
+ | `sameSite` | Politica SameSite. | `'strict'` &#124; <br/> `'lax'` &#124; <br/> `'none'` |
650
+ | `expires` | Data di scadenza o giorni. Predefinito: `undefined` | `Date` &#124; <br/> `number` |
650
651
 
651
- #### Attributi del Locale Storage (Locale Storage Attributes)
652
+ #### Attributi di Memorizzazione Locale
652
653
 
653
654
  Quando si utilizza localStorage o sessionStorage:
654
655
 
655
- | Campo | Tipo | Descrizione |
656
- | ------ | ---------------------------------------- | ------------------------------------------------------------- |
657
- | `type` | `'localStorage' &#124; 'sessionStorage'` | Tipo di memoria. |
658
- | `name` | `string` | Nome della chiave memoriale. Predefinito: `'INTLAYER_LOCALE'` |
656
+ | Campo | Descrizione | Tipo |
657
+ | ------ | ---------------------------------------------- | ------------------------------------------------ |
658
+ | `type` | Tipo di memorizzazione. | `'localStorage'` &#124; <br/> `'sessionStorage'` |
659
+ | `name` | Nome chiave di memoria. Predefinito: `'INTLAYER_LOCALE'` | `string` |
659
660
 
660
- #### Esempi di Configurazione
661
+ #### Esempi di configurazione
661
662
 
662
663
  Ecco alcuni esempi comuni di configurazione per la nuova struttura di routing v7:
663
664
 
664
- **Configurazione di Base (Predefinita)**:
665
+ **Configurazione Base (Predefinita)**:
665
666
 
666
667
  ```typescript
667
668
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -681,7 +682,7 @@ const config: IntlayerConfig = {
681
682
  export default config;
682
683
  ```
683
684
 
684
- **Configurazione conforme alla GDPR**:
685
+ **Configurazione Conforme al GDPR**:
685
686
 
686
687
  ```typescript
687
688
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -713,7 +714,7 @@ const config: IntlayerConfig = {
713
714
  export default config;
714
715
  ```
715
716
 
716
- **Modalità Parametri di Ricerca (Search Parameters Mode)**:
717
+ **Modalità Parametri di Ricerca**:
717
718
 
718
719
  ```typescript
719
720
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -733,7 +734,7 @@ const config: IntlayerConfig = {
733
734
  export default config;
734
735
  ```
735
736
 
736
- **Modalità Senza Prefisso (No Prefix Mode) con memoria personalizzata**:
737
+ **Modalità Senza Prefisso con Memorizzazione Personalizzata**:
737
738
 
738
739
  ```typescript
739
740
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -756,7 +757,7 @@ const config: IntlayerConfig = {
756
757
  export default config;
757
758
  ```
758
759
 
759
- **Rewrite URL personalizzato con percorsi dinamici**:
760
+ **Riscrittura URL Personalizzata con Percorsi Dinamici**:
760
761
 
761
762
  ```typescript
762
763
  // intlayer.config.ts
@@ -768,7 +769,7 @@ const config: IntlayerConfig = {
768
769
  defaultLocale: "en",
769
770
  },
770
771
  routing: {
771
- mode: "prefix-no-default", // Strategia di fallback per i percorsi non riscritti
772
+ mode: "prefix-no-default", // Fallback per percorsi non riscritti
772
773
  storage: "cookie",
773
774
  rewrite: nextjsRewrite({
774
775
  "/about": {
@@ -792,132 +793,166 @@ export default config;
792
793
 
793
794
  ---
794
795
 
795
- ### Configurazione di Contenuto (Content Configuration)
796
+ ### Configurazione dei Contenuti
796
797
 
797
- Impostazioni relative all'elaborazione dei contenuti all'interno dell'applicazione (nomi di directory, estensioni di file e configurazioni derivate).
798
+ Impostazioni relative alla gestione dei contenuti all'interno dell'applicazione, inclusi nomi di directory, estensioni file e configurazioni derivate.
798
799
 
799
- | Campo | Tipo | Descrizione | Esempio | Nota |
800
- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
801
- | `watch` | `boolean` | Indica se Intlayer debba monitorare le modifiche nei file di dichiarazione del contenuto per ricostruire i dizionari. Predefinito: `process.env.NODE_ENV === 'development'` | | |
802
- | `fileExtensions` | `string[]` | Estensioni dei file utilizzate per la scansione dei file di dichiarazione del contenuto. Predefinito: `['.content.ts', '.content.js', '.content.mjs', '.content.cjs', '.content.json', '.content.json5', '.content.jsonc']` | `['.content.ts', '.content.js']` | |
803
- | `contentDir` | `string[]` | Percorsi alle directory in cui si trovano i file di dichiarazione del contenuto. Predefinito: `['.']` | `['src/content']` | |
804
- | `codeDir` | `string[]` | Percorsi alle directory in cui si trovano i file del codice sorgente della tua applicazione. Predefinito: `['.']` | `['src']` | Utilizzato per ottimizzare la build e garantire che la trasformazione del codice e il ricaricamento a caldo siano applicati solo ai file necessari. |
805
- | `excludedPath` | `string[]` | Percorsi esclusi dalla scansione dei contenuti. Predefinito: `['node_modules', '.intlayer', '.next', 'dist', 'build']` | `['src/styles']` | |
806
- | `formatCommand` | `string` | Comando che verrà eseguito per formattare i file di contenuto appena creati o aggiornati. Predefinito: `undefined` | `'npx prettier --write "{{file}}"'` | Utilizzato durante l'estrazione del contenuto o tramite l'editor visuale. |
800
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
801
+ | ---------------- | ------------------------------------------------------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
802
+ | `watch` | Indica se Intlayer deve monitorare le modifiche nei file di dichiarazione dei contenuti per rigenerare i dizionari. | `boolean` | `true` | | |
803
+ | `fileExtensions` | Estensioni file da scansionare durante la compilazione dei dizionari. | `string[]` | `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.json5', '.content.jsonc', '.content.tsx', '.content.jsx']` | `['.data.ts', '.data.js', '.data.json']` | La personalizzazione può aiutare a evitare conflitti. |
804
+ | `contentDir` | Il percorso della directory dove sono memorizzati i file di definizione dei contenuti (`.content.*`). | `string[]` | `['.']` | `['src', '../../ui-library', require.resolve("@my-package/content")]` | Usata per monitorare i file di contenuto e rigenerare i dizionari. |
805
+ | `codeDir` | Il percorso della directory dove è memorizzato il codice, relativo alla directory base. | `string[]` | `['.']` | `['src', '../../ui-library']` | Usata per monitorare i file di codice per la trasformazione (pruning, ottimizzazione).<br/>• Separare da `contentDir` può migliorare le prestazioni. |
806
+ | `excludedPath` | Directory escluse dalla scansione dei contenuti. | `string[]` | `['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']` | | Non ancora utilizzata; prevista per implementazioni future. |
807
+ | `formatCommand` | Comando per formattare i file di contenuto quando Intlayer li scrive localmente. | `string` | `undefined` | `'npx prettier --write "{{file}}" --log-level silent'` (Prettier), `'npx biome format "{{file}}" --write --log-level none'` (Biome), `'npx eslint --fix "{{file}}" --quiet'` (ESLint) | • `{{file}}` viene sostituito dal percorso del file.<br/>• Se non definito, Intlayer lo rileva automaticamente (prova prettier, biome, eslint). |
807
808
 
808
809
  ---
809
810
 
810
- ### Configurazione del Dizionario (Dictionary Configuration)
811
-
812
- Impostazioni che controllano le operazioni dei dizionari, incluso il comportamento del riempimento automatico e la generazione dei contenuti.
813
-
814
- Questa configurazione del dizionario ha due scopi principali:
815
-
816
- 1. **Valori predefiniti**: Definire i valori predefiniti durante la creazione dei file di dichiarazione del contenuto.
817
- 2. **Comportamento di fallback**: Fornire valori di fallback quando campi specifici non sono definiti, consentendo di definire globalmente il comportamento delle operazioni sui dizionari.
818
-
819
- Per ulteriori informazioni sui file di dichiarazione del contenuto e su come vengono applicati i valori di configurazione, consultare la [documentazione dei file di contenuto](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/dictionary/content_file.md).
820
-
821
- | Campo | Tipo | Descrizione | Esempio | Nota |
822
- | --------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
823
- | `fill` | `boolean &#124; FilePathPattern &#124; Partial<Record<Locale, boolean &#124; FilePathPattern>>` | Controlla come vengono generati i file di output del riempimento automatico (traduzione AI). Predefinito: `true` | Vedi esempio sotto | `true`: Percorso predefinito (stesso file della sorgente). `false`: Disabilitato. I template di stringa/funzione generano file per locale. Oggetto per locale: ogni locale è mappata al proprio pattern; `false` salta quel locale. L'inclusione di `{{locale}}` attiva la generazione per locale. Il `fill` a livello di dizionario ha sempre la precedenza su questa configurazione globale. |
824
- | `importMode` | `'static' &#124; 'dynamic' &#124; 'fetch'` | Controlla come vengono importati i dizionari. Predefinito: `'static'` | `'dynamic'` | `'static'`: Importato staticamente. `'dynamic'`: Importato dinamicamente tramite Suspense. `'fetch'`: Recuperato dinamicamente tramite Live Sync API. Non influisce su `getIntlayer`, `getDictionary`, `useDictionary`, ecc. |
825
- | `location` | `'local' &#124; 'remote' &#124; 'hybrid' &#124; string` | Dove vengono memorizzati i dizionari. Predefinito: `'local'` | `'remote'` | `'local'`: file system. `'remote'`: Intlayer CMS. `'hybrid'`: entrambi. |
826
- | `contentAutoTransformation` | `boolean` | Se i file di contenuto debbano essere trasformati automaticamente (es. da Markdown a HTML). Predefinito: `false` | `true` | Utile per elaborare i campi Markdown tramite @intlayer/markdown. |
811
+ ### Configurazione del Dizionario
812
+
813
+ Parametri che controllano le operazioni del dizionario, inclusi il comportamento di auto-fill e la generazione di contenuti.
814
+
815
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
816
+ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
817
+ | `fill` | Controlla come vengono generati i file di output del riempimento automatico (traduzione IA). | `boolean` &#124; <br/> `FilePathPattern` &#124; <br/> `Partial<Record<Locale, boolean &#124; FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: percorso predefinito (stesso file dell'originale).<br/>• `false`: disabilita.<br/>• Modello stringa/funzione genera file per locale.<br/>• Oggetto per locale: ogni locale corrisponde al proprio modello; `false` ignora quel locale.<br/>• Includere `{{locale}}` attiva la generazione per locale.<br/>• `fill` a livello di dizionario ha sempre la priorità rispetto a questa impostazione globale. |
818
+ | `description` | Aiuta a comprendere lo scopo del dizionario nell'editor e nel CMS. Usato anche come contesto per la generazione delle traduzioni tramite IA. | `string` | `undefined` | `'Sezione profilo utente'` | |
819
+ | `locale` | Trasforma il dizionario in un formato per locale. Ogni campo dichiarato diventa un nodo di traduzione. Se assente, il dizionario è trattato come multilingua. | `LocalesValues` | `undefined` | `'en'` | Usare quando il dizionario è specifico per un singolo locale invece di contenere traduzioni per diversi. |
820
+ | `contentAutoTransformation` | Trasforma automaticamente le stringhe di contenuto in nodi tipizzati (markdown, HTML o inserimento). | `boolean` &#124; <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`.<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Inserimento : `Ciao {{name}}` → `insert('Ciao {{name}}')`. |
821
+ | `location` | Indica dove sono memorizzati i file del dizionario e come vengono sincronizzati con il CMS. | `'local'` &#124; <br/> `'remote'` &#124; <br/> `'hybrid'` &#124; <br/> `'plugin'` &#124; <br/> `string` | `'local'` | `'hybrid'` | • `'local'` : gestito solo localmente.<br/>• `'remote'` : gestito solo remotamente (CMS).<br/>• `'hybrid'` : gestito sia localmente che remotamente.<br/>• `'plugin'` o stringa personalizzata: gestito da un plugin o da una fonte personalizzata. |
822
+ | `importMode` | Controlla come vengono importati i dizionari. | `'static'` &#124; <br/> `'dynamic'` &#124; <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: importato staticamente.<br/>• `'dynamic'`: importato dinamicamente tramite Suspense.<br/>• `'fetch'`: recuperato tramite API live sync; fallback su `'dynamic'` se fallisce.<br/>• Richiede i plugin `@intlayer/babel` e `@intlayer/swc`.<br/>• Le chiavi devono essere dichiarate staticamente.<br/>• Ignorato se `optimize` è disabilitato.<br/>• Non influisce su `getIntlayer`, `getDictionary`, ecc. |
823
+ | `priority` | Priorità del dizionario. I valori più alti vincono su quelli più bassi nella risoluzione dei conflitti tra dizionari. | `number` | `undefined` | `1` | |
824
+ | `live` | Deprecato usare invece `importMode: 'fetch'`. Indicava se il contenuto del dizionario doveva essere recuperato dinamicamente tramite l'API live sync. | `boolean` | `undefined` | | Rinominato in `importMode: 'fetch'` nella v8.0.0. |
825
+ | `schema` | Generato automaticamente da Intlayer per la validazione dello schema JSON. | `'https://intlayer.org/schema.json'` | auto-generato | | Non modificare manualmente. |
826
+ | `title` | Aiuta a identificare il dizionario nell'editor e nel CMS. | `string` | `undefined` | `'Profilo Utente'` | |
827
+ | `tags` | Categorizza i dizionari e fornisce contesto o istruzioni per l'editor e l'IA. | `string[]` | `undefined` | `['utente', 'profilo']` | |
828
+ | `version` | Versione del dizionario remoto; aiuta a tracciare la versione attualmente in uso. | `string` | `undefined` | `'1.0.0'` | • Gestibile nel CMS.<br/>• Non modificare localmente. |
827
829
 
828
830
  **Esempio di `fill`**:
829
831
 
830
832
  ```ts
831
833
  dictionary: {
832
834
  fill: {
833
- en: '/locales/en/{{key}}.content.json',
835
+ en: "/locales/en/{{key}}.content.json",
834
836
  fr: ({ key }) => `/locales/fr/${key}.content.json`,
835
837
  es: false,
836
- }
837
- }
838
+ },
839
+ };
838
840
  ```
839
841
 
840
842
  ---
841
843
 
842
- ### Configurazione AI (AI Configuration)
844
+ ### Configurazione del Logger
843
845
 
844
- Definisce le impostazioni per le funzionalità alimentate dall'AI di Intlayer, come la traduzione build.
846
+ Parametri per personalizzare l'output dei log di Intlayer.
845
847
 
846
- | Campo | Tipo | Descrizione | Esempio | Nota |
847
- | -------------------- | ---------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------- |
848
- | `provider` | `string` | Il fornitore AI da utilizzare. | `'openai'`, `'anthropic'`, `'googlevertex'` | |
849
- | `model` | `string` | Il modello AI da utilizzare. | `'gpt-4o'`, `'claude-3-5-sonnet-20240620'` | |
850
- | `apiKey` | `string` | Chiave API per il fornitore selezionato. | `process.env.OPENAI_API_KEY` | |
851
- | `applicationContext` | `string` | Contesto aggiuntivo sulla tua app per migliorare la precisione della traduzione AI. | `'Piattaforma di studio per bambini.'` | |
852
- | `baseURL` | `string` | URL base opzionale per le chiamate API. | | Utile se stai usando un proxy o un deployment AI locale. |
853
- | `dataSerialization` | `'json' &#124; 'toon'` | Definisce come inviare i dati all'AI. Predefinito: `'json'` | `'json'` | `'json'`: più robusto e preciso. `'toon'`: consuma meno token ma può essere meno stabile. |
848
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
849
+ | -------- | ----------------------------------------- | -------------------------------------------------------------- | ---------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------- |
850
+ | `mode` | Indica la modalità del logger. | `'default'` &#124; <br/> `'verbose'` &#124; <br/> `'disabled'` | `'default'` | `'verbose'` | `'verbose'`: logga più informazioni per il debug.<br/>• `'disabled'`: disabilita completamente il logger. |
851
+ | `prefix` | Il prefisso per i messaggi di log. | `string` | `'[intlayer] '` | `'[mio prefisso] '` | |
854
852
 
855
853
  ---
856
854
 
857
- ### Configurazione della Build (Build Configuration)
855
+ ### Configurazione AI
856
+
857
+ Impostazioni che controllano le funzioni AI di Intlayer, inclusi fornitore, modello e chiave API.
858
+
859
+ Questa configurazione è opzionale se sei registrato al [Dashboard Intlayer](https://app.intlayer.org/project) con una chiave di accesso. Intlayer gestirà automaticamente la soluzione AI più efficiente ed economica per le tue esigenze. L'uso delle opzioni predefinite garantisce una migliore manutenibilità a lungo termine, poiché Intlayer viene aggiornato continuamente per utilizzare i modelli più rilevanti.
860
+
861
+ Se preferisci usare la tua chiave API o un modello specifico, puoi definire la tua configurazione AI personalizzata.
862
+ Questa configurazione AI verrà utilizzata globalmente nel tuo ambiente Intlayer. I comandi CLI utilizzeranno queste impostazioni di default per comandi come `fill`, così come l'SDK, il Visual Editor e il CMS. Puoi sovrascrivere questi valori predefiniti per casi d'uso specifici tramite i parametri del comando.
863
+
864
+ Intlayer supporta molteplici fornitori AI per la massima flessibilità. I fornitori attualmente supportati sono:
865
+
866
+ - **OpenAI** (Default)
867
+ - **Anthropic Claude**
868
+ - **Mistral AI**
869
+ - **DeepSeek**
870
+ - **Google Gemini**
871
+ - **Google AI Studio**
872
+ - **Google Vertex**
873
+ - **Meta Llama**
874
+ - **Ollama**
875
+ - **OpenRouter**
876
+ - **Alibaba Cloud**
877
+ - **Fireworks**
878
+ - **Hugging Face**
879
+ - **Groq**
880
+ - **Amazon Bedrock**
881
+ - **Together.ai**
882
+
883
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
884
+ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
885
+ | `provider` | Il fornitore da utilizzare per le funzioni AI di Intlayer. | `'openai'` &#124; <br/> `'anthropic'` &#124; <br/> `'mistral'` &#124; <br/> `'deepseek'` &#124; <br/> `'gemini'` &#124; <br/> `'ollama'` &#124; <br/> `'openrouter'` &#124; <br/> `'alibaba'` &#124; <br/> `'fireworks'` &#124; <br/> `'groq'` &#124; <br/> `'huggingface'` &#124; <br/> `'bedrock'` &#124; <br/> `'googleaistudio'` &#124; <br/> `'googlevertex'` &#124; <br/> `'togetherai'` | `undefined` | `'anthropic'` | Diversi fornitori richiedono diverse chiavi API e hanno prezzi differenti. |
886
+ | `model` | Il modello da utilizzare per le funzioni AI. | `string` | Nessuno | `'gpt-4o-2024-11-20'` | Il modello specifico varia a seconda del fornitore. |
887
+ | `temperature` | Controlla la casualità delle risposte AI. | `number` | Nessuno | `0.1` | Temperatura più alta = più creativo e meno prevedibile. |
888
+ | `apiKey` | La tua chiave API per il fornitore selezionato. | `string` | Nessuno | `process.env.OPENAI_API_KEY` | Da mantenere segreto; memorizzare nelle variabili d'ambiente. |
889
+ | `applicationContext` | Contesto aggiuntivo sulla tua applicazione per aiutare l'IA a generare traduzioni più accurate (dominio, audience, tono, terminologia). | `string` | Nessuno | `'Il mio contesto applicativo'` | Può essere usato per aggiungere regole (es.: `"Non devi trasformare gli URL"`). |
890
+ | `baseURL` | L'URL base per l'API AI. | `string` | Nessuno | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Può puntare a un endpoint API AI locale o personalizzato. |
891
+ | `dataSerialization` | Formato di serializzazione dati per le funzioni AI. | `'json'` &#124; <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: standard, affidabile; usa più token.<br/>• `'toon'`: meno token, meno consistente.<br/>• Vengono passati parametri aggiuntivi al modello come contesto (sforzo di ragionamento, ecc.). |
858
892
 
859
- Impostazioni del processo di build e ottimizzazione di Intlayer.
893
+ ---
860
894
 
861
- | Campo | Tipo | Descrizione | Esempio | Nota |
862
- | -------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------- | ---- |
863
- | `mode` | `'auto' &#124; 'manual'` | Indica se Intlayer debba essere eseguito automaticamente durante i passaggi di pre-build dell'app. Predefinito: `'auto'` | | |
864
- | `optimize` | `boolean` | Indica se i dizionari compilati debbano essere ottimizzati per il runtime. Predefinito: `true` in produzione | | |
865
- | `outputFormat` | `('cjs' &#124; 'esm')[]` | Formato di output per i file del dizionario generati. Predefinito: `['cjs', 'esm']` | | |
866
- | `checkTypes` | `boolean` | Indica se Intlayer debba controllare i tipi nei file generati. Predefinito: `false` | | |
895
+ ### Configurazione di Build
867
896
 
868
- ---
897
+ Parametri che controllano come Intlayer ottimizza e compila l'internazionalizzazione della tua applicazione.
898
+
899
+ Le opzioni di build si applicano ai plugin `@intlayer/babel` e `@intlayer/swc`.
869
900
 
870
- ### Configurazione di Sistema (System Configuration)
901
+ > In modalità sviluppo, Intlayer utilizza importazioni statiche per i dizionari per semplificare l'esperienza di sviluppo.
871
902
 
872
- Queste impostazioni sono destinate a casi d'uso avanzati e per la configurazione interna di Intlayer.
903
+ > Durante l'ottimizzazione, Intlayer sostituirà le chiamate ai dizionari per ottimizzare il chunking, in modo che il bundle finale importi solo i dizionari effettivamente utilizzati.
873
904
 
874
- | Campo | Tipo | Descrizione | Predefinito |
875
- | ------------------------- | -------- | ----------------------------------------------- | --------------------------------- |
876
- | `dictionariesDir` | `string` | Directory dei dizionari compilati. | `'.intlayer/dictionary'` |
877
- | `moduleAugmentationDir` | `string` | Directory per TypeScript module augmentation. | `'.intlayer/types'` |
878
- | `unmergedDictionariesDir` | `string` | Directory dei dizionari non fusi. | `'.intlayer/unmerged_dictionary'` |
879
- | `typesDir` | `string` | Directory dei tipi generati. | `'.intlayer/types'` |
880
- | `mainDir` | `string` | Directory del file Intlayer principale. | `'.intlayer/main'` |
881
- | `configDir` | `string` | Directory dei file di configurazione compilati. | `'.intlayer/config'` |
882
- | `cacheDir` | `string` | Directory dei file di cache. | `'.intlayer/cache'` |
905
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
906
+ | ----------------- | ----------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
907
+ | `mode` | Controlla la modalità di build. | `'auto'` &#124; <br/> `'manual'` | `'auto'` | `'manual'` | • `'auto'`: build attivata automaticamente durante la build dell'app.<br/>• `'manual'`: eseguita solo quando viene lanciato esplicitamente il comando di build.<br/>• Può essere usato per disabilitare le build dei dizionari (es. per evitare l'esecuzione in ambienti Node.js). |
908
+ | `optimize` | Controlla se la build deve essere ottimizzata. | `boolean` | `undefined` | `process.env.NODE_ENV === 'production'` | Se non definito, l'ottimizzazione viene attivata alla build del framework (Vite/Next.js).<br/>• `true` forza l'ottimizzazione anche in modalità dev.<br/>• `false` la disabilita.<br/>• Se attivo, sostituisce le chiamate ai dizionari per ottimizzare il chunking.<br/>• Richiede i plugin `@intlayer/babel` e `@intlayer/swc`. |
909
+ | `checkTypes` | Indica se la build deve verificare i tipi TypeScript e loggare eventuali errori. | `boolean` | `false` | | Può rallentare il processo di build. |
910
+ | `outputFormat` | Controlla il formato di output dei dizionari. | `('esm' &#124; 'cjs')[]` | `['esm', 'cjs']` | `['cjs']` | |
911
+ | `traversePattern` | Modelli che definiscono quali file scansionare durante l'ottimizzazione. | `string[]` | `['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*']` | `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']` | • Limita l'ottimizzazione ai file rilevanti per migliorare le prestazioni di build.<br/>• Ignorato se `optimize` è disabilitato.<br/>• Usa pattern glob. |
883
912
 
884
913
  ---
885
914
 
886
- ### Configurazione del Compilatore (Compiler Configuration)
915
+ ### Configurazione di Sistema
887
916
 
888
- Impostazioni per il compilatore Intlayer (`intlayer compiler`).
917
+ Queste impostazioni sono per casi d'uso avanzati e configurazione interna di Intlayer.
889
918
 
890
- | Campo | Tipo | Descrizione | Predefinito |
891
- | --------------------- | ------------------------ | -------------------------------------------------------------------------------------------- | ----------- |
892
- | `enabled` | `boolean` | Indica se il compilatore è attivo. | `false` |
893
- | `output` | `string &#124; Function` | Percorso di output per i dizionari estratti. | |
894
- | `saveComponents` | `boolean` | Indica se i file sorgente originali debbano essere sovrascritti con le versioni trasformate. | `false` |
895
- | `noMetadata` | `boolean` | Se `true`, il compilatore non includerà metadati nei file generati. | `false` |
896
- | `dictionaryKeyPrefix` | `string` | Prefisso opzionale della chiave del dizionario. | `''` |
919
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
920
+ | ------------------------- | --------------------------------------------------- | -------- | --------------------------------- | ------- | ---- |
921
+ | `dictionariesDir` | Directory per i dizionari compilati. | `string` | `'.intlayer/dictionary'` | | |
922
+ | `moduleAugmentationDir` | Directory per l'augmentation dei moduli TypeScript. | `string` | `'.intlayer/types'` | | |
923
+ | `unmergedDictionariesDir` | Directory per i dizionari non fusi. | `string` | `'.intlayer/unmerged_dictionary'` | | |
924
+ | `typesDir` | Directory per i tipi generati. | `string` | `'.intlayer/types'` | | |
925
+ | `mainDir` | Directory del file principale di Intlayer. | `string` | `'.intlayer/main'` | | |
926
+ | `configDir` | Directory dei file di configurazione compilati. | `string` | `'.intlayer/config'` | | |
927
+ | `cacheDir` | Directory dei file di cache. | `string` | `'.intlayer/cache'` | | |
897
928
 
898
929
  ---
899
930
 
900
- ### Configurazione del Logger (Logger Configuration)
931
+ ### Configurazione del Compilatore
901
932
 
902
- Impostazioni per personalizzare l'output dei log di Intlayer.
933
+ Impostazioni che controllano il compilatore Intlayer, che estrae i dizionari direttamente dai tuoi componenti.
903
934
 
904
- | Campo | Tipo | Descrizione | Predefinito |
905
- | -------- | ---------------------------------------------- | ------------------------------- | -------------- |
906
- | `mode` | `'default' &#124; 'verbose' &#124; 'disabled'` | Modalità di logging. | `'default'` |
907
- | `prefix` | `string` | Prefisso per i messaggi di log. | `'[intlayer]'` |
935
+ | Campo | Descrizione | Tipo | Predefinito | Esempio | Nota |
936
+ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
937
+ | `enabled` | Indica se il compilatore deve essere abilitato per l'estrazione dei dizionari. | `boolean` &#124; <br/> `'build-only'` | `true` | `'build-only'` | `'build-only'` salta il compilatore durante lo sviluppo per velocizzare le build; viene eseguito solo ai comandi di build. |
938
+ | `dictionaryKeyPrefix` | Prefisso per le chiavi dei dizionari estratte. | `string` | `''` | `'mio-prefisso-'` | Aggiunto alla chiave generata (basata sul nome file) per evitare conflitti. |
939
+ | `saveComponents` | Indica se i componenti devono essere salvati dopo essere stati trasformati. | `boolean` | `false` | | • Se `true`, sostituisce i file originali con le versioni trasformate.<br/>• Il compilatore può essere rimosso dopo un'esecuzione. |
940
+ | `output` | Definisce il percorso dei file di output. Sostituisce `outputDir`. Supporta variabili template: `{{fileName}}`, <br/> `{{key}}`, <br/> `{{locale}}`, <br/> `{{extension}}`, <br/> `{{componentFileName}}`, <br/> `{{componentExtension}}`, <br/> `{{format}}`, <br/> `{{componentFormat}}`, <br/> `{{componentDirPath}}`. | `boolean` &#124; <br/> `FilePathPattern` &#124; <br/> `Partial<Record<Locale, boolean &#124; FilePathPattern>>` | `undefined` | `'./{{fileName}}{{extension}}'` <br/> `'/locales/{{locale}}/{{key}}.json'` <br/> `{ en: ({ key }) => './locales/en/${key}.json', fr: '...', es: false }` | • I percorsi `./` sono risolti rispetto alla directory del componente.<br/>• Percorsi `/` rispetto alla radice.<br/>• `{{locale}}` attiva la generazione per locale.<br/>• Supporta notazione oggetti per locale. |
941
+ | `noMetadata` | Se `true`, il compilatore omette i metadati del dizionario (chiave, wrapper contenuto) dall'output. | `boolean` | `false` | `false` → `{"key":"mia-chiave","content":{"key":"valore"}}` <br/> `true` → `{"key":"valore"}` | • Utile per output JSON i18next o ICU MessageFormat.<br/>• Funziona bene con il plugin `loadJSON`. |
942
+ | `dictionaryKeyPrefix` | Prefisso chiave dizionario | `string` | `''` | | Aggiungi un prefisso opzionale per le chiavi del dizionario estratte |
908
943
 
909
944
  ---
910
945
 
911
- ### Schemi Personalizzati (Custom Schemas)
946
+ ### Schemi Personalizzati
912
947
 
913
- | Campo | Tipo | Descrizione |
914
- | --------- | --------------------------- | -------------------------------------------------------------------------------- |
915
- | `schemas` | `Record<string, ZodSchema>` | Ti permette di definire schemi Zod per validare la struttura dei tuoi dizionari. |
948
+ | Campo | Descrizione | Tipo |
949
+ | --------- | --------------------------------------------------------------------------- | --------------------------- |
950
+ | `schemas` | Consente di definire schemi Zod per validare la struttura dei tuoi dizionari. | `Record<string, ZodSchema>` |
916
951
 
917
952
  ---
918
953
 
919
- ### Plugin (Plugins)
954
+ ### Plugin
920
955
 
921
- | Campo | Tipo | Descrizione |
922
- | --------- | ------------------ | --------------------------------------- |
923
- | `plugins` | `IntlayerPlugin[]` | Elenco dei plugin Intlayer da attivare. |
956
+ | Campo | Descrizione | Tipo |
957
+ | --------- | ------------------------------------ | ------------------ |
958
+ | `plugins` | Elenco dei plugin Intlayer da attivare. | `IntlayerPlugin[]` |