@intlayer/docs 9.5.7 → 9.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/blog/ar/is_intlayer_lighter_than_paraglide.md +284 -0
  2. package/blog/de/is_intlayer_lighter_than_paraglide.md +284 -0
  3. package/blog/en/is_intlayer_lighter_than_paraglide.md +288 -0
  4. package/blog/en-GB/is_intlayer_lighter_than_paraglide.md +285 -0
  5. package/blog/es/is_intlayer_lighter_than_paraglide.md +284 -0
  6. package/blog/fr/is_intlayer_lighter_than_paraglide.md +284 -0
  7. package/blog/hi/is_intlayer_lighter_than_paraglide.md +284 -0
  8. package/blog/id/is_intlayer_lighter_than_paraglide.md +284 -0
  9. package/blog/it/is_intlayer_lighter_than_paraglide.md +284 -0
  10. package/blog/ja/is_intlayer_lighter_than_paraglide.md +284 -0
  11. package/blog/ko/is_intlayer_lighter_than_paraglide.md +284 -0
  12. package/blog/pl/is_intlayer_lighter_than_paraglide.md +284 -0
  13. package/blog/pt/is_intlayer_lighter_than_paraglide.md +284 -0
  14. package/blog/ru/is_intlayer_lighter_than_paraglide.md +284 -0
  15. package/blog/tr/is_intlayer_lighter_than_paraglide.md +284 -0
  16. package/blog/uk/is_intlayer_lighter_than_paraglide.md +284 -0
  17. package/blog/vi/is_intlayer_lighter_than_paraglide.md +284 -0
  18. package/blog/zh/is_intlayer_lighter_than_paraglide.md +284 -0
  19. package/dist/cjs/generated/blog.entry.cjs +20 -0
  20. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  21. package/dist/cjs/generated/docs.entry.cjs +20 -0
  22. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  23. package/dist/cjs/index.cjs +2 -2
  24. package/dist/esm/generated/blog.entry.mjs +20 -0
  25. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  26. package/dist/esm/generated/docs.entry.mjs +20 -0
  27. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  28. package/dist/esm/index.mjs +2 -2
  29. package/dist/types/generated/blog.entry.d.ts +1 -0
  30. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  31. package/dist/types/generated/docs.entry.d.ts +1 -0
  32. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  33. package/docs/ar/benchmark/nextjs.md +6 -3
  34. package/docs/ar/benchmark/solid.md +21 -4
  35. package/docs/ar/benchmark/svelte.md +18 -3
  36. package/docs/ar/benchmark/tanstack.md +6 -3
  37. package/docs/ar/benchmark/vue.md +14 -5
  38. package/docs/ar/cli/index.md +6 -1
  39. package/docs/ar/cli/upgrade.md +125 -0
  40. package/docs/de/benchmark/nextjs.md +6 -3
  41. package/docs/de/benchmark/solid.md +21 -4
  42. package/docs/de/benchmark/svelte.md +18 -3
  43. package/docs/de/benchmark/tanstack.md +6 -3
  44. package/docs/de/benchmark/vue.md +14 -5
  45. package/docs/de/cli/index.md +6 -1
  46. package/docs/de/cli/upgrade.md +125 -0
  47. package/docs/en/agent_skills.md +29 -1
  48. package/docs/en/benchmark/nextjs.md +6 -3
  49. package/docs/en/benchmark/solid.md +21 -4
  50. package/docs/en/benchmark/svelte.md +18 -3
  51. package/docs/en/benchmark/tanstack.md +7 -4
  52. package/docs/en/benchmark/vue.md +15 -6
  53. package/docs/en/cli/index.md +6 -1
  54. package/docs/en/cli/upgrade.md +125 -0
  55. package/docs/en-GB/benchmark/nextjs.md +6 -3
  56. package/docs/en-GB/benchmark/solid.md +21 -4
  57. package/docs/en-GB/benchmark/svelte.md +18 -3
  58. package/docs/en-GB/benchmark/tanstack.md +6 -3
  59. package/docs/en-GB/benchmark/vue.md +15 -6
  60. package/docs/en-GB/cli/index.md +6 -1
  61. package/docs/en-GB/cli/upgrade.md +125 -0
  62. package/docs/es/benchmark/nextjs.md +6 -3
  63. package/docs/es/benchmark/solid.md +21 -4
  64. package/docs/es/benchmark/svelte.md +18 -3
  65. package/docs/es/benchmark/tanstack.md +6 -3
  66. package/docs/es/benchmark/vue.md +14 -5
  67. package/docs/es/cli/index.md +6 -1
  68. package/docs/es/cli/upgrade.md +125 -0
  69. package/docs/fr/benchmark/nextjs.md +6 -3
  70. package/docs/fr/benchmark/solid.md +21 -4
  71. package/docs/fr/benchmark/svelte.md +18 -3
  72. package/docs/fr/benchmark/tanstack.md +6 -3
  73. package/docs/fr/benchmark/vue.md +15 -6
  74. package/docs/fr/cli/index.md +6 -1
  75. package/docs/fr/cli/upgrade.md +125 -0
  76. package/docs/hi/benchmark/nextjs.md +6 -3
  77. package/docs/hi/benchmark/solid.md +21 -4
  78. package/docs/hi/benchmark/svelte.md +18 -3
  79. package/docs/hi/benchmark/tanstack.md +6 -3
  80. package/docs/hi/benchmark/vue.md +15 -6
  81. package/docs/hi/cli/index.md +6 -1
  82. package/docs/hi/cli/upgrade.md +125 -0
  83. package/docs/id/benchmark/nextjs.md +6 -3
  84. package/docs/id/benchmark/solid.md +21 -4
  85. package/docs/id/benchmark/svelte.md +18 -3
  86. package/docs/id/benchmark/tanstack.md +6 -3
  87. package/docs/id/benchmark/vue.md +15 -6
  88. package/docs/id/cli/index.md +6 -1
  89. package/docs/id/cli/upgrade.md +125 -0
  90. package/docs/it/benchmark/nextjs.md +6 -3
  91. package/docs/it/benchmark/solid.md +21 -4
  92. package/docs/it/benchmark/svelte.md +18 -3
  93. package/docs/it/benchmark/tanstack.md +6 -3
  94. package/docs/it/benchmark/vue.md +14 -5
  95. package/docs/it/cli/index.md +6 -1
  96. package/docs/it/cli/upgrade.md +125 -0
  97. package/docs/ja/benchmark/nextjs.md +6 -3
  98. package/docs/ja/benchmark/solid.md +21 -4
  99. package/docs/ja/benchmark/svelte.md +18 -3
  100. package/docs/ja/benchmark/tanstack.md +5 -2
  101. package/docs/ja/benchmark/vue.md +14 -5
  102. package/docs/ja/cli/index.md +6 -1
  103. package/docs/ja/cli/upgrade.md +125 -0
  104. package/docs/ko/benchmark/nextjs.md +6 -3
  105. package/docs/ko/benchmark/solid.md +21 -4
  106. package/docs/ko/benchmark/svelte.md +18 -3
  107. package/docs/ko/benchmark/tanstack.md +6 -3
  108. package/docs/ko/benchmark/vue.md +15 -6
  109. package/docs/ko/cli/index.md +6 -1
  110. package/docs/ko/cli/upgrade.md +126 -0
  111. package/docs/pl/benchmark/nextjs.md +6 -3
  112. package/docs/pl/benchmark/solid.md +21 -4
  113. package/docs/pl/benchmark/svelte.md +18 -3
  114. package/docs/pl/benchmark/tanstack.md +6 -3
  115. package/docs/pl/benchmark/vue.md +15 -6
  116. package/docs/pl/cli/index.md +6 -1
  117. package/docs/pl/cli/upgrade.md +125 -0
  118. package/docs/pt/benchmark/nextjs.md +6 -3
  119. package/docs/pt/benchmark/solid.md +21 -4
  120. package/docs/pt/benchmark/svelte.md +18 -3
  121. package/docs/pt/benchmark/tanstack.md +6 -3
  122. package/docs/pt/benchmark/vue.md +14 -5
  123. package/docs/pt/cli/index.md +6 -1
  124. package/docs/pt/cli/upgrade.md +125 -0
  125. package/docs/ru/benchmark/nextjs.md +6 -3
  126. package/docs/ru/benchmark/solid.md +21 -4
  127. package/docs/ru/benchmark/svelte.md +18 -3
  128. package/docs/ru/benchmark/tanstack.md +6 -3
  129. package/docs/ru/benchmark/vue.md +15 -6
  130. package/docs/ru/cli/index.md +6 -1
  131. package/docs/ru/cli/upgrade.md +125 -0
  132. package/docs/tr/benchmark/nextjs.md +6 -3
  133. package/docs/tr/benchmark/solid.md +21 -4
  134. package/docs/tr/benchmark/svelte.md +18 -3
  135. package/docs/tr/benchmark/tanstack.md +6 -3
  136. package/docs/tr/benchmark/vue.md +15 -6
  137. package/docs/tr/cli/index.md +6 -1
  138. package/docs/tr/cli/upgrade.md +125 -0
  139. package/docs/uk/benchmark/nextjs.md +6 -3
  140. package/docs/uk/benchmark/solid.md +21 -4
  141. package/docs/uk/benchmark/svelte.md +18 -3
  142. package/docs/uk/benchmark/tanstack.md +6 -3
  143. package/docs/uk/benchmark/vue.md +15 -6
  144. package/docs/uk/cli/index.md +6 -1
  145. package/docs/uk/cli/upgrade.md +125 -0
  146. package/docs/vi/benchmark/nextjs.md +6 -3
  147. package/docs/vi/benchmark/solid.md +21 -4
  148. package/docs/vi/benchmark/svelte.md +18 -3
  149. package/docs/vi/benchmark/tanstack.md +6 -3
  150. package/docs/vi/benchmark/vue.md +15 -6
  151. package/docs/vi/cli/index.md +6 -1
  152. package/docs/vi/cli/upgrade.md +125 -0
  153. package/docs/zh/benchmark/nextjs.md +6 -3
  154. package/docs/zh/benchmark/solid.md +21 -4
  155. package/docs/zh/benchmark/svelte.md +18 -3
  156. package/docs/zh/benchmark/tanstack.md +5 -2
  157. package/docs/zh/benchmark/vue.md +15 -6
  158. package/docs/zh/cli/index.md +6 -1
  159. package/docs/zh/cli/upgrade.md +125 -0
  160. package/package.json +6 -6
  161. package/src/generated/blog.entry.ts +20 -0
  162. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,125 @@
1
+ ---
2
+ createdAt: 2026-09-23
3
+ updatedAt: 2026-09-23
4
+ title: CLI - Tingkatkan Paket Intlayer
5
+ description: Pelajari cara menggunakan perintah upgrade Intlayer CLI untuk mencantumkan setiap paket Intlayer dari proyek atau monorepo Anda dan meningkatkannya ke versi terbaru.
6
+ keywords:
7
+ - CLI
8
+ - Upgrade
9
+ - Tingkatkan
10
+ - Paket
11
+ - Monorepo
12
+ - Intlayer
13
+ slugs:
14
+ - doc
15
+ - concept
16
+ - cli
17
+ - upgrade
18
+ history:
19
+ - version: 9.5.8
20
+ date: 2026-09-23
21
+ changes: "Menambahkan perintah upgrade"
22
+ author: aymericzip
23
+ ---
24
+
25
+ # Tingkatkan Paket Intlayer
26
+
27
+ ```bash packageManager="npm"
28
+ npx intlayer upgrade
29
+ ```
30
+
31
+ ```bash packageManager="yarn"
32
+ yarn intlayer upgrade
33
+ ```
34
+
35
+ ```bash packageManager="pnpm"
36
+ pnpm intlayer upgrade
37
+ ```
38
+
39
+ ```bash packageManager="bun"
40
+ bun x intlayer upgrade
41
+ ```
42
+
43
+ Perintah `upgrade` mencantumkan paket Intlayer yang dideklarasikan di setiap `package.json` proyek Anda, termasuk workspace monorepo, dan meningkatkannya ke versi terbaru yang dipublikasikan. Perintah ini menjalankan langkah peningkatan paket yang sama dengan `intlayer init`, secara mandiri.
44
+
45
+ ## Argumen:
46
+
47
+ - `--project-root [projectRoot]` - Opsional. Direktori root proyek. Secara default, perintah dimulai dari `package.json` terdekat di atas direktori kerja saat ini.
48
+ - `--dry-run` - Opsional. Mencantumkan paket beserta versi targetnya tanpa mengubah file apa pun.
49
+ - `--tag <tag>` - Opsional. Dist-tag npm untuk peningkatan (misalnya `canary`). Default adalah `latest`.
50
+
51
+ ## Apa yang dilakukannya:
52
+
53
+ 1. **Mencantumkan paket Intlayer** - Memindai setiap `package.json` proyek (melewati `node_modules` dan output build) untuk menemukan dependensi dan devDependencies `intlayer`, `@intlayer/*`, `*-intlayer`, dan `intlayer-*`.
54
+ 2. **Mengambil versi target** - Membaca versi dist-tag yang dipilih (default `latest`) dari setiap paket dari npm registry.
55
+ 3. **Menulis ulang rentang versi** - Memperbarui setiap rentang yang kedaluwarsa langsung di tempat, mempertahankan operatornya (`^`, `~` atau tidak ada) dan indentasi file.
56
+ 4. **Menginstal sekali saja** - Menjalankan instalasi tunggal dari root workspace (direktori terdekat dengan file lock), menggunakan manajer paket pemilik file lock:
57
+
58
+ | File lock | Perintah |
59
+ | ----------------------------------- | -------------- |
60
+ | `bun.lock` / `bun.lockb` | `bun install` |
61
+ | `pnpm-lock.yaml` | `pnpm install` |
62
+ | `yarn.lock` | `yarn install` |
63
+ | `package-lock.json` atau tanpa lock | `npm install` |
64
+
65
+ Jika tidak ada file lock, bidang `packageManager` dari `package.json` (misalnya `"bun@1.2.0"`) digunakan sebelum kembali ke npm.
66
+
67
+ Rentang yang tidak mengarah ke registry, seperti `workspace:*`, `file:`, `link:`, `catalog:` atau URL git, tidak pernah diubah.
68
+
69
+ ## Contoh:
70
+
71
+ ### Mencantumkan peningkatan yang tersedia tanpa menerapkannya:
72
+
73
+ ```bash packageManager="npm"
74
+ npx intlayer upgrade --dry-run
75
+ ```
76
+
77
+ ```bash packageManager="yarn"
78
+ yarn intlayer upgrade --dry-run
79
+ ```
80
+
81
+ ```bash packageManager="pnpm"
82
+ pnpm intlayer upgrade --dry-run
83
+ ```
84
+
85
+ ```bash packageManager="bun"
86
+ bun x intlayer upgrade --dry-run
87
+ ```
88
+
89
+ ### Meningkatkan ke rilis canary:
90
+
91
+ ```bash packageManager="npm"
92
+ npx intlayer upgrade --tag canary
93
+ ```
94
+
95
+ ```bash packageManager="yarn"
96
+ yarn intlayer upgrade --tag canary
97
+ ```
98
+
99
+ ```bash packageManager="pnpm"
100
+ pnpm intlayer upgrade --tag canary
101
+ ```
102
+
103
+ ```bash packageManager="bun"
104
+ bun x intlayer upgrade --tag canary
105
+ ```
106
+
107
+ ## Contoh output:
108
+
109
+ ```bash
110
+ npx intlayer upgrade
111
+ Intlayer packages:
112
+ package.json
113
+ intlayer ^9.0.0 → ^9.5.7
114
+ apps/web/package.json
115
+ next-intlayer ^9.5.7 (latest)
116
+ vite-intlayer ~9.2.0 → ~9.5.7
117
+ Running bun install...
118
+ ✓ Upgraded 2 Intlayer dependencies to latest
119
+ ```
120
+
121
+ ## Catatan:
122
+
123
+ - Jalankan perintah dari root repositori Anda untuk meningkatkan setiap workspace. Jalankan dari workspace tertentu untuk hanya meningkatkan workspace tersebut.
124
+ - Paket yang versinya tidak dapat diambil (offline, paket pribadi atau belum dipublikasikan) dicantumkan dan dibiarkan tidak berubah.
125
+ - Jika instalasi gagal, rentang yang telah ditingkatkan tetap dipertahankan di `package.json`. Jalankan perintah instalasi manajer paket Anda secara manual.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-09-11
3
+ updatedAt: 2026-09-23
4
4
  title: Migliore soluzione i18n per Next.js nel 2026 - Rapporto Benchmark
5
5
  description: Confronta le librerie di internazionalizzazione (i18n) per Next.js come next-intl, next-i18next e Intlayer. Rapporto dettagliato sulle prestazioni relative a dimensioni del bundle, leakage e reattività.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n
19
19
  history:
20
+ - version: 9.5.7
21
+ date: 2026-09-23
22
+ changes: "Aggiornamento dei risultati del benchmark"
20
23
  - version: 9.5.1
21
24
  date: 2026-09-11
22
25
  changes: "Aggiornamento dei risultati del benchmark"
@@ -213,7 +216,7 @@ Infine, rispetto ad altre soluzioni, Paraglide non usa uno store (es. contesto R
213
216
 
214
217
  **(Tolgee)** (`@tolgee/react@7.2.0`):
215
218
 
216
- `Tolgee` affronta molti dei problemi menzionati in precedenza. L'ho trovato più difficile da adottare rispetto a strumenti simili. Non fornisce type safety, il che rende anche più difficile individuare le chiavi mancanti a compile time. Ho dovuto avvolgere le funzioni di Tolgee con le mie per aggiungere il rilevamento delle chiavi mancanti.
219
+ `Tolgee` affronta molti dei problemi menzionati in precedenza. L'ho trovato più difficile da adottare rispetto a strumenti simili. Non fornisce type safety, il che rende anche più difficile individuare le chiavi mancanti a compile time. Ho dovuto avvolgere le funzioni di Tolgee con le mie per aggiungere il rilevamento delle chiavi mancanti. Il pacchetto è anche relativamente pesante (~14.3kb, ovvero circa 2.8× `next-intlayer`).
217
220
 
218
221
  **(Next Intl)** (`next-intl@4.14.2`):
219
222
 
@@ -239,7 +242,7 @@ I formati dei messaggi differiscono inoltre: `next-intl` usa ICU MessageFormat,
239
242
 
240
243
  `next-translate` è la mia raccomandazione principale se ti piace un'API in stile `t()`. È elegante grazie a `next-translate-plugin`, caricando i namespace attraverso `getStaticProps` con un caricatore Webpack / Turbopack. È anche una delle opzioni più leggere qui (~3.5kb). Per il namespacing, la definizione dei namespace per pagina o percorso nella config è ben pensata e più facile da mantenere rispetto alle principali alternative come **next-intl** o **next-i18next**. Nella versione `3.1.2`, ho notato che il rendering statico non funzionava; Next.js ripiegava sul rendering dinamico.
241
244
 
242
- **(Intlayer)** (`next-intlayer@9.5.1`):
245
+ **(Intlayer)** (`next-intlayer@9.5.6`):
243
246
 
244
247
  Non giudicherò personalmente `next-intlayer` per motivi di obiettività, essendo la mia propria soluzione.
245
248
 
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-09-11
3
+ updatedAt: 2026-09-23
4
4
  title: Migliore soluzione i18n per Solid nel 2026 - Rapporto Benchmark
5
- description: Confronta le librerie di internazionalizzazione (i18n) per Solid come solid-primitives, solid-i18next e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
5
+ description: Confronta le librerie di internazionalizzazione (i18n) per Solid come solid-primitives, solid-i18next, Tolgee e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
6
6
  keywords:
7
7
  - benchmark
8
8
  - i18n
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-solid-template
19
19
  history:
20
+ - version: 9.5.7
21
+ date: 2026-09-23
22
+ changes: "Aggiornamento dei risultati del benchmark"
20
23
  - version: 9.5.1
21
24
  date: 2026-09-11
22
25
  changes: "Aggiornamento dei risultati del benchmark"
@@ -68,6 +71,7 @@ L'autre impatto riguarda l'esperienza dello sviluppatore (DX): come si dichiara
68
71
  - **Intlayer**: Scelta consigliata per applicazioni Solid professionali che necessitano di funzionalità avanzate e ottimizzazione (v9.5.6).
69
72
  - **@solid-primitives/i18n**: Eccellente alternativa leggera per progetti semplici, sebbene manchi di funzionalità avanzate come il lazy loading.
70
73
  - **solid-i18next**: Opzione standard ma pesante (~3.5× Intlayer) con gli stessi svantaggi di React i18next.
74
+ - **Tolgee**: Piattaforma di traduzione ricca di funzionalità, ma piuttosto pesante (~12.7kb, circa 3.0× Intlayer), priva di primitive Solid native (si affida a @tolgee/web) e con notevole dispersione tra pagine nelle configurazioni statiche (90% di dispersione tra pagine).
71
75
  - **Paraglide**: Approccio innovativo ma DX complessa e problemi di tree-shaking in alcune configurazioni.
72
76
 
73
77
  ## Testa la tua app
@@ -103,6 +107,7 @@ Per questo benchmark, abbiamo confrontato le seguenti librerie:
103
107
  - [`solid-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/packages/solid-intlayer/exports.md) (v9.5.6)
104
108
  - [`@solid-primitives/i18n`](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n) (v2.2.1)
105
109
  - [`i18next`](https://github.com/i18next/i18next) (v26.0.8) + [`@mbarzda/solid-i18next`](https://github.com/mbarzda/solid-i18next) (v1.4.1)
110
+ - [`@tolgee/web`](https://github.com/tolgee/tolgee-js) (v7.2.0)
106
111
  - [`@inlang/paraglide-js`](https://github.com/opral/paraglide-js) (v2.25.1)
107
112
 
108
113
  Il framework è `Solid` con un'app multilingue di **10 pagine** e **10 lingue**.
@@ -147,7 +152,7 @@ Ho eseguito la stessa app multilingue in un vero browser per ogni stack, quindi
147
152
 
148
153
  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.
149
154
 
150
- [![Star History Chart](https://api.star-history.com/chart?repos=solidjs-community%2Fsolid-primitives%2Cmbarzda%2Fsolid-i18next%2Copral%2Fparaglide-js%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#solidjs-community/solid-primitives&mbarzda/solid-i18next&opral/paraglide-js&aymericzip/intlayer)
155
+ [![Star History Chart](https://api.star-history.com/chart?repos=solidjs-community%2Fsolid-primitives%2Cmbarzda%2Fsolid-i18next%2Copral%2Fparaglide-js%2Ctolgee%2Ftolgee-js%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#solidjs-community/solid-primitives&mbarzda/solid-i18next&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
151
156
 
152
157
  ## Risultati in dettaglio
153
158
 
@@ -170,6 +175,18 @@ Tuttavia, condivide gli stessi principali svantaggi degli stack costruiti su `t(
170
175
  Solid primitive è estremamente leggero ed efficiente. Consiglio questa soluzione per progetti leggeri, ma può mancare rapidamente di funzionalità per soluzioni professionali incluse la gestione dei cookie, il reindirizzamento proxy, i formattatori ecc.
171
176
  Manca inoltre del lazy loading e dello scoping dei namespace per l'ottimizzazione delle dimensioni della pagina.
172
177
 
178
+ **(Tolgee)** (`@tolgee/web@7.2.0`):
179
+
180
+ `Tolgee` offre una piattaforma completa di gestione delle traduzioni con funzionalità di modifica in-context.
181
+
182
+ Su Solid non esiste attualmente un adapter nativo ufficiale (come `@tolgee/solid`), richiedendo agli sviluppatori di integrarsi tramite `@tolgee/web` con segnali personalizzati.
183
+
184
+ Il pacchetto è relativamente pesante (~12.7kb, circa 3.0× `solid-intlayer`).
185
+
186
+ Senza un meccanismo di suddivisione granulare per pagina su Solid, tutte le traduzioni vengono caricate in memoria all'avvio nelle configurazioni statiche. Ciò causa un'elevata dispersione nel bundle (44.5% di dispersione delle lingue, 90.0% di dispersione tra pagine) e dimensioni medie del bundle per pagina di ~91.8kb (rispetto a ~35.8kb per Intlayer).
187
+
188
+ La reattività al cambio di lingua è estremamente rapida (0.6ms), sfruttando la reattività a grana fine di Solid, sebbene l'overhead di idratazione sia leggermente superiore (~5.6ms rispetto a ~3.0ms per Intlayer).
189
+
173
190
  **(Paraglide)** (`@inlang/paraglide-js@2.25.1`):
174
191
 
175
192
  `Paraglide` offre un approccio innovativo e ben ponderato. Tuttavia, in questo benchmark il tree-shaking pubblicizzato dalla loro azienda non ha funzionato per la mia implementazione. Il workflow e la DX sono inoltre più complessi rispetto ad altre opzioni.
@@ -178,7 +195,7 @@ Infine, rispetto ad altre soluzioni, Paraglide non utilizza uno store (es. Solid
178
195
 
179
196
  ### 3 - Raccomandazioni
180
197
 
181
- **(Intlayer)** (`solid-intlayer@9.5.0`):
198
+ **(Intlayer)** (`solid-intlayer@9.5.6`):
182
199
 
183
200
  Non giudicherò personalmente `solid-intlayer` per motivi di obiettività, essendo la mia soluzione.
184
201
 
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-09-11
3
+ updatedAt: 2026-09-23
4
4
  title: Migliore soluzione i18n per Svelte nel 2026 - Rapporto Benchmark
5
- description: Confronta le librerie di internazionalizzazione (i18n) per Svelte come svelte-i18n, Paraglide e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
5
+ description: Confronta le librerie di internazionalizzazione (i18n) per Svelte come svelte-i18n, Paraglide, Tolgee e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
6
6
  keywords:
7
7
  - benchmark
8
8
  - i18n
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-svelte-template
19
19
  history:
20
+ - version: 9.5.7
21
+ date: 2026-09-23
22
+ changes: "Update benchmark results"
20
23
  - version: 9.5.1
21
24
  date: 2026-09-11
22
25
  changes: "Aggiornamento dei risultati del benchmark"
@@ -67,6 +70,7 @@ L'altro impatto riguarda l'esperienza dello sviluppatore (DX): come si dichiara
67
70
 
68
71
  - **Intlayer**: La scelta più efficiente in termini di prestazioni (v9.5.6) con il footprint più ridotto.
69
72
  - **Paraglide**: Forte candidato per il tree-shaking ma presenta una DX più complessa e un overhead di reattività.
73
+ - **Tolgee**: Piattaforma di traduzione ricca di funzionalità con modifica in-context, ma piuttosto pesante (~13.0kb, circa 3.6× Intlayer), con notevole dispersione tra pagine nelle configurazioni statiche (90% di dispersione tra pagine).
70
74
  - **svelte-i18n**: Completo e standard per Svelte, ma comporta un peso del bundle molto maggiore (~4.5 volte Intlayer).
71
75
 
72
76
  ## Testa la tua app
@@ -101,6 +105,7 @@ Per questo benchmark, abbiamo confrontato le seguenti librerie:
101
105
  - `Base App` (Nessuna libreria i18n)
102
106
  - [`svelte-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/packages/svelte-intlayer/exports.md) (v9.5.6)
103
107
  - [`svelte-i18n`](https://github.com/kaisermann/svelte-i18n) (v4.0.1)
108
+ - [`@tolgee/svelte`](https://github.com/tolgee/tolgee-js) (v7.2.1)
104
109
  - [`@inlang/paraglide-js`](https://github.com/opral/paraglide-js) (v2.25.1)
105
110
 
106
111
  Il framework è `Svelte` con un'app multilingue di **10 pagine** e **10 lingue**.
@@ -145,7 +150,7 @@ Ho eseguito la stessa app multilingue in un vero browser per ogni stack, quindi
145
150
 
146
151
  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.
147
152
 
148
- [![Star History Chart](https://api.star-history.com/chart?repos=kaisermann%2Fsvelte-i18n%2Copral%2Fparaglide-js%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#kaisermann/svelte-i18n&opral/paraglide-js&aymericzip/intlayer)
153
+ [![Star History Chart](https://api.star-history.com/chart?repos=kaisermann%2Fsvelte-i18n%2Copral%2Fparaglide-js%2Ctolgee%2Ftolgee-js%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#kaisermann/svelte-i18n&opral/paraglide-js&tolgee/tolgee-js&aymericzip/intlayer)
149
154
 
150
155
  ## Risultati in dettaglio
151
156
 
@@ -165,6 +170,16 @@ Infine, rispetto ad altre soluzioni, Paraglide non utilizza uno store (es. Svelt
165
170
 
166
171
  > Nota su Paraglide: la soluzione inietta codice nella tua codebase per gli import; di conseguenza, la metrica 'lib size' nel rapporto benchmark è quasi 0. La generazione di codice è una cosa buona, perché la funzione utilizzata includerà solo la logica necessaria (prefisso ovunque vs nessun prefisso, cookie vs storage, ecc.). In confronto, Intlayer esegue questo filtraggio tramite iniezioni di variabili d'ambiente durante la build per forzare il bundler a fare tree-shaking del contenuto a seconda della logica. Grazie a ciò, Paraglide e Intlayer finiscono per essere soluzioni da 6 a 10 volte più leggere di i18next o next-intl.
167
172
 
173
+ **(Tolgee)** (`@tolgee/svelte@7.2.1`):
174
+
175
+ `Tolgee` fornisce una piattaforma di localizzazione all-in-one con modifica in-context e integrazione ufficiale per Svelte tramite `@tolgee/svelte`.
176
+
177
+ Il pacchetto è relativamente pesante (~13.0kb, circa 3.6× `svelte-intlayer`).
178
+
179
+ Senza una suddivisione granulare per pagina in Svelte, tutte le traduzioni vengono caricate in memoria all'avvio nelle configurazioni statiche. Ciò causa una sostanziale dispersione nel bundle (50.0% di dispersione delle lingue, 90.0% di dispersione tra pagine) e dimensioni medie del bundle per pagina di ~100.7kb (rispetto a ~59.0kb per Intlayer).
180
+
181
+ La reattività al cambio di lingua è estremamente rapida (0.5ms), beneficiando degli store reattivi di Svelte, sebbene l'overhead di idratazione sia leggermente superiore (~6.2ms rispetto a ~5.5ms per Intlayer).
182
+
168
183
  **(svelte-i18n)** (`svelte-i18n@4.0.1`):
169
184
 
170
185
  Questa soluzione soddisfa tutte le esigenze i18n in un progetto Svelte. Ma come per i18next o altre importanti soluzioni i18n, è un po' pesante (~16.6kb, circa 4.5 volte `svelte-intlayer`).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-09-11
3
+ updatedAt: 2026-09-23
4
4
  title: Migliore soluzione i18n per TanStack Start nel 2026 - Rapporto Benchmark
5
5
  description: Confronta le librerie di internazionalizzazione per TanStack Start come react-i18next, use-intl e Intlayer. Rapporto dettagliato sulle prestazioni relative a dimensioni del bundle, leakage e reattività.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-tanstack-start-template
19
19
  history:
20
+ - version: 9.5.7
21
+ date: 2026-09-23
22
+ changes: "Aggiornamento dei risultati del benchmark"
20
23
  - version: 9.5.1
21
24
  date: 2026-09-11
22
25
  changes: "Aggiornamento dei risultati del benchmark"
@@ -200,7 +203,7 @@ L'idea alla base di `Wuchale` è interessante ma non ancora una soluzione pratic
200
203
 
201
204
  `Tolgee` affronta molti dei problemi menzionati in precedenza. L'ho trovato più difficile da avviare rispetto ad altri strumenti con approcci simili. Non fornisce type safety, il che rende anche molto difficile individuare le chiavi mancanti a compile time. Ho dovuto avvolgere le API di Tolgee con le mie per aggiungere il rilevamento delle chiavi mancanti.
202
205
 
203
- Il package è abbastanza pesante (~11.1kb, che è più di 2× `react-intlayer`).
206
+ Il package è abbastanza pesante (~13.8 kb, che è più di 2.9× `react-intlayer`).
204
207
 
205
208
  Su TanStack Start ho avuto anche problemi di reattività: al cambio di lingua, dovevo forzare il provider a rieseguire il rendering e sottoscrivermi agli eventi di cambio lingua in modo che il caricamento in un'altra lingua si comportasse correttamente.
206
209
 
@@ -234,7 +237,7 @@ Il package è anche pesante (~15.3kb, che è circa 3× `react-intlayer`).
234
237
 
235
238
  Questo benchmark su TanStack Start non ha un equivalente diretto di `next-translate` (plugin Next.js + `getStaticProps`). Per i team che vogliono davvero un'API `t()` con un ecosistema maturo, `react-i18next` e `use-intl` rimangono scelte "ragionevoli", ma preparatevi a investire molto tempo nell'ottimizzazione per evitare leakage.
236
239
 
237
- **(Intlayer)** (`react-intlayer@9.5.1`):
240
+ **(Intlayer)** (`react-intlayer@9.5.6`):
238
241
 
239
242
  Non giudicherò personalmente `react-intlayer` per motivi di obiettività, essendo la mia propria soluzione.
240
243
 
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-09-11
3
+ updatedAt: 2026-09-23
4
4
  title: Migliore soluzione i18n per Vue nel 2026 - Rapporto Benchmark
5
- description: Confronta le librerie di internazionalizzazione (i18n) per Vue come vue-i18n, fluent-vue e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
5
+ description: Confronta le librerie di internazionalizzazione (i18n) per Vue come vue-i18n, fluent-vue, Tolgee e Intlayer. Rapporto dettagliato sulle prestazioni in termini di dimensioni del bundle, leak e reattività.
6
6
  keywords:
7
7
  - benchmark
8
8
  - i18n
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-vue-template
19
19
  history:
20
+ - version: 9.5.7
21
+ date: 2026-09-23
22
+ changes: "Aggiornamento dei risultati del benchmark e aggiunta di Tolgee"
20
23
  - version: 9.5.1
21
24
  date: 2026-09-11
22
25
  changes: "Aggiornamento dei risultati del benchmark"
@@ -66,6 +69,7 @@ L'altro impatto riguarda l'esperienza dello sviluppatore (DX): come si dichiara
66
69
  ## TL;DR
67
70
 
68
71
  - **Intlayer**: La soluzione più leggera (v9.5.6) con scoping e caricamento dinamico nativi.
72
+ - **Tolgee**: Caricamento dinamico efficace con zero perdite in modalità dinamica, ma più pesante (~3.7× Intlayer) e privo di type safety a tempo di compilazione.
69
73
  - **vue-i18n**: Lo standard del settore con un ricco ecosistema, ma può essere significativamente più pesante e difficile da ottimizzare per il code-splitting in applicazioni di grandi dimensioni.
70
74
  - **fluent-vue**: Organizzazione dei messaggi innovativa ma manca di type-safety e risulta essere una soluzione estremamente pesante.
71
75
 
@@ -103,6 +107,7 @@ Per questo benchmark, abbiamo confrontato le seguenti librerie:
103
107
  - [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/compat/vue-i18n.md) (v9.5.6)
104
108
  - [`vue-i18n`](https://github.com/intlify/vue-i18n) (v11.4.0)
105
109
  - [`fluent-vue`](https://github.com/fluent-vue/fluent-vue) (v3.8.2)
110
+ - [`@tolgee/vue`](https://github.com/tolgee/tolgee-js) (v7.2.0)
106
111
 
107
112
  Il framework è `Vue` con un'app multilingue di **10 pagine** e **10 lingue**.
108
113
 
@@ -146,7 +151,7 @@ Ho eseguito la stessa app multilingue in un browser reale per ogni stack, poi ho
146
151
 
147
152
  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.
148
153
 
149
- [![Star History Chart](https://api.star-history.com/chart?repos=intlify%2Fvue-i18n%2Cfluent-vue%2Ffluent-vue%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#intlify/vue-i18n&fluent-vue/fluent-vue&aymericzip/intlayer)
154
+ [![Star History Chart](https://api.star-history.com/chart?repos=intlify%2Fvue-i18n%2Cfluent-vue%2Ffluent-vue%2Ctolgee%2Ftolgee-js%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#intlify/vue-i18n&fluent-vue/fluent-vue&tolgee/tolgee-js&aymericzip/intlayer)
150
155
 
151
156
  ## Risultati in dettaglio
152
157
 
@@ -156,11 +161,15 @@ Le stelle di GitHub sono un forte indicatore della popolarità di un progetto, d
156
161
 
157
162
  ### 2 - Soluzioni accettabili
158
163
 
164
+ **(Tolgee)** (`@tolgee/vue@7.2.0`):
165
+
166
+ `Tolgee` affronta molti dei problemi menzionati in precedenza, offrendo un caricamento dinamico che elimina con successo le perdite di locale e di pagina (riducendo il JS della pagina a circa 58.8kb). Tuttavia, non fornisce type safety predefinita in fase di compilazione per le chiavi, rendendo più difficile rilevare le chiavi mancanti. Inoltre, l'impatto della libreria è relativamente pesante (~13.8kb, ovvero circa 3.7× `vue-intlayer`).
167
+
159
168
  **(vue-i18n)** (`vue-i18n@11.4.0`):
160
169
 
161
170
  - **vue-i18n** è senza dubbio la libreria i18n più utilizzata per Vue, ha molte funzionalità e un ecosistema immenso. Ma sotto il cofano la soluzione è piuttosto pesante. Anche se vue-i18n integra il caricamento pigro dei messaggi, manca di una funzione di scoping. Nel caso di una classica app Vue SPA non ci sono problemi, ma per un'app Nuxt, utilizzando @nuxt/i18n, ciò porta a includere i messaggi di tutte le pagine in una sola. Per una grande app Nuxt con più di 10 pagine, può diventare davvero problematico.
162
171
 
163
- Il pacchetto è molto pesante (~24.3kb, circa 6 volte `vue-intlayer`).
172
+ Il pacchetto è molto pesante (~24.1 kb, circa 6 volte `vue-intlayer`).
164
173
 
165
174
  **(fluent-vue)** (`fluent-vue@3.8.2`):
166
175
 
@@ -168,6 +177,6 @@ Il pacchetto è molto pesante (~24.3kb, circa 6 volte `vue-intlayer`).
168
177
 
169
178
  ### 3 - Raccomandazioni
170
179
 
171
- **(Intlayer)** (`vue-intlayer@9.5.0`):
180
+ **(Intlayer)** (`vue-intlayer@9.5.6`):
172
181
 
173
182
  Non giudicherò personalmente `vue-intlayer` per motivi di obiettività, essendo la mia soluzione.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2026-09-21
3
+ updatedAt: 2026-09-23
4
4
  title: CLI - Tutti i comandi della CLI di Intlayer per il tuo sito web multilingue
5
5
  description: Scopri come utilizzare la CLI di Intlayer per gestire il tuo sito web multilingue. Segui i passaggi in questa documentazione online per configurare il tuo progetto in pochi minuti.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  - concept
18
18
  - cli
19
19
  history:
20
+ - version: 9.5.8
21
+ date: 2026-09-23
22
+ changes: "Aggiungi il comando upgrade"
20
23
  - version: 9.5.6
21
24
  date: 2026-09-21
22
25
  changes: "Aggiungi il comando init infra"
@@ -155,6 +158,7 @@ Per vedere come configurare le lingue disponibili o altri parametri, fai riferim
155
158
 
156
159
  - **[Inizializza Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/cli/init.md)** - Configura Intlayer nel tuo progetto con la configurazione automatica
157
160
  - **[Configura l'infrastruttura](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/cli/infra.md)** - Installa l'applicazione desktop o auto-ospita il CMS con Docker (all-in-one o Compose)
161
+ - **[Aggiorna i pacchetti Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/cli/upgrade.md)** - Elenca i pacchetti Intlayer di ogni `package.json` e aggiornali alla versione più recente
158
162
  - **[Gestisci Configurazione](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/cli/configuration.md)** - Ottieni e invia la tua configurazione Intlayer al CMS
159
163
 
160
164
  ### Gestione della documentazione
@@ -182,6 +186,7 @@ Per vedere come configurare le lingue disponibili o altri parametri, fai riferim
182
186
  "scripts": {
183
187
  "intlayer:init": "npx intlayer init",
184
188
  "intlayer:infra": "npx intlayer init infra",
189
+ "intlayer:upgrade": "npx intlayer upgrade",
185
190
  "intlayer:login": "npx intlayer login",
186
191
  "intlayer:build": "npx intlayer build",
187
192
  "intlayer:watch": "npx intlayer build --watch",
@@ -0,0 +1,125 @@
1
+ ---
2
+ createdAt: 2026-09-23
3
+ updatedAt: 2026-09-23
4
+ title: CLI - Aggiorna i pacchetti Intlayer
5
+ description: Scopri come utilizzare il comando upgrade della CLI di Intlayer per elencare ogni pacchetto Intlayer del tuo progetto o monorepo e aggiornarli alla versione più recente.
6
+ keywords:
7
+ - CLI
8
+ - Upgrade
9
+ - Aggiornamento
10
+ - Pacchetti
11
+ - Monorepo
12
+ - Intlayer
13
+ slugs:
14
+ - doc
15
+ - concept
16
+ - cli
17
+ - upgrade
18
+ history:
19
+ - version: 9.5.8
20
+ date: 2026-09-23
21
+ changes: "Aggiungi il comando upgrade"
22
+ author: aymericzip
23
+ ---
24
+
25
+ # Aggiorna i pacchetti Intlayer
26
+
27
+ ```bash packageManager="npm"
28
+ npx intlayer upgrade
29
+ ```
30
+
31
+ ```bash packageManager="yarn"
32
+ yarn intlayer upgrade
33
+ ```
34
+
35
+ ```bash packageManager="pnpm"
36
+ pnpm intlayer upgrade
37
+ ```
38
+
39
+ ```bash packageManager="bun"
40
+ bun x intlayer upgrade
41
+ ```
42
+
43
+ Il comando `upgrade` elenca i pacchetti Intlayer dichiarati in ogni `package.json` del tuo progetto, compresi i workspace del monorepo, e li aggiorna all'ultima versione pubblicata. Esegue autonomamente lo stesso passaggio di aggiornamento dei pacchetti di `intlayer init`.
44
+
45
+ ## Argomenti:
46
+
47
+ - `--project-root [projectRoot]` - Opzionale. La directory principale del progetto. Per impostazione predefinita, il comando parte dal `package.json` più vicino sopra la directory di lavoro corrente.
48
+ - `--dry-run` - Opzionale. Elenca i pacchetti e la loro versione di destinazione senza modificare alcun file.
49
+ - `--tag <tag>` - Opzionale. Il dist-tag npm a cui aggiornare (ad esempio `canary`). Il valore predefinito è `latest`.
50
+
51
+ ## Cosa fa:
52
+
53
+ 1. **Elenca i pacchetti Intlayer** - Esegue la scansione di ogni `package.json` del progetto (ignorando `node_modules` e gli output di build) alla ricerca di dipendenze e devDependencies `intlayer`, `@intlayer/*`, `*-intlayer` e `intlayer-*`.
54
+ 2. **Recupera la versione di destinazione** - Legge dal registro npm la versione del dist-tag selezionato (`latest` per impostazione predefinita) di ciascun pacchetto.
55
+ 3. **Riscrive i range** - Aggiorna ogni intervallo obsoleto direttamente nel file, mantenendo il relativo operatore (`^`, `~` o nessuno) e l'indentazione del file.
56
+ 4. **Installa una sola volta** - Esegue una singola installazione dalla root del workspace (la directory più vicina con un lock file), utilizzando il gestore di pacchetti proprietario del lock file:
57
+
58
+ | Lock file | Comando |
59
+ | ----------------------------- | -------------- |
60
+ | `bun.lock` / `bun.lockb` | `bun install` |
61
+ | `pnpm-lock.yaml` | `pnpm install` |
62
+ | `yarn.lock` | `yarn install` |
63
+ | `package-lock.json` o no lock | `npm install` |
64
+
65
+ Se non è presente alcun lock file, viene utilizzato il campo `packageManager` di `package.json` (ad esempio `"bun@1.2.0"`) prima di ricorrere a npm.
66
+
67
+ Gli intervalli che non puntano al registro, come `workspace:*`, `file:`, `link:`, `catalog:` o URL git, non vengono mai modificati.
68
+
69
+ ## Esempi:
70
+
71
+ ### Elenca gli aggiornamenti disponibili senza applicarli:
72
+
73
+ ```bash packageManager="npm"
74
+ npx intlayer upgrade --dry-run
75
+ ```
76
+
77
+ ```bash packageManager="yarn"
78
+ yarn intlayer upgrade --dry-run
79
+ ```
80
+
81
+ ```bash packageManager="pnpm"
82
+ pnpm intlayer upgrade --dry-run
83
+ ```
84
+
85
+ ```bash packageManager="bun"
86
+ bun x intlayer upgrade --dry-run
87
+ ```
88
+
89
+ ### Aggiorna alla versione canary:
90
+
91
+ ```bash packageManager="npm"
92
+ npx intlayer upgrade --tag canary
93
+ ```
94
+
95
+ ```bash packageManager="yarn"
96
+ yarn intlayer upgrade --tag canary
97
+ ```
98
+
99
+ ```bash packageManager="pnpm"
100
+ pnpm intlayer upgrade --tag canary
101
+ ```
102
+
103
+ ```bash packageManager="bun"
104
+ bun x intlayer upgrade --tag canary
105
+ ```
106
+
107
+ ## Output di esempio:
108
+
109
+ ```bash
110
+ npx intlayer upgrade
111
+ Intlayer packages:
112
+ package.json
113
+ intlayer ^9.0.0 → ^9.5.7
114
+ apps/web/package.json
115
+ next-intlayer ^9.5.7 (latest)
116
+ vite-intlayer ~9.2.0 → ~9.5.7
117
+ Running bun install...
118
+ ✓ Upgraded 2 Intlayer dependencies to latest
119
+ ```
120
+
121
+ ## Note:
122
+
123
+ - Esegui il comando dalla directory principale del repository per aggiornare ogni workspace. Eseguilo da un workspace per aggiornare solo quel workspace.
124
+ - I pacchetti la cui versione non può essere recuperata (offline, pacchetto privato o non pubblicato) vengono elencati e lasciati invariati.
125
+ - Se l'installazione fallisce, gli intervalli aggiornati vengono conservati in `package.json`. Esegui manualmente il comando di installazione del tuo gestore di pacchetti.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-09-11
3
+ updatedAt: 2026-09-23
4
4
  title: 2026年におけるNext.jsの最適なi18nソリューション - ベンチマークレポート
5
5
  description: next-intl、next-i18next、IntlayerなどのNext.js国際化(i18n)ライブラリを比較。バンドルサイズ、リーク、反応性に関する詳細なパフォーマンスレポート。
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n
19
19
  history:
20
+ - version: 9.5.7
21
+ date: 2026-09-23
22
+ changes: "ベンチマーク結果を更新"
20
23
  - version: 9.5.1
21
24
  date: 2026-09-11
22
25
  changes: "ベンチマーク結果を更新"
@@ -213,7 +216,7 @@ GitHubのスターは、プロジェクトの普及度、コミュニティの
213
216
 
214
217
  **(Tolgee)** (`@tolgee/react@7.2.0`):
215
218
 
216
- `Tolgee`は前述の問題の多くに対処しています。しかし、同様のツールよりも導入が難しいと感じました。型安全性が提供されていないため、コンパイル時に紛失したキーを見つけることも困難です。キーの不備を検出するために、Tolgeeの関数を自前の関数でラップする必要がありました。
219
+ `Tolgee`は前述の問題の多くに対処しています。しかし、同様のツールよりも導入が難しいと感じました。型安全性が提供されていないため、コンパイル時に紛失したキーを見つけることも困難です。キーの不備を検出するために、Tolgeeの関数を自前の関数でラップする必要がありました。 パッケージも比較的重いです(~14.3kb、これは`next-intlayer`の約2.8倍です)。
217
220
 
218
221
  **(Next Intl)** (`next-intl@4.14.2`):
219
222
 
@@ -239,7 +242,7 @@ GitHubのスターは、プロジェクトの普及度、コミュニティの
239
242
 
240
243
  `t()`スタイルのAPIがお好みなら、`next-translate`が私の主な推奨事項です。`next-translate-plugin`を介して優雅に動作し、Webpack / Turbopackローダーを使用して`getStaticProps`経由でネームスペースをロードします。また、今回の中で最も軽量な選択肢の一つです(約3.5kb)。ネームスぺーシングについては、設定ファイルでページやルートごとにネームスペースを定義する方法がよく考えられており、**next-intl**や**next-i18next**のような主要な選択肢よりもメンテナンスが容易です。バージョン`3.1.2`では、静的レンダリングが機能せず、Next.jsが動的レンダリングにフォールバックすることに気づきました。
241
244
 
242
- **(Intlayer)** (`next-intlayer@9.5.1`):
245
+ **(Intlayer)** (`next-intlayer@9.5.6`):
243
246
 
244
247
  客観性を保つため、自分自身のソリューションである`next-intlayer`については個人的な判断を控えさせていただきます。
245
248