@intlayer/docs 9.3.0 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/blog/ar/rag_powered_documentation_assistant.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/authors2.cjs +0 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +4 -2
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +4 -2
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -2
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +4 -2
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +4 -2
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +4 -2
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/docs/ar/configuration.md +10 -10
- package/docs/ar/interest_of_intlayer.md +24 -22
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ar/intlayer_with_tanstack.md +5 -3
- package/docs/ar/lsp.md +114 -175
- package/docs/ar/readme.md +25 -25
- package/docs/bn/configuration.md +10 -10
- package/docs/bn/interest_of_intlayer.md +24 -22
- package/docs/cs/configuration.md +10 -10
- package/docs/cs/interest_of_intlayer.md +24 -22
- package/docs/de/configuration.md +10 -10
- package/docs/de/interest_of_intlayer.md +24 -22
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +5 -3
- package/docs/de/intlayer_with_tanstack.md +5 -3
- package/docs/de/lsp.md +111 -172
- package/docs/de/readme.md +24 -24
- package/docs/en/configuration.md +10 -10
- package/docs/en/interest_of_intlayer.md +24 -22
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en/intlayer_with_tanstack.md +5 -3
- package/docs/en/lsp.md +109 -170
- package/docs/en/readme.md +24 -24
- package/docs/en-GB/configuration.md +10 -10
- package/docs/en-GB/interest_of_intlayer.md +24 -22
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en-GB/intlayer_with_tanstack.md +5 -3
- package/docs/en-GB/lsp.md +109 -170
- package/docs/en-GB/readme.md +24 -24
- package/docs/es/configuration.md +10 -10
- package/docs/es/interest_of_intlayer.md +24 -22
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +5 -3
- package/docs/es/intlayer_with_tanstack.md +5 -3
- package/docs/es/lsp.md +114 -175
- package/docs/es/readme.md +24 -24
- package/docs/fr/configuration.md +10 -10
- package/docs/fr/interest_of_intlayer.md +24 -22
- package/docs/fr/intlayer_with_svelte_kit.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/fr/intlayer_with_tanstack.md +5 -3
- package/docs/fr/lsp.md +110 -171
- package/docs/fr/readme.md +24 -24
- package/docs/hi/configuration.md +10 -10
- package/docs/hi/interest_of_intlayer.md +24 -22
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/hi/intlayer_with_tanstack.md +5 -3
- package/docs/hi/lsp.md +113 -174
- package/docs/hi/readme.md +24 -24
- package/docs/id/configuration.md +10 -10
- package/docs/id/interest_of_intlayer.md +24 -22
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +5 -3
- package/docs/id/intlayer_with_tanstack.md +5 -3
- package/docs/id/lsp.md +113 -174
- package/docs/id/readme.md +24 -24
- package/docs/it/configuration.md +10 -10
- package/docs/it/interest_of_intlayer.md +24 -22
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +5 -3
- package/docs/it/intlayer_with_tanstack.md +5 -3
- package/docs/it/lsp.md +115 -176
- package/docs/it/readme.md +24 -24
- package/docs/ja/configuration.md +10 -10
- package/docs/ja/interest_of_intlayer.md +24 -22
- package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ja/intlayer_with_tanstack.md +5 -3
- package/docs/ja/lsp.md +113 -174
- package/docs/ja/readme.md +24 -24
- package/docs/ko/configuration.md +10 -10
- package/docs/ko/interest_of_intlayer.md +24 -22
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ko/intlayer_with_tanstack.md +5 -3
- package/docs/ko/lsp.md +112 -173
- package/docs/ko/readme.md +24 -24
- package/docs/nl/configuration.md +10 -10
- package/docs/nl/interest_of_intlayer.md +24 -22
- package/docs/pl/configuration.md +10 -10
- package/docs/pl/interest_of_intlayer.md +4 -2
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pl/intlayer_with_tanstack.md +5 -3
- package/docs/pl/lsp.md +115 -176
- package/docs/pl/readme.md +24 -24
- package/docs/pt/configuration.md +10 -10
- package/docs/pt/interest_of_intlayer.md +24 -22
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pt/intlayer_with_tanstack.md +5 -3
- package/docs/pt/lsp.md +113 -174
- package/docs/pt/readme.md +24 -24
- package/docs/ru/configuration.md +10 -10
- package/docs/ru/interest_of_intlayer.md +24 -22
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ru/intlayer_with_tanstack.md +5 -3
- package/docs/ru/lsp.md +112 -173
- package/docs/ru/readme.md +24 -24
- package/docs/tr/configuration.md +10 -10
- package/docs/tr/interest_of_intlayer.md +24 -22
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/tr/intlayer_with_tanstack.md +5 -3
- package/docs/tr/lsp.md +113 -174
- package/docs/tr/readme.md +24 -24
- package/docs/uk/configuration.md +10 -10
- package/docs/uk/interest_of_intlayer.md +4 -2
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
- package/docs/uk/intlayer_with_tanstack.md +5 -3
- package/docs/uk/lsp.md +113 -174
- package/docs/uk/per_locale_file.md +1 -1
- package/docs/uk/readme.md +24 -24
- package/docs/ur/configuration.md +10 -10
- package/docs/ur/interest_of_intlayer.md +24 -22
- package/docs/vi/configuration.md +10 -10
- package/docs/vi/interest_of_intlayer.md +24 -22
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/vi/intlayer_with_tanstack.md +5 -3
- package/docs/vi/lsp.md +115 -176
- package/docs/vi/readme.md +24 -24
- package/docs/zh/configuration.md +10 -10
- package/docs/zh/interest_of_intlayer.md +24 -22
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
- package/docs/zh/intlayer_with_tanstack.md +5 -3
- package/docs/zh/lsp.md +113 -174
- package/docs/zh/readme.md +21 -21
- package/docs/zh-TW/interest_of_intlayer.md +24 -22
- package/package.json +6 -6
package/docs/it/configuration.md
CHANGED
|
@@ -404,7 +404,7 @@ const config: IntlayerConfig = {
|
|
|
404
404
|
ai: {
|
|
405
405
|
/**
|
|
406
406
|
* Fornitore IA da utilizzare.
|
|
407
|
-
* Opzioni: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'
|
|
407
|
+
* Opzioni: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio', 'moonshotai'
|
|
408
408
|
* Predefinito: 'openai'
|
|
409
409
|
*/
|
|
410
410
|
provider: "openai",
|
|
@@ -1035,15 +1035,15 @@ Intlayer supporta diversi fornitori IA per la massima flessibilità. I fornitori
|
|
|
1035
1035
|
- **Together.ai**
|
|
1036
1036
|
- **LM Studio**
|
|
1037
1037
|
|
|
1038
|
-
| Campo | Descrizione | Tipo
|
|
1039
|
-
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1040
|
-
| `provider` | Fornitore IA da utilizzare per le funzionalità IA di Intlayer. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | `undefined` | `'anthropic'` | Fornitori diversi richiedono chiavi API diverse e hanno prezzi diversi. |
|
|
1041
|
-
| `model` | Modello IA da utilizzare per le funzionalità IA. | `string`
|
|
1042
|
-
| `temperature` | Controlla la casualità della risposta IA. | `number`
|
|
1043
|
-
| `apiKey` | La tua chiave API per il fornitore selezionato. | `string`
|
|
1044
|
-
| `applicationContext` | Contesto aggiuntivo sulla tua applicazione per aiutare l'IA a generare traduzioni più accurate (dominio, pubblico di destinazione, tono, terminologia). | `string`
|
|
1045
|
-
| `baseURL` | URL base per l'API IA. | `string`
|
|
1046
|
-
| `dataSerialization` | Formato di serializzazione dei dati per le funzionalità IA. | `'json'` | <br/> `'toon'`
|
|
1038
|
+
| Campo | Descrizione | Tipo | Predefinito | Esempio | Commenti |
|
|
1039
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1040
|
+
| `provider` | Fornitore IA da utilizzare per le funzionalità IA di Intlayer. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | <br/> `'moonshotai'` | `undefined` | `'anthropic'` | Fornitori diversi richiedono chiavi API diverse e hanno prezzi diversi. |
|
|
1041
|
+
| `model` | Modello IA da utilizzare per le funzionalità IA. | `string` | Nessuno | `'gpt-4o-2024-11-20'` | I modelli specifici dipendono dal fornitore. |
|
|
1042
|
+
| `temperature` | Controlla la casualità della risposta IA. | `number` | Nessuno | `0.1` | Temperatura più alta = più creativo e meno affidabile. |
|
|
1043
|
+
| `apiKey` | La tua chiave API per il fornitore selezionato. | `string` | Nessuno | `process.env.OPENAI_API_KEY` | Deve essere mantenuto segreto; usa le variabili d'ambiente. |
|
|
1044
|
+
| `applicationContext` | Contesto aggiuntivo sulla tua applicazione per aiutare l'IA a generare traduzioni più accurate (dominio, pubblico di destinazione, tono, terminologia). | `string` | Nessuno | `'Mio contesto applicativo personalizzato'` | Può essere utilizzato per aggiungere regole (es: `"Non dovresti tradurre i tuoi URL"`). |
|
|
1045
|
+
| `baseURL` | URL base per l'API IA. | `string` | Nessuno | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Può puntare a endpoint API IA locali o personalizzati. |
|
|
1046
|
+
| `dataSerialization` | Formato di serializzazione dei dati per le funzionalità IA. | `'json'` | <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: predefinito, affidabile; utilizza più token.<br/>• `'toon'`: meno token, meno stabile.<br/>• Passa il contesto al modello come parametro aggiuntivo (reasoning effort, ecc.). |
|
|
1047
1047
|
|
|
1048
1048
|
---
|
|
1049
1049
|
|
|
@@ -207,7 +207,7 @@ export const ComponentExample = () => {
|
|
|
207
207
|
Questo approccio ti consente di:
|
|
208
208
|
|
|
209
209
|
1. **Aumentare la velocità di sviluppo**
|
|
210
|
-
- I file `.content.{
|
|
210
|
+
- I file `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}` possono essere creati utilizzando un'estensione VSCode
|
|
211
211
|
- Gli strumenti di autocompletamento IA nel tuo IDE (come GitHub Copilot) possono aiutarti a dichiarare il tuo contenuto, riducendo il copia/incolla
|
|
212
212
|
|
|
213
213
|
2. **Pulire la tua base di codice**
|
|
@@ -231,27 +231,27 @@ Questo approccio ti consente di:
|
|
|
231
231
|
|
|
232
232
|
## Funzionalità aggiuntive di Intlayer
|
|
233
233
|
|
|
234
|
-
| Funzionalità | Descrizione
|
|
235
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
-
|  | **Supporto Cross-Framework**<br><br>Intlayer è compatibile con tutti i principali framework e librerie, inclusi Next.js, React, Vite, Vue.js, Nuxt, Preact, Express e altri.
|
|
237
|
-
|  | **Gestione del contenuto basata su JavaScript**<br><br>Sfrutta la flessibilità di JavaScript per definire e gestire il tuo contenuto in modo efficiente.<br><br> - [Dichiarazione del contenuto](https://intlayer.org/doc/concept/content)
|
|
238
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compilatore**<br><br>Il compilatore Intlayer estrae automaticamente il contenuto dai componenti e genera i file del dizionario.<br><br> - [Compilatore](https://intlayer.org/doc/compiler)
|
|
239
|
-
|  | **File di dichiarazione del contenuto per singola lingua**<br><br>Velocizza il tuo sviluppo dichiarando il tuo contenuto una sola volta, prima della generazione automatica.<br><br> - [File di dichiarazione del contenuto per singola lingua](https://intlayer.org/doc/concept/per-locale-file)
|
|
240
|
-
|  | **Ambiente Type-Safe**<br><br>Sfrutta TypeScript per garantire che le definizioni del tuo contenuto e il tuo codice siano privi di errori, beneficiando al contempo dell'autocompletamento dell'IDE.<br><br> - [Configurazione di TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript)
|
|
241
|
-
|  | **Configurazione semplificata**<br><br>Inizia rapidamente con una configurazione minima. Regola facilmente le impostazioni per internazionalizzazione, routing, IA, build e gestione del contenuto.<br><br> - [Esplora l'integrazione con Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
242
|
-
|  | **Recupero del contenuto semplificato**<br><br>Non c'è bisogno di chiamare la tua funzione `t` per ogni elemento del contenuto. Recupera tutto il tuo contenuto direttamente usando un singolo hook.<br><br> - [Integrazione con React](https://intlayer.org/doc/environment/create-react-app)
|
|
243
|
-
|  | **Implementazione coerente dei componenti server**<br><br>Perfettamente adatto per i componenti server di Next.js, usa la stessa implementazione sia per i componenti client che server, senza bisogno di passare la tua funzione `t` attraverso ciascun componente server.<br><br> - [Componenti Server](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)
|
|
244
|
-
|  | **Base di codice organizzata**<br><br>Mantieni la tua base di codice più organizzata: 1 componente = 1 dizionario nella stessa cartella. Le traduzioni vicine ai rispettivi componenti migliorano la manutenibilità e la chiarezza.<br><br> - [Come funziona Intlayer](https://intlayer.org/doc/concept/how-works-intlayer)
|
|
245
|
-
|  | **Routing potenziato**<br><br>Supporto completo del routing dell'app, adattandosi perfettamente a strutture applicative complesse, per Next.js, React, Vite, Vue.js, ecc.<br><br> - [Esplora l'integrazione con Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
246
|
-
|  | **Supporto Markdown**<br><br>Importa e interpreta file locali e Markdown remoto per contenuti multilingue come informative sulla privacy, documentazione, ecc. Interpreta e rendi accessibili i metadati Markdown nel tuo codice.<br><br> - [File di contenuto](https://intlayer.org/doc/concept/content/file)
|
|
247
|
-
|  | **Editor visuale e CMS gratuiti**<br><br>Un editor visuale e un CMS gratuiti sono disponibili per i creatori di contenuti, eliminando la necessità di una piattaforma di localizzazione. Mantieni il tuo contenuto sincronizzato usando Git, o esternalizzalo totalmente o parzialmente con il CMS.<br><br> - [Editor di Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS di Intlayer](https://intlayer.org/doc/concept/cms)
|
|
248
|
-
|  | **Contenuto Tree-shakable**<br><br>Contenuto tree-shakable, che riduce le dimensioni del bundle finale. Carica il contenuto per componente, escludendo qualsiasi contenuto non utilizzato dal bundle. Supporta il caricamento lazy per migliorare l'efficienza di caricamento dell'app.<br><br> - [Ottimizzazione della build dell'applicazione](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization)
|
|
249
|
-
|  | **Rendering statico**<br><br>Non blocca il rendering statico.<br><br> - [Integrazione con Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
250
|
-
|  | **Traduzione basata sull'IA**<br><br>Trasforma il tuo sito web in 231 lingue con un solo clic grazie agli strumenti avanzati di traduzione basati sull'IA di Intlayer utilizzando il tuo provider di IA/chiave API.<br><br> - [Integrazione CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [CLI di Intlayer](https://intlayer.org/doc/concept/cli) <br> - [Riempimento automatico](https://intlayer.org/doc/concept/auto-fill)
|
|
251
|
-
|  | **Integrazione Server MCP**<br><br>Fornisce un server MCP (Model Context Protocol) per l'automazione dell'IDE, abilitando una gestione trasparente del contenuto e dei flussi di lavoro i18n direttamente all'interno del tuo ambiente di sviluppo.<br><br> - [Server MCP](https://github.com/aymericzip/intlayer/blob/main/docs/it/mcp_server.md)
|
|
252
|
-
|  | **Estensione VSCode**<br><br>Intlayer fornisce un'estensione VSCode per aiutarti a gestire il tuo contenuto e le traduzioni, compilare i tuoi dizionari, tradurre il tuo contenuto e altro ancora.<br><br> - [Estensione VSCode](https://intlayer.org/doc/vs-code-extension)
|
|
253
|
-
|  | **Interoperabilità**<br><br>Consente l'interoperabilità con react-i18next, next-i18next, next-intl e react-intl.<br><br> - [Intlayer e react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer e next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer e next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next)
|
|
254
|
-
| Test delle traduzioni mancanti (CLI/CI) | ✅ CLI: npx intlayer content test (audit compatibile con CI)
|
|
234
|
+
| Funzionalità | Descrizione |
|
|
235
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
+
|  | **Supporto Cross-Framework**<br><br>Intlayer è compatibile con tutti i principali framework e librerie, inclusi Next.js, React, Vite, Vue.js, Nuxt, Preact, Express e altri. |
|
|
237
|
+
|  | **Gestione del contenuto basata su JavaScript**<br><br>Sfrutta la flessibilità di JavaScript per definire e gestire il tuo contenuto in modo efficiente.<br><br> - [Dichiarazione del contenuto](https://intlayer.org/doc/concept/content) |
|
|
238
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compilatore**<br><br>Il compilatore Intlayer estrae automaticamente il contenuto dai componenti e genera i file del dizionario.<br><br> - [Compilatore](https://intlayer.org/doc/compiler) |
|
|
239
|
+
|  | **File di dichiarazione del contenuto per singola lingua**<br><br>Velocizza il tuo sviluppo dichiarando il tuo contenuto una sola volta, prima della generazione automatica.<br><br> - [File di dichiarazione del contenuto per singola lingua](https://intlayer.org/doc/concept/per-locale-file) |
|
|
240
|
+
|  | **Ambiente Type-Safe**<br><br>Sfrutta TypeScript per garantire che le definizioni del tuo contenuto e il tuo codice siano privi di errori, beneficiando al contempo dell'autocompletamento dell'IDE.<br><br> - [Configurazione di TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
241
|
+
|  | **Configurazione semplificata**<br><br>Inizia rapidamente con una configurazione minima. Regola facilmente le impostazioni per internazionalizzazione, routing, IA, build e gestione del contenuto.<br><br> - [Esplora l'integrazione con Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
242
|
+
|  | **Recupero del contenuto semplificato**<br><br>Non c'è bisogno di chiamare la tua funzione `t` per ogni elemento del contenuto. Recupera tutto il tuo contenuto direttamente usando un singolo hook.<br><br> - [Integrazione con React](https://intlayer.org/doc/environment/create-react-app) |
|
|
243
|
+
|  | **Implementazione coerente dei componenti server**<br><br>Perfettamente adatto per i componenti server di Next.js, usa la stessa implementazione sia per i componenti client che server, senza bisogno di passare la tua funzione `t` attraverso ciascun componente server.<br><br> - [Componenti Server](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
244
|
+
|  | **Base di codice organizzata**<br><br>Mantieni la tua base di codice più organizzata: 1 componente = 1 dizionario nella stessa cartella. Le traduzioni vicine ai rispettivi componenti migliorano la manutenibilità e la chiarezza.<br><br> - [Come funziona Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
245
|
+
|  | **Routing potenziato**<br><br>Supporto completo del routing dell'app, adattandosi perfettamente a strutture applicative complesse, per Next.js, React, Vite, Vue.js, ecc.<br><br> - [Esplora l'integrazione con Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
246
|
+
|  | **Supporto Markdown**<br><br>Importa e interpreta file locali e Markdown remoto per contenuti multilingue come informative sulla privacy, documentazione, ecc. Interpreta e rendi accessibili i metadati Markdown nel tuo codice.<br><br> - [File di contenuto](https://intlayer.org/doc/concept/content/file) |
|
|
247
|
+
|  | **Editor visuale e CMS gratuiti**<br><br>Un editor visuale e un CMS gratuiti sono disponibili per i creatori di contenuti, eliminando la necessità di una piattaforma di localizzazione. Mantieni il tuo contenuto sincronizzato usando Git, o esternalizzalo totalmente o parzialmente con il CMS.<br><br> - [Editor di Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS di Intlayer](https://intlayer.org/doc/concept/cms) |
|
|
248
|
+
|  | **Contenuto Tree-shakable**<br><br>Contenuto tree-shakable, che riduce le dimensioni del bundle finale. Carica il contenuto per componente, escludendo qualsiasi contenuto non utilizzato dal bundle. Supporta il caricamento lazy per migliorare l'efficienza di caricamento dell'app.<br><br> - [Ottimizzazione della build dell'applicazione](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
249
|
+
|  | **Rendering statico**<br><br>Non blocca il rendering statico.<br><br> - [Integrazione con Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
250
|
+
|  | **Traduzione basata sull'IA**<br><br>Trasforma il tuo sito web in 231 lingue con un solo clic grazie agli strumenti avanzati di traduzione basati sull'IA di Intlayer utilizzando il tuo provider di IA/chiave API.<br><br> - [Integrazione CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [CLI di Intlayer](https://intlayer.org/doc/concept/cli) <br> - [Riempimento automatico](https://intlayer.org/doc/concept/auto-fill) |
|
|
251
|
+
|  | **Integrazione Server MCP**<br><br>Fornisce un server MCP (Model Context Protocol) per l'automazione dell'IDE, abilitando una gestione trasparente del contenuto e dei flussi di lavoro i18n direttamente all'interno del tuo ambiente di sviluppo.<br><br> - [Server MCP](https://github.com/aymericzip/intlayer/blob/main/docs/it/mcp_server.md) |
|
|
252
|
+
|  | **Estensione VSCode**<br><br>Intlayer fornisce un'estensione VSCode per aiutarti a gestire il tuo contenuto e le traduzioni, compilare i tuoi dizionari, tradurre il tuo contenuto e altro ancora.<br><br> - [Estensione VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
253
|
+
|  | **Interoperabilità**<br><br>Consente l'interoperabilità con react-i18next, next-i18next, next-intl e react-intl.<br><br> - [Intlayer e react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer e next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer e next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Adattatori di compatibilità di Intlayer](https://intlayer.org/doc/compatibility) |
|
|
254
|
+
| Test delle traduzioni mancanti (CLI/CI) | ✅ CLI: npx intlayer content test (audit compatibile con CI) |
|
|
255
255
|
|
|
256
256
|
## Confronto di Intlayer con altre soluzioni
|
|
257
257
|
|
|
@@ -290,3 +290,5 @@ Le stelle su GitHub sono un forte indicatore della popolarità di un progetto, d
|
|
|
290
290
|
`intlayer` può anche aiutare a gestire i namespace `react-intl`, `react-i18next`, `next-intl`, `next-i18next` e `vue-i18n`.
|
|
291
291
|
|
|
292
292
|
Utilizzando `intlayer`, puoi dichiarare il tuo contenuto nel formato della tua libreria i18n preferita, e intlayer genererà i tuoi namespace nella posizione che preferisci (esempio: `/messages/{{locale}}/{{namespace}}.json`).
|
|
293
|
+
|
|
294
|
+
Se desideri continuare a usare l'API della tua attuale libreria i18n, `intlayer` fornisce anche gli **adattatori di compatibilità (compat adapters)**: pacchetti che espongono esattamente la stessa API di `react-i18next`, `next-intl`, `react-intl`, `vue-i18n` e altre, ma serviti dai dizionari di Intlayer. Questo ti permette di migrare progressivamente senza riscrivere il tuo codice. Consulta la [documentazione degli adattatori di compatibilità](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md).
|
|
@@ -404,7 +404,7 @@ export const getLocale = (event: RequestEvent): Locale => {
|
|
|
404
404
|
};
|
|
405
405
|
```
|
|
406
406
|
|
|
407
|
-
> `getLocaleFromStorage` controllerà la locale dall'header o dal cookie a seconda della tua configurazione. Vedi [Configurazione](https://intlayer.org/doc/configuration) per maggiori dettagli.
|
|
407
|
+
> `getLocaleFromStorage` controllerà la locale dall'header o dal cookie a seconda della tua configurazione. Vedi [Configurazione](https://intlayer.org/doc/concept/configuration) per maggiori dettagli.
|
|
408
408
|
|
|
409
409
|
> La funzione `localeDetector` gestirà l'header `Accept-Language` e restituirà la corrispondenza migliore.
|
|
410
410
|
|
|
@@ -254,19 +254,21 @@ import {
|
|
|
254
254
|
HeadContent,
|
|
255
255
|
Scripts,
|
|
256
256
|
createRootRouteWithContext,
|
|
257
|
+
getRouteApi,
|
|
257
258
|
} from "@tanstack/solid-router";
|
|
258
259
|
import { HydrationScript } from "solid-js/web";
|
|
259
260
|
import { Suspense, type ParentComponent } from "solid-js";
|
|
260
261
|
import { IntlayerProvider } from "solid-intlayer";
|
|
261
262
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
262
|
-
|
|
263
|
+
|
|
264
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
263
265
|
|
|
264
266
|
export const Route = createRootRouteWithContext()({
|
|
265
267
|
shellComponent: RootComponent,
|
|
266
268
|
});
|
|
267
269
|
|
|
268
270
|
const RootComponent: ParentComponent = (props) => {
|
|
269
|
-
const params =
|
|
271
|
+
const params = localeRoute.useParams();
|
|
270
272
|
const locale = params()?.locale ?? defaultLocale;
|
|
271
273
|
|
|
272
274
|
return (
|
|
@@ -551,7 +553,7 @@ Come visto nel Passaggio 5, puoi gestire gli attributi `lang` e `dir` del tag `h
|
|
|
551
553
|
|
|
552
554
|
```tsx fileName="src/routes/__root.tsx"
|
|
553
555
|
const RootComponent: ParentComponent = (props) => {
|
|
554
|
-
const params =
|
|
556
|
+
const params = localeRoute.useParams();
|
|
555
557
|
const locale = params()?.locale ?? defaultLocale;
|
|
556
558
|
|
|
557
559
|
return (
|
|
@@ -271,13 +271,15 @@ Configura il tuo layout root per supportare l'internazionalizzazione utilizzando
|
|
|
271
271
|
```tsx fileName="src/routes/__root.tsx"
|
|
272
272
|
import {
|
|
273
273
|
createRootRouteWithContext,
|
|
274
|
+
getRouteApi,
|
|
274
275
|
HeadContent,
|
|
275
276
|
Scripts,
|
|
276
277
|
} from "@tanstack/react-router";
|
|
277
278
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
278
279
|
import { type ReactNode } from "react";
|
|
279
280
|
import { IntlayerProvider } from "react-intlayer";
|
|
280
|
-
|
|
281
|
+
|
|
282
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
281
283
|
|
|
282
284
|
export const Route = createRootRouteWithContext<{}>()({
|
|
283
285
|
head: () => ({
|
|
@@ -299,7 +301,7 @@ export const Route = createRootRouteWithContext<{}>()({
|
|
|
299
301
|
});
|
|
300
302
|
|
|
301
303
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
302
|
-
const params =
|
|
304
|
+
const params = localeRoute.useParams();
|
|
303
305
|
const locale = params?.locale ?? defaultLocale;
|
|
304
306
|
|
|
305
307
|
return (
|
|
@@ -632,7 +634,7 @@ Come visto nel Passaggio 5, puoi gestire gli attributi `lang` e `dir` del tag `h
|
|
|
632
634
|
|
|
633
635
|
```tsx fileName="src/routes/__root.tsx"
|
|
634
636
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
635
|
-
const params =
|
|
637
|
+
const params = localeRoute.useParams();
|
|
636
638
|
const locale = params?.locale ?? defaultLocale;
|
|
637
639
|
|
|
638
640
|
return (
|