@intlayer/docs 8.9.6-canary.0 → 8.9.7
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/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/docs/ar/benchmark/nextjs.md +8 -8
- package/docs/ar/benchmark/solid.md +8 -8
- package/docs/ar/benchmark/svelte.md +8 -8
- package/docs/ar/benchmark/tanstack.md +7 -7
- package/docs/ar/benchmark/vue.md +8 -8
- package/docs/ar/interest_of_intlayer.md +107 -80
- package/docs/bn/interest_of_intlayer.md +237 -0
- package/docs/cs/interest_of_intlayer.md +237 -0
- package/docs/de/benchmark/nextjs.md +8 -8
- package/docs/de/benchmark/solid.md +8 -8
- package/docs/de/benchmark/svelte.md +8 -8
- package/docs/de/benchmark/tanstack.md +7 -7
- package/docs/de/benchmark/vue.md +8 -8
- package/docs/de/interest_of_intlayer.md +98 -74
- package/docs/en/benchmark/___nextjs.md +8 -8
- package/docs/en/benchmark/___tanstack.md +6 -6
- package/docs/en/benchmark/nextjs.md +8 -8
- package/docs/en/benchmark/solid.md +8 -8
- package/docs/en/benchmark/svelte.md +8 -8
- package/docs/en/benchmark/tanstack.md +7 -7
- package/docs/en/benchmark/vue.md +8 -8
- package/docs/en/configuration.md +2 -1
- package/docs/en/interest_of_intlayer.md +1 -1
- package/docs/en-GB/benchmark/nextjs.md +8 -8
- package/docs/en-GB/benchmark/solid.md +8 -8
- package/docs/en-GB/benchmark/svelte.md +8 -8
- package/docs/en-GB/benchmark/tanstack.md +7 -7
- package/docs/en-GB/benchmark/vue.md +8 -8
- package/docs/en-GB/configuration.md +2 -1
- package/docs/en-GB/interest_of_intlayer.md +59 -33
- package/docs/es/benchmark/nextjs.md +8 -8
- package/docs/es/benchmark/solid.md +8 -8
- package/docs/es/benchmark/svelte.md +8 -8
- package/docs/es/benchmark/tanstack.md +7 -7
- package/docs/es/benchmark/vue.md +8 -8
- package/docs/es/interest_of_intlayer.md +28 -2
- package/docs/fr/benchmark/nextjs.md +8 -8
- package/docs/fr/benchmark/solid.md +8 -8
- package/docs/fr/benchmark/svelte.md +8 -8
- package/docs/fr/benchmark/tanstack.md +7 -7
- package/docs/fr/benchmark/vue.md +8 -8
- package/docs/fr/interest_of_intlayer.md +47 -21
- package/docs/hi/benchmark/nextjs.md +8 -8
- package/docs/hi/benchmark/solid.md +8 -8
- package/docs/hi/benchmark/svelte.md +8 -8
- package/docs/hi/benchmark/tanstack.md +7 -7
- package/docs/hi/benchmark/vue.md +8 -8
- package/docs/hi/interest_of_intlayer.md +114 -88
- package/docs/id/benchmark/nextjs.md +8 -8
- package/docs/id/benchmark/solid.md +8 -8
- package/docs/id/benchmark/svelte.md +8 -8
- package/docs/id/benchmark/tanstack.md +7 -7
- package/docs/id/benchmark/vue.md +8 -8
- package/docs/id/interest_of_intlayer.md +81 -81
- package/docs/it/benchmark/nextjs.md +8 -8
- package/docs/it/benchmark/solid.md +8 -8
- package/docs/it/benchmark/svelte.md +8 -8
- package/docs/it/benchmark/tanstack.md +7 -7
- package/docs/it/benchmark/vue.md +4 -4
- package/docs/it/interest_of_intlayer.md +96 -69
- package/docs/ja/benchmark/nextjs.md +8 -8
- package/docs/ja/benchmark/solid.md +8 -8
- package/docs/ja/benchmark/svelte.md +8 -8
- package/docs/ja/benchmark/tanstack.md +7 -7
- package/docs/ja/benchmark/vue.md +8 -8
- package/docs/ja/interest_of_intlayer.md +108 -81
- package/docs/ko/benchmark/nextjs.md +8 -8
- package/docs/ko/benchmark/solid.md +8 -8
- package/docs/ko/benchmark/svelte.md +8 -8
- package/docs/ko/benchmark/tanstack.md +7 -7
- package/docs/ko/benchmark/vue.md +8 -8
- package/docs/ko/interest_of_intlayer.md +101 -74
- package/docs/nl/interest_of_intlayer.md +237 -0
- package/docs/pl/benchmark/nextjs.md +8 -8
- package/docs/pl/benchmark/solid.md +8 -8
- package/docs/pl/benchmark/svelte.md +8 -8
- package/docs/pl/benchmark/tanstack.md +7 -7
- package/docs/pl/benchmark/vue.md +8 -8
- package/docs/pl/interest_of_intlayer.md +85 -83
- package/docs/pt/benchmark/nextjs.md +8 -8
- package/docs/pt/benchmark/solid.md +8 -8
- package/docs/pt/benchmark/svelte.md +8 -8
- package/docs/pt/benchmark/tanstack.md +7 -7
- package/docs/pt/benchmark/vue.md +8 -8
- package/docs/pt/interest_of_intlayer.md +91 -67
- package/docs/ru/benchmark/nextjs.md +8 -8
- package/docs/ru/benchmark/solid.md +6 -7
- package/docs/ru/benchmark/svelte.md +8 -8
- package/docs/ru/benchmark/tanstack.md +7 -7
- package/docs/ru/benchmark/vue.md +8 -8
- package/docs/ru/interest_of_intlayer.md +95 -69
- package/docs/tr/benchmark/nextjs.md +8 -8
- package/docs/tr/benchmark/solid.md +8 -8
- package/docs/tr/benchmark/svelte.md +8 -8
- package/docs/tr/benchmark/tanstack.md +7 -7
- package/docs/tr/benchmark/vue.md +8 -8
- package/docs/tr/interest_of_intlayer.md +94 -89
- package/docs/uk/benchmark/nextjs.md +8 -8
- package/docs/uk/benchmark/solid.md +8 -8
- package/docs/uk/benchmark/svelte.md +8 -8
- package/docs/uk/benchmark/tanstack.md +7 -7
- package/docs/uk/benchmark/vue.md +8 -8
- package/docs/uk/interest_of_intlayer.md +94 -96
- package/docs/ur/interest_of_intlayer.md +237 -0
- package/docs/vi/benchmark/nextjs.md +8 -8
- package/docs/vi/benchmark/solid.md +8 -8
- package/docs/vi/benchmark/svelte.md +8 -8
- package/docs/vi/benchmark/tanstack.md +7 -7
- package/docs/vi/benchmark/vue.md +8 -8
- package/docs/vi/interest_of_intlayer.md +82 -79
- package/docs/zh/benchmark/nextjs.md +8 -8
- package/docs/zh/benchmark/solid.md +6 -7
- package/docs/zh/benchmark/svelte.md +7 -7
- package/docs/zh/benchmark/tanstack.md +7 -7
- package/docs/zh/benchmark/vue.md +8 -8
- package/docs/zh/interest_of_intlayer.md +99 -72
- package/docs/zh-TW/interest_of_intlayer.md +237 -0
- package/package.json +6 -6
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-14
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-27
|
|
4
4
|
title: Interesse di Intlayer
|
|
5
|
-
description: Scopri i benefici e i vantaggi dell'utilizzo di Intlayer nei tuoi progetti.
|
|
5
|
+
description: Scopri i benefici e i vantaggi dell'utilizzo di Intlayer nei tuoi progetti. Capisci perché Intlayer si distingue tra gli altri framework.
|
|
6
6
|
keywords:
|
|
7
7
|
- Benefici
|
|
8
8
|
- Vantaggi
|
|
@@ -13,32 +13,35 @@ slugs:
|
|
|
13
13
|
- doc
|
|
14
14
|
- why
|
|
15
15
|
history:
|
|
16
|
+
- version: 7.3.1
|
|
17
|
+
date: 2025-11-27
|
|
18
|
+
changes: "Rilascio del Compilatore"
|
|
16
19
|
- version: 5.8.0
|
|
17
20
|
date: 2025-08-19
|
|
18
|
-
changes: "Aggiornamento tabella comparativa"
|
|
21
|
+
changes: "Aggiornamento della tabella comparativa"
|
|
19
22
|
- version: 5.5.10
|
|
20
23
|
date: 2025-06-29
|
|
21
|
-
changes: "
|
|
24
|
+
changes: "Inizio cronologia"
|
|
22
25
|
---
|
|
23
26
|
|
|
24
27
|
# Perché dovresti considerare Intlayer?
|
|
25
28
|
|
|
26
29
|
## Cos'è Intlayer?
|
|
27
30
|
|
|
28
|
-
**Intlayer** è una libreria di internazionalizzazione progettata specificamente per sviluppatori JavaScript. Permette la dichiarazione
|
|
31
|
+
**Intlayer** è una libreria di internazionalizzazione progettata specificamente per gli sviluppatori JavaScript. Permette la dichiarazione dei tuoi contenuti ovunque nel tuo codice. Converte le dichiarazioni di contenuti multilingue in dizionari strutturati per integrarsi facilmente nel tuo codice. Usando TypeScript, **Intlayer** rende il tuo sviluppo più solido ed efficiente.
|
|
29
32
|
|
|
30
33
|
## Perché è stato creato Intlayer?
|
|
31
34
|
|
|
32
|
-
Intlayer è stato creato per risolvere un problema comune che
|
|
35
|
+
Intlayer è stato creato per risolvere un problema comune che affligge tutte le comuni librerie i18n come `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl` e `vue-i18n`.
|
|
33
36
|
|
|
34
|
-
Tutte queste soluzioni adottano un approccio centralizzato per elencare e gestire i tuoi contenuti.
|
|
37
|
+
Tutte queste soluzioni adottano un approccio centralizzato per elencare e gestire i tuoi contenuti. Ad esempio:
|
|
35
38
|
|
|
36
39
|
```bash
|
|
37
40
|
.
|
|
38
41
|
├── locales
|
|
39
42
|
│ ├── en.json
|
|
40
|
-
│ ├──
|
|
41
|
-
│ └──
|
|
43
|
+
│ ├── es.json
|
|
44
|
+
│ └── fr.json
|
|
42
45
|
├── i18n.ts
|
|
43
46
|
└── src
|
|
44
47
|
└── components
|
|
@@ -46,7 +49,7 @@ Tutte queste soluzioni adottano un approccio centralizzato per elencare e gestir
|
|
|
46
49
|
└── index.tsx
|
|
47
50
|
```
|
|
48
51
|
|
|
49
|
-
|
|
52
|
+
O qui usando i namespace:
|
|
50
53
|
|
|
51
54
|
```bash
|
|
52
55
|
.
|
|
@@ -67,23 +70,23 @@ Oppure qui usando i namespace:
|
|
|
67
70
|
└── index.tsx
|
|
68
71
|
```
|
|
69
72
|
|
|
70
|
-
Questo tipo di architettura rallenta il processo di sviluppo e rende la
|
|
73
|
+
Questo tipo di architettura rallenta il processo di sviluppo e rende la base di codice più complessa da mantenere per diversi motivi:
|
|
71
74
|
|
|
72
75
|
1. **Per ogni nuovo componente creato, dovresti:**
|
|
73
76
|
- Creare la nuova risorsa/namespace nella cartella `locales`
|
|
74
77
|
- Ricordarti di importare il nuovo namespace nella tua pagina
|
|
75
|
-
- Tradurre i tuoi contenuti (spesso fatto manualmente
|
|
78
|
+
- Tradurre i tuoi contenuti (spesso fatto manualmente copiando/incollando da fornitori di IA)
|
|
76
79
|
|
|
77
80
|
2. **Per ogni modifica apportata ai tuoi componenti, dovresti:**
|
|
78
|
-
- Cercare la risorsa/namespace correlata (
|
|
81
|
+
- Cercare la risorsa/namespace correlata (lontana dal componente)
|
|
79
82
|
- Tradurre i tuoi contenuti
|
|
80
|
-
- Assicurarti che
|
|
81
|
-
- Verificare che il tuo namespace non includa chiavi/valori
|
|
82
|
-
- Assicurarti che la struttura dei tuoi file JSON sia la stessa per tutti i
|
|
83
|
+
- Assicurarti che il tuo contenuto sia aggiornato per ogni locale
|
|
84
|
+
- Verificare che il tuo namespace non includa chiavi/valori non utilizzati
|
|
85
|
+
- Assicurarti che la struttura dei tuoi file JSON sia la stessa per tutti i locale
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
Sui progetti professionali che utilizzano queste soluzioni, vengono spesso utilizzate piattaforme di localizzazione per aiutare a gestire la traduzione dei tuoi contenuti. Tuttavia, questo può diventare rapidamente costoso per i progetti di grandi dimensioni.
|
|
85
88
|
|
|
86
|
-
Per risolvere questo problema, Intlayer adotta un approccio che delimita i contenuti per componente e mantiene
|
|
89
|
+
Per risolvere questo problema, Intlayer adotta un approccio che delimita i tuoi contenuti per componente e li mantiene vicini al componente stesso, come spesso facciamo con i CSS (`styled-components`), i tipi, la documentazione (`storybook`) o i test unitari (`jest`).
|
|
87
90
|
|
|
88
91
|
```bash codeFormat="typescript"
|
|
89
92
|
.
|
|
@@ -142,69 +145,93 @@ export const ComponentExample = () => {
|
|
|
142
145
|
};
|
|
143
146
|
```
|
|
144
147
|
|
|
145
|
-
Questo approccio ti
|
|
148
|
+
Questo approccio ti consente di:
|
|
146
149
|
|
|
147
150
|
1. **Aumentare la velocità di sviluppo**
|
|
148
151
|
- I file `.content.{{ts|mjs|cjs|json}}` possono essere creati utilizzando un'estensione di VSCode
|
|
149
|
-
- Gli strumenti di completamento automatico
|
|
152
|
+
- Gli strumenti di completamento automatico IA nel tuo IDE (come GitHub Copilot) possono aiutarti a dichiarare i tuoi contenuti, riducendo il copia/incolla
|
|
150
153
|
|
|
151
|
-
2. **Pulire la tua
|
|
154
|
+
2. **Pulire la tua base di codice**
|
|
152
155
|
- Ridurre la complessità
|
|
153
156
|
- Aumentare la manutenibilità
|
|
154
157
|
|
|
155
|
-
3. **Duplicare i tuoi componenti e i
|
|
156
|
-
- Limitando il rischio di impattare
|
|
157
|
-
- Copiando/incollando
|
|
158
|
+
3. **Duplicare i tuoi componenti e i relativi contenuti più facilmente (Esempio: componenti di login/registrazione, ecc.)**
|
|
159
|
+
- Limitando il rischio di impattare sui contenuti di altri componenti
|
|
160
|
+
- Copiando/incollando i tuoi contenuti da un'applicazione all'altra senza dipendenze esterne
|
|
158
161
|
|
|
159
|
-
4. **Evitare di inquinare la tua
|
|
160
|
-
- Se non usi un componente, Intlayer non
|
|
161
|
-
- Se elimini un componente, ti
|
|
162
|
+
4. **Evitare di inquinare la tua base di codice con chiavi/valori non utilizzati per componenti non utilizzati**
|
|
163
|
+
- Se non usi un componente, Intlayer non importerà il relativo contenuto
|
|
164
|
+
- Se elimini un componente, ti ricorderai più facilmente di rimuovere il relativo contenuto poiché sarà presente nella stessa cartella
|
|
162
165
|
|
|
163
|
-
5. **Ridurre il costo di ragionamento per gli agenti
|
|
164
|
-
- L'agente
|
|
165
|
-
- Le traduzioni possono essere facilmente
|
|
166
|
+
5. **Ridurre il costo di ragionamento per gli agenti IA per dichiarare i tuoi contenuti multilingue**
|
|
167
|
+
- L'agente IA non dovrà scansionare l'intera base di codice per sapere dove implementare i tuoi contenuti
|
|
168
|
+
- Le traduzioni possono essere eseguite facilmente dagli strumenti di completamento automatico IA nel tuo IDE (come GitHub Copilot)
|
|
169
|
+
|
|
170
|
+
6. **Ottimizzare le prestazioni di caricamento**
|
|
171
|
+
- Se un componente viene caricato in modalità lazy, il relativo contenuto verrà caricato contemporaneamente
|
|
166
172
|
|
|
167
173
|
## Funzionalità aggiuntive di Intlayer
|
|
168
174
|
|
|
169
|
-
| Funzionalità
|
|
170
|
-
|
|
|
171
|
-
| 
|
|
172
|
-
| 
|
|
173
|
-
|
|
|
174
|
-
|  | **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 ancora. |
|
|
178
|
+
|  | **Gestione dei contenuti alimentata da JavaScript**<br><br>Sfrutta la flessibilità di JavaScript per definire e gestire i tuoi contenuti in modo efficiente. <br><br> - [Dichiarazione del contenuto](https://intlayer.org/doc/concept/content) |
|
|
179
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Funzionalità" width="700"> | **Compilatore**<br><br>Il Compilatore Intlayer estrae automaticamente il contenuto dai componenti e genera i file dei dizionari.<br><br> - [Compilatore](https://intlayer.org/doc/compiler) |
|
|
180
|
+
|  | **File di dichiarazione dei contenuti per locale**<br><br>Accelera il tuo sviluppo dichiarando i tuoi contenuti una sola volta, prima della generazione automatica.<br><br> - [File di dichiarazione dei contenuti per locale](https://intlayer.org/doc/concept/per-locale-file) |
|
|
181
|
+
|  | **Ambiente Type-Safe**<br><br>Sfrutta TypeScript per garantire che le definizioni dei contenuti e il codice siano privi di errori, beneficiando al contempo dell'autocompletamento dell'IDE.<br><br> - [Configurazione TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
182
|
+
|  | **Configurazione Semplificata**<br><br>Inizia rapidamente con una configurazione minima. Regola le impostazioni per l'internazionalizzazione, il routing, l'IA, la build e la gestione dei contenuti con facilità. <br><br> - [Esplora l'integrazione con Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
183
|
+
|  | **Recupero dei contenuti semplificato**<br><br>Non c'è bisogno di chiamare la tua funzione `t` per ogni pezzo di contenuto. Recupera tutti i tuoi contenuti direttamente utilizzando un unico hook.<br><br> - [Integrazione React](https://intlayer.org/doc/environment/create-react-app) |
|
|
184
|
+
|  | **Implementazione coerente dei Server Component**<br><br>Perfettamente adatto per i server component di Next.js, utilizza la stessa implementazione sia per i componenti client che server, senza necessità di passare la tua funzione `t` attraverso ogni server component. <br><br> - [Server Component](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
185
|
+
|  | **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) |
|
|
186
|
+
|  | **Routing Avanzato**<br><br>Supporto completo del routing delle app, adattandosi perfettamente alle 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) |
|
|
187
|
+
|  | **Supporto Markdown**<br><br>Importa e interpreta file locale 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) |
|
|
188
|
+
|  | **Editor Visuale e CMS Gratuiti**<br><br>Un editor visuale e un CMS gratuiti sono disponibili per i redattori di contenuti, eliminando la necessità di una piattaforma di localizzazione. Mantieni i tuoi contenuti sincronizzati usando Git, o esternalizzali totalmente o parzialmente con il CMS.<br><br> - [Intlayer Editor](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
189
|
+
|  | **Contenuto Tree-shakable**<br><br>Contenuto tree-shakable, riducendo le dimensioni del bundle finale. Carica i contenuti per componente, escludendo qualsiasi contenuto inutilizzato dal tuo bundle. Supporta il lazy loading per migliorare l'efficienza di caricamento dell'app. <br><br> - [Ottimizzazione della build dell'app](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
190
|
+
|  | **Rendering Statico**<br><br>Non blocca il Rendering Statico. <br><br> - [Integrazione Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
191
|
+
|  | **Traduzione basata su IA**<br><br>Trasforma il tuo sito web in 231 lingue con un solo clic utilizzando gli avanzati strumenti di traduzione basati su IA di Intlayer, utilizzando il tuo fornitore 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> - [Auto fill](https://intlayer.org/doc/concept/auto-fill) |
|
|
192
|
+
|  | **Integrazione del Server MCP**<br><br>Fornisce un server MCP (Model Context Protocol) per l'automazione dell'IDE, consentendo una gestione fluida dei contenuti e flussi di lavoro i18n direttamente all'interno del proprio ambiente di sviluppo. <br><br> - [Server MCP](https://github.com/aymericzip/intlayer/blob/main/docs/it/mcp_server.md) |
|
|
193
|
+
|  | **Estensione per VSCode**<br><br>Intlayer fornisce un'estensione per VSCode per aiutarti a gestire i tuoi contenuti e le tue traduzioni, costruire i tuoi dizionari, tradurre i tuoi contenuti e altro ancora. <br><br> - [Estensione per VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
194
|
+
|  | **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) |
|
|
195
|
+
| Test delle traduzioni mancanti (CLI/CI) | ✅ CLI: npx intlayer content test (audit compatibile con CI) |
|
|
188
196
|
|
|
189
197
|
## Confronto di Intlayer con altre soluzioni
|
|
190
198
|
|
|
191
|
-
| Funzionalità
|
|
192
|
-
|
|
|
193
|
-
| **Traduzioni
|
|
194
|
-
| **Integrazione TypeScript**
|
|
195
|
-
| **Rilevamento
|
|
196
|
-
| **
|
|
197
|
-
| **Traduzione basata su
|
|
198
|
-
| **Editor
|
|
199
|
-
| **Routing Localizzato**
|
|
200
|
-
| **Generazione
|
|
201
|
-
| **Pluralizzazione**
|
|
202
|
-
| **Formattazione (date, numeri, valute)**
|
|
203
|
-
| **Formato del
|
|
204
|
-
| **Supporto ICU**
|
|
205
|
-
| **Helper SEO (hreflang, sitemap)**
|
|
206
|
-
| **Ecosistema /
|
|
207
|
-
| **Rendering
|
|
208
|
-
| **Tree-shaking (
|
|
209
|
-
| **
|
|
210
|
-
| **
|
|
199
|
+
| Funzionalità | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
|
|
200
|
+
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
|
201
|
+
| **Traduzioni vicine ai componenti** | ✅ Sì, contenuto co-localizzato con ogni componente | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ✅ Sì - usando `Single File Components` (SFC) |
|
|
202
|
+
| **Integrazione TypeScript** | ✅ Avanzata, tipi stretti generati automaticamente | ⚠️ Base; configurazione extra per la sicurezza | ✅ Buona, ma meno stretta | ⚠️ Tipizzazioni, necessita di configurazione | ✅ Buona | ⚠️ Base | ✅ Buona (tipi disponibili; sicurezza chiavi richiede setup) |
|
|
203
|
+
| **Rilevamento traduzioni mancanti** | ✅ Evidenziazione errori TypeScript ed errori/avvisi in fase di build | ⚠️ Principalmente stringhe di fallback a runtime | ⚠️ Stringhe di fallback | ⚠️ Richiede configurazione extra | ⚠️ Fallback a runtime | ⚠️ Fallback a runtime | ⚠️ Fallback/avvisi a runtime (configurabile) |
|
|
204
|
+
| **Contenuto ricco (JSX/Markdown/componenti)** | ✅ Supporto diretto | ⚠️ Limitato / solo interpolazione | ⚠️ Sintassi ICU, non vero JSX | ⚠️ Limitato | ❌ Non progettato per nodi ricchi | ⚠️ Limitato | ⚠️ Limitato (componenti tramite `<i18n-t>`, Markdown via plugin) |
|
|
205
|
+
| **Traduzione basata su IA** | ✅ Sì, supporta più fornitori di IA. Utilizzabile con le proprie chiavi API. Considera il contesto dell'app e l'ambito del contenuto | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No |
|
|
206
|
+
| **Editor Visuale** | ✅ Sì, editor visuale locale + CMS opzionale; può esternalizzare i contenuti del codice; integrabile | ❌ No / disponibile tramite piattaforme di localizzazione esterne | ❌ No / disponibile tramite piattaforme di localizzazione esterne | ❌ No / disponibile tramite piattaforme di localizzazione esterne | ❌ No / disponibile tramite piattaforme di localizzazione esterne | ❌ No / disponibile tramite piattaforme di localizzazione esterne | ❌ No / disponibile tramite piattaforme di localizzazione esterne |
|
|
207
|
+
| **Routing Localizzato** | ✅ Sì, supporta percorsi localizzati nativamente (funziona con Next.js e Vite) | ⚠️ Nessuno integrato, richiede plugin (es. `next-i18next`) o configurazione router personalizzata | ❌ No, solo formattazione messaggi, il routing deve essere manuale | ⚠️ Nessuno integrato, richiede plugin o configurazione manuale | ✅ Integrato, App Router supporta il segmento `[locale]` | ✅ Integrato | ✅ Integrato |
|
|
208
|
+
| **Generazione dinamica delle rotte** | ✅ Sì | ⚠️ Plugin/ecosistema o setup manuale | ❌ Non fornito | ⚠️ Plugin/manuale | ✅ Sì | ✅ Sì | ❌ Non fornito (Nuxt i18n lo fornisce) |
|
|
209
|
+
| **Pluralizzazione** | ✅ Modelli basati su enumerazione | ✅ Configurabile (plugin come i18next-icu) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ Buona | ✅ Buona | ✅ Regole di pluralizzazione integrate |
|
|
210
|
+
| **Formattazione (date, numeri, valute)** | ✅ Formattatori ottimizzati (Intl sotto il cofano) | ⚠️ Tramite plugin o uso personalizzato di Intl | ✅ Formattatori ICU | ✅ Helper ICU/CLI | ✅ Buona (helper Intl) | ✅ Buona (helper Intl) | ✅ Formattatori date/numeri integrati (Intl) |
|
|
211
|
+
| **Formato del contenuto** | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml WIP) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
|
|
212
|
+
| **Supporto ICU** | ⚠️ WIP | ⚠️ Tramite plugin (i18next-icu) | ✅ Sì | ✅ Sì | ✅ Sì | ⚠️ Tramite plugin (`i18next-icu`) | ⚠️ Tramite formattatore/compilatore personalizzato |
|
|
213
|
+
| **Helper SEO (hreflang, sitemap)** | ✅ Strumenti integrati: helper per sitemap, robots.txt, metadati | ⚠️ Plugin della community/manuale | ❌ Non core | ❌ Non core | ✅ Buona | ✅ Buona | ❌ Non core (Nuxt i18n fornisce helper) |
|
|
214
|
+
| **Ecosistema / Community** | ⚠️ Più piccolo ma in rapida crescita e reattivo | ✅ Più grande e maturo | ✅ Grande | ⚠️ Più piccolo | ✅ Dimensioni medie, focalizzato su Next.js | ✅ Dimensioni medie, focalizzato su Next.js | ✅ Grande nell'ecosistema Vue |
|
|
215
|
+
| **Server-side Rendering & Server Component** | ✅ Sì, ottimizzato per SSR / React Server Component | ⚠️ Supportato a livello di pagina ma occorre passare le funzioni t nell'albero dei componenti per i figli | ⚠️ Supportato a livello di pagina con setup aggiuntivo, ma occorre passare le funzioni t nell'albero dei componenti per i figli | ✅ Supportato, setup richiesto | ⚠️ Supportato a livello di pagina ma occorre passare le funzioni t nell'albero dei componenti per i figli | ⚠️ Supportato a livello di pagina ma occorre passare le funzioni t nell'albero dei componenti per i figli | ✅ SSR tramite Nuxt/Vue SSR (no RSC) |
|
|
216
|
+
| **Tree-shaking (carica solo i contenuti usati)** | ✅ Sì, per componente in fase di build tramite plugin Babel/SWC | ⚠️ Solitamente carica tutto (può essere migliorato con namespace/code-splitting) | ⚠️ Solitamente carica tutto | ❌ Non predefinito | ⚠️ Parziale | ⚠️ Parziale | ⚠️ Parziale (con code-splitting/setup manuale) |
|
|
217
|
+
| **Lazy loading** | ✅ Sì, per locale / per dizionario | ✅ Sì (es. backend/namespace su richiesta) | ✅ Sì (bundle locale divisi) | ✅ Sì (importazioni dinamiche catalogo) | ✅ Sì (per rotta/per locale), richiede gestione namespace | ✅ Sì (per rotta/per locale), richiede gestione namespace | ✅ Sì (messaggi locale asincroni) |
|
|
218
|
+
| **Pulizia contenuti non usati** | ✅ Sì, per dizionario in fase di build | ❌ No, solo tramite segmentazione manuale dei namespace | ❌ No, tutti i messaggi dichiarati vengono inclusi nel bundle | ✅ Sì, chiavi non usate rilevate e rimosse in build | ❌ No, può essere gestito manualmente con la gestione dei namespace | ❌ No, può essere gestito manualmente con la gestione dei namespace | ❌ No, possibile solo tramite lazy-loading manuale |
|
|
219
|
+
| **Gestione di progetti grandi** | ✅ Incoraggia la modularità, adatto per design-system | ⚠️ Richiede una buona disciplina dei file | ⚠️ I cataloghi centrali possono diventare grandi | ⚠️ Può diventare complesso | ✅ Modulare con setup | ✅ Modulare con setup | ✅ Modulare con setup Vue Router/Nuxt i18n |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Stelle di GitHub
|
|
224
|
+
|
|
225
|
+
Le stelle di GitHub sono un forte indicatore della popolarità di un progetto, della fiducia della comunità e della pertinenza a lungo termine. Sebbene non siano una misura diretta della qualità tecnica, riflettono quanti sviluppatori trovano il progetto utile, ne seguono i progressi e sono propensi ad adottarlo. Per stimare il valore di un progetto, le stelle aiutano a confrontare la trazione tra le alternative e forniscono approfondimenti sulla crescita dell'ecosistema.
|
|
226
|
+
|
|
227
|
+
[](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Interoperabilità
|
|
232
|
+
|
|
233
|
+
`intlayer` può anche aiutare a gestire i tuoi namespace `react-intl`, `react-i18next`, `next-intl`, `next-i18next` e `vue-i18n`.
|
|
234
|
+
|
|
235
|
+
Usando `intlayer`, puoi dichiarare i tuoi contenuti nel formato della tua libreria i18n preferita, e intlayer genererà i tuoi namespace nella posizione di tua scelta (esempio: `/messages/{{locale}}/{{namespace}}.json`).
|
|
236
|
+
|
|
237
|
+
Consulta le [opzioni dictionaryOutput e i18nextResourcesDir](https://intlayer.org/doc/concept/configuration#content-configuration) per maggiori dettagli.
|
|
@@ -36,14 +36,14 @@ history:
|
|
|
36
36
|
|
|
37
37
|
## 結果のリファレンス:
|
|
38
38
|
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
<ClickToOpenIframe
|
|
40
|
+
src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md"
|
|
41
|
+
width="100%"
|
|
42
|
+
height="600px"
|
|
43
|
+
style="border:none;"
|
|
44
|
+
/>
|
|
45
45
|
|
|
46
|
-
> https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md
|
|
46
|
+
> [完全なベンチマークデータを見る](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md)
|
|
47
47
|
|
|
48
48
|
ベンチマークのリポジトリ全体は[こちら](https://github.com/intlayer-org/benchmark-i18n)でご確認いただけます。
|
|
49
49
|
|
|
@@ -72,7 +72,7 @@ Intlayerは、これらの各側面において最適化を試みています。
|
|
|
72
72
|
|
|
73
73
|
これらの問題を顕在化させるために、無料のスキャナーを作成しました。[こちら](https://intlayer.org/i18n-seo-scanner)で試すことができます。
|
|
74
74
|
|
|
75
|
-
<
|
|
75
|
+
<ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
|
|
76
76
|
|
|
77
77
|
## 問題点
|
|
78
78
|
|
|
@@ -36,14 +36,14 @@ history:
|
|
|
36
36
|
|
|
37
37
|
## 結果のリファレンス:
|
|
38
38
|
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
<ClickToOpenIframe
|
|
40
|
+
src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_solid.md"
|
|
41
|
+
width="100%"
|
|
42
|
+
height="600px"
|
|
43
|
+
style="border:none;"
|
|
44
|
+
/>
|
|
45
45
|
|
|
46
|
-
> https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_solid.md
|
|
46
|
+
> [完全なベンチマークデータを見る](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_solid.md)
|
|
47
47
|
|
|
48
48
|
完全なベンチマークリポジトリは[こちら](https://github.com/intlayer-org/benchmark-i18n/tree/main)でご覧いただけます。
|
|
49
49
|
|
|
@@ -68,7 +68,7 @@ history:
|
|
|
68
68
|
|
|
69
69
|
i18nリークの問題を素早く特定するために、無料のスキャナーを用意しました。[こちら](https://intlayer.org/i18n-seo-scanner)でお試しいただけます。
|
|
70
70
|
|
|
71
|
-
<
|
|
71
|
+
<ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
|
|
72
72
|
|
|
73
73
|
## 問題点
|
|
74
74
|
|
|
@@ -36,14 +36,14 @@ history:
|
|
|
36
36
|
|
|
37
37
|
## 結果のリファレンス:
|
|
38
38
|
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
<ClickToOpenIframe
|
|
40
|
+
src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_svelte.md"
|
|
41
|
+
width="100%"
|
|
42
|
+
height="600px"
|
|
43
|
+
style="border:none;"
|
|
44
|
+
/>
|
|
45
45
|
|
|
46
|
-
> https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_svelte.md
|
|
46
|
+
> [完全なベンチマークデータを見る](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_svelte.md)
|
|
47
47
|
|
|
48
48
|
完全なベンチマークリポジトリは[こちら](https://github.com/intlayer-org/benchmark-i18n/tree/main)でご覧いただけます。
|
|
49
49
|
|
|
@@ -67,7 +67,7 @@ history:
|
|
|
67
67
|
|
|
68
68
|
i18nリークの問題を素早く特定するために、無料のスキャナーを用意しました。[こちら](https://intlayer.org/i18n-seo-scanner)でお試しいただけます。
|
|
69
69
|
|
|
70
|
-
<
|
|
70
|
+
<ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
|
|
71
71
|
|
|
72
72
|
## 問題点
|
|
73
73
|
|
|
@@ -36,14 +36,14 @@ history:
|
|
|
36
36
|
|
|
37
37
|
## 結果のリファレンス:
|
|
38
38
|
|
|
39
|
-
<
|
|
40
|
-
src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md"
|
|
41
|
-
width="100%"
|
|
39
|
+
<ClickToOpenIframe
|
|
40
|
+
src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md"
|
|
41
|
+
width="100%"
|
|
42
42
|
height="600px"
|
|
43
|
-
style="border:none;"
|
|
44
|
-
|
|
43
|
+
style="border:none;"
|
|
44
|
+
/>
|
|
45
45
|
|
|
46
|
-
> https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md
|
|
46
|
+
> [完全なベンチマークデータを見る](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md)
|
|
47
47
|
|
|
48
48
|
ベンチマークのリポジトリ全体は[こちら](https://github.com/intlayer-org/benchmark-i18n/tree/main)でご確認いただけます。
|
|
49
49
|
|
|
@@ -68,7 +68,7 @@ history:
|
|
|
68
68
|
|
|
69
69
|
i18nのリーク問題を素早く特定するために、無料のスキャナーを用意しました。[こちら](https://intlayer.org/i18n-seo-scanner)で利用可能です。
|
|
70
70
|
|
|
71
|
-
<
|
|
71
|
+
<ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
|
|
72
72
|
|
|
73
73
|
## 問題点
|
|
74
74
|
|
package/docs/ja/benchmark/vue.md
CHANGED
|
@@ -36,14 +36,14 @@ history:
|
|
|
36
36
|
|
|
37
37
|
## 結果のリファレンス:
|
|
38
38
|
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
<ClickToOpenIframe
|
|
40
|
+
src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md"
|
|
41
|
+
width="100%"
|
|
42
|
+
height="600px"
|
|
43
|
+
style="border:none;"
|
|
44
|
+
/>
|
|
45
45
|
|
|
46
|
-
> https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md
|
|
46
|
+
> [完全なベンチマークデータを見る](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md)
|
|
47
47
|
|
|
48
48
|
完全なベンチマークリポジトリは[こちら](https://github.com/intlayer-org/benchmark-i18n/tree/main)でご覧いただけます。
|
|
49
49
|
|
|
@@ -67,7 +67,7 @@ history:
|
|
|
67
67
|
|
|
68
68
|
i18nリークの問題を素早く特定するために、無料のスキャナーを用意しました。[こちら](https://intlayer.org/i18n-seo-scanner)でお試しいただけます。
|
|
69
69
|
|
|
70
|
-
<
|
|
70
|
+
<ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
|
|
71
71
|
|
|
72
72
|
## 問題点
|
|
73
73
|
|