@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.
Files changed (107) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +29 -0
  2. package/dist/cjs/blog.cjs +21 -1
  3. package/dist/cjs/blog.cjs.map +1 -1
  4. package/dist/cjs/common.cjs +81 -1
  5. package/dist/cjs/common.cjs.map +1 -0
  6. package/dist/cjs/doc.cjs +21 -1
  7. package/dist/cjs/doc.cjs.map +1 -1
  8. package/dist/cjs/frequentQuestions.cjs +21 -1
  9. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  10. package/dist/cjs/generated/blog.entry.cjs +572 -1
  11. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  12. package/dist/cjs/generated/docs.entry.cjs +3032 -1
  13. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  14. package/dist/cjs/generated/frequentQuestions.entry.cjs +352 -1
  15. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  16. package/dist/cjs/generated/legal.entry.cjs +72 -1
  17. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  18. package/dist/cjs/index.cjs +34 -1
  19. package/dist/cjs/legal.cjs +21 -1
  20. package/dist/cjs/legal.cjs.map +1 -1
  21. package/dist/esm/blog.mjs +14 -1
  22. package/dist/esm/blog.mjs.map +1 -1
  23. package/dist/esm/common.mjs +67 -1
  24. package/dist/esm/common.mjs.map +1 -1
  25. package/dist/esm/doc.mjs +14 -1
  26. package/dist/esm/doc.mjs.map +1 -1
  27. package/dist/esm/frequentQuestions.mjs +14 -1
  28. package/dist/esm/frequentQuestions.mjs.map +1 -1
  29. package/dist/esm/generated/blog.entry.mjs +570 -1
  30. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  31. package/dist/esm/generated/docs.entry.mjs +3030 -1
  32. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  33. package/dist/esm/generated/frequentQuestions.entry.mjs +350 -1
  34. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  35. package/dist/esm/generated/legal.entry.mjs +70 -1
  36. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  37. package/dist/esm/index.mjs +6 -1
  38. package/dist/esm/legal.mjs +14 -1
  39. package/dist/esm/legal.mjs.map +1 -1
  40. package/dist/types/blog.d.ts +2 -2
  41. package/dist/types/common.d.ts +37 -2
  42. package/dist/types/common.d.ts.map +1 -0
  43. package/dist/types/doc.d.ts +2 -2
  44. package/dist/types/frequentQuestions.d.ts +2 -2
  45. package/dist/types/generated/blog.entry.d.ts +35 -2
  46. package/dist/types/generated/blog.entry.d.ts.map +1 -0
  47. package/dist/types/generated/docs.entry.d.ts +158 -2
  48. package/dist/types/generated/docs.entry.d.ts.map +1 -0
  49. package/dist/types/generated/frequentQuestions.entry.d.ts +24 -2
  50. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -0
  51. package/dist/types/generated/legal.entry.d.ts +10 -2
  52. package/dist/types/generated/legal.entry.d.ts.map +1 -0
  53. package/dist/types/legal.d.ts +2 -2
  54. package/docs/ar/configuration.md +520 -722
  55. package/docs/ar/intlayer_with_storybook.md +521 -0
  56. package/docs/bn/configuration.md +922 -0
  57. package/docs/bn/intlayer_with_hono.md +428 -0
  58. package/docs/de/configuration.md +369 -743
  59. package/docs/de/intlayer_with_storybook.md +521 -0
  60. package/docs/en/configuration.md +181 -507
  61. package/docs/en/intlayer_with_storybook.md +521 -0
  62. package/docs/en-GB/configuration.md +456 -657
  63. package/docs/en-GB/intlayer_with_storybook.md +521 -0
  64. package/docs/es/configuration.md +379 -754
  65. package/docs/es/intlayer_with_storybook.md +521 -0
  66. package/docs/fr/configuration.md +376 -757
  67. package/docs/fr/intlayer_with_storybook.md +521 -0
  68. package/docs/hi/configuration.md +532 -728
  69. package/docs/hi/intlayer_with_storybook.md +521 -0
  70. package/docs/id/configuration.md +371 -684
  71. package/docs/id/intlayer_with_storybook.md +521 -0
  72. package/docs/it/configuration.md +397 -775
  73. package/docs/it/intlayer_with_storybook.md +521 -0
  74. package/docs/ja/configuration.md +525 -724
  75. package/docs/ja/intlayer_with_storybook.md +521 -0
  76. package/docs/ko/configuration.md +525 -724
  77. package/docs/ko/intlayer_with_storybook.md +521 -0
  78. package/docs/pl/configuration.md +430 -734
  79. package/docs/pl/intlayer_with_storybook.md +521 -0
  80. package/docs/pt/configuration.md +375 -746
  81. package/docs/pt/intlayer_with_storybook.md +521 -0
  82. package/docs/ru/configuration.md +532 -701
  83. package/docs/ru/intlayer_with_storybook.md +521 -0
  84. package/docs/tr/configuration.md +527 -719
  85. package/docs/tr/intlayer_with_storybook.md +521 -0
  86. package/docs/uk/configuration.md +425 -744
  87. package/docs/uk/intlayer_with_storybook.md +521 -0
  88. package/docs/ur/configuration.md +922 -0
  89. package/docs/ur/intlayer_with_hono.md +428 -0
  90. package/docs/vi/configuration.md +412 -753
  91. package/docs/vi/intlayer_with_storybook.md +521 -0
  92. package/docs/zh/configuration.md +521 -714
  93. package/docs/zh/intlayer_with_storybook.md +521 -0
  94. package/package.json +6 -6
  95. package/src/generated/docs.entry.ts +20 -0
  96. package/dist/cjs/common-a-l0ULP6.cjs +0 -2
  97. package/dist/cjs/common-a-l0ULP6.cjs.map +0 -1
  98. package/dist/types/blog.entry-D5IgxPXY.d.ts +0 -35
  99. package/dist/types/blog.entry-D5IgxPXY.d.ts.map +0 -1
  100. package/dist/types/common-B45TZvLQ.d.ts +0 -37
  101. package/dist/types/common-B45TZvLQ.d.ts.map +0 -1
  102. package/dist/types/docs.entry-CergjAYt.d.ts +0 -157
  103. package/dist/types/docs.entry-CergjAYt.d.ts.map +0 -1
  104. package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts +0 -24
  105. package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts.map +0 -1
  106. package/dist/types/legal.entry-B5Lg5eeH.d.ts +0 -10
  107. package/dist/types/legal.entry-B5Lg5eeH.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-03-12
4
- title: Configurazione
5
- description: Scopri come configurare Intlayer per la tua applicazione. Comprendi le varie impostazioni e opzioni disponibili per personalizzare Intlayer secondo le tue esigenze.
3
+ updatedAt: 2026-03-20
4
+ title: Configurazione (Configuration)
5
+ description: Scopri come configurare Intlayer per la tua applicazione. Comprendi le varie impostazioni e opzioni disponibili per personalizzare Intlayer in base alle tue esigenze.
6
6
  keywords:
7
7
  - Configurazione
8
8
  - Impostazioni
@@ -14,51 +14,54 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.4.0
18
+ date: 2026-03-20
19
+ changes: Aggiunta la notazione per oggetto per locale per 'compiler.output' e 'dictionary.fill'
17
20
  - version: 8.3.0
18
21
  date: 2026-03-11
19
- changes: Sposta 'baseDir' dalla configurazione 'content' alla configurazione 'system'
22
+ changes: Spostato 'baseDir' dalla configurazione 'content' alla configurazione 'system'
20
23
  - version: 8.2.0
21
24
  date: 2026-03-09
22
- changes: Aggiorna le opzioni del compilatore, aggiungi il supporto per 'output' e 'noMetadata'
25
+ changes: Aggiornate le opzioni del compilatore (compiler), aggiunto il supporto per 'output' e 'noMetadata'
23
26
  - version: 8.1.7
24
27
  date: 2026-02-25
25
- changes: Aggiorna le opzioni del compilatore
28
+ changes: Aggiornate le opzioni del compilatore
26
29
  - version: 8.1.5
27
30
  date: 2026-02-23
28
- changes: Aggiunta opzione del compilatore 'build-only' e prefisso del dizionario
31
+ changes: Aggiunta l'opzione del compilatore 'build-only' e il prefisso del dizionario
29
32
  - version: 8.0.6
30
33
  date: 2026-02-12
31
- changes: Aggiungi il supporto per i fornitori Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face e Together.ai
34
+ changes: Aggiunto il supporto per i fornitori Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face e Together.ai
32
35
  - version: 8.0.5
33
36
  date: 2026-02-06
34
- changes: Aggiungi `dataSerialization` alla configurazione AI
37
+ changes: Aggiunto `dataSerialization` alla configurazione AI
35
38
  - version: 8.0.0
36
39
  date: 2026-01-24
37
- changes: Rinomina la modalità di importazione `live` in `fetch` per descrivere meglio il meccanismo sottostante.
40
+ changes: Rinominata la modalità di importazione `live` in `fetch` per descrivere meglio il meccanismo sottostante.
38
41
  - version: 8.0.0
39
42
  date: 2026-01-22
40
- changes: Sposta la configurazione di build per `importMode` nella configurazione del dizionario.
43
+ changes: Spostata la configurazione di build `importMode` nella configurazione `dictionary`.
41
44
  - version: 8.0.0
42
45
  date: 2026-01-22
43
46
  changes: Aggiunta l'opzione `rewrite` alla configurazione del routing
44
47
  - version: 8.0.0
45
48
  date: 2026-01-18
46
- changes: Separare la configurazione del sistema dalla configurazione del contenuto. Spostare i percorsi interni alla proprietà `system`. Aggiungere `codeDir` per separare i file di contenuto dalla trasformazione del codice.
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.
47
50
  - version: 8.0.0
48
51
  date: 2026-01-18
49
- changes: Aggiunte opzioni dizionario `location` e `schema`
52
+ changes: Aggiunte le opzioni del dizionario `location` e `schema`
50
53
  - version: 7.5.1
51
54
  date: 2026-01-10
52
- changes: Aggiunto supporto per i formati di file JSON5 e JSONC
55
+ changes: Aggiunto il supporto per i formati di file JSON5 e JSONC
53
56
  - version: 7.5.0
54
57
  date: 2025-12-17
55
- changes: Aggiunta opzione `buildMode`
58
+ changes: Aggiunta l'opzione `buildMode`
56
59
  - version: 7.0.0
57
60
  date: 2025-10-25
58
- changes: Aggiunta configurazione `dictionary`
61
+ changes: Aggiunta la configurazione `dictionary`
59
62
  - version: 7.0.0
60
63
  date: 2025-10-21
61
- changes: Sostituito il `middleware` con la configurazione `routing`
64
+ changes: Sostituito `middleware` con la configurazione del routing `routing`
62
65
  - version: 7.0.0
63
66
  date: 2025-10-12
64
67
  changes: Aggiunta l'opzione `formatCommand`
@@ -70,41 +73,41 @@ history:
70
73
  changes: Aggiunta l'opzione `outputFormat`
71
74
  - version: 6.0.0
72
75
  date: 2025-09-21
73
- changes: Rimosso il campo `dictionaryOutput` e il campo `i18nextResourcesDir`
76
+ changes: Rimossi il campo `dictionaryOutput` e il campo `i18nextResourcesDir`
74
77
  - version: 6.0.0
75
78
  date: 2025-09-16
76
- changes: Aggiunta modalità di importazione `live`
79
+ changes: Aggiunta la modalità di importazione `live`
77
80
  - version: 6.0.0
78
81
  date: 2025-09-04
79
- 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`
80
83
  - version: 5.6.1
81
84
  date: 2025-07-25
82
85
  changes: Sostituito `activateDynamicImport` con l'opzione `importMode`
83
86
  - version: 5.6.0
84
87
  date: 2025-07-13
85
- changes: Modificata la directory di contenuto predefinita da `['src']` a `['.']`
88
+ changes: Modificato il contentDir predefinito da `['src']` a `['.']`
86
89
  - version: 5.5.11
87
90
  date: 2025-06-29
88
91
  changes: Aggiunti i comandi `docs`
89
92
  ---
90
93
 
91
- # Documentazione di Configurazione di Intlayer
94
+ # Documentazione della Configurazione di Intlayer
92
95
 
93
96
  ## Panoramica
94
97
 
95
- I file di configurazione di Intlayer permettono la personalizzazione di vari aspetti del plugin, come l'internazionalizzazione, il middleware e la gestione dei contenuti. Questo documento fornisce una descrizione dettagliata di ogni proprietà nella configurazione.
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.
96
99
 
97
100
  ---
98
101
 
99
- ## Indice
102
+ ## Tabella dei Contenuti
100
103
 
101
104
  <TOC/>
102
105
 
103
106
  ---
104
107
 
105
- ## Formati di File di Configurazione Supportati
108
+ ## Formati dei file di configurazione supportati
106
109
 
107
- Intlayer accetta formati di file di configurazione JSON, JS, MJS e TS:
110
+ Intlayer accetta i formati di file di configurazione JSON, JS, MJS e TS:
108
111
 
109
112
  - `intlayer.config.ts`
110
113
  - `intlayer.config.js`
@@ -125,108 +128,108 @@ import { nextjsRewrite } from "intlayer/routing";
125
128
  import { z } from "zod";
126
129
 
127
130
  /**
128
- * Example Intlayer configuration file showing all available options.
131
+ * Esempio di file di configurazione Intlayer che mostra tutte le opzioni disponibili.
129
132
  */
130
133
  const config: IntlayerConfig = {
131
134
  /**
132
- * Configuration for internationalization settings.
135
+ * Configurazione delle impostazioni di internazionalizzazione.
133
136
  */
134
137
  internationalization: {
135
138
  /**
136
- * List of supported locales in the application.
137
- * Default: [Locales.ENGLISH]
139
+ * Elenco delle locali (locales) supportate nell'applicazione.
140
+ * Predefinito: [Locales.ENGLISH]
138
141
  */
139
142
  locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
140
143
 
141
144
  /**
142
- * List of required locales that must be defined in every dictionary.
143
- * If empty, all locales are required in `strict` mode.
144
- * Default: []
145
+ * Elenco delle locali obbligatorie che devono essere definite in ogni dizionario.
146
+ * Se vuoto, tutte le locali sono obbligatorie in modalità `strict`.
147
+ * Predefinito: []
145
148
  */
146
149
  requiredLocales: [Locales.ENGLISH],
147
150
 
148
151
  /**
149
- * Strictness level for internationalized content.
150
- * - "strict": Errors if any declared locale is missing or undeclared.
151
- * - "inclusive": Warnings if a declared locale is missing.
152
- * - "loose": Accepts any existing locale.
153
- * Default: "inclusive"
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.
155
+ * - "loose": Accetta qualsiasi locale esistente.
156
+ * Predefinito: "inclusive"
154
157
  */
155
158
  strictMode: "inclusive",
156
159
 
157
160
  /**
158
- * Default locale used as a fallback if the requested locale is not found.
159
- * Default: Locales.ENGLISH
161
+ * La locale predefinita utilizzata come fallback nel caso in cui la locale richiesta non venga trovata.
162
+ * Predefinito: Locales.ENGLISH
160
163
  */
161
164
  defaultLocale: Locales.ENGLISH,
162
165
  },
163
166
 
164
167
  /**
165
- * Settings that control dictionary operations and fallback behavior.
168
+ * Impostazioni che controllano le operazioni del dizionario e il comportamento di fallback.
166
169
  */
167
170
  dictionary: {
168
171
  /**
169
- * Controls how dictionaries are imported.
170
- * - "static": Statically imported at build time.
171
- * - "dynamic": Dynamically imported using Suspense.
172
- * - "fetch": Fetched dynamically via the live sync API.
173
- * Default: "static"
172
+ * Controlla come vengono importati i dizionari.
173
+ * - "static": Importato staticamente al momento della build.
174
+ * - "dynamic": Importato dinamicamente usando Suspense.
175
+ * - "fetch": Recuperato dinamicamente tramite la Live Sync API.
176
+ * Predefinito: "static"
174
177
  */
175
178
  importMode: "static",
176
179
 
177
180
  /**
178
- * Strategy for auto-filling missing translations using AI.
179
- * Can be a boolean or a path pattern to store filled content.
180
- * Default: true
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.
183
+ * Predefinito: true
181
184
  */
182
185
  fill: true,
183
186
 
184
187
  /**
185
- * Physical location of the dictionary files.
186
- * - "local": Stored in the local filesystem.
187
- * - "remote": Stored in the Intlayer CMS.
188
- * - "hybrid": Stored in the local filesystem and the Intlayer CMS.
189
- * - "plugin" (or any custom string): Provided by a plugin or a custom source.
190
- * Default: "local"
188
+ * La posizione fisica dei file del dizionario.
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.
193
+ * Predefinito: "local"
191
194
  */
192
195
  location: "local",
193
196
 
194
197
  /**
195
- * Whether to automatically transform content (e.g., Markdown to HTML).
196
- * Default: false
198
+ * Se il contenuto debba essere trasformato automaticamente (es. da Markdown a HTML).
199
+ * Predefinito: false
197
200
  */
198
201
  contentAutoTransformation: false,
199
202
  },
200
203
 
201
204
  /**
202
- * Routing and middleware configuration.
205
+ * Configurazione del routing e del middleware.
203
206
  */
204
207
  routing: {
205
208
  /**
206
- * Locale routing strategy.
207
- * - "prefix-no-default": Prefix all except the default locale (e.g., /dashboard, /fr/dashboard).
208
- * - "prefix-all": Prefix all locales (e.g., /en/dashboard, /fr/dashboard).
209
- * - "no-prefix": No locale in the URL.
210
- * - "search-params": Use ?locale=...
211
- * Default: "prefix-no-default"
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.
213
+ * - "search-params": Usa ?locale=...
214
+ * Predefinito: "prefix-no-default"
212
215
  */
213
216
  mode: "prefix-no-default",
214
217
 
215
218
  /**
216
- * Where to store the user's selected locale.
217
- * Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
218
- * Default: ['cookie', 'header']
219
+ * Dove memorizzare la locale selezionata dall'utente.
220
+ * Opzioni: 'cookie', 'localStorage', 'sessionStorage', 'header' o un array di questi.
221
+ * Predefinito: ['cookie', 'header']
219
222
  */
220
223
  storage: ["cookie", "header"],
221
224
 
222
225
  /**
223
- * Base path for the application URLs.
224
- * Default: ""
226
+ * Il percorso di base per gli URL dell'applicazione.
227
+ * Predefinito: ""
225
228
  */
226
229
  basePath: "",
227
230
 
228
231
  /**
229
- * Custom URL rewriting rules for locale-specific paths.
232
+ * Regole di rewrite URL personalizzate per percorsi specifici per locale.
230
233
  */
231
234
  rewrite: nextjsRewrite({
232
235
  "/[locale]/about": {
@@ -237,130 +240,131 @@ const config: IntlayerConfig = {
237
240
  },
238
241
 
239
242
  /**
240
- * Settings for finding and processing content files.
243
+ * Impostazioni relative alla ricerca e all'elaborazione dei file di contenuto.
241
244
  */
242
245
  content: {
243
246
  /**
244
- * File extensions to scan for dictionaries.
245
- * Default: ['.content.ts', '.content.js', '.content.json', etc.]
247
+ * Estensioni dei file per la scansione dei dizionari.
248
+ * Predefinito: ['.content.ts', '.content.js', '.content.json', ecc.]
246
249
  */
247
250
  fileExtensions: [".content.ts", ".content.js", ".content.json"],
248
251
 
249
252
  /**
250
- * Directories where .content files are located.
251
- * Default: ["."]
253
+ * Directory in cui si trovano i file .content.
254
+ * Predefinito: ["."]
252
255
  */
253
256
  contentDir: ["src"],
254
257
 
255
258
  /**
256
- * Directories where source code is located.
257
- * Used for build optimization and code transformation.
258
- * Default: ["."]
259
+ * Dove si trova il codice sorgente.
260
+ * Utilizzato per l'ottimizzazione della build e la trasformazione del codice.
261
+ * Predefinito: ["."]
259
262
  */
260
263
  codeDir: ["src"],
261
264
 
262
265
  /**
263
- * Patterns to exclude from scanning.
264
- * Default: ['node_modules', '.intlayer', etc.]
266
+ * Pattern esclusi dalla scansione.
267
+ * Predefinito: ['node_modules', '.intlayer', ecc.]
265
268
  */
266
269
  excludedPath: ["node_modules"],
267
270
 
268
271
  /**
269
- * Whether to watch for changes and rebuild dictionaries in development.
270
- * Default: true in development
272
+ * Se monitorare le modifiche e ricostruire i dizionari durante lo sviluppo.
273
+ * Predefinito: true in modalità sviluppo
271
274
  */
272
275
  watch: true,
273
276
 
274
277
  /**
275
- * Command to format newly created / updated .content files.
278
+ * Comando utilizzato per formattare i file .content appena creati / aggiornati.
276
279
  */
277
280
  formatCommand: 'npx prettier --write "{{file}}"',
278
281
  },
279
282
 
280
283
  /**
281
- * Visual Editor configuration.
284
+ * Configurazione dell'Editor Visuale (Visual Editor).
282
285
  */
283
286
  editor: {
284
287
  /**
285
- * Whether the visual editor is enabled.
286
- * Default: false
288
+ * Se l'editor visuale è abilitato.
289
+ * Predefinito: false
287
290
  */
288
291
  enabled: true,
289
292
 
290
293
  /**
291
- * URL of your application for origin validation.
292
- * Default: ""
294
+ * L'URL della tua applicazione per la validazione dell'origine (origin validation).
295
+ * Predefinito: ""
293
296
  */
294
297
  applicationURL: "http://localhost:3000",
295
298
 
296
299
  /**
297
- * Port for the local editor server.
298
- * Default: 8000
300
+ * Porta per il server dell'editor locale.
301
+ * Predefinito: 8000
299
302
  */
300
303
  port: 8000,
301
304
 
302
305
  /**
303
- * Public URL for the editor.
304
- * Default: "http://localhost:8000"
306
+ * L'URL pubblico per l'editor.
307
+ * Predefinito: "http://localhost:8000"
305
308
  */
306
309
  editorURL: "http://localhost:8000",
307
310
 
308
311
  /**
309
- * Intlayer CMS URL.
310
- * Default: "https://app.intlayer.org"
312
+ * URL dell'Intlayer CMS.
313
+ * Predefinito: "https://app.intlayer.org"
311
314
  */
312
315
  cmsURL: "https://app.intlayer.org",
313
316
 
314
317
  /**
315
- * Backend API URL.
316
- * Default: "https://back.intlayer.org"
318
+ * URL dell'API Backend.
319
+ * Predefinito: "https://back.intlayer.org"
317
320
  */
318
321
  backendURL: "https://back.intlayer.org",
319
322
 
320
323
  /**
321
- * Whether to enable real-time content synchronization.
322
- * Default: false
324
+ * Se abilitare la sincronizzazione dei contenuti in tempo reale.
325
+ * Predefinito: false
323
326
  */
324
327
  liveSync: true,
325
328
  },
326
329
 
327
330
  /**
328
- * AI-powered translation and generation settings.
331
+ * Impostazioni per la traduzione e la creazione basate sull'AI.
329
332
  */
330
333
  ai: {
331
334
  /**
332
- * AI provider to use.
333
- * Options: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
334
- * Default: 'openai'
335
+ * Il fornitore AI da utilizzare.
336
+ * Opzioni: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
337
+ * Predefinito: 'openai'
335
338
  */
336
339
  provider: "openai",
337
340
 
338
341
  /**
339
- * Model to use from the selected provider.
342
+ * Modello del fornitore selezionato da utilizzare.
340
343
  */
341
344
  model: "gpt-4o",
342
345
 
343
346
  /**
344
- * Provider API key.
347
+ * Chiave API del fornitore.
345
348
  */
346
349
  apiKey: process.env.OPENAI_API_KEY,
347
350
 
348
351
  /**
349
- * Global context to guide the AI in generating translations.
352
+ * Contesto globale per guidare l'AI nella creazione delle traduzioni.
350
353
  */
351
- applicationContext: "Questa è un'applicazione di prenotazione viaggi.",
354
+ applicationContext:
355
+ "Questa è un'applicazione per la prenotazione di viaggi.",
352
356
 
353
357
  /**
354
- * Base URL for the AI API.
358
+ * URL del percorso di base per l'API AI.
355
359
  */
356
360
  baseURL: "http://localhost:3000",
357
361
 
358
362
  /**
359
- * Serializzazione dei dati
363
+ * Serializzazione dei dati (Data Serialization)
360
364
  *
361
365
  * Opzioni:
362
- * - "json": Standard, affidabile; utilizza più token.
363
- * - "toon": Meno token, meno consistente di JSON.
366
+ * - "json": Predefinito, robusto; consuma più token.
367
+ * - "toon": Consuma meno token, potrebbe non essere coerente come JSON.
364
368
  *
365
369
  * Predefinito: "json"
366
370
  */
@@ -368,170 +372,170 @@ const config: IntlayerConfig = {
368
372
  },
369
373
 
370
374
  /**
371
- * Build and optimization settings.
375
+ * Impostazioni di build e ottimizzazione.
372
376
  */
373
377
  build: {
374
378
  /**
375
- * Build execution mode.
376
- * - "auto": Automatic build during app build.
377
- * - "manual": Requires explicit build command.
378
- * Default: "auto"
379
+ * Modalità di esecuzione della build.
380
+ * - "auto": Viene compilato automaticamente durante la build dell'applicazione.
381
+ * - "manual": Richiede un comando di build esplicito.
382
+ * Predefinito: "auto"
379
383
  */
380
384
  mode: "auto",
381
385
 
382
386
  /**
383
- * Whether to optimize the final bundle by pruning unused dictionaries.
384
- * Default: true in production
387
+ * Se ottimizzare il bundle finale rimuovendo i dizionari inutilizzati.
388
+ * Predefinito: true in produzione
385
389
  */
386
390
  optimize: true,
387
391
 
388
392
  /**
389
- * Output format for generated dictionary files.
390
- * Default: ['cjs', 'esm']
393
+ * Formato di output per i file del dizionario generati.
394
+ * Predefinito: ['cjs', 'esm']
391
395
  */
392
396
  outputFormat: ["cjs", "esm"],
393
397
 
394
398
  /**
395
- * Indicates if the build should check TypeScript types.
396
- * Default: false
399
+ * Indica se la build debba controllare i tipi TypeScript.
400
+ * Predefinito: false
397
401
  */
398
402
  checkTypes: false,
399
403
  },
400
404
 
401
405
  /**
402
- * Logger configuration.
406
+ * Configurazione del log (Logger).
403
407
  */
404
408
  log: {
405
409
  /**
406
- * Logging level.
407
- * - "default": Standard logging.
408
- * - "verbose": Detailed debug logging.
409
- * - "disabled": No logging.
410
- * Default: "default"
410
+ * Livello di log.
411
+ * - "default": Logging standard.
412
+ * - "verbose": Logging di debug approfondito.
413
+ * - "disabled": Disabilita il logging.
414
+ * Predefinito: "default"
411
415
  */
412
416
  mode: "default",
413
417
 
414
418
  /**
415
- * Prefix for all log messages.
416
- * Default: "[intlayer]"
419
+ * Prefisso per tutti i messaggi di log.
420
+ * Predefinito: "[intlayer]"
417
421
  */
418
422
  prefix: "[intlayer]",
419
423
  },
420
424
 
421
425
  /**
422
- * System configuration (Advanced use cases)
426
+ * Configurazione di sistema (per uso avanzato)
423
427
  */
424
428
  system: {
425
429
  /**
426
- * Directory for storing localization dictionaries.
430
+ * Directory per memorizzare i dizionari localizzati.
427
431
  */
428
432
  dictionariesDir: ".intlayer/dictionary",
429
433
 
430
434
  /**
431
- * Directory for module augmentation.
435
+ * Directory per il TypeScript module augmentation.
432
436
  */
433
437
  moduleAugmentationDir: ".intlayer/types",
434
438
 
435
439
  /**
436
- * Directory for storing unmerged dictionaries.
440
+ * Directory per memorizzare i dizionari non fusi (unmerged).
437
441
  */
438
442
  unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
439
443
 
440
444
  /**
441
- * Directory for storing dictionary types.
445
+ * Directory per memorizzare i tipi di dizionario.
442
446
  */
443
447
  typesDir: ".intlayer/types",
444
448
 
445
449
  /**
446
- * Directory where main application files are stored.
450
+ * Directory in cui vengono memorizzati i file principali dell'applicazione.
447
451
  */
448
452
  mainDir: ".intlayer/main",
449
453
 
450
454
  /**
451
- * Directory where the configuration files are stored.
455
+ * Directory in cui vengono memorizzati i file di configurazione.
452
456
  */
453
457
  configDir: ".intlayer/config",
454
458
 
455
459
  /**
456
- * Directory where the cache files are stored.
460
+ * Directory in cui vengono memorizzati i file di cache.
457
461
  */
458
462
  cacheDir: ".intlayer/cache",
459
463
  },
460
464
 
461
465
  /**
462
- * Compiler configuration (Advanced use cases)
466
+ * Configurazione del Compilatore (Per uso avanzato)
463
467
  */
464
468
  compiler: {
465
469
  /**
466
- * Indica se il compilatore deve essere abilitato.
470
+ * Indica se il compilatore debba essere abilitato.
467
471
  *
468
- * - false : Disattiva il compilatore.
469
- * - true : Attiva il compilatore.
470
- * - "build-only" : Salta il compilatore durante lo sviluppo per accelerare i tempi di avvio.
472
+ * - false: Disabilita il compilatore.
473
+ * - true: Abilita il compilatore.
474
+ * - "build-only": Salta il compilatore durante lo sviluppo e accelera il tempo di avvio.
471
475
  *
472
- * Valore predefinito : false
476
+ * Predefinito: false
473
477
  */
474
478
  enabled: true,
475
479
 
476
480
  /**
477
- * Definisce il percorso dei file di output. Sostituisce `outputDir`.
481
+ * Definisce il percorso per i file di output. Sostituisce `outputDir`.
478
482
  *
479
- * - I percorsi `./` sono risolti rispetto alla directory del componente.
480
- * - I percorsi `/` sono risolti rispetto alla radice del progetto (`baseDir`).
483
+ * - I percorsi con `./` sono risolti rispetto alla directory del componente.
484
+ * - I percorsi con `/` sono risolti rispetto alla radice del progetto (`baseDir`).
481
485
  *
482
- * - L'inserimento della variabile `{{locale}}` nel percorso attiverà la generazione di dizionari separati per lingua.
486
+ * - L'inclusione della variabile `{{locale}}` nel percorso attiverà la creazione di dizionari separati per lingua.
483
487
  *
484
- * Esempi:
488
+ * Esempio:
485
489
  * ```ts
486
490
  * {
487
- * // Crea file .content.ts multilingue vicino al componente
491
+ * // Crea file .content.ts multilingue accanto al componente
488
492
  * output: ({ fileName, extension }) => `./${fileName}${extension}`,
489
493
  *
490
- * // output: './{{fileName}}{{extension}}', // Equivalente usando una stringa template
494
+ * // output: './{{fileName}}{{extension}}', // Equivalente usando una template string
491
495
  * }
492
496
  * ```
493
497
  *
494
498
  * ```ts
495
499
  * {
496
- * // Crea file JSON centralizzati per lingua nella radice del progetto
500
+ * // Crea JSON centralizzati per lingua nella radice del progetto
497
501
  * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
498
502
  *
499
- * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalente usando una stringa template
503
+ * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalente usando una template string
500
504
  * }
501
505
  * ```
502
506
  *
503
- * Elenco variabili:
504
- * - `fileName`: Il nome del file.
505
- * - `key`: La chiave del contenuto.
506
- * - `locale`: La lingua del contenuto.
507
- * - `extension`: L'estensione del file.
508
- * - `componentFileName`: Il nome del file del componente.
509
- * - `componentExtension`: L'estensione del file del componente.
510
- * - `format`: Il formato del dizionario.
511
- * - `componentFormat`: Il formato del dizionario del componente.
512
- * - `componentDirPath`: Il percorso della directory del componente.
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.
513
517
  */
514
518
  output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
515
519
 
516
520
  /**
517
- * Indica se i componenti devono essere salvati dopo essere stati trasformati.
518
- * In questo modo, il compilatore può essere eseguito una sola volta per trasformare l'app e poi rimosso.
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.
519
523
  */
520
524
  saveComponents: false,
521
525
 
522
526
  /**
523
- * Inserisci solo il contenuto nel file generato. Utile per output JSON i18next o ICU MessageFormat per lingua.
527
+ * Inserisce solo il contenuto nel file generato. Utile per l'output JSON per lingua per i18next o ICU MessageFormat.
524
528
  */
525
529
  noMetadata: false,
526
530
 
527
531
  /**
528
- * Prefisso chiave dizionario
532
+ * Prefisso della chiave del dizionario
529
533
  */
530
- dictionaryKeyPrefix: "", // Aggiungi un prefisso opzionale per le chiavi del dizionario estratte
534
+ dictionaryKeyPrefix: "", // Aggiungi un prefisso opzionale alle chiavi del dizionario estratte
531
535
  },
532
536
 
533
537
  /**
534
- * Custom schemas to validate the dictionaries content.
538
+ * Schemi personalizzati (Schemas) per validare il contenuto dei dizionari.
535
539
  */
536
540
  schemas: {
537
541
  "my-schema": z.object({
@@ -540,7 +544,7 @@ const config: IntlayerConfig = {
540
544
  },
541
545
 
542
546
  /**
543
- * Plugins configuration.
547
+ * Configurazione dei plugin (Plugins).
544
548
  */
545
549
  plugins: [],
546
550
  };
@@ -548,249 +552,114 @@ const config: IntlayerConfig = {
548
552
  export default config;
549
553
  ````
550
554
 
551
- ## Riferimento alla Configurazione
555
+ ---
556
+
557
+ ## Riferimento della Configurazione (Configuration Reference)
552
558
 
553
- Le sezioni seguenti descrivono le varie impostazioni di configurazione disponibili per Intlayer.
559
+ Le sezioni seguenti descrivono le varie opzioni di configurazione disponibili in Intlayer.
554
560
 
555
561
  ---
556
562
 
557
- ### Configurazione dell'Internazionalizzazione
558
-
559
- Definisce le impostazioni relative all'internazionalizzazione, incluse le località disponibili e la località predefinita per l'applicazione.
560
-
561
- #### Proprietà
562
-
563
- - **locales**:
564
- - _Tipo_: `string[]`
565
- - _Predefinito_: `['en']`
566
- - _Descrizione_: L'elenco delle località supportate nell'applicazione.
567
- - _Esempio_: `['en', 'fr', 'es']`
568
-
569
- - **requiredLocales**:
570
- - _Tipo_: `string[]`
571
- - _Predefinito_: `[]`
572
- - _Descrizione_: L'elenco delle località obbligatorie nell'applicazione.
573
- - _Esempio_: `[]`
574
- - _Nota_: Se vuoto, tutte le localizzazioni sono richieste in modalità `strict`.
575
- - _Nota_: Assicurarsi che le localizzazioni richieste siano anche definite nel campo `locales`.
576
- - **strictMode**:
577
- - _Tipo_: `string`
578
- - _Predefinito_: `inclusive`
579
- - _Descrizione_: Garantisce implementazioni rigorose dei contenuti internazionalizzati usando typescript.
580
- - _Nota_: Se impostato su "strict", la funzione di traduzione `t` richiederà che ogni localizzazione dichiarata sia definita. Se manca una localizzazione, o se una localizzazione non è dichiarata nella tua configurazione, genererà un errore.
581
- - _Nota_: Se impostato su "inclusive", la funzione di traduzione `t` richiederà che ogni localizzazione dichiarata sia definita. Se manca una localizzazione, genererà un avviso. Ma accetterà se una localizzazione non è dichiarata nella tua configurazione, ma esiste.
582
- - _Nota_: Se impostato su "loose", la funzione di traduzione `t` accetterà qualsiasi locale esistente.
583
-
584
- - **defaultLocale**:
585
- - _Tipo_: `string`
586
- - _Predefinito_: `'en'`
587
- - _Descrizione_: La locale predefinita utilizzata come fallback se la locale richiesta non viene trovata.
588
- - _Esempio_: `'en'`
589
- - _Nota_: Viene utilizzata per determinare la locale quando nessuna è specificata nell'URL, nel cookie o nell'header.
563
+ ### Configurazione di Internazionalizzazione (Internationalization Configuration)
564
+
565
+ Definisce le impostazioni relative all'internazionalizzazione, incluse le locali disponibili e la locale predefinita per l'applicazione.
566
+
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). |
590
573
 
591
574
  ---
592
575
 
593
- ### Configurazione dell'Editor
594
-
595
- Definisce le impostazioni relative all'editor integrato, incluso il porto del server e lo stato attivo.
596
-
597
- #### Proprietà
598
-
599
- - **applicationURL**:
600
- - _Tipo_: `string`
601
- - _Predefinito_: `http://localhost:3000`
602
- - _Descrizione_: L'URL dell'applicazione. Usato per limitare l'origine dell'editor per motivi di sicurezza.
603
- - _Esempio_:
604
- - `'http://localhost:3000'`
605
- - `'https://example.com'`
606
- - `process.env.INTLAYER_EDITOR_URL`
607
- - _Nota_: L'URL dell'applicazione. Utilizzato per limitare l'origine dell'editor per motivi di sicurezza. Se impostato a `'*'`, l'editor è accessibile da qualsiasi origine.
608
-
609
- - **port**:
610
- - _Tipo_: `number`
611
- - _Predefinito_: `8000`
612
- - _Descrizione_: La porta utilizzata dal server dell'editor visuale.
613
-
614
- - **editorURL**:
615
- - _Tipo_: `string`
616
- - _Predefinito_: `'http://localhost:8000'`
617
- - _Descrizione_: L'URL del server dell'editor. Utilizzato per limitare l'origine dell'editor per motivi di sicurezza.
618
- - `'http://localhost:3000'`
619
- - `'https://example.com'`
620
- - `process.env.INTLAYER_EDITOR_URL`
621
- - _Nota_: L'URL del server dell'editor da raggiungere dall'applicazione. Usato per limitare le origini che possono interagire con l'applicazione per motivi di sicurezza. Se impostato a `'*'`, l'editor è accessibile da qualsiasi origine. Deve essere impostato se la porta viene cambiata o se l'editor è ospitato su un dominio diverso.
622
-
623
- - **cmsURL**:
624
- - _Tipo_: `string`
625
- - _Predefinito_: `'https://intlayer.org'`
626
- - _Descrizione_: L'URL del CMS Intlayer.
627
- - _Esempio_: `'https://intlayer.org'`
628
- - _Nota_: L'URL del CMS Intlayer.
629
-
630
- - **backendURL**:
631
- - _Tipo_: `string`
632
- - _Predefinito_: `https://back.intlayer.org`
633
- - _Descrizione_: L'URL del server backend.
634
- - _Esempio_: `http://localhost:4000`
635
-
636
- - **enabled**:
637
- - _Tipo_: `boolean`
638
- - _Predefinito_: `true`
639
- - _Descrizione_: Indica se l'applicazione interagisce con l'editor visuale.
640
- - _Esempio_: `process.env.NODE_ENV !== 'production'`
641
- - _Nota_: Se true, l'editor sarà in grado di interagire con l'applicazione. Se false, l'editor non potrà interagire con l'applicazione. In ogni caso, l'editor può essere abilitato solo dall'editor visuale. Disabilitare l'editor per ambienti specifici è un modo per rafforzare la sicurezza.
642
-
643
- - **clientId**:
644
- - _Tipo_: `string` | `undefined`
645
- - _Predefinito_: `undefined`
646
- - _Descrizione_: clientId e clientSecret permettono ai pacchetti intlayer di autenticarsi con il backend utilizzando l'autenticazione oAuth2. Un token di accesso viene utilizzato per autenticare l'utente relativo al progetto. Per ottenere un token di accesso, vai su https://app.intlayer.org/project e crea un account.
647
- - _Esempio_: `true`
648
- - _Nota_: Importante: clientId e clientSecret devono essere mantenuti segreti e non condivisi pubblicamente. Assicurati di conservarli in un luogo sicuro, come le variabili d'ambiente.
649
-
650
- - **clientSecret**:
651
- - _Tipo_: `string` | `undefined`
652
- - _Predefinito_: `undefined`
653
- - _Descrizione_: clientId e clientSecret permettono ai pacchetti intlayer di autenticarsi con il backend utilizzando l'autenticazione oAuth2. Un token di accesso viene utilizzato per autenticare l'utente relativo al progetto. Per ottenere un token di accesso, vai su https://app.intlayer.org/project e crea un account.
654
- - _Esempio_: `true`
655
- - _Nota_: Importante: clientId e clientSecret devono essere mantenuti segreti e non condivisi pubblicamente. Assicurati di conservarli in un luogo sicuro, come variabili d'ambiente.
656
-
657
- - **dictionaryPriorityStrategy**:
658
- - _Tipo_: `string`
659
- - _Predefinito_: `'local_first'`
660
- - _Descrizione_: La strategia per dare priorità ai dizionari nel caso in cui siano presenti sia dizionari locali che remoti. Se impostato su `'distant_first'`, l'applicazione darà priorità ai dizionari remoti rispetto a quelli locali. Se impostato su `'local_first'`, l'applicazione darà priorità ai dizionari locali rispetto a quelli remoti.
661
- - _Esempio_: `'distant_first'`
662
-
663
- - **liveSync**:
664
- - _Tipo_: `boolean`
665
- - _Predefinito_: `false`
666
- - _Descrizione_: Indica se il server dell'applicazione deve ricaricare dinamicamente il contenuto dell'applicazione quando viene rilevata una modifica nel CMS / Visual Editor / Backend.
667
- - _Esempio_: `true`
668
- - _Nota_: Ad esempio, quando un nuovo dizionario viene aggiunto o aggiornato, l'applicazione aggiornerà il contenuto da visualizzare nella pagina.
669
- - _Nota_: La sincronizzazione live necessita di esternalizzare il contenuto dell'applicazione su un altro server. Ciò significa che può influire leggermente sulle prestazioni dell'applicazione. Per limitare questo, consigliamo di ospitare l'applicazione e il server di sincronizzazione live sulla stessa macchina. Inoltre, la combinazione di sincronizzazione live e `optimize` può generare un numero considerevole di richieste al server di sincronizzazione live. A seconda della tua infrastruttura, consigliamo di testare entrambe le opzioni e la loro combinazione.
670
-
671
- - **liveSyncPort**:
672
- - _Tipo_: `number`
673
- - _Predefinito_: `4000`
674
- - _Descrizione_: La porta del server di sincronizzazione live.
675
- - _Esempio_: `4000`
676
- - _Nota_: La porta del server di sincronizzazione live.
677
-
678
- - **liveSyncURL**:
679
- - _Tipo_: `string`
680
- - _Predefinito_: `'http://localhost:{liveSyncPort}'`
681
- - _Descrizione_: L'URL del server di sincronizzazione live.
682
- - _Esempio_: `'https://example.com'`
683
- - _Nota_: Punta a localhost di default ma può essere cambiato in qualsiasi URL nel caso di un se### Configurazione del Routing
684
-
685
- Impostazioni che controllano il comportamento del routing, inclusa la struttura dell'URL, la memorizzazione della localizzazione e il funzionamento del middleware.
686
-
687
- #### Proprietà
688
-
689
- - **mode**:
690
- - _Tipo_: `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'`
691
- - _Predefinito_: `'prefix-no-default'`
692
- - _Descrizione_: Modalità di routing URL per la gestione della localizzazione.
693
- - _Esempi_:
694
- - `'prefix-no-default'`: `/dashboard` (it) o `/fr/dashboard` (fr)
695
- - `'prefix-all'`: `/it/dashboard` (it) o `/fr/dashboard` (fr)
696
- - `'no-prefix'`: `/dashboard` (localizzazione gestita con altri mezzi)
697
- - `'search-params'`: `/dashboard?locale=fr`
698
- - _Nota_: Questa impostazione non influisce sulla gestione dei cookie o sulla memorizzazione della localizzazione.
699
-
700
- - **storage**:
701
- - _Tipo_: `false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array`
702
- - _Predefinito_: `['cookie', 'header']`
703
- - _Descrizione_: Configurazione per memorizzare la localizzazione sul client.
704
-
705
- - **cookie**:
706
- - _Descrizione_: Memorizza i dati nei cookie, piccoli frammenti di dati memorizzati nel browser del client, accessibili sia dal lato client che dal lato server.
707
- - _Nota_: Per la memorizzazione conforme al GDPR, assicurarsi del consenso dell'utente prima dell'uso.
708
- - _Nota_: I parametri dei cookie sono personalizzabili se configurati come CookiesAttributes (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`).
709
-
710
- - **localStorage**:
711
- - _Descrizione_: Memorizza i dati nel browser senza date di scadenza, consentendo la persistenza dei dati tra le sessioni; accessibile solo dal lato client.
712
- - _Nota_: Ideale per la memorizzazione di dati a lungo termine, ma consapevole delle implicazioni in termini di privacy e sicurezza.
713
- - _Nota_: Local storage è accessibile solo dal lato client; il proxy di intlayer non sarà in grado di accedervi.
714
- - _Nota_: I parametri di local storage sono personalizzabili se configurati come StorageAttributes (`{ type: 'localStorage', name: 'custom-locale' }`).
715
-
716
- - **sessionStorage**:
717
- - _Descrizione_: Memorizza i dati per la durata della sessione della pagina, il che significa che vengono cancellati alla chiusura del tab o della finestra; accessibile solo dal lato client.
718
- - _Nota_: Adatto per la memorizzazione temporanea di dati per ogni sessione.
719
- - _Nota_: Local storage è accessibile solo dal lato client; il proxy di intlayer non sarà in grado di accedervi.
720
- - _Nota_: I parametri di local storage sono personalizzabili se configurati come StorageAttributes (`{ type: 'sessionStorage', name: 'custom-locale' }`).
721
-
722
- - **header**:
723
- - _Descrizione_: Utilizza gli header HTTP per memorizzare o trasmettere dati sulla localizzazione, utile per la determinazione della lingua lato server.
724
- - _Nota_: Utile nelle chiamate API per mantenere impostazioni linguistiche coerenti tra le richieste.
725
- - _Nota_: L'header è accessibile solo dal lato server; il lato client non sarà in grado di accedervi.
726
- - _Nota_: Il nome dell'header è personalizzabile se configurato come StorageAttributes (`{ type: 'header', name: 'custom-locale' }`).
727
-
728
- - **basePath**:
729
- - _Tipo_: `string`
730
- - _Predefinito_: `''`
731
- - _Descrizione_: Il percorso base per gli URL dell'applicazione.
732
- - _Esempio_: `'/my-app'`
733
- - _Nota_:
734
- - Se l'applicazione è ospitata su `https://example.com/my-app`,
735
- - il percorso base è `'/my-app'`.
736
- - L'URL sarà `https://example.com/my-app/it`.
737
- - Se il percorso base non è impostato, l'URL sarà `https://example.com/it`.
738
-
739
- - **rewrite**:
740
- - _Tipo_: `Record<string, StrictModeLocaleMap<string>>`
741
- - _Predefinito_: `undefined`
742
- - _Descrizione_: Regole personalizzate di riscrittura URL che sovrascrivono la modalità di routing predefinita per percorsi specifici. Consente di definire percorsi specifici per lingua che differiscono dal comportamento di routing standard. Supporta parametri di route dinamici utilizzando la sintassi `[param]`.
743
- - _Esempio_:
744
- ```typescript
745
- routing: {
746
- mode: "prefix-no-default", // Strategia di fallback
747
- rewrite: nextjsRewrite({
748
- "/about": {
749
- it: "/chi-siamo",
750
- en: "/about",
751
- fr: "/a-propos",
752
- },
753
- "/product/[slug]": {
754
- it: "/prodotto/[slug]",
755
- en: "/product/[slug]",
756
- fr: "/produit/[slug]",
757
- },
758
- "/blog/[category]/[id]": {
759
- it: "/blog/[category]/[id]",
760
- en: "/blog/[category]/[id]",
761
- fr: "/journal/[category]/[id]",
762
- },
763
- }),
764
- }
765
- ```
766
- - _Nota_: Le regole di riscrittura hanno la priorità sul comportamento del `mode` predefinito. Se un percorso corrisponde a una regola di riscrittura, verrà utilizzato il percorso localizzato dalla configurazione di riscrittura invece del prefisso lingua standard.
767
- - _Nota_: I parametri di route dinamici sono supportati utilizzando la notazione tra parentesi quadre (ad esempio, `[slug]`, `[id]`). I valori dei parametri vengono estratti automaticamente dall'URL e interpolati nel percorso riscritto.
768
- - _Nota_: Funziona con applicazioni Next.js e Vite. Il middleware/proxy riscriverà automaticamente le richieste in arrivo per corrispondere alla struttura di route interna.
769
- - _Nota_: Quando si generano URL con `getLocalizedUrl()`, le regole di riscrittura vengono applicate automaticamente se corrispondono al percorso fornito.
770
- - _Riferimento_: Per maggiori informazioni, vedi [Riscritture URL Personalizzate](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/custom_url_rewrites.md).
771
-
772
- #### Attributi dei Cookie
773
-
774
- Quando si utilizza la memorizzazione dei cookie, è possibile configurare attributi aggiuntivi per i cookie:
775
-
776
- - **name**: Nome del cookie (predefinito: `'INTLAYER_LOCALE'`)
777
- - **domain**: Dominio del cookie (predefinito: undefined)
778
- - **path**: Percorso del cookie (predefinito: undefined)
779
- - **secure**: Richiede HTTPS (predefinito: undefined)
780
- - **httpOnly**: Flag HTTP-only (predefinito: undefined)
781
- - **sameSite**: Politica SameSite (`'strict' | 'lax' | 'none'`)
782
- - **expires**: Data di scadenza o giorni (predefinito: undefined)
783
-
784
- #### Attributi di Memorizzazione Locale
576
+ ### Configurazione dell'Editor (Editor Configuration)
577
+
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
+
595
+ ### Configurazione del Routing (Routing Configuration)
596
+
597
+ Impostazioni che controllano il comportamento del routing, inclusa la struttura URL, la memorizzazione della locale e la gestione del middleware.
598
+
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). |
605
+
606
+ **Esempio di `rewrite`**:
607
+
608
+ ```typescript
609
+ routing: {
610
+ mode: "prefix-no-default", // Strategia di fallback
611
+ rewrite: nextjsRewrite({
612
+ "/about": {
613
+ en: "/about",
614
+ fr: "/a-propos",
615
+ },
616
+ "/product/[slug]": {
617
+ en: "/product/[slug]",
618
+ fr: "/produit/[slug]",
619
+ },
620
+ "/blog/[category]/[id]": {
621
+ en: "/blog/[category]/[id]",
622
+ fr: "/journal/[category]/[id]",
623
+ },
624
+ }),
625
+ }
626
+ ```
627
+
628
+ #### Opzioni di Memoria (Storage Options)
629
+
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' }`). |
636
+
637
+ #### Attributi del Cookie (Cookie Attributes)
638
+
639
+ Quando si utilizza la memorizzazione tramite cookie, è possibile configurare attributi aggiuntivi:
640
+
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` |
650
+
651
+ #### Attributi del Locale Storage (Locale Storage Attributes)
785
652
 
786
653
  Quando si utilizza localStorage o sessionStorage:
787
654
 
788
- - **type**: Tipo di memorizzazione (`'localStorage' | 'sessionStorage'`)
789
- - **name**: Nome della chiave di memorizzazione (predefinito: `'INTLAYER_LOCALE'`)
655
+ | Campo | Tipo | Descrizione |
656
+ | ------ | ---------------------------------------- | ------------------------------------------------------------- |
657
+ | `type` | `'localStorage' &#124; 'sessionStorage'` | Tipo di memoria. |
658
+ | `name` | `string` | Nome della chiave memoriale. Predefinito: `'INTLAYER_LOCALE'` |
790
659
 
791
660
  #### Esempi di Configurazione
792
661
 
793
- Ecco alcuni esempi comuni di configurazione per la nuova struttura di routing v8:
662
+ Ecco alcuni esempi comuni di configurazione per la nuova struttura di routing v7:
794
663
 
795
664
  **Configurazione di Base (Predefinita)**:
796
665
 
@@ -799,7 +668,7 @@ import { Locales, type IntlayerConfig } from "intlayer";
799
668
  // intlayer.config.ts
800
669
  const config: IntlayerConfig = {
801
670
  internationalization: {
802
- locales: ["en", "fr", "it"],
671
+ locales: ["en", "fr", "es"],
803
672
  defaultLocale: "en",
804
673
  },
805
674
  routing: {
@@ -812,14 +681,14 @@ const config: IntlayerConfig = {
812
681
  export default config;
813
682
  ```
814
683
 
815
- **Configurazione Conforme al GDPR**:
684
+ **Configurazione conforme alla GDPR**:
816
685
 
817
686
  ```typescript
818
687
  import { Locales, type IntlayerConfig } from "intlayer";
819
688
  // intlayer.config.ts
820
689
  const config: IntlayerConfig = {
821
690
  internationalization: {
822
- locales: ["en", "fr", "it"],
691
+ locales: ["en", "fr", "es"],
823
692
  defaultLocale: "en",
824
693
  },
825
694
  routing: {
@@ -844,14 +713,14 @@ const config: IntlayerConfig = {
844
713
  export default config;
845
714
  ```
846
715
 
847
- **Modalità Parametri di Ricerca**:
716
+ **Modalità Parametri di Ricerca (Search Parameters Mode)**:
848
717
 
849
718
  ```typescript
850
719
  import { Locales, type IntlayerConfig } from "intlayer";
851
720
  // intlayer.config.ts
852
721
  const config: IntlayerConfig = {
853
722
  internationalization: {
854
- locales: ["en", "fr", "it"],
723
+ locales: ["en", "fr", "es"],
855
724
  defaultLocale: "en",
856
725
  },
857
726
  routing: {
@@ -864,14 +733,14 @@ const config: IntlayerConfig = {
864
733
  export default config;
865
734
  ```
866
735
 
867
- **Modalità Senza Prefisso con Memorizzazione Personalizzata**:
736
+ **Modalità Senza Prefisso (No Prefix Mode) con memoria personalizzata**:
868
737
 
869
738
  ```typescript
870
739
  import { Locales, type IntlayerConfig } from "intlayer";
871
740
  // intlayer.config.ts
872
741
  const config: IntlayerConfig = {
873
742
  internationalization: {
874
- locales: ["en", "fr", "it"],
743
+ locales: ["en", "fr", "es"],
875
744
  defaultLocale: "en",
876
745
  },
877
746
  routing: {
@@ -887,7 +756,7 @@ const config: IntlayerConfig = {
887
756
  export default config;
888
757
  ```
889
758
 
890
- **Riscrittura URL Personalizzata con Route Dinamiche**:
759
+ **Rewrite URL personalizzato con percorsi dinamici**:
891
760
 
892
761
  ```typescript
893
762
  // intlayer.config.ts
@@ -899,7 +768,7 @@ const config: IntlayerConfig = {
899
768
  defaultLocale: "en",
900
769
  },
901
770
  routing: {
902
- mode: "prefix-no-default", // Strategia di fallback per route non riscritte
771
+ mode: "prefix-no-default", // Strategia di fallback per i percorsi non riscritti
903
772
  storage: "cookie",
904
773
  rewrite: nextjsRewrite({
905
774
  "/about": {
@@ -923,379 +792,132 @@ export default config;
923
792
 
924
793
  ---
925
794
 
926
- ### Configurazione del Contenuto
927
-
928
- Impostazioni relative alla gestione del contenuto all'interno dell'applicazione, inclusi nomi delle directory, estensioni dei file e configurazioni derivate.
929
-
930
- #### Proprietà
931
-
932
- - **autoFill**:
933
- - _Tipo_: `boolean | string | FilePathPattern | { [key in Locales]?: string }`
934
- - _Predefinito_: `undefined`
935
- - _Descrizione_: Indica come il contenuto dovrebbe essere compilato automaticamente usando l'IA. Può essere dichiarato globalmente nel file `intlayer.config.ts`.
936
- - _Esempio_: true
937
- - _Esempio_: `'./{{fileName}}.content.json'`
938
- - _Esempio_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
939
- - _Nota_: La configurazione di auto compilazione. Può essere:
940
- - booleano: Abilita l'auto compilazione per tutte le localizzazioni
941
- - stringa: Percorso a un singolo file o modello con variabili
942
- - oggetto: Percorsi file per ogni localizzazione
943
-
944
- - **watch**:
945
- - _Tipo_: `boolean`
946
- - _Predefinito_: `process.env.NODE_ENV === 'development'`
947
- - _Descrizione_: Indica se Intlayer deve monitorare le modifiche nei file di dichiarazione del contenuto nell'app per ricostruire i dizionari correlati.
948
-
949
- - **fileExtensions**:
950
- - _Tipo_: `string[]`
951
- - _Predefinito_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
952
- - _Descrizione_: Estensioni dei file da cercare durante la costruzione dei dizionari.
953
- - _Esempio_: `['.data.ts', '.data.js', '.data.json']`
954
- - _Nota_: Personalizzare le estensioni dei file può aiutare a evitare conflitti.
955
-
956
- - **contentDir**:
957
- - _Tipo_: `string[]`
958
- - _Predefinito_: `['.']`
959
- - _Esempio_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
960
- - _Descrizione_: Il percorso della directory dove sono memorizzati i file di definizione del contenuto (`.content.*`).
961
- - _Nota_: Questo viene utilizzato per monitorare i file di contenuto per ricostruire i dizionari.
962
-
963
- - **codeDir**:
964
- - _Tipo_: `string[]`
965
- - _Predefinito_: `['.']`
966
- - _Esempio_: `['src', '../../ui-library']`
967
- - _Descrizione_: Il percorso della directory dove è memorizzato il codice, relativo alla directory base.
968
- - _Nota_: Questo viene utilizzato per monitorare i file di codice da trasformare (potare, ottimizzare). Mantenere questo separato da `contentDir` può migliorare le prestazioni di compilazione evitando scansioni non necessarie dei file di contenuto.
969
-
970
- - **excludedPath**:
971
- - _Tipo_: `string[]`
972
- - _Predefinito_: `['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']`
973
- - _Descrizione_: Directory escluse dalla ricerca dei contenuti.
974
- - _Nota_: Questa impostazione non è ancora utilizzata, ma è prevista per implementazioni future.
975
-
976
- - **formatCommand**:
977
- - _Tipo_: `string`
978
- - _Predefinito_: `undefined`
979
- - _Descrizione_: Il comando per formattare il contenuto. Quando Intlayer scrive i tuoi file .content localmente, questo comando verrà utilizzato per formattare il contenuto.
980
- - _Esempio_: `'npx prettier --write "{{file}}" --log-level silent'` Utilizzando Prettier
981
- - _Esempio_: `'npx biome format "{{file}}" --write --log-level none'` Utilizzando Biome
982
- - _Esempio_: `'npx eslint --fix "{{file}}" --quiet'` Utilizzando ESLint
983
- - _Nota_: Intlayer sostituirà {{file}} con il percorso del file da formattare.
984
- - _Nota_: Se non impostato, Intlayer cercherà di rilevare automaticamente il comando di formattazione. Tentando di risolvere i seguenti comandi: prettier, biome, eslint.
795
+ ### Configurazione di Contenuto (Content Configuration)
796
+
797
+ Impostazioni relative all'elaborazione dei contenuti all'interno dell'applicazione (nomi di directory, estensioni di file e configurazioni derivate).
798
+
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. |
985
807
 
986
808
  ---
987
809
 
988
- ### Configurazione del Sistema
989
-
990
- Impostazioni relative ai percorsi interni e ai risultati di output di Intlayer. Queste impostazioni sono tipicamente interne e non dovrebbero necessitare di essere modificate dall'utente.
991
-
992
- #### Proprietà
993
-
994
- - **baseDir**:
995
- - _Tipo_: `string`
996
- - _Predefinito_: `process.cwd()`
997
- - _Descrizione_: La directory base per il progetto.
998
- - _Esempio_: `'/path/to/project'`
999
- - _Nota_: Viene utilizzata per risolvere tutte le directory relative a Intlayer.
1000
-
1001
- - **dictionariesDir**:
1002
- - _Tipo_: `string`
1003
- - _Predefinito_: `'.intlayer/dictionary'`
1004
- - _Descrizione_: Il percorso della directory per memorizzare i dizionari di localizzazione.
1005
-
1006
- - **moduleAugmentationDir**:
1007
- - _Tipo_: `string`
1008
- - _Predefinito_: `'.intlayer/types'`
1009
- - _Descrizione_: Directory per l'augmentation dei moduli, che permette migliori suggerimenti IDE e controllo dei tipi.
1010
- - _Esempio_: `'intlayer-types'`
1011
- - _Nota_: Assicurarsi di includere questa directory in `tsconfig.json`.
1012
-
1013
- - **unmergedDictionariesDir**:
1014
- - _Tipo_: `string`
1015
- - _Predefinito_: `'.intlayer/unmerged_dictionary'`
1016
- - _Descrizione_: La directory per memorizzare dizionari non uniti.
1017
-
1018
- - **typesDir**:
1019
- - _Tipo_: `string`
1020
- - _Predefinito_: `'.intlayer/types'`
1021
- - _Descrizione_: La directory per memorizzare i tipi di dizionario.
1022
-
1023
- - **mainDir**:
1024
- - _Tipo_: `string`
1025
- - _Predefinito_: `'.intlayer/main'`
1026
- - _Descrizione_: La directory dove sono memorizzati i file principali dell'applicazione.
1027
-
1028
- - **configDir**:
1029
- - _Tipo_: `string`
1030
- - _Predefinito_: `'.intlayer/config'`
1031
- - _Descrizione_: La directory dove sono memorizzati i file di configurazione.
1032
-
1033
- - **cacheDir**:
1034
- - _Tipo_: `string`
1035
- - _Predefinito_: `'.intlayer/cache'`
1036
- - _Descrizione_: La directory dove sono memorizzati i file di cache.
1037
-
1038
- ### Configurazione del dizionario
1039
-
1040
- Impostazioni che controllano le operazioni del dizionario, incluso il comportamento di auto-riempimento e la generazione di contenuti.
1041
-
1042
- Questa configurazione del dizionario serve a due scopi principali:
1043
-
1044
- 1. **Valori predefiniti**: Definisce valori predefiniti durante la creazione di file di dichiarazione del contenuto
1045
- 2. **Comportamento di fallback**: Fornisce valori di fallback quando campi specifici non sono definiti, consentendoti di definire il comportamento delle operazioni del dizionario globalmente
1046
-
1047
- Per ulteriori informazioni sui file di dichiarazione del contenuto e su come vengono applicati i valori di configurazione, consulta la [Documentazione del file di contenuto](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/dictionary/content_file.md).
1048
-
1049
- #### Proprietà
1050
-
1051
- - **fill**
1052
- - **description**
1053
- - **locale**
1054
- - **location**
1055
- - **importMode**:
1056
- - _Nota_: **Deprecated**: Use `dictionary.importMode` instead.
1057
- - _Tipo_: `'static' | 'dynamic' | 'fetch'`
1058
- - _Predefinito_: `'static'`
1059
- - _Descrizione_: Controls how dictionaries are imported.
1060
- - _Esempio_: `'dynamic'`
1061
- - **priority**
1062
- - **live**
1063
- - **schema**
1064
- - **title**
1065
- - **tags**
1066
- - **version**
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. |
827
+
828
+ **Esempio di `fill`**:
829
+
830
+ ```ts
831
+ dictionary: {
832
+ fill: {
833
+ en: '/locales/en/{{key}}.content.json',
834
+ fr: ({ key }) => `/locales/fr/${key}.content.json`,
835
+ es: false,
836
+ }
837
+ }
838
+ ```
1067
839
 
1068
840
  ---
1069
841
 
1070
- ### Configurazione del Logger
1071
-
1072
- Impostazioni che controllano il logger, incluso il prefisso da utilizzare.
1073
-
1074
- #### Proprietà
1075
-
1076
- - **mode**:
1077
- - _Tipo_: `string`
1078
- - _Predefinito_: `default`
1079
- - _Descrizione_: Indica la modalità del logger.
1080
- - _Opzioni_: `default`, `verbose`, `disabled`
1081
- - _Esempio_: `default`
1082
- - _Nota_: La modalità del logger. La modalità verbose registra più informazioni, ma può essere usata per scopi di debug. La modalità disabled disabilita il logger.
1083
-
1084
- - **prefix**:
1085
- - _Tipo_: `string`
1086
- - _Predefinito_: `'[intlayer] '`
1087
- - _Descrizione_: Il prefisso del logger.
1088
- - _Esempio_: `'[my custom prefix] '`
1089
- - _Nota_: Il prefisso del logger.
1090
-
1091
- ### Configurazione AI
1092
-
1093
- Impostazioni che controllano le funzionalità AI di Intlayer, inclusi provider, modello e chiave API.
1094
-
1095
- Questa configurazione è opzionale se sei registrato sul [Cruscotto Intlayer](https://app.intlayer.org/project) utilizzando una chiave di accesso. Intlayer gestirà automaticamente la soluzione AI più efficiente e conveniente per le tue esigenze. Utilizzare le opzioni predefinite garantisce una migliore manutenzione a lungo termine poiché Intlayer aggiorna continuamente per utilizzare i modelli più rilevanti.
1096
-
1097
- Se preferisci utilizzare la tua chiave API o un modello specifico, puoi definire la tua configurazione AI personalizzata.
1098
- Questa configurazione AI sarà utilizzata globalmente in tutto il tuo ambiente Intlayer. I comandi CLI utilizzeranno queste impostazioni come valori predefiniti per i comandi (ad esempio `fill`), così come l’SDK, l’Editor Visivo e il CMS. Puoi sovrascrivere questi valori predefiniti per casi d’uso specifici utilizzando i parametri dei comandi.
1099
-
1100
- Intlayer supporta più provider AI per una maggiore flessibilità e scelta. I provider attualmente supportati sono:
1101
-
1102
- - **OpenAI** (predefinito)
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 Bedroc- provider** :
1115
- - _Tipo_ : `string`
1116
- - _Predefinito_ : `'openai'`
1117
- - _Descrizione_ : Il provider da utilizzare per le funzionalità AI di Intlayer.
1118
- - _Opzioni_ : `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
1119
- - _Esempio_ : `'anthropic'`
1120
- - _Nota_: Diversi provider potrebbero richiedere chiavi API differenti e avere modelli di prezzo diversi.
1121
-
1122
- - **model** :
1123
- - _Tipo_ : `string`
1124
- - _Predefinito_ : Nessuno
1125
- - _Descrizione_ : Il modello da utilizzare per le funzionalità AI di Intlayer.
1126
- - _Esempio_ : `'gpt-4o-2024-11-20'`
1127
- - _Nota_ : Il modello specifico da utilizzare varia a seconda del provider.
1128
-
1129
- - **temperature** :
1130
- - _Tipo_ : `number`
1131
- - _Predefinito_ : Nessuno
1132
- - _Descrizione_ : La temperatura controlla la casualità delle risposte dell'AI.
1133
- - _Esempio_ : `0.1`
1134
- - _Nota_ : Una temperatura più alta rende l'AI più creativa e meno prevedibile.
1135
-
1136
- - **apiKey** :
1137
- - _Tipo_ : `string`
1138
- - _Predefinito_ : Nessuno
1139
- - _Descrizione_ : La tua chiave API per il provider selezionato.
1140
- - _Esempio_ : `process.env.OPENAI_API_KEY`
1141
- - _Nota_ : Importante: le chiavi API devono essere mantenute segrete e non condivise pubblicamente. Assicurati di conservarle in un luogo sicuro, come le variabili d'ambiente.
1142
-
1143
- - **applicationContext** :
1144
- - _Tipo_ : `string`
1145
- - _Predefinito_ : Nessuno
1146
- - _Descrizione_ : Fornisce un contesto aggiuntivo sulla tua applicazione al modello AI, aiutandolo a generare traduzioni più accurate e contestualmente appropriate. Questo può includere informazioni sul dominio della tua app, il pubblico target, il tono o terminologia specifica.
1147
- - _Nota_: Puoi usare questo per aggiungere altre regole al modello AI (ad esempio "non trasformare gli URL").
1148
- - _Esempio_ : `'Il contesto della mia applicazione'`
1149
-
1150
- - **baseURL** :
1151
- - _Tipo_ : `string`
1152
- - _Predefinito_ : Nessuno
1153
- - _Descrizione_ : L'URL di base per l'API AI.
1154
- - _Esempio_ : `'https://api.openai.com/v1'`
1155
- - _Esempio_ : `'http://localhost:5000'`
1156
- - _Nota_ : Può essere utilizzato per puntare a un endpoint API AI locale o personalizzato.
1157
-
1158
- - **dataSerialization**:
1159
- - _Tipo_: `'json' | 'toon'`
1160
- - _Predefinito_: `'json'`
1161
- - _Descrizione_: Il formato di serializzazione dei dati da utilizzare per le funzionalità AI di Intlayer.
1162
- - _Esempio_: `'toon'`
1163
- - _Nota_: `json`: Standard, affidabile; utilizza più token. `toon`: Meno token, meno coerente del JSON.
1164
- > Se fornisci parametri aggiuntivi, Intlayer li passerà al modello AI come contesto. Questo può essere utilizzato per regolare lo sforzo di ragionamento, la verbosità del testo, ecc.
1165
-
1166
- ### Configurazione della Build
1167
-
1168
- Impostazioni che controllano come Intlayer ottimizza e costruisce l'internazionalizzazione della tua applicazione.
1169
-
1170
- Le opzioni di build si applicano ai plugin `@intlayer/babel` e `@intlayer/swc`.
1171
-
1172
- > In modalità di sviluppo, Intlayer utilizza importazioni statiche per i dizionari per semplificare l'esperienza di sviluppo.
1173
-
1174
- > Quando ottimizzato, Intlayer sostituirà le chiamate ai dizionari per ottimizzare il chunking, in modo che il bundle finale importi solo i dizionari effettivamente utilizzati.
1175
-
1176
- #### Proprietà
1177
-
1178
- - **mode** :
1179
- - _Tipo_ : `'auto' | 'manual'`
1180
- - _Predefinito_ : `'auto'`
1181
- - _Descrizione_ : Controlla la modalità della build.
1182
- - _Esempio_ : `'manual'`
1183
- - _Nota_ : Se 'auto', la build sarà abilitata automaticamente durante la build dell'app.
1184
- - _Nota_ : Se 'manual', la build verrà attivata solo quando viene eseguito il comando di build.
1185
- - _Nota_ : Può essere utilizzato per disabilitare la build dei dizionari, ad esempio quando si vuole evitare l'esecuzione in un ambiente Node.js.
1186
-
1187
- - **optimize** :
1188
- - _Tipo_ : `boolean`
1189
- - _Predefinito_ : `undefined`
1190
- - _Descrizione_ : Controlla se la build deve essere ottimizzata.
1191
- - _Esempio_ : `process.env.NODE_ENV === 'production'`
1192
- - _Nota_ : Per impostazione predefinita, l'ottimizzazione della build è indefinita. Se non definita, Intlayer abiliterà l'ottimizzazione della build durante il build della tua applicazione (vite / nextjs / etc). L'impostazione su `true` forzerà l'ottimizzazione della build, anche in modalità di sviluppo. L'impostazione su `false` disabiliterà l'ottimizzazione della build.
1193
- - _Nota_ : Quando abilitato, Intlayer sostituirà tutte le chiamate ai dizionari per ottimizzare il chunking. In questo modo il bundle finale importerà solo i dizionari utilizzati. Tutte le importazioni rimarranno come importazioni statiche per evitare l'elaborazione asincrona durante il caricamento dei dizionari.
1194
- - _Nota_ : Intlayer sostituirà tutte le chiamate di `useIntlayer` con la modalità definita dall'opzione `importMode` e `getIntlayer` con `getDictionary`.
1195
- - _Nota_ : Questa opzione si basa sui plugin `@intlayer/babel` e `@intlayer/swc`.
1196
- - _Nota_ : Assicurarsi che tutte le chiavi siano dichiarate staticamente nelle chiamate a `useIntlayer`. Ad esempio `useIntlayer('navbar')`.
1197
-
1198
- - **checkTypes** :
1199
- - _Tipo_ : `boolean`
1200
- - _Predefinito_ : `false`
1201
- - _Descrizione_ : Indica se la build deve controllare i tipi TypeScript e registrare gli errori.
1202
- - _Nota_ : Questo può rallentare la build.
1203
-
1204
- - **outputFormat** :
1205
- - _Tipo_ : `('esm' | 'cjs')[]`
1206
- - _Predefinito_ : `['cjs', 'esm']`
1207
- - _Descrizione_ : Controlla il formato di output dei dizionari generati.
1208
- - _Esempio_ : `'cjs'`
1209
- - _Nota_ : Il formato di output dei dizionari.
1210
-
1211
- - **traversePattern** :
1212
- - _Tipo_ : `string[]`
1213
- - _Predefinito_ : `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
1214
- - _Descrizione_ : Pattern che definiscono quali file devono essere attraversati durante l'ottimizzazione.
1215
- - _Esempio_ : `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
1216
- - _Nota_ : Usare questo per limitare l'ottimizzazione ai file di codice rilevanti e migliorare le prestazioni di build.
1217
- - _Nota_ : Questa opzione sarà ignorata se `optimize` è disabilitato.
1218
- - _Nota_ : Usare pattern glob.
1219
-
1220
- ---restazioni di build.
1221
-
1222
- - _Nota_: Questa opzione sarà ignorata se `optimize` è disabilitato.
1223
- - _Nota_: Usare pattern glob.
842
+ ### Configurazione AI (AI Configuration)
843
+
844
+ Definisce le impostazioni per le funzionalità alimentate dall'AI di Intlayer, come la traduzione build.
845
+
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. |
1224
854
 
1225
855
  ---
1226
856
 
1227
- ### Configurazione del Compilatore
1228
-
1229
- Impostazioni che controllano il compilatore Intlayer, che estrae i dizionari direttamente dai tuoi componenti.
1230
-
1231
- #### Proprietà
1232
-
1233
- - **enabled**:
1234
- - _Tipo_: `boolean | 'build-only'`
1235
- - _Predefinito_: `true`
1236
- - _Descrizione_: Indica se il compilatore deve essere abilitato per estrarre i dizionari.
1237
- - _Esempio_: `'build-only'`
1238
- - _Nota_: Impostarlo su `'build-only'` salterà il compilatore durante la modalità di sviluppo per accelerare i tempi di avvio. Verrà eseguito solo sui comandi di build.
1239
-
1240
- - **dictionaryKeyPrefix**:
1241
- - _Tipo_: `string`
1242
- - _Predefinito_: `''`
1243
- - _Descrizione_: Prefisso per le chiavi dei dizionari estratti.
1244
- - _Esempio_: `'my-key-'`
1245
- - _Nota_: Quando i dizionari vengono estratti, la chiave viene generata in base al nome del file. Questo prefisso viene aggiunto alla chiave generata per evitare conflitti.
1246
-
1247
- - **saveComponents**:
1248
- - _Tipo_: `boolean`
1249
- - _Predefinito_: `false`
1250
- - _Descrizione_: Indica se i componenti devono essere salvati dopo essere stati trasformati.
1251
- - _Nota_: Se vero, il compilatore sostituirà i file originali con i file trasformati. In questo modo, il compilatore può essere eseguito solo una volta per trasformare l'app, e poi può essere rimosso.
1252
-
1253
- - **transformPattern**:
1254
- - _Tipo_: `string | string[]`
1255
- - _Predefinito_: `['**/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**/node_modules/**']`
1256
- - _Descrizione_: Pattern che definiscono quali file devono essere attraversati durante l'ottimizzazione.
1257
- - _Esempio_: `['src/**/*.{ts,tsx}', '!**/node_modules/**']`
1258
- - _Nota_: Usare questo per limitare l'ottimizzazione ai file di codice rilevanti e migliorare le prestazioni di build.
1259
-
1260
- - **excludePattern**:
1261
- - _Tipo_: `string | string[]`
1262
- - _Predefinito_: `['**/node_modules/**']`
1263
- - _Descrizione_: Pattern che definiscono quali file devono essere esclusi durante l'ottimizzazione.
1264
- - _Esempio_: `['**/node_modules/**', '!**/node_modules/react/**']`
1265
-
1266
- - **output**:
1267
- - _Tipo_: `FilePathPattern`
1268
- - _Predefinito_: `undefined`
1269
- - _Descrizione_: Definisce il percorso dei file di output. Sostituisce `outputDir`. Gestisce variabili dinamiche tramite stringhe template o una funzione. Variabili supportate: `{{fileName}}`, `{{key}}`, `{{locale}}`, `{{extension}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{format}}`, `{{componentFormat}}` e `{{componentDirPath}}`.
1270
- - _Nota_: I percorsi `./` sono risolti rispetto alla directory del componente. I percorsi `/` sono risolti rispetto alla radice del progetto (`baseDir`).
1271
- - _Nota_: L'inserimento della variabile `{{locale}}` nel percorso attiverà la generazione di dizionari separati per lingua.
1272
- - _Esempio_:
1273
- - **File multilingue vicino al componente** :
1274
- - Stringa: `'./{{fileName}}{{extension}}'`
1275
- - Funzione: `({ fileName, extension }) => \`./${fileName}${extension}\``
1276
-
1277
- - **File JSON centralizzati per lingua** :
1278
- - Stringa: `'/locales/{{locale}}/{{key}}.content.json'`
1279
- - Funzione: `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
1280
-
1281
- - **noMetadata**:
1282
- - _Tipo_: `boolean`
1283
- - _Predefinito_: `false`
1284
- - _Descrizione_: Indica se i metadati devono essere salvati nel file. Se vero, il compilatore non salverà i metadatati dei dizionari (chiave, contenitore del contenuto). Utile per output JSON i18next o ICU MessageFormat per lingua.
1285
- - _Nota_: Utile se utilizzato con il plugin `loadJSON`.
1286
- - _Esempio_:
1287
- Se `true` :
1288
- ```json
1289
- {
1290
- "key": "value"
1291
- }
1292
- ```
1293
- Se `false` :
1294
- ```json
1295
- {
1296
- "key": "value",
1297
- "content": {
1298
- "key": "value"
1299
- }
1300
- }
1301
- ```
857
+ ### Configurazione della Build (Build Configuration)
858
+
859
+ Impostazioni del processo di build e ottimizzazione di Intlayer.
860
+
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` | | |
867
+
868
+ ---
869
+
870
+ ### Configurazione di Sistema (System Configuration)
871
+
872
+ Queste impostazioni sono destinate a casi d'uso avanzati e per la configurazione interna di Intlayer.
873
+
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'` |
883
+
884
+ ---
885
+
886
+ ### Configurazione del Compilatore (Compiler Configuration)
887
+
888
+ Impostazioni per il compilatore Intlayer (`intlayer compiler`).
889
+
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. | `''` |
897
+
898
+ ---
899
+
900
+ ### Configurazione del Logger (Logger Configuration)
901
+
902
+ Impostazioni per personalizzare l'output dei log di Intlayer.
903
+
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]'` |
908
+
909
+ ---
910
+
911
+ ### Schemi Personalizzati (Custom Schemas)
912
+
913
+ | Campo | Tipo | Descrizione |
914
+ | --------- | --------------------------- | -------------------------------------------------------------------------------- |
915
+ | `schemas` | `Record<string, ZodSchema>` | Ti permette di definire schemi Zod per validare la struttura dei tuoi dizionari. |
916
+
917
+ ---
918
+
919
+ ### Plugin (Plugins)
920
+
921
+ | Campo | Tipo | Descrizione |
922
+ | --------- | ------------------ | --------------------------------------- |
923
+ | `plugins` | `IntlayerPlugin[]` | Elenco dei plugin Intlayer da attivare. |