@intlayer/docs 9.5.5 → 9.5.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.
Files changed (920) hide show
  1. package/README.md +0 -1
  2. package/blog/ar/i18next_vs_intlayer-i18next.md +122 -15
  3. package/blog/ar/i18next_vs_intlayer.md +130 -16
  4. package/blog/ar/lingui_vs_intlayer.md +122 -15
  5. package/blog/ar/next-intl_vs_intlayer-next-intl.md +124 -15
  6. package/blog/ar/next-intl_vs_intlayer.md +136 -20
  7. package/blog/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
  8. package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +119 -17
  9. package/blog/ar/vue-i18n_vs_intlayer.md +193 -31
  10. package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +361 -0
  11. package/blog/de/i18next_vs_intlayer-i18next.md +122 -15
  12. package/blog/de/i18next_vs_intlayer.md +128 -14
  13. package/blog/de/lingui_vs_intlayer.md +122 -15
  14. package/blog/de/next-intl_vs_intlayer-next-intl.md +124 -15
  15. package/blog/de/next-intl_vs_intlayer.md +125 -15
  16. package/blog/de/transform_existing_vite_react_app_using_compiler.md +4 -2
  17. package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  18. package/blog/de/vue-i18n_vs_intlayer.md +193 -31
  19. package/blog/en/i18next_vs_intlayer-i18next.md +121 -14
  20. package/blog/en/i18next_vs_intlayer.md +128 -14
  21. package/blog/en/lingui_vs_intlayer.md +124 -15
  22. package/blog/en/next-intl_vs_intlayer-next-intl.md +123 -14
  23. package/blog/en/next-intl_vs_intlayer.md +125 -13
  24. package/blog/en/transform_existing_vite_react_app_using_compiler.md +4 -2
  25. package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +115 -15
  26. package/blog/en/vue-i18n_vs_intlayer.md +188 -27
  27. package/blog/en-GB/i18next_vs_intlayer-i18next.md +121 -14
  28. package/blog/en-GB/i18next_vs_intlayer.md +128 -14
  29. package/blog/en-GB/lingui_vs_intlayer.md +122 -15
  30. package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +124 -15
  31. package/blog/en-GB/next-intl_vs_intlayer.md +125 -15
  32. package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
  33. package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  34. package/blog/en-GB/vue-i18n_vs_intlayer.md +187 -25
  35. package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +116 -0
  36. package/blog/es/i18next_vs_intlayer-i18next.md +122 -15
  37. package/blog/es/i18next_vs_intlayer.md +128 -14
  38. package/blog/es/lingui_vs_intlayer.md +122 -15
  39. package/blog/es/next-intl_vs_intlayer-next-intl.md +124 -15
  40. package/blog/es/next-intl_vs_intlayer.md +125 -15
  41. package/blog/es/transform_existing_vite_react_app_using_compiler.md +4 -2
  42. package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  43. package/blog/es/vue-i18n_vs_intlayer.md +193 -31
  44. package/blog/fr/i18next_vs_intlayer-i18next.md +122 -15
  45. package/blog/fr/i18next_vs_intlayer.md +128 -14
  46. package/blog/fr/lingui_vs_intlayer.md +122 -15
  47. package/blog/fr/next-intl_vs_intlayer-next-intl.md +124 -15
  48. package/blog/fr/next-intl_vs_intlayer.md +127 -15
  49. package/blog/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
  50. package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +118 -17
  51. package/blog/fr/vue-i18n_vs_intlayer.md +192 -31
  52. package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +329 -7
  53. package/blog/hi/i18next_vs_intlayer-i18next.md +122 -15
  54. package/blog/hi/i18next_vs_intlayer.md +130 -16
  55. package/blog/hi/lingui_vs_intlayer.md +122 -15
  56. package/blog/hi/next-intl_vs_intlayer-next-intl.md +124 -15
  57. package/blog/hi/next-intl_vs_intlayer.md +135 -19
  58. package/blog/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
  59. package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  60. package/blog/hi/vue-i18n_vs_intlayer.md +193 -31
  61. package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  62. package/blog/id/i18next_vs_intlayer-i18next.md +122 -15
  63. package/blog/id/i18next_vs_intlayer.md +128 -14
  64. package/blog/id/lingui_vs_intlayer.md +122 -15
  65. package/blog/id/next-intl_vs_intlayer-next-intl.md +124 -15
  66. package/blog/id/next-intl_vs_intlayer.md +135 -19
  67. package/blog/id/transform_existing_vite_react_app_using_compiler.md +4 -2
  68. package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +354 -2
  69. package/blog/id/vue-i18n_vs_intlayer.md +188 -26
  70. package/blog/id/vue-i18n_vs_intlayer_benchmark.md +327 -7
  71. package/blog/it/i18next_vs_intlayer-i18next.md +122 -15
  72. package/blog/it/i18next_vs_intlayer.md +128 -14
  73. package/blog/it/lingui_vs_intlayer.md +122 -15
  74. package/blog/it/next-intl_vs_intlayer-next-intl.md +124 -15
  75. package/blog/it/next-intl_vs_intlayer.md +125 -15
  76. package/blog/it/transform_existing_vite_react_app_using_compiler.md +4 -2
  77. package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  78. package/blog/it/vue-i18n_vs_intlayer.md +191 -31
  79. package/blog/it/vue-i18n_vs_intlayer_benchmark.md +332 -5
  80. package/blog/ja/i18next_vs_intlayer-i18next.md +122 -15
  81. package/blog/ja/i18next_vs_intlayer.md +129 -17
  82. package/blog/ja/lingui_vs_intlayer.md +122 -15
  83. package/blog/ja/next-intl_vs_intlayer-next-intl.md +124 -15
  84. package/blog/ja/next-intl_vs_intlayer.md +124 -14
  85. package/blog/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
  86. package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  87. package/blog/ja/vue-i18n_vs_intlayer.md +193 -31
  88. package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +361 -0
  89. package/blog/ko/i18next_vs_intlayer-i18next.md +122 -15
  90. package/blog/ko/i18next_vs_intlayer.md +129 -17
  91. package/blog/ko/lingui_vs_intlayer.md +122 -15
  92. package/blog/ko/next-intl_vs_intlayer-next-intl.md +124 -15
  93. package/blog/ko/next-intl_vs_intlayer.md +134 -18
  94. package/blog/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
  95. package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  96. package/blog/ko/vue-i18n_vs_intlayer.md +193 -31
  97. package/blog/pl/i18next_vs_intlayer-i18next.md +122 -15
  98. package/blog/pl/i18next_vs_intlayer.md +128 -14
  99. package/blog/pl/lingui_vs_intlayer.md +122 -15
  100. package/blog/pl/next-intl_vs_intlayer-next-intl.md +124 -15
  101. package/blog/pl/next-intl_vs_intlayer.md +134 -18
  102. package/blog/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
  103. package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  104. package/blog/pl/vue-i18n_vs_intlayer.md +188 -26
  105. package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +361 -0
  106. package/blog/pt/i18next_vs_intlayer-i18next.md +122 -15
  107. package/blog/pt/i18next_vs_intlayer.md +128 -14
  108. package/blog/pt/lingui_vs_intlayer.md +122 -15
  109. package/blog/pt/next-intl_vs_intlayer-next-intl.md +124 -15
  110. package/blog/pt/next-intl_vs_intlayer.md +131 -15
  111. package/blog/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
  112. package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  113. package/blog/pt/vue-i18n_vs_intlayer.md +193 -31
  114. package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +361 -0
  115. package/blog/ru/i18next_vs_intlayer-i18next.md +122 -15
  116. package/blog/ru/i18next_vs_intlayer.md +130 -16
  117. package/blog/ru/lingui_vs_intlayer.md +122 -15
  118. package/blog/ru/next-intl_vs_intlayer-next-intl.md +125 -16
  119. package/blog/ru/next-intl_vs_intlayer.md +123 -13
  120. package/blog/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
  121. package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +127 -27
  122. package/blog/ru/vue-i18n_vs_intlayer.md +193 -31
  123. package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +326 -19
  124. package/blog/tr/i18next_vs_intlayer-i18next.md +122 -15
  125. package/blog/tr/i18next_vs_intlayer.md +128 -14
  126. package/blog/tr/lingui_vs_intlayer.md +122 -15
  127. package/blog/tr/next-intl_vs_intlayer-next-intl.md +124 -15
  128. package/blog/tr/next-intl_vs_intlayer.md +136 -20
  129. package/blog/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
  130. package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  131. package/blog/tr/vue-i18n_vs_intlayer.md +188 -26
  132. package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +361 -0
  133. package/blog/uk/i18next_vs_intlayer-i18next.md +122 -15
  134. package/blog/uk/i18next_vs_intlayer.md +130 -16
  135. package/blog/uk/lingui_vs_intlayer.md +122 -15
  136. package/blog/uk/next-intl_vs_intlayer-next-intl.md +124 -15
  137. package/blog/uk/next-intl_vs_intlayer.md +135 -19
  138. package/blog/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
  139. package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +135 -17
  140. package/blog/uk/vue-i18n_vs_intlayer.md +188 -27
  141. package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +361 -0
  142. package/blog/vi/i18next_vs_intlayer-i18next.md +122 -15
  143. package/blog/vi/i18next_vs_intlayer.md +128 -14
  144. package/blog/vi/lingui_vs_intlayer.md +122 -15
  145. package/blog/vi/next-intl_vs_intlayer-next-intl.md +124 -15
  146. package/blog/vi/next-intl_vs_intlayer.md +135 -19
  147. package/blog/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
  148. package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  149. package/blog/vi/vue-i18n_vs_intlayer.md +188 -26
  150. package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  151. package/blog/zh/i18next_vs_intlayer-i18next.md +122 -15
  152. package/blog/zh/i18next_vs_intlayer.md +128 -14
  153. package/blog/zh/lingui_vs_intlayer.md +122 -15
  154. package/blog/zh/next-intl_vs_intlayer-next-intl.md +124 -15
  155. package/blog/zh/next-intl_vs_intlayer.md +125 -15
  156. package/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
  157. package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  158. package/blog/zh/vue-i18n_vs_intlayer.md +192 -31
  159. package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +340 -9
  160. package/dist/cjs/generated/docs.entry.cjs +40 -40
  161. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  162. package/dist/cjs/index.cjs +2 -2
  163. package/dist/esm/generated/docs.entry.mjs +40 -40
  164. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  165. package/dist/esm/index.mjs +2 -2
  166. package/dist/types/generated/docs.entry.d.ts +2 -2
  167. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  168. package/docs/ar/benchmark/nextjs.md +13 -13
  169. package/docs/ar/benchmark/solid.md +5 -5
  170. package/docs/ar/benchmark/svelte.md +4 -4
  171. package/docs/ar/benchmark/tanstack.md +14 -13
  172. package/docs/ar/benchmark/vue.md +5 -5
  173. package/docs/ar/chrome_extension.md +130 -0
  174. package/docs/ar/cli/index.md +6 -1
  175. package/docs/ar/cli/infra.md +162 -0
  176. package/docs/ar/cli/init.md +24 -1
  177. package/docs/ar/dictionary/html.md +173 -5
  178. package/docs/ar/dictionary/markdown.md +263 -1
  179. package/docs/ar/intlayer_with_analog.md +23 -1
  180. package/docs/ar/intlayer_with_angular_19.md +24 -1
  181. package/docs/ar/intlayer_with_angular_21.md +24 -1
  182. package/docs/ar/intlayer_with_astro.md +42 -32
  183. package/docs/ar/intlayer_with_astro_lit.md +56 -36
  184. package/docs/ar/intlayer_with_astro_preact.md +57 -36
  185. package/docs/ar/intlayer_with_astro_react.md +57 -36
  186. package/docs/ar/intlayer_with_astro_solid.md +57 -36
  187. package/docs/ar/intlayer_with_astro_svelte.md +56 -36
  188. package/docs/ar/intlayer_with_astro_vue.md +56 -36
  189. package/docs/ar/intlayer_with_react_router_v7.md +12 -1
  190. package/docs/ar/intlayer_with_remix_3.md +22 -1
  191. package/docs/ar/intlayer_with_solid_start.md +14 -7
  192. package/docs/ar/intlayer_with_svelte_kit.md +12 -1
  193. package/docs/ar/intlayer_with_tanstack+solid.md +13 -2
  194. package/docs/ar/intlayer_with_tanstack.md +13 -6
  195. package/docs/ar/intlayer_with_vite+lit.md +75 -3
  196. package/docs/ar/intlayer_with_vite+preact.md +27 -19
  197. package/docs/ar/intlayer_with_vite+react.md +27 -19
  198. package/docs/ar/intlayer_with_vite+solid.md +27 -19
  199. package/docs/ar/intlayer_with_vite+svelte.md +27 -19
  200. package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
  201. package/docs/ar/intlayer_with_vite+vue.md +27 -19
  202. package/docs/ar/introduction.md +0 -1
  203. package/docs/ar/readme.md +0 -1
  204. package/docs/ar/releases/v8.md +1 -5
  205. package/docs/ar/self_hosting.md +406 -231
  206. package/docs/bn/intlayer_with_vite+lit.md +75 -3
  207. package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
  208. package/docs/bn/introduction.md +0 -1
  209. package/docs/cs/intlayer_with_vite+lit.md +75 -3
  210. package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
  211. package/docs/cs/introduction.md +0 -1
  212. package/docs/de/benchmark/nextjs.md +13 -13
  213. package/docs/de/benchmark/solid.md +5 -5
  214. package/docs/de/benchmark/svelte.md +4 -4
  215. package/docs/de/benchmark/tanstack.md +14 -13
  216. package/docs/de/benchmark/vue.md +5 -5
  217. package/docs/de/chrome_extension.md +130 -0
  218. package/docs/de/cli/index.md +6 -1
  219. package/docs/de/cli/infra.md +162 -0
  220. package/docs/de/cli/init.md +24 -1
  221. package/docs/de/dictionary/html.md +173 -5
  222. package/docs/de/dictionary/markdown.md +263 -1
  223. package/docs/de/intlayer_with_analog.md +23 -1
  224. package/docs/de/intlayer_with_angular_19.md +24 -1
  225. package/docs/de/intlayer_with_angular_21.md +24 -1
  226. package/docs/de/intlayer_with_astro.md +35 -25
  227. package/docs/de/intlayer_with_astro_lit.md +47 -27
  228. package/docs/de/intlayer_with_astro_preact.md +48 -27
  229. package/docs/de/intlayer_with_astro_react.md +48 -27
  230. package/docs/de/intlayer_with_astro_solid.md +48 -27
  231. package/docs/de/intlayer_with_astro_svelte.md +47 -27
  232. package/docs/de/intlayer_with_astro_vue.md +47 -27
  233. package/docs/de/intlayer_with_react_router_v7.md +12 -1
  234. package/docs/de/intlayer_with_remix_3.md +22 -1
  235. package/docs/de/intlayer_with_solid_start.md +14 -7
  236. package/docs/de/intlayer_with_svelte_kit.md +12 -1
  237. package/docs/de/intlayer_with_tanstack+solid.md +13 -2
  238. package/docs/de/intlayer_with_tanstack.md +13 -6
  239. package/docs/de/intlayer_with_vite+lit.md +75 -3
  240. package/docs/de/intlayer_with_vite+preact.md +16 -3
  241. package/docs/de/intlayer_with_vite+react.md +16 -3
  242. package/docs/de/intlayer_with_vite+solid.md +16 -3
  243. package/docs/de/intlayer_with_vite+svelte.md +16 -3
  244. package/docs/de/intlayer_with_vite+vanilla.md +16 -3
  245. package/docs/de/intlayer_with_vite+vue.md +16 -3
  246. package/docs/de/introduction.md +0 -1
  247. package/docs/de/readme.md +0 -1
  248. package/docs/de/releases/v8.md +1 -5
  249. package/docs/de/self_hosting.md +404 -227
  250. package/docs/en/benchmark/nextjs.md +13 -13
  251. package/docs/en/benchmark/solid.md +5 -5
  252. package/docs/en/benchmark/svelte.md +4 -4
  253. package/docs/en/benchmark/tanstack.md +14 -13
  254. package/docs/en/benchmark/vue.md +5 -5
  255. package/docs/en/chrome_extension.md +130 -0
  256. package/docs/en/cli/index.md +6 -1
  257. package/docs/en/cli/infra.md +175 -0
  258. package/docs/en/cli/init.md +25 -1
  259. package/docs/en/dictionary/html.md +173 -5
  260. package/docs/en/dictionary/markdown.md +263 -1
  261. package/docs/en/intlayer_with_analog.md +23 -1
  262. package/docs/en/intlayer_with_angular_19.md +24 -1
  263. package/docs/en/intlayer_with_angular_21.md +24 -1
  264. package/docs/en/intlayer_with_astro.md +29 -21
  265. package/docs/en/intlayer_with_astro_lit.md +46 -26
  266. package/docs/en/intlayer_with_astro_preact.md +47 -26
  267. package/docs/en/intlayer_with_astro_react.md +47 -26
  268. package/docs/en/intlayer_with_astro_solid.md +47 -26
  269. package/docs/en/intlayer_with_astro_svelte.md +46 -26
  270. package/docs/en/intlayer_with_astro_vue.md +46 -26
  271. package/docs/en/intlayer_with_react_router_v7.md +12 -1
  272. package/docs/en/intlayer_with_remix_3.md +22 -1
  273. package/docs/en/intlayer_with_solid_start.md +14 -7
  274. package/docs/en/intlayer_with_svelte_kit.md +12 -1
  275. package/docs/en/intlayer_with_tanstack+solid.md +13 -2
  276. package/docs/en/intlayer_with_tanstack.md +12 -5
  277. package/docs/en/intlayer_with_vite+lit.md +75 -3
  278. package/docs/en/intlayer_with_vite+preact.md +16 -3
  279. package/docs/en/intlayer_with_vite+react.md +16 -3
  280. package/docs/en/intlayer_with_vite+solid.md +16 -3
  281. package/docs/en/intlayer_with_vite+svelte.md +16 -3
  282. package/docs/en/intlayer_with_vite+vanilla.md +16 -3
  283. package/docs/en/intlayer_with_vite+vue.md +16 -3
  284. package/docs/en/introduction.md +0 -1
  285. package/docs/en/readme.md +0 -1
  286. package/docs/en/releases/v8.md +1 -5
  287. package/docs/en/self_hosting.md +418 -176
  288. package/docs/en-GB/benchmark/nextjs.md +13 -13
  289. package/docs/en-GB/benchmark/solid.md +5 -5
  290. package/docs/en-GB/benchmark/svelte.md +4 -4
  291. package/docs/en-GB/benchmark/tanstack.md +14 -13
  292. package/docs/en-GB/benchmark/vue.md +5 -5
  293. package/docs/en-GB/chrome_extension.md +130 -0
  294. package/docs/en-GB/cli/index.md +6 -1
  295. package/docs/en-GB/cli/infra.md +162 -0
  296. package/docs/en-GB/cli/init.md +24 -1
  297. package/docs/en-GB/dictionary/html.md +173 -5
  298. package/docs/en-GB/dictionary/markdown.md +263 -1
  299. package/docs/en-GB/intlayer_with_analog.md +23 -1
  300. package/docs/en-GB/intlayer_with_angular_19.md +24 -1
  301. package/docs/en-GB/intlayer_with_angular_21.md +24 -1
  302. package/docs/en-GB/intlayer_with_astro.md +35 -25
  303. package/docs/en-GB/intlayer_with_astro_lit.md +47 -27
  304. package/docs/en-GB/intlayer_with_astro_preact.md +48 -27
  305. package/docs/en-GB/intlayer_with_astro_react.md +48 -27
  306. package/docs/en-GB/intlayer_with_astro_solid.md +48 -27
  307. package/docs/en-GB/intlayer_with_astro_svelte.md +47 -27
  308. package/docs/en-GB/intlayer_with_astro_vue.md +47 -27
  309. package/docs/en-GB/intlayer_with_react_router_v7.md +12 -1
  310. package/docs/en-GB/intlayer_with_remix_3.md +22 -1
  311. package/docs/en-GB/intlayer_with_solid_start.md +14 -7
  312. package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
  313. package/docs/en-GB/intlayer_with_tanstack+solid.md +13 -2
  314. package/docs/en-GB/intlayer_with_tanstack.md +13 -6
  315. package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
  316. package/docs/en-GB/intlayer_with_vite+preact.md +16 -3
  317. package/docs/en-GB/intlayer_with_vite+react.md +16 -3
  318. package/docs/en-GB/intlayer_with_vite+solid.md +25 -15
  319. package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
  320. package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
  321. package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
  322. package/docs/en-GB/introduction.md +0 -1
  323. package/docs/en-GB/readme.md +0 -1
  324. package/docs/en-GB/releases/v8.md +1 -5
  325. package/docs/en-GB/self_hosting.md +381 -206
  326. package/docs/es/benchmark/nextjs.md +13 -13
  327. package/docs/es/benchmark/solid.md +5 -5
  328. package/docs/es/benchmark/svelte.md +4 -4
  329. package/docs/es/benchmark/tanstack.md +14 -13
  330. package/docs/es/benchmark/vue.md +5 -5
  331. package/docs/es/chrome_extension.md +130 -0
  332. package/docs/es/cli/index.md +6 -1
  333. package/docs/es/cli/infra.md +162 -0
  334. package/docs/es/cli/init.md +24 -1
  335. package/docs/es/dictionary/html.md +173 -5
  336. package/docs/es/dictionary/markdown.md +263 -1
  337. package/docs/es/intlayer_with_analog.md +23 -1
  338. package/docs/es/intlayer_with_angular_19.md +24 -1
  339. package/docs/es/intlayer_with_angular_21.md +24 -1
  340. package/docs/es/intlayer_with_astro.md +35 -25
  341. package/docs/es/intlayer_with_astro_lit.md +47 -27
  342. package/docs/es/intlayer_with_astro_preact.md +48 -27
  343. package/docs/es/intlayer_with_astro_react.md +48 -27
  344. package/docs/es/intlayer_with_astro_solid.md +48 -27
  345. package/docs/es/intlayer_with_astro_svelte.md +47 -27
  346. package/docs/es/intlayer_with_astro_vue.md +47 -27
  347. package/docs/es/intlayer_with_react_router_v7.md +12 -1
  348. package/docs/es/intlayer_with_remix_3.md +22 -1
  349. package/docs/es/intlayer_with_solid_start.md +14 -7
  350. package/docs/es/intlayer_with_svelte_kit.md +12 -1
  351. package/docs/es/intlayer_with_tanstack+solid.md +13 -2
  352. package/docs/es/intlayer_with_tanstack.md +13 -6
  353. package/docs/es/intlayer_with_vite+lit.md +75 -3
  354. package/docs/es/intlayer_with_vite+preact.md +16 -3
  355. package/docs/es/intlayer_with_vite+react.md +16 -3
  356. package/docs/es/intlayer_with_vite+solid.md +16 -3
  357. package/docs/es/intlayer_with_vite+svelte.md +16 -3
  358. package/docs/es/intlayer_with_vite+vanilla.md +16 -3
  359. package/docs/es/intlayer_with_vite+vue.md +16 -3
  360. package/docs/es/introduction.md +0 -1
  361. package/docs/es/readme.md +0 -1
  362. package/docs/es/releases/v8.md +1 -5
  363. package/docs/es/self_hosting.md +400 -223
  364. package/docs/fr/benchmark/nextjs.md +13 -13
  365. package/docs/fr/benchmark/solid.md +5 -5
  366. package/docs/fr/benchmark/svelte.md +4 -4
  367. package/docs/fr/benchmark/tanstack.md +14 -13
  368. package/docs/fr/benchmark/vue.md +5 -5
  369. package/docs/fr/chrome_extension.md +130 -0
  370. package/docs/fr/cli/index.md +6 -1
  371. package/docs/fr/cli/infra.md +162 -0
  372. package/docs/fr/cli/init.md +24 -1
  373. package/docs/fr/dictionary/html.md +173 -5
  374. package/docs/fr/dictionary/markdown.md +265 -4
  375. package/docs/fr/intlayer_with_analog.md +23 -1
  376. package/docs/fr/intlayer_with_angular_19.md +24 -1
  377. package/docs/fr/intlayer_with_angular_21.md +24 -1
  378. package/docs/fr/intlayer_with_astro.md +36 -26
  379. package/docs/fr/intlayer_with_astro_lit.md +48 -28
  380. package/docs/fr/intlayer_with_astro_preact.md +49 -28
  381. package/docs/fr/intlayer_with_astro_react.md +49 -28
  382. package/docs/fr/intlayer_with_astro_solid.md +49 -28
  383. package/docs/fr/intlayer_with_astro_svelte.md +48 -28
  384. package/docs/fr/intlayer_with_astro_vue.md +48 -28
  385. package/docs/fr/intlayer_with_react_router_v7.md +15 -4
  386. package/docs/fr/intlayer_with_remix_3.md +22 -1
  387. package/docs/fr/intlayer_with_solid_start.md +14 -7
  388. package/docs/fr/intlayer_with_svelte_kit.md +15 -4
  389. package/docs/fr/intlayer_with_tanstack+solid.md +15 -4
  390. package/docs/fr/intlayer_with_tanstack.md +13 -6
  391. package/docs/fr/intlayer_with_vite+lit.md +75 -3
  392. package/docs/fr/intlayer_with_vite+preact.md +19 -6
  393. package/docs/fr/intlayer_with_vite+react.md +19 -6
  394. package/docs/fr/intlayer_with_vite+solid.md +19 -6
  395. package/docs/fr/intlayer_with_vite+svelte.md +19 -6
  396. package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
  397. package/docs/fr/intlayer_with_vite+vue.md +19 -6
  398. package/docs/fr/introduction.md +0 -1
  399. package/docs/fr/readme.md +0 -1
  400. package/docs/fr/releases/v8.md +1 -5
  401. package/docs/fr/self_hosting.md +401 -224
  402. package/docs/hi/benchmark/nextjs.md +13 -13
  403. package/docs/hi/benchmark/solid.md +5 -5
  404. package/docs/hi/benchmark/svelte.md +4 -4
  405. package/docs/hi/benchmark/tanstack.md +14 -13
  406. package/docs/hi/benchmark/vue.md +5 -5
  407. package/docs/hi/chrome_extension.md +130 -0
  408. package/docs/hi/cli/index.md +6 -1
  409. package/docs/hi/cli/infra.md +162 -0
  410. package/docs/hi/cli/init.md +24 -1
  411. package/docs/hi/dictionary/html.md +173 -5
  412. package/docs/hi/dictionary/markdown.md +263 -1
  413. package/docs/hi/intlayer_with_analog.md +23 -1
  414. package/docs/hi/intlayer_with_angular_19.md +24 -1
  415. package/docs/hi/intlayer_with_angular_21.md +24 -1
  416. package/docs/hi/intlayer_with_astro.md +38 -31
  417. package/docs/hi/intlayer_with_astro_lit.md +50 -33
  418. package/docs/hi/intlayer_with_astro_preact.md +51 -33
  419. package/docs/hi/intlayer_with_astro_react.md +51 -33
  420. package/docs/hi/intlayer_with_astro_solid.md +51 -33
  421. package/docs/hi/intlayer_with_astro_svelte.md +50 -33
  422. package/docs/hi/intlayer_with_astro_vue.md +50 -33
  423. package/docs/hi/intlayer_with_react_router_v7.md +20 -12
  424. package/docs/hi/intlayer_with_remix_3.md +22 -1
  425. package/docs/hi/intlayer_with_solid_start.md +14 -7
  426. package/docs/hi/intlayer_with_svelte_kit.md +20 -12
  427. package/docs/hi/intlayer_with_tanstack+solid.md +13 -2
  428. package/docs/hi/intlayer_with_tanstack.md +21 -17
  429. package/docs/hi/intlayer_with_vite+lit.md +75 -3
  430. package/docs/hi/intlayer_with_vite+preact.md +24 -14
  431. package/docs/hi/intlayer_with_vite+react.md +24 -14
  432. package/docs/hi/intlayer_with_vite+solid.md +24 -14
  433. package/docs/hi/intlayer_with_vite+svelte.md +24 -14
  434. package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
  435. package/docs/hi/intlayer_with_vite+vue.md +24 -14
  436. package/docs/hi/introduction.md +0 -1
  437. package/docs/hi/readme.md +0 -1
  438. package/docs/hi/releases/v8.md +1 -5
  439. package/docs/hi/self_hosting.md +409 -235
  440. package/docs/id/benchmark/nextjs.md +13 -13
  441. package/docs/id/benchmark/solid.md +5 -5
  442. package/docs/id/benchmark/svelte.md +4 -4
  443. package/docs/id/benchmark/tanstack.md +14 -13
  444. package/docs/id/benchmark/vue.md +5 -5
  445. package/docs/id/chrome_extension.md +130 -0
  446. package/docs/id/cli/index.md +6 -1
  447. package/docs/id/cli/infra.md +162 -0
  448. package/docs/id/cli/init.md +24 -1
  449. package/docs/id/dictionary/html.md +173 -5
  450. package/docs/id/dictionary/markdown.md +263 -1
  451. package/docs/id/intlayer_with_analog.md +23 -1
  452. package/docs/id/intlayer_with_angular_19.md +24 -1
  453. package/docs/id/intlayer_with_angular_21.md +24 -1
  454. package/docs/id/intlayer_with_astro.md +35 -25
  455. package/docs/id/intlayer_with_astro_lit.md +47 -27
  456. package/docs/id/intlayer_with_astro_preact.md +48 -27
  457. package/docs/id/intlayer_with_astro_react.md +48 -27
  458. package/docs/id/intlayer_with_astro_solid.md +48 -27
  459. package/docs/id/intlayer_with_astro_svelte.md +47 -27
  460. package/docs/id/intlayer_with_astro_vue.md +47 -27
  461. package/docs/id/intlayer_with_react_router_v7.md +12 -1
  462. package/docs/id/intlayer_with_remix_3.md +22 -1
  463. package/docs/id/intlayer_with_solid_start.md +14 -7
  464. package/docs/id/intlayer_with_svelte_kit.md +12 -1
  465. package/docs/id/intlayer_with_tanstack+solid.md +13 -2
  466. package/docs/id/intlayer_with_tanstack.md +13 -6
  467. package/docs/id/intlayer_with_vite+lit.md +75 -3
  468. package/docs/id/intlayer_with_vite+preact.md +16 -3
  469. package/docs/id/intlayer_with_vite+react.md +16 -3
  470. package/docs/id/intlayer_with_vite+solid.md +16 -3
  471. package/docs/id/intlayer_with_vite+svelte.md +16 -3
  472. package/docs/id/intlayer_with_vite+vanilla.md +16 -3
  473. package/docs/id/intlayer_with_vite+vue.md +16 -3
  474. package/docs/id/introduction.md +0 -1
  475. package/docs/id/readme.md +0 -1
  476. package/docs/id/releases/v8.md +1 -5
  477. package/docs/id/self_hosting.md +416 -243
  478. package/docs/it/benchmark/nextjs.md +13 -13
  479. package/docs/it/benchmark/solid.md +5 -5
  480. package/docs/it/benchmark/svelte.md +4 -4
  481. package/docs/it/benchmark/tanstack.md +14 -13
  482. package/docs/it/benchmark/vue.md +5 -5
  483. package/docs/it/chrome_extension.md +130 -0
  484. package/docs/it/cli/index.md +6 -1
  485. package/docs/it/cli/infra.md +162 -0
  486. package/docs/it/cli/init.md +24 -1
  487. package/docs/it/dictionary/html.md +173 -5
  488. package/docs/it/dictionary/markdown.md +263 -1
  489. package/docs/it/intlayer_with_analog.md +23 -1
  490. package/docs/it/intlayer_with_angular_19.md +24 -1
  491. package/docs/it/intlayer_with_angular_21.md +24 -1
  492. package/docs/it/intlayer_with_astro.md +35 -25
  493. package/docs/it/intlayer_with_astro_lit.md +47 -27
  494. package/docs/it/intlayer_with_astro_preact.md +48 -27
  495. package/docs/it/intlayer_with_astro_react.md +48 -27
  496. package/docs/it/intlayer_with_astro_solid.md +48 -27
  497. package/docs/it/intlayer_with_astro_svelte.md +47 -27
  498. package/docs/it/intlayer_with_astro_vue.md +47 -27
  499. package/docs/it/intlayer_with_react_router_v7.md +12 -1
  500. package/docs/it/intlayer_with_remix_3.md +22 -1
  501. package/docs/it/intlayer_with_solid_start.md +14 -7
  502. package/docs/it/intlayer_with_svelte_kit.md +12 -1
  503. package/docs/it/intlayer_with_tanstack+solid.md +13 -2
  504. package/docs/it/intlayer_with_tanstack.md +13 -6
  505. package/docs/it/intlayer_with_vite+lit.md +75 -3
  506. package/docs/it/intlayer_with_vite+preact.md +16 -3
  507. package/docs/it/intlayer_with_vite+react.md +16 -3
  508. package/docs/it/intlayer_with_vite+solid.md +16 -3
  509. package/docs/it/intlayer_with_vite+svelte.md +16 -3
  510. package/docs/it/intlayer_with_vite+vanilla.md +16 -3
  511. package/docs/it/intlayer_with_vite+vue.md +16 -3
  512. package/docs/it/introduction.md +0 -1
  513. package/docs/it/readme.md +0 -1
  514. package/docs/it/releases/v8.md +1 -5
  515. package/docs/it/self_hosting.md +412 -237
  516. package/docs/ja/benchmark/nextjs.md +13 -13
  517. package/docs/ja/benchmark/solid.md +5 -5
  518. package/docs/ja/benchmark/svelte.md +4 -4
  519. package/docs/ja/benchmark/tanstack.md +13 -12
  520. package/docs/ja/benchmark/vue.md +5 -5
  521. package/docs/ja/chrome_extension.md +130 -0
  522. package/docs/ja/cli/index.md +6 -1
  523. package/docs/ja/cli/infra.md +162 -0
  524. package/docs/ja/cli/init.md +24 -1
  525. package/docs/ja/dictionary/html.md +173 -5
  526. package/docs/ja/dictionary/markdown.md +263 -1
  527. package/docs/ja/intlayer_with_analog.md +23 -1
  528. package/docs/ja/intlayer_with_angular_19.md +24 -1
  529. package/docs/ja/intlayer_with_angular_21.md +24 -1
  530. package/docs/ja/intlayer_with_astro.md +35 -25
  531. package/docs/ja/intlayer_with_astro_lit.md +47 -27
  532. package/docs/ja/intlayer_with_astro_preact.md +48 -27
  533. package/docs/ja/intlayer_with_astro_react.md +48 -27
  534. package/docs/ja/intlayer_with_astro_solid.md +48 -27
  535. package/docs/ja/intlayer_with_astro_svelte.md +47 -27
  536. package/docs/ja/intlayer_with_astro_vue.md +47 -27
  537. package/docs/ja/intlayer_with_react_router_v7.md +12 -1
  538. package/docs/ja/intlayer_with_remix_3.md +22 -1
  539. package/docs/ja/intlayer_with_solid_start.md +14 -7
  540. package/docs/ja/intlayer_with_svelte_kit.md +21 -15
  541. package/docs/ja/intlayer_with_tanstack+solid.md +13 -2
  542. package/docs/ja/intlayer_with_tanstack.md +13 -6
  543. package/docs/ja/intlayer_with_vite+lit.md +75 -3
  544. package/docs/ja/intlayer_with_vite+preact.md +16 -3
  545. package/docs/ja/intlayer_with_vite+react.md +16 -3
  546. package/docs/ja/intlayer_with_vite+solid.md +16 -3
  547. package/docs/ja/intlayer_with_vite+svelte.md +16 -3
  548. package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
  549. package/docs/ja/intlayer_with_vite+vue.md +16 -3
  550. package/docs/ja/introduction.md +0 -1
  551. package/docs/ja/readme.md +0 -1
  552. package/docs/ja/releases/v8.md +1 -5
  553. package/docs/ja/self_hosting.md +398 -223
  554. package/docs/ko/benchmark/nextjs.md +13 -13
  555. package/docs/ko/benchmark/solid.md +5 -5
  556. package/docs/ko/benchmark/svelte.md +4 -4
  557. package/docs/ko/benchmark/tanstack.md +14 -13
  558. package/docs/ko/benchmark/vue.md +5 -5
  559. package/docs/ko/chrome_extension.md +130 -0
  560. package/docs/ko/cli/index.md +6 -1
  561. package/docs/ko/cli/infra.md +162 -0
  562. package/docs/ko/cli/init.md +24 -1
  563. package/docs/ko/dictionary/html.md +173 -5
  564. package/docs/ko/dictionary/markdown.md +263 -1
  565. package/docs/ko/intlayer_with_analog.md +23 -1
  566. package/docs/ko/intlayer_with_angular_19.md +24 -1
  567. package/docs/ko/intlayer_with_angular_21.md +24 -1
  568. package/docs/ko/intlayer_with_astro.md +29 -21
  569. package/docs/ko/intlayer_with_astro_lit.md +47 -27
  570. package/docs/ko/intlayer_with_astro_preact.md +48 -27
  571. package/docs/ko/intlayer_with_astro_react.md +48 -27
  572. package/docs/ko/intlayer_with_astro_solid.md +48 -27
  573. package/docs/ko/intlayer_with_astro_svelte.md +47 -27
  574. package/docs/ko/intlayer_with_astro_vue.md +47 -27
  575. package/docs/ko/intlayer_with_react_router_v7.md +12 -1
  576. package/docs/ko/intlayer_with_remix_3.md +22 -1
  577. package/docs/ko/intlayer_with_solid_start.md +14 -7
  578. package/docs/ko/intlayer_with_svelte_kit.md +12 -1
  579. package/docs/ko/intlayer_with_tanstack+solid.md +13 -2
  580. package/docs/ko/intlayer_with_tanstack.md +13 -6
  581. package/docs/ko/intlayer_with_vite+lit.md +75 -3
  582. package/docs/ko/intlayer_with_vite+preact.md +16 -3
  583. package/docs/ko/intlayer_with_vite+react.md +16 -3
  584. package/docs/ko/intlayer_with_vite+solid.md +26 -16
  585. package/docs/ko/intlayer_with_vite+svelte.md +16 -3
  586. package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
  587. package/docs/ko/intlayer_with_vite+vue.md +16 -3
  588. package/docs/ko/introduction.md +0 -1
  589. package/docs/ko/readme.md +0 -1
  590. package/docs/ko/releases/v8.md +1 -5
  591. package/docs/ko/self_hosting.md +411 -238
  592. package/docs/nl/intlayer_with_vite+lit.md +75 -3
  593. package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
  594. package/docs/nl/introduction.md +0 -1
  595. package/docs/pl/benchmark/nextjs.md +13 -13
  596. package/docs/pl/benchmark/solid.md +5 -5
  597. package/docs/pl/benchmark/svelte.md +4 -4
  598. package/docs/pl/benchmark/tanstack.md +14 -13
  599. package/docs/pl/benchmark/vue.md +5 -5
  600. package/docs/pl/chrome_extension.md +130 -0
  601. package/docs/pl/cli/index.md +6 -1
  602. package/docs/pl/cli/infra.md +162 -0
  603. package/docs/pl/cli/init.md +24 -1
  604. package/docs/pl/dictionary/html.md +173 -5
  605. package/docs/pl/dictionary/markdown.md +263 -1
  606. package/docs/pl/intlayer_with_analog.md +23 -1
  607. package/docs/pl/intlayer_with_angular_19.md +24 -1
  608. package/docs/pl/intlayer_with_angular_21.md +24 -1
  609. package/docs/pl/intlayer_with_astro.md +29 -21
  610. package/docs/pl/intlayer_with_astro_lit.md +47 -27
  611. package/docs/pl/intlayer_with_astro_preact.md +48 -27
  612. package/docs/pl/intlayer_with_astro_react.md +48 -27
  613. package/docs/pl/intlayer_with_astro_solid.md +48 -27
  614. package/docs/pl/intlayer_with_astro_svelte.md +47 -27
  615. package/docs/pl/intlayer_with_astro_vue.md +47 -27
  616. package/docs/pl/intlayer_with_react_router_v7.md +12 -1
  617. package/docs/pl/intlayer_with_remix_3.md +22 -1
  618. package/docs/pl/intlayer_with_solid_start.md +14 -7
  619. package/docs/pl/intlayer_with_svelte_kit.md +12 -1
  620. package/docs/pl/intlayer_with_tanstack+solid.md +13 -2
  621. package/docs/pl/intlayer_with_tanstack.md +13 -6
  622. package/docs/pl/intlayer_with_vite+lit.md +75 -3
  623. package/docs/pl/intlayer_with_vite+preact.md +16 -3
  624. package/docs/pl/intlayer_with_vite+react.md +16 -3
  625. package/docs/pl/intlayer_with_vite+solid.md +16 -3
  626. package/docs/pl/intlayer_with_vite+svelte.md +16 -3
  627. package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
  628. package/docs/pl/intlayer_with_vite+vue.md +16 -3
  629. package/docs/pl/introduction.md +0 -1
  630. package/docs/pl/readme.md +0 -1
  631. package/docs/pl/releases/v8.md +1 -5
  632. package/docs/pl/self_hosting.md +408 -233
  633. package/docs/pt/benchmark/nextjs.md +13 -13
  634. package/docs/pt/benchmark/solid.md +5 -5
  635. package/docs/pt/benchmark/svelte.md +4 -4
  636. package/docs/pt/benchmark/tanstack.md +14 -13
  637. package/docs/pt/benchmark/vue.md +5 -5
  638. package/docs/pt/chrome_extension.md +130 -0
  639. package/docs/pt/cli/index.md +6 -1
  640. package/docs/pt/cli/infra.md +162 -0
  641. package/docs/pt/cli/init.md +24 -1
  642. package/docs/pt/dictionary/html.md +173 -5
  643. package/docs/pt/dictionary/markdown.md +263 -1
  644. package/docs/pt/intlayer_with_analog.md +23 -1
  645. package/docs/pt/intlayer_with_angular_19.md +24 -1
  646. package/docs/pt/intlayer_with_angular_21.md +24 -1
  647. package/docs/pt/intlayer_with_astro.md +29 -21
  648. package/docs/pt/intlayer_with_astro_lit.md +47 -27
  649. package/docs/pt/intlayer_with_astro_preact.md +48 -27
  650. package/docs/pt/intlayer_with_astro_react.md +48 -27
  651. package/docs/pt/intlayer_with_astro_solid.md +48 -27
  652. package/docs/pt/intlayer_with_astro_svelte.md +47 -27
  653. package/docs/pt/intlayer_with_astro_vue.md +47 -27
  654. package/docs/pt/intlayer_with_react_router_v7.md +12 -1
  655. package/docs/pt/intlayer_with_remix_3.md +22 -1
  656. package/docs/pt/intlayer_with_solid_start.md +14 -7
  657. package/docs/pt/intlayer_with_svelte_kit.md +12 -1
  658. package/docs/pt/intlayer_with_tanstack+solid.md +13 -2
  659. package/docs/pt/intlayer_with_tanstack.md +13 -6
  660. package/docs/pt/intlayer_with_vite+lit.md +75 -3
  661. package/docs/pt/intlayer_with_vite+preact.md +16 -3
  662. package/docs/pt/intlayer_with_vite+react.md +16 -3
  663. package/docs/pt/intlayer_with_vite+solid.md +16 -3
  664. package/docs/pt/intlayer_with_vite+svelte.md +16 -3
  665. package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
  666. package/docs/pt/intlayer_with_vite+vue.md +16 -3
  667. package/docs/pt/introduction.md +0 -1
  668. package/docs/pt/readme.md +0 -1
  669. package/docs/pt/releases/v8.md +1 -5
  670. package/docs/pt/self_hosting.md +399 -224
  671. package/docs/ru/benchmark/nextjs.md +13 -13
  672. package/docs/ru/benchmark/solid.md +5 -5
  673. package/docs/ru/benchmark/svelte.md +4 -4
  674. package/docs/ru/benchmark/tanstack.md +14 -13
  675. package/docs/ru/benchmark/vue.md +5 -5
  676. package/docs/ru/chrome_extension.md +130 -0
  677. package/docs/ru/cli/index.md +6 -1
  678. package/docs/ru/cli/infra.md +162 -0
  679. package/docs/ru/cli/init.md +24 -1
  680. package/docs/ru/dictionary/html.md +173 -5
  681. package/docs/ru/dictionary/markdown.md +263 -1
  682. package/docs/ru/intlayer_with_analog.md +23 -1
  683. package/docs/ru/intlayer_with_angular_19.md +24 -1
  684. package/docs/ru/intlayer_with_angular_21.md +24 -1
  685. package/docs/ru/intlayer_with_astro.md +35 -25
  686. package/docs/ru/intlayer_with_astro_lit.md +47 -27
  687. package/docs/ru/intlayer_with_astro_preact.md +48 -27
  688. package/docs/ru/intlayer_with_astro_react.md +48 -27
  689. package/docs/ru/intlayer_with_astro_solid.md +48 -27
  690. package/docs/ru/intlayer_with_astro_svelte.md +47 -27
  691. package/docs/ru/intlayer_with_astro_vue.md +47 -27
  692. package/docs/ru/intlayer_with_react_router_v7.md +12 -1
  693. package/docs/ru/intlayer_with_remix_3.md +22 -1
  694. package/docs/ru/intlayer_with_solid_start.md +14 -7
  695. package/docs/ru/intlayer_with_svelte_kit.md +12 -1
  696. package/docs/ru/intlayer_with_tanstack+solid.md +13 -2
  697. package/docs/ru/intlayer_with_tanstack.md +13 -6
  698. package/docs/ru/intlayer_with_vite+lit.md +75 -3
  699. package/docs/ru/intlayer_with_vite+preact.md +16 -3
  700. package/docs/ru/intlayer_with_vite+react.md +16 -3
  701. package/docs/ru/intlayer_with_vite+solid.md +16 -3
  702. package/docs/ru/intlayer_with_vite+svelte.md +16 -3
  703. package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
  704. package/docs/ru/intlayer_with_vite+vue.md +16 -3
  705. package/docs/ru/introduction.md +0 -1
  706. package/docs/ru/readme.md +0 -1
  707. package/docs/ru/releases/v8.md +1 -5
  708. package/docs/ru/self_hosting.md +403 -228
  709. package/docs/tr/benchmark/nextjs.md +13 -13
  710. package/docs/tr/benchmark/solid.md +5 -5
  711. package/docs/tr/benchmark/svelte.md +4 -4
  712. package/docs/tr/benchmark/tanstack.md +14 -13
  713. package/docs/tr/benchmark/vue.md +5 -5
  714. package/docs/tr/chrome_extension.md +130 -0
  715. package/docs/tr/cli/index.md +6 -1
  716. package/docs/tr/cli/infra.md +162 -0
  717. package/docs/tr/cli/init.md +24 -1
  718. package/docs/tr/dictionary/html.md +173 -5
  719. package/docs/tr/dictionary/markdown.md +263 -1
  720. package/docs/tr/intlayer_with_analog.md +23 -1
  721. package/docs/tr/intlayer_with_angular_19.md +24 -1
  722. package/docs/tr/intlayer_with_angular_21.md +24 -1
  723. package/docs/tr/intlayer_with_astro.md +35 -25
  724. package/docs/tr/intlayer_with_astro_lit.md +48 -28
  725. package/docs/tr/intlayer_with_astro_preact.md +49 -28
  726. package/docs/tr/intlayer_with_astro_react.md +49 -28
  727. package/docs/tr/intlayer_with_astro_solid.md +49 -28
  728. package/docs/tr/intlayer_with_astro_svelte.md +48 -28
  729. package/docs/tr/intlayer_with_astro_vue.md +48 -28
  730. package/docs/tr/intlayer_with_react_router_v7.md +12 -1
  731. package/docs/tr/intlayer_with_remix_3.md +22 -1
  732. package/docs/tr/intlayer_with_solid_start.md +14 -7
  733. package/docs/tr/intlayer_with_svelte_kit.md +12 -1
  734. package/docs/tr/intlayer_with_tanstack+solid.md +13 -2
  735. package/docs/tr/intlayer_with_tanstack.md +13 -6
  736. package/docs/tr/intlayer_with_vite+lit.md +75 -3
  737. package/docs/tr/intlayer_with_vite+preact.md +16 -3
  738. package/docs/tr/intlayer_with_vite+react.md +16 -3
  739. package/docs/tr/intlayer_with_vite+solid.md +16 -3
  740. package/docs/tr/intlayer_with_vite+svelte.md +16 -3
  741. package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
  742. package/docs/tr/intlayer_with_vite+vue.md +16 -3
  743. package/docs/tr/introduction.md +0 -1
  744. package/docs/tr/readme.md +0 -1
  745. package/docs/tr/releases/v8.md +1 -5
  746. package/docs/tr/self_hosting.md +410 -234
  747. package/docs/uk/benchmark/nextjs.md +13 -13
  748. package/docs/uk/benchmark/solid.md +5 -5
  749. package/docs/uk/benchmark/svelte.md +4 -4
  750. package/docs/uk/benchmark/tanstack.md +14 -13
  751. package/docs/uk/benchmark/vue.md +5 -5
  752. package/docs/uk/chrome_extension.md +130 -0
  753. package/docs/uk/cli/index.md +6 -1
  754. package/docs/uk/cli/infra.md +162 -0
  755. package/docs/uk/cli/init.md +24 -1
  756. package/docs/uk/dictionary/html.md +173 -5
  757. package/docs/uk/dictionary/markdown.md +263 -1
  758. package/docs/uk/intlayer_with_analog.md +23 -1
  759. package/docs/uk/intlayer_with_angular_19.md +24 -1
  760. package/docs/uk/intlayer_with_angular_21.md +24 -1
  761. package/docs/uk/intlayer_with_astro.md +35 -25
  762. package/docs/uk/intlayer_with_astro_lit.md +47 -27
  763. package/docs/uk/intlayer_with_astro_preact.md +48 -27
  764. package/docs/uk/intlayer_with_astro_react.md +48 -27
  765. package/docs/uk/intlayer_with_astro_solid.md +48 -27
  766. package/docs/uk/intlayer_with_astro_svelte.md +47 -27
  767. package/docs/uk/intlayer_with_astro_vue.md +47 -27
  768. package/docs/uk/intlayer_with_react_router_v7.md +12 -1
  769. package/docs/uk/intlayer_with_remix_3.md +22 -1
  770. package/docs/uk/intlayer_with_solid_start.md +14 -7
  771. package/docs/uk/intlayer_with_svelte_kit.md +12 -1
  772. package/docs/uk/intlayer_with_tanstack+solid.md +13 -2
  773. package/docs/uk/intlayer_with_tanstack.md +13 -6
  774. package/docs/uk/intlayer_with_vite+lit.md +75 -3
  775. package/docs/uk/intlayer_with_vite+preact.md +16 -3
  776. package/docs/uk/intlayer_with_vite+react.md +16 -3
  777. package/docs/uk/intlayer_with_vite+solid.md +16 -3
  778. package/docs/uk/intlayer_with_vite+svelte.md +16 -3
  779. package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
  780. package/docs/uk/intlayer_with_vite+vue.md +16 -3
  781. package/docs/uk/introduction.md +0 -1
  782. package/docs/uk/readme.md +0 -1
  783. package/docs/uk/releases/v8.md +1 -5
  784. package/docs/uk/self_hosting.md +413 -238
  785. package/docs/ur/intlayer_with_vite+lit.md +75 -3
  786. package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
  787. package/docs/ur/introduction.md +0 -1
  788. package/docs/vi/benchmark/nextjs.md +13 -13
  789. package/docs/vi/benchmark/solid.md +5 -5
  790. package/docs/vi/benchmark/svelte.md +4 -4
  791. package/docs/vi/benchmark/tanstack.md +14 -13
  792. package/docs/vi/benchmark/vue.md +5 -5
  793. package/docs/vi/chrome_extension.md +130 -0
  794. package/docs/vi/cli/index.md +6 -1
  795. package/docs/vi/cli/infra.md +162 -0
  796. package/docs/vi/cli/init.md +24 -1
  797. package/docs/vi/dictionary/html.md +173 -5
  798. package/docs/vi/dictionary/markdown.md +263 -1
  799. package/docs/vi/intlayer_with_analog.md +23 -1
  800. package/docs/vi/intlayer_with_angular_19.md +24 -1
  801. package/docs/vi/intlayer_with_angular_21.md +24 -1
  802. package/docs/vi/intlayer_with_astro.md +35 -25
  803. package/docs/vi/intlayer_with_astro_lit.md +47 -27
  804. package/docs/vi/intlayer_with_astro_preact.md +48 -27
  805. package/docs/vi/intlayer_with_astro_react.md +48 -27
  806. package/docs/vi/intlayer_with_astro_solid.md +48 -27
  807. package/docs/vi/intlayer_with_astro_svelte.md +47 -27
  808. package/docs/vi/intlayer_with_astro_vue.md +47 -27
  809. package/docs/vi/intlayer_with_react_router_v7.md +12 -1
  810. package/docs/vi/intlayer_with_remix_3.md +22 -1
  811. package/docs/vi/intlayer_with_solid_start.md +14 -7
  812. package/docs/vi/intlayer_with_svelte_kit.md +12 -1
  813. package/docs/vi/intlayer_with_tanstack+solid.md +13 -2
  814. package/docs/vi/intlayer_with_tanstack.md +13 -6
  815. package/docs/vi/intlayer_with_vite+lit.md +75 -3
  816. package/docs/vi/intlayer_with_vite+preact.md +16 -3
  817. package/docs/vi/intlayer_with_vite+react.md +16 -3
  818. package/docs/vi/intlayer_with_vite+solid.md +16 -3
  819. package/docs/vi/intlayer_with_vite+svelte.md +16 -3
  820. package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
  821. package/docs/vi/intlayer_with_vite+vue.md +16 -3
  822. package/docs/vi/introduction.md +0 -1
  823. package/docs/vi/readme.md +0 -1
  824. package/docs/vi/releases/v8.md +1 -5
  825. package/docs/vi/self_hosting.md +408 -234
  826. package/docs/zh/benchmark/nextjs.md +13 -13
  827. package/docs/zh/benchmark/solid.md +5 -5
  828. package/docs/zh/benchmark/svelte.md +4 -4
  829. package/docs/zh/benchmark/tanstack.md +14 -13
  830. package/docs/zh/benchmark/vue.md +5 -5
  831. package/docs/zh/chrome_extension.md +130 -0
  832. package/docs/zh/cli/index.md +6 -1
  833. package/docs/zh/cli/infra.md +162 -0
  834. package/docs/zh/cli/init.md +24 -1
  835. package/docs/zh/dictionary/html.md +172 -5
  836. package/docs/zh/dictionary/markdown.md +262 -1
  837. package/docs/zh/intlayer_with_analog.md +23 -1
  838. package/docs/zh/intlayer_with_angular_19.md +24 -1
  839. package/docs/zh/intlayer_with_angular_21.md +24 -1
  840. package/docs/zh/intlayer_with_astro.md +29 -21
  841. package/docs/zh/intlayer_with_astro_lit.md +47 -27
  842. package/docs/zh/intlayer_with_astro_preact.md +48 -27
  843. package/docs/zh/intlayer_with_astro_react.md +48 -27
  844. package/docs/zh/intlayer_with_astro_solid.md +48 -27
  845. package/docs/zh/intlayer_with_astro_svelte.md +47 -27
  846. package/docs/zh/intlayer_with_astro_vue.md +47 -27
  847. package/docs/zh/intlayer_with_react_router_v7.md +12 -1
  848. package/docs/zh/intlayer_with_remix_3.md +22 -1
  849. package/docs/zh/intlayer_with_solid_start.md +14 -7
  850. package/docs/zh/intlayer_with_svelte_kit.md +12 -1
  851. package/docs/zh/intlayer_with_tanstack+solid.md +13 -2
  852. package/docs/zh/intlayer_with_tanstack.md +13 -6
  853. package/docs/zh/intlayer_with_vite+lit.md +75 -3
  854. package/docs/zh/intlayer_with_vite+preact.md +16 -3
  855. package/docs/zh/intlayer_with_vite+react.md +16 -3
  856. package/docs/zh/intlayer_with_vite+solid.md +16 -3
  857. package/docs/zh/intlayer_with_vite+svelte.md +16 -3
  858. package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
  859. package/docs/zh/intlayer_with_vite+vue.md +16 -3
  860. package/docs/zh/introduction.md +0 -1
  861. package/docs/zh/readme.md +0 -1
  862. package/docs/zh/releases/v8.md +1 -5
  863. package/docs/zh/self_hosting.md +410 -237
  864. package/docs/zh-TW/introduction.md +0 -1
  865. package/legal/ar/privacy_notice.md +9 -3
  866. package/legal/de/privacy_notice.md +9 -3
  867. package/legal/en/privacy_notice.md +10 -3
  868. package/legal/en-GB/privacy_notice.md +9 -3
  869. package/legal/es/privacy_notice.md +9 -3
  870. package/legal/fr/privacy_notice.md +9 -3
  871. package/legal/hi/privacy_notice.md +9 -3
  872. package/legal/id/privacy_notice.md +9 -3
  873. package/legal/it/privacy_notice.md +9 -3
  874. package/legal/ja/privacy_notice.md +9 -3
  875. package/legal/ko/privacy_notice.md +9 -3
  876. package/legal/pl/privacy_notice.md +9 -3
  877. package/legal/pt/privacy_notice.md +9 -3
  878. package/legal/ru/privacy_notice.md +9 -3
  879. package/legal/tr/privacy_notice.md +9 -3
  880. package/legal/uk/privacy_notice.md +9 -3
  881. package/legal/vi/privacy_notice.md +9 -3
  882. package/legal/zh/privacy_notice.md +9 -3
  883. package/package.json +6 -6
  884. package/src/generated/docs.entry.ts +40 -40
  885. package/docs/ar/intlayer_with_astro_vanilla.md +0 -709
  886. package/docs/ar/roadmap.md +0 -321
  887. package/docs/de/intlayer_with_astro_vanilla.md +0 -705
  888. package/docs/de/roadmap.md +0 -322
  889. package/docs/en/intlayer_with_astro_vanilla.md +0 -706
  890. package/docs/en/roadmap.md +0 -325
  891. package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -709
  892. package/docs/en-GB/roadmap.md +0 -322
  893. package/docs/es/intlayer_with_astro_vanilla.md +0 -701
  894. package/docs/es/roadmap.md +0 -322
  895. package/docs/fr/intlayer_with_astro_vanilla.md +0 -701
  896. package/docs/fr/roadmap.md +0 -322
  897. package/docs/hi/intlayer_with_astro_vanilla.md +0 -720
  898. package/docs/hi/roadmap.md +0 -322
  899. package/docs/id/intlayer_with_astro_vanilla.md +0 -705
  900. package/docs/id/roadmap.md +0 -325
  901. package/docs/it/intlayer_with_astro_vanilla.md +0 -705
  902. package/docs/it/roadmap.md +0 -322
  903. package/docs/ja/intlayer_with_astro_vanilla.md +0 -708
  904. package/docs/ja/roadmap.md +0 -322
  905. package/docs/ko/intlayer_with_astro_vanilla.md +0 -720
  906. package/docs/ko/roadmap.md +0 -322
  907. package/docs/pl/intlayer_with_astro_vanilla.md +0 -705
  908. package/docs/pl/roadmap.md +0 -325
  909. package/docs/pt/intlayer_with_astro_vanilla.md +0 -705
  910. package/docs/pt/roadmap.md +0 -322
  911. package/docs/ru/intlayer_with_astro_vanilla.md +0 -716
  912. package/docs/ru/roadmap.md +0 -322
  913. package/docs/tr/intlayer_with_astro_vanilla.md +0 -705
  914. package/docs/tr/roadmap.md +0 -325
  915. package/docs/uk/intlayer_with_astro_vanilla.md +0 -705
  916. package/docs/uk/roadmap.md +0 -325
  917. package/docs/vi/intlayer_with_astro_vanilla.md +0 -705
  918. package/docs/vi/roadmap.md +0 -325
  919. package/docs/zh/intlayer_with_astro_vanilla.md +0 -704
  920. package/docs/zh/roadmap.md +0 -322
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-09-13
3
- updatedAt: 2026-09-13
3
+ updatedAt: 2026-09-22
4
4
  title: "next-intl vs @intlayer/next-intl: Gleiche API, Unterschiedliches Bundle"
5
5
  description: Was sich ändert, wenn die next-intl-Importe einer Next.js-App vom @intlayer/next-intl-Kompatibilitäts-Adapter bereitgestellt werden. Bundle-Größe, Speicherlecks, Komponentengröße und Hydration gemessen an denselben Code, plus was der Adapter behält, ignoriert und nicht ersetzen kann.
6
6
  keywords:
@@ -26,6 +26,8 @@ author: aymericzip
26
26
 
27
27
  # next-intl VS @intlayer/next-intl | Gleiche API, Unterschiedliches Bundle
28
28
 
29
+ ![next-intl VS Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18next-next-intl-intlayer.webp?raw=true)
30
+
29
31
  `@intlayer/next-intl` ist ein Compat-Adapter: Er stellt die `next-intl` API (`useTranslations`, `getTranslations`, `useLocale`, `t.rich()`, ICU Plurals, `NextIntlClientProvider`...) bereit und serviert diese aus von Intlayer kompilierten Dictionaries. Der Application Code ändert sich nicht. Das Bundle schon.
30
32
 
31
33
  Dieser Artikel vergleicht die beiden auf derselben Next.js-Anwendung, einmal gebaut mit `next-intl` und einmal mit dem Adapter. Die Zahlen stammen von [Benchmark Bloom](https://github.com/intlayer-org/benchmark-bloom), einer Open-Source-Suite, die aufzeichnet, was der Browser tatsächlich herunterlädt. Wenn Sie den `next-intl` vs Intlayer Vergleich als Bibliotheken möchten, lesen Sie [next-intl vs Intlayer](https://intlayer.org/blog/next-intl-vs-intlayer). Dieser Artikel handelt davon, was der Adapter ändert, wenn Sie Ihre Komponenten unverändert lassen.
@@ -109,6 +111,10 @@ Für jeden Build zeichnet die Suite auf:
109
111
 
110
112
  ### Ergebnisse auf Next.js
111
113
 
114
+ Wählen Sie die Metriken und Bibliotheken aus, die für Sie wichtig sind:
115
+
116
+ <I18nBenchmark framework="nextjs" vertical/>
117
+
112
118
  | Setup | Strategy | Lib size (gz) | Page JS avg (gz) | Locale leak | Page leak | Component avg (gz) | E2E reactivity | Hydration |
113
119
  | ------------------------- | -------------- | ------------: | ---------------: | ----------: | --------: | -----------------: | -------------: | ----------: |
114
120
  | **base** (no i18n) | - | 0.0 KB | 141.0 KB | 0.0% | 0.0% | 0.9 KB | 13.4 ms | 11.8 ms |
@@ -129,6 +135,15 @@ Für jeden Build zeichnet die Suite auf:
129
135
  - **Hydration ist 2 ms schneller** (12,8 vs 14,7 ms): Es gibt kein Message-Objekt, das vor der React-Hydration aus der RSC-Payload deserialisiert werden muss.
130
136
  - **Der Adapter ist nicht die native Runtime.** `next-intlayer` liegt bei **141,3 KB**, +0,3 KB über der Base-App, mit einer 5,5 KB Runtime. Der Adapter bietet die `next-intl` API-Oberfläche (`useFormatter`, `t.rich`, der ICU-Resolver) auf top von Intlayers Core, daher 8,0 KB und +6 KB pro Seite. Es ist die Brücke, nicht das Ziel.
131
137
 
138
+ <ClickToOpenIframe
139
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md"
140
+ width="100%"
141
+ height="600px"
142
+ style="border:none;"
143
+ />
144
+
145
+ > Vollständige Tabelle, jede Bibliothek und jede Strategie, im [Next.js-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/nextjs).
146
+
132
147
  ### Ergebnisse auf TanStack Start (`use-intl`)
133
148
 
134
149
  `use-intl` ist der Framework-agnostische Core von `next-intl`. Sein Adapter, `@intlayer/use-intl`, folgt dem gleichen Design mit einem Vite-Plugin (`@intlayer/use-intl/plugin`).
@@ -152,11 +167,24 @@ Für jeden Build zeichnet die Suite auf:
152
167
  - **Locale-Wechsel ist schneller.** Die optimierten `use-intl` Setups benötigen **13-21 ms** um `html[lang]` zu aktualisieren; der Adapter benötigt **4-9 ms**. Weniger Komponenten werden neu gerendert, und nichts wird aus einem Message-Baum neu ausgewählt.
153
168
  - **`static` behält jedes Locale.** Die `static` Zeile des Adapters zeigt 49,7% Locale-Leckage, dasselbe wie natives Intlayer im `static` Modus: alle Locales werden gebündelt, nur die Dictionaries der Seite. Eine Konfigurationszeile (`importMode: 'dynamic'`) entfernt es.
154
169
 
170
+ <ClickToOpenIframe
171
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md"
172
+ width="100%"
173
+ height="600px"
174
+ style="border:none;"
175
+ />
176
+
177
+ > Vollständige Tabelle im [TanStack Start-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/tanstack).
178
+
155
179
  ## Warum sich die Zahlen ändern
156
180
 
181
+ ![The Intlayer compiler extracts content from components](https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.webp?raw=true)
182
+
157
183
  Nichts in der Komponente hat sich geändert, daher stammen die Verbesserungen vollständig davon, woran `useTranslations` gebunden ist.
158
184
 
159
- **Mit `next-intl`** ist die Bindung der Provider. `NextIntlClientProvider` erhält das gesamte `messages`-Objekt für das Locale; jeder `useTranslations("about")`-Aufruf liest daraus. Der Bundler sieht eine Komponente, die einen Hook importiert, der einen Context liest, und kann nicht wissen, dass nur der `about`-Zweig verwendet wird. Die Routen unten teilen sich alle das gleiche Message-Objekt, daher zeigt die Spalte page-leak ~90%, bis du die Datei selbst aufteilst.
185
+ **Mit `next-intl`** ist die Bindung der Provider. `NextIntlClientProvider` erhält das gesamte `messages`-Objekt für das Locale; jeder `useTranslations("about")`-Aufruf liest daraus. Der Bundler sieht eine Komponente, die einen Hook importiert, der einen Context liest, und kann nicht wissen, dass nur der `about`-Zweig verwendet wird. Die Routen unten teilen sich alle das gleiche Message-Objekt, daher zeigt die Spalte page-leak ~90%, bis du die Datei selbst aufteilst, und der Overhead wächst auf zwei Achsen gleichzeitig, Seiten und Sprachen:
186
+
187
+ ![Theoretical content leakage by architecture](https://github.com/aymericzip/intlayer/blob/main/docs/assets/theorical_content_leakage.webp?raw=true)
160
188
 
161
189
  ```bash
162
190
  .
@@ -280,25 +308,106 @@ export default withIntlayer(nextConfig);
280
308
 
281
309
  ## Zu beachtende Limits vor dem Start
282
310
 
283
- - **Routing-Konfiguration verschiebt sich zu `intlayer.config.ts`.** `createNavigation(routing)` und `createMiddleware(routing)` behalten ihre Signatur, ignorieren aber das Argument: Locales, Default-Locale und Präfix-Strategie kommen aus Intlayers `routing`-Konfiguration. Wenn du `next-intl`'s lokalisierte `pathnames` verwendest (`/about` → `/a-propos`), interpoliert der Adapter diese nicht; Intlayers `routing.rewrite` deckt diesen Fall ab, aber es ist eine separate Änderung.
284
- - **Namespace-loses `useTranslations()` ist nicht gebunden.** Der Optimize-Pass benötigt einen statischen Namespace, um zu wissen, welches Dictionary importiert werden soll. Ein bloßer Aufruf funktioniert immer noch über eine Runtime-Registry, die auf jedes Dictionary verweist, was genau das Leck ist, das du entfernen wolltest. Übergib den Namespace.
285
- - **Der Adapter ist nicht kostenlos.** 8,0 KB Runtime gegenüber 5,5 KB für `next-intlayer`, und +6-7 KB pro Seite gegenüber dem nativen Build. Dies zahlt sich durch die `next-intl` API-Oberfläche aus. Wenn Sie an den Punkt gelangen, an dem jede Komponente zu `useIntlayer` verschoben wurde, lassen Sie den Adapter fallen.
286
- - **`messages`, `timeZone`, `now` auf dem Provider werden ignoriert.** Die Formatter werden durch natives `Intl` gestützt und nur das Locale beeinflusst deren Ausgabe; wenn Sie auf eine erzwungene Zeitzone oder ein fixes `now` für Hydrations-stabile Daten angewiesen sind, handhaben Sie dies am Aufrufort.
311
+ <AccordionGroup>
312
+ <Accordion header="Routing-Konfiguration wird nach intlayer.config.ts verlagert">
313
+
314
+ `createNavigation(routing)` und `createMiddleware(routing)` behalten ihre Signatur, ignorieren jedoch das Argument: Sprachen, Standardsprache und Präfixstrategie stammen aus Intlayers `routing`-Konfiguration. Wenn Sie die lokalisierten `pathnames` von `next-intl` (`/about` zu `/a-propos`) verwenden, interpoliert der Adapter diese nicht; `routing.rewrite` von Intlayer deckt diesen Fall ab, ist jedoch eine separate Änderung.
315
+
316
+ </Accordion>
317
+ <Accordion header="useTranslations() ohne Namespace ist nicht gebunden">
318
+
319
+ Der Optimierungsschritt benötigt einen statischen Namespace, um zu wissen, welches Wörterbuch importiert werden soll. Ein Aufruf ohne Namespace funktioniert weiterhin über eine Laufzeit-Registry, die jedes Wörterbuch referenziert, was genau dem Leakage entspricht, das Sie vermeiden wollten. Übergeben Sie den Namespace.
320
+
321
+ </Accordion>
322
+ <Accordion header="Der Adapter ist nicht umsonst">
323
+
324
+ 8.0 KB Laufzeit gegenüber 5.5 KB für `next-intlayer` und +6-7 KB pro Seite gegenüber dem nativen Build. Er bezahlt für die `next-intl`-API-Oberfläche. Wenn jeder Teil auf `useIntlayer` umgestellt ist, entfernen Sie den Adapter.
325
+
326
+ </Accordion>
327
+ <Accordion header="messages, timeZone und now auf dem Provider werden ignoriert">
328
+
329
+ Die Formatierer basieren auf nativem `Intl` und nur die Sprache beeinflusst ihre Ausgabe. Wenn Sie für hydratationsstabile Daten auf eine erzwungene Zeitzone oder ein festes `now` angewiesen sind, handhaben Sie dies am Aufrufort. Siehe [Datums-, Uhrzeit- und Zahlenformatierung](https://intlayer.org/de/blog/date-time-number-formatting-locales).
330
+
331
+ </Accordion>
332
+ </AccordionGroup>
287
333
 
288
334
  ## Wann sollte man welche verwenden?
289
335
 
290
- - **Bleiben Sie bei `next-intl`**, wenn Ihre App klein ist, Ihr Bundle kein Problem ist, und Ihr Team sich damit wohlfühlt, Namespaces und `pick()` pro Seite zu verwalten.
291
- - **Nutzen Sie `@intlayer/next-intl`**, wenn Sie derzeit `next-intl` verwenden und von Bundlegröße, weniger Leakage, Hydration-Verbesserungen, typisierten Keys und den CLI-/CMS-Tools ohne vollständiges Rewrite profitieren möchten. Dies ist der empfohlene Einstiegspunkt für bestehende `next-intl`-Codebasen.
292
- - **Wechseln Sie zu nativen Lösungen (`next-intlayer`)** für neue Projekte oder sobald der Adapter seinen Zweck erfüllt hat. Es ist die leichteste der drei Varianten (5,5 KB, +0,3 KB pro Seite) und ermöglicht synchrone Server Components, per-Component `.content.ts`-Dateien und den vollständigen Feature-Set.
336
+ <AccordionGroup>
337
+ <Accordion header="Bei next-intl bleiben">
338
+
339
+ Ihre Anwendung ist klein, das Bundle stellt kein Problem dar und Ihr Team verwaltet Namespaces und `pick()` pro Seite problemlos manuell.
340
+
341
+ </Accordion>
342
+ <Accordion header="@intlayer/next-intl verwenden">
343
+
344
+ Sie nutzen bereits `next-intl` und möchten die Bundle-, Leakage- und Hydratationsvorteile, typisierte Schlüssel und die CLI / CMS-Tools ohne Neuschreiben nutzen. Dies ist der empfohlene Einstiegspunkt für jede bestehende `next-intl`-Codebasis.
345
+
346
+ </Accordion>
347
+ <Accordion header="Nativ werden (next-intlayer)">
348
+
349
+ Für neue Projekte oder sobald der Adapter seinen Dienst getan hat. Es ist das leichteste der drei (5.5 KB, +0.3 KB pro Seite) und schaltet synchrone Serverkomponenten, komponentenspezifische `.content.ts`-Dateien und den vollen Funktionsumfang frei. Starten Sie mit [Intlayer mit Next.js](https://intlayer.org/de/doc/environment/nextjs).
350
+
351
+ </Accordion>
352
+ </AccordionGroup>
353
+
354
+ ## FAQ
355
+
356
+ <FAQ>
357
+
358
+ <Question title="Bleibt mein Anwendungscode wirklich unberührt?">
359
+
360
+ Auf Next.js ja für Komponenten: Der Benchmark-Build änderte nur `next.config.ts` und `intlayer.config.ts`. `getRequestConfig` in `src/i18n.ts`, die `messages`-Prop auf dem Provider und `pick()`-Aufrufe pro Seite werden zu totem Code, den Sie danach löschen können.
361
+
362
+ </Question>
363
+
364
+ <Question title="Was passiert mit ICU-Nachrichten?">
365
+
366
+ Sie funktionieren weiterhin. `t("key", { count })`, `t.rich()`, `t.markup()`, `select`, `selectordinal`, `#` und `{ts, date, long}` werden über Intlayers ICU-Resolver aufgelöst. Siehe [ICU-Nachrichtenformat](https://intlayer.org/de/blog/icu-message-format).
367
+
368
+ </Question>
369
+
370
+ <Question title="Warum ist der Adapter schwerer als natives next-intlayer?">
371
+
372
+ Er trägt die `next-intl`-API-Oberfläche zusätzlich zum Intlayer-Kern: `useFormatter`, `t.rich`, den ICU-Resolver, die Navigationshelfer. Das sind 8.0 KB gegenüber 5.5 KB und +6 KB pro Seite. Er ist die Brücke, nicht das Endziel.
373
+
374
+ </Question>
375
+
376
+ <Question title="Kann ich Komponente für Komponente migrieren?">
377
+
378
+ Ja. Jede Komponente kann von `useTranslations("about")` zu `useIntlayer("about")` mit einer danebenliegenden `.content.ts`-Datei wechseln. JSON- und `.content.ts`-Wörterbücher koexistieren und verschmelzen.
379
+
380
+ </Question>
381
+
382
+ <Question title="Funktionieren lokalisierte Pfadnamen?">
383
+
384
+ Nicht über die `pathnames` von `next-intl`: Der Adapter akzeptiert sie für die Typisierung, interpoliert sie jedoch nicht. Verwenden Sie stattdessen `routing.rewrite` von Intlayer, das die lokalisierten Literale in die Typregistry überträgt.
385
+
386
+ </Question>
387
+
388
+ </FAQ>
293
389
 
294
390
  ## Verwandte Vergleiche
295
391
 
296
- - [next-intl vs Intlayer](https://intlayer.org/blog/next-intl-vs-intlayer) (die Bibliotheken, gleicher Benchmark)
297
- - [i18next vs @intlayer/i18next](https://intlayer.org/blog/i18next-vs-intlayer-i18next) (gleiche Adapter-Serie)
298
- - [Lingui vs @intlayer/lingui](https://intlayer.org/blog/lingui-vs-intlayer-lingui) (gleiche Adapter-Serie)
299
- - [vue-i18n vs @intlayer/vue-i18n](https://intlayer.org/blog/vue-i18n-vs-intlayer-vue-i18n) (gleiche Adapter-Serie)
300
- - [Migrationsleitfaden: next-intl zu Intlayer](https://intlayer.org/doc/migration/next-intl)
301
- - [Kompatibilitäts-Adapter-Referenz: next-intl](https://intlayer.org/doc/compatibility/next-intl)
392
+ Gleiche Adapter-Serie:
393
+
394
+ - [i18next vs @intlayer/i18next](https://intlayer.org/de/blog/i18next-vs-intlayer-i18next)
395
+ - [Lingui vs @intlayer/lingui](https://intlayer.org/de/blog/lingui-vs-intlayer-lingui)
396
+ - [vue-i18n vs @intlayer/vue-i18n](https://intlayer.org/de/blog/vue-i18n-vs-intlayer-vue-i18n)
397
+
398
+ Die Bibliotheken im direkten Vergleich:
399
+
400
+ - [next-intl vs Intlayer](https://intlayer.org/de/blog/next-intl-vs-intlayer), gleicher Benchmark
401
+ - [next-i18next vs next-intl vs Intlayer](https://intlayer.org/de/blog/next-i18next-vs-next-intl-vs-intlayer)
402
+ - [Is next-intl outdated?](https://intlayer.org/de/blog/is-next-intl-outdated)
403
+
404
+ Referenzdokumentation:
405
+
406
+ - [Compat adapter: next-intl](https://intlayer.org/de/doc/compatibility/next-intl)
407
+ - [Migrationsleitfaden: next-intl zu Intlayer](https://intlayer.org/de/doc/migration/next-intl)
408
+ - [Next.js-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/nextjs) und [TanStack Start-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/tanstack)
409
+ - [Bundle-Optimierung](https://intlayer.org/de/doc/concept/bundle-optimization) und [der Intlayer-Compiler](https://intlayer.org/de/doc/compiler)
410
+ - [Visual Editor](https://intlayer.org/de/doc/concept/editor), [CMS](https://intlayer.org/de/doc/concept/cms) und [KI-Übersetzung](https://intlayer.org/de/doc/concept/auto-fill)
302
411
 
303
412
  ## Fazit
304
413
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-09-13
3
- updatedAt: 2026-09-13
3
+ updatedAt: 2026-09-22
4
4
  title: "next-intl vs Intlayer: 2026 Benchmark & Comparison"
5
5
  description: Bundle size, content leakage, locale-switch reactivity and developer experience measured on Next.js and TanStack Start. Which i18n library should you pick in 2026?
6
6
  keywords:
@@ -24,6 +24,8 @@ author: aymericzip
24
24
 
25
25
  # next-intl VS Intlayer | Next.js Internationalisierung (i18n) Benchmark
26
26
 
27
+ ![next-intl VS Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18next-next-intl-intlayer.webp?raw=true)
28
+
27
29
  `next-intl` ist die beliebteste i18n-Bibliothek für Next.js. Intlayer ist eine compiler-basierte, component-scoped Alternative. Beide lokalisieren eine App Router-Anwendung. Die Frage ist, was jede Bibliothek kostet, sobald die App erstellt ist.
28
30
 
29
31
  Dieser Artikel ist kein Tutorial. Es ist ein Vergleich, der durch Zahlen aus [Benchmark Bloom](https://github.com/intlayer-org/benchmark-bloom) gestützt wird, einer Open-Source-Benchmark-Suite, die die gleiche Anwendung mit jeder Bibliothek erstellt und misst, was der Browser tatsächlich herunterlädt und ausführt.
@@ -96,6 +98,10 @@ Für jeden Build zeichnet die Suite Folgendes auf:
96
98
 
97
99
  ### Ergebnisse auf Next.js (App Router)
98
100
 
101
+ Wählen Sie die Metriken und Bibliotheken, die Sie interessieren:
102
+
103
+ <I18nBenchmark framework="nextjs" vertical/>
104
+
99
105
  | Library | Strategy | Lib size (gz) | Page JS avg (gz) | Locale leak | Page leak | Component avg (gz) | E2E reactivity | Hydration |
100
106
  | ------------------------------ | -------------- | ------------: | ---------------: | ----------: | --------: | -----------------: | -------------: | --------: |
101
107
  | **base** (keine i18n) | - | 0.0 KB | 141.0 KB | 0.0% | 0.0% | 0.9 KB | 13.4 ms | 11.8 ms |
@@ -116,6 +122,15 @@ Für jeden Build zeichnet die Suite Folgendes auf:
116
122
  - **Komponentengröße.** Eine Komponente, die `useTranslations()` aufruft, wird im Durchschnitt zu 21,8 KB kompiliert; die gleiche Komponente mit `useIntlayer()` wird zu 6,9 KB kompiliert. Im `scoped-static`-Setup springen die `next-intl`-Komponenten auf 80,1 KB, weil jede ihren Namespace-Katalog inline einfügt.
117
123
  - **Reaktivität und Hydration** liegen für beide Bibliotheken auf Next.js im gleichen Bereich (15-18 ms). Keine von beiden ist hier ein Engpass.
118
124
 
125
+ <ClickToOpenIframe
126
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md"
127
+ width="100%"
128
+ height="600px"
129
+ style="border:none;"
130
+ />
131
+
132
+ > Vollständige Tabelle, jede Bibliothek und jede Strategie, im [Next.js-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/nextjs).
133
+
119
134
  ### Ergebnisse auf TanStack Start (`use-intl`)
120
135
 
121
136
  `use-intl` ist der Framework-agnostische Kern von `next-intl`. Gleiche API, gleiches Nachrichtenformat. Der Vergleich mit `intlayer` auf TanStack Start entfernt die Next.js-spezifischen Teile der Gleichung.
@@ -139,8 +154,19 @@ Für jeden Build zeichnet die Suite Folgendes auf:
139
154
  - **Komponenten-Größe ist der Punkt, wo die Architektur sich zeigt**: 76-87 KB pro Komponente mit `use-intl` gegenüber 6-8 KB mit Intlayer. `useTranslations()` bindet jede Komponente an den globalen Message-Tree; `useIntlayer()` bindet sie an ihr eigenes Dictionary.
140
155
  - **Locale-Wechsel** ist mit Intlayer 2x-4x schneller (3 ms vs 7-21 ms).
141
156
 
157
+ <ClickToOpenIframe
158
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md"
159
+ width="100%"
160
+ height="600px"
161
+ style="border:none;"
162
+ />
163
+
164
+ > Vollständige Tabelle im [TanStack Start-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/tanstack).
165
+
142
166
  ## Warum der Unterschied? Zentralisierte Kataloge vs. kompilierte Wörterbücher
143
167
 
168
+ ![Centralized catalogs versus per-component dictionaries](https://github.com/aymericzip/intlayer/blob/main/docs/assets/project_stucture_18n_vs_intlayer.png?raw=true)
169
+
144
170
  `next-intl` folgt dem klassischen Modell: eine JSON pro Locale, geladen in `getRequestConfig`, gepusht in einen `NextIntlClientProvider`, gelesen durch `t("namespace.key")`.
145
171
 
146
172
  ```bash
@@ -162,6 +188,10 @@ Für jeden Build zeichnet die Suite Folgendes auf:
162
188
 
163
189
  Die Runtime kann nicht wissen, welche Keys eine Seite verwenden wird, also ist der sichere Standard, den gesamten Katalog zu senden. Optimierung bedeutet, dass **Sie** den Katalog in Namespaces aufteilen, **Sie** entscheiden, welche Namespaces jede Seite benötigt, und **Sie** diese Zuordnung synchron halten, während sich Komponenten bewegen. Die `scoped-dynamic`-Zeile des Benchmarks ist die Belohnung für diese Arbeit, und die meisten Teams erreichen das nie.
164
190
 
191
+ Die Kosten, dieses Ziel nicht zu erreichen, steigen auf zwei Achsen gleichzeitig: Seiten und Locales:
192
+
193
+ ![Theoretical content leakage by architecture](https://github.com/aymericzip/intlayer/blob/main/docs/assets/theorical_content_leakage.webp?raw=true)
194
+
165
195
  Intlayer dreht die Verantwortung um. Inhalte werden neben der Komponente deklariert:
166
196
 
167
197
  ```bash
@@ -189,7 +219,8 @@ Zur Build-Zeit sieht der Compiler (`@intlayer/swc` / `@intlayer/babel`), welche
189
219
 
190
220
  ### Client-Komponente
191
221
 
192
- **next-intl**
222
+ <Tabs defaultTab="intlayer" group="techno">
223
+ <Tab label="next-intl" value="next-intl">
193
224
 
194
225
  ```json fileName="messages/en.json"
195
226
  {
@@ -224,7 +255,8 @@ export const Counter = () => {
224
255
 
225
256
  > Denken Sie daran, den `counter`-Namespace in die Nachrichten einzubeziehen, die an `NextIntlClientProvider` auf jeder Seite übergeben werden, die diese Komponente rendert.
226
257
 
227
- **Intlayer**
258
+ </Tab>
259
+ <Tab label="Intlayer" value="intlayer">
228
260
 
229
261
  ```ts fileName="src/components/Counter/index.content.ts"
230
262
  import { t, type Dictionary } from "intlayer";
@@ -265,11 +297,14 @@ export const Counter = () => {
265
297
 
266
298
  Nichts auf der Seite zu registrieren: die Komponente bringt ihren eigenen Inhalt mit.
267
299
 
300
+ </Tab>
301
+ </Tabs>
268
302
  ### Synchrone Server-Komponente
269
303
 
270
304
  Design-System-Komponenten (Navbar, Footer, Cards) sind oft Server-Komponenten, die als untergeordnete Elemente von Client-Komponenten gerendert werden, daher können sie nicht `async` sein.
271
305
 
272
- **next-intl**
306
+ <Tabs defaultTab="intlayer" group="techno">
307
+ <Tab label="next-intl" value="next-intl">
273
308
 
274
309
  ```tsx fileName="src/components/ServerCounter.tsx"
275
310
  type ServerCounterProps = {
@@ -287,7 +322,8 @@ export const ServerCounter = ({ t, formattedCount }: ServerCounterProps) => (
287
322
 
288
323
  Die Seite muss `await getTranslations("counter")` und `await getFormatter()` aufrufen und die Ergebnisse dann als Props nach unten weiterleiten. Die Komponente ist nicht mehr in sich geschlossen.
289
324
 
290
- **Intlayer**
325
+ </Tab>
326
+ <Tab label="Intlayer" value="intlayer">
291
327
 
292
328
  ```tsx fileName="src/components/ServerCounter.tsx"
293
329
  import { useIntlayer } from "next-intlayer/server";
@@ -306,9 +342,12 @@ export const ServerCounter = ({ count }: { count: number }) => {
306
342
  };
307
343
  ```
308
344
 
345
+ </Tab>
346
+ </Tabs>
309
347
  ### Metadaten
310
348
 
311
- **next-intl**
349
+ <Tabs defaultTab="intlayer" group="techno">
350
+ <Tab label="next-intl" value="next-intl">
312
351
 
313
352
  ```tsx fileName="src/app/[locale]/about/page.tsx"
314
353
  import type { Metadata } from "next";
@@ -341,7 +380,8 @@ export const generateMetadata = async ({
341
380
  };
342
381
  ```
343
382
 
344
- **Intlayer**
383
+ </Tab>
384
+ <Tab label="Intlayer" value="intlayer">
345
385
 
346
386
  ```tsx fileName="src/app/[locale]/about/page.tsx"
347
387
  import { getIntlayer, getMultilingualUrls } from "intlayer";
@@ -365,6 +405,9 @@ export const generateMetadata = async ({
365
405
  };
366
406
  ```
367
407
 
408
+ </Tab>
409
+ </Tabs>
410
+
368
411
  ## Behalte die next-intl API, erhalte die Ausgabe von Intlayer
369
412
 
370
413
  Du musst Komponenten nicht neu schreiben, um die oben genannten Benchmark-Zahlen zu erreichen. `@intlayer/next-intl` ist ein Drop-in-Adapter: Er behält `useTranslations`, `getTranslations`, `useFormatter`, `t.rich()`, ICU-Plurale und die `next-intl/navigation` Helper bei und stellt sie aus den vom Intlayer-Compiler kompilierten Intlayer-Wörterbüchern bereit.
@@ -386,17 +429,84 @@ Siehe den [next-intl-Migrationsleitfaden](https://intlayer.org/doc/migration/nex
386
429
 
387
430
  ## Wann sollte man was wählen?
388
431
 
389
- - **Wählen Sie next-intl**, wenn Sie den Ökosystem-Standard für Next.js mögen, Sie sich auf ICU MessageFormat verlassen, Ihre App klein bis mittelgroß ist, oder Sie mit einer Übersetzungsplattform (Crowdin, Phrase, Lokalise...) integrieren, die zentralisierte JSON erwartet. Planen Sie Zeit für das Namespace von Katalogen und wählen Sie Nachrichten pro Seite, wenn Performance wichtig ist.
390
- - **Wählen Sie Intlayer**, wenn Sie **komponentengebundene Inhalte**, **striktes TypeScript**, **Build-Zeit-Fehler bei fehlenden Schlüsseln**, **müheloses Tree-Shaking und Lazy Loading**, synchrone Server Components und integrierte redaktionelle Tools (Visual Editor, CMS, AI-Übersetzung, MCP-Server) mögen. Besonders relevant für große, modulare Codebases und Design Systems.
391
- - **Wählen Sie `@intlayer/next-intl`**, wenn Sie bereits `next-intl` verwenden und die Bundle-Gewinne ohne Umschreiben mögen.
432
+ <AccordionGroup>
433
+ <Accordion header="next-intl wählen">
434
+
435
+ Sie möchten den Ökosystem-Standard für Next.js, setzen auf ICU MessageFormat, Ihre App ist klein bis mittelgroß oder Sie integrieren eine Übersetzungsplattform (Crowdin, Phrase, Lokalise...), die zentrales JSON erwartet. Planen Sie Zeit ein, um Kataloge in Namespaces zu gliedern und Nachrichten pro Seite mit `pick()` auszuwählen, wenn Performance zählt.
436
+
437
+ </Accordion>
438
+ <Accordion header="Intlayer wählen">
439
+
440
+ Sie möchten **komponentenbezogenen Inhalt**, **striktes TypeScript**, **Fehler bei fehlenden Schlüsseln zur Build-Zeit**, **müheloses Tree-Shaking und Lazy Loading**, synchrone Serverkomponenten und integrierte redaktionelle Werkzeuge ([Visueller Editor](https://intlayer.org/de/doc/concept/editor), [CMS](https://intlayer.org/de/doc/concept/cms), [KI-Übersetzung](https://intlayer.org/de/doc/concept/auto-fill), [MCP-Server](https://intlayer.org/de/doc/mcp-server)). Besonders relevant für große, modulare Codebasen und Design-Systeme.
441
+
442
+ </Accordion>
443
+ <Accordion header="@intlayer/next-intl wählen">
444
+
445
+ Sie nutzen bereits `next-intl` und möchten die Bundle-Vorteile ohne Umschreiben nutzen. Der [Kompatibilitäts-Adapter](https://intlayer.org/de/doc/compatibility/next-intl) behält Ihre Imports und Ihre Datei `messages/{locale}.json` als Quelle der Wahrheit bei. Direkt verglichen in [next-intl vs @intlayer/next-intl](https://intlayer.org/de/blog/next-intl-vs-intlayer-next-intl).
446
+
447
+ </Accordion>
448
+ </AccordionGroup>
449
+
450
+ ## FAQ
451
+
452
+ <FAQ>
453
+
454
+ <Question title="Ist next-intl langsamer als Intlayer?">
455
+
456
+ Nicht zur Renderzeit. Der Unterschied liegt darin, was ausgeliefert wird: `next-intl` verursacht **+12.6 KB gzip** Runtime auf jeder Seite und sendet in Standardkonfigurationen ~90% der Texte fremder Seiten mit jeder Seite mit. Sprachwechsel und Hydration sind bei Next.js vergleichbar (15-18 ms); bei TanStack Start benötigt `use-intl` 7-21 ms gegenüber 3-4 ms bei Intlayer.
457
+
458
+ </Question>
459
+
460
+ <Question title="Kann ich mit next-intl 0% Leakage erreichen?">
461
+
462
+ Ja, mit dem `scoped-dynamic`-Setup: Teilen Sie `messages/{locale}.json` in einen Namespace pro Route auf, verwenden Sie `pick(messages, [...])` auf jeder Seite und halten Sie dieses Mapping aktuell, wenn sich Komponenten bewegen. Die `scoped-*`-Zeilen des Benchmarks spiegeln genau diese Arbeit wider. Intlayer erreicht 0% ohne diesen Aufwand, weil der Compiler Inhalte komponentenbezogen scoped. Siehe [Bundle-Optimierung](https://intlayer.org/de/doc/concept/bundle-optimization).
463
+
464
+ </Question>
465
+
466
+ <Question title="Muss ich meine Komponenten für eine Migration umschreiben?">
467
+
468
+ Nein. `@intlayer/next-intl` behält `useTranslations`, `getTranslations`, `useFormatter`, `t.rich()`, ICU-Plurale und die Navigations-Helfer bei und stellt sie aus kompilierten Wörterbüchern bereit. Eine einzige Plugin-Zeile in `next.config.ts`. Schritt für Schritt im [next-intl-Migrationsleitfaden](https://intlayer.org/de/doc/migration/next-intl).
469
+
470
+ </Question>
471
+
472
+ <Question title="Unterstützt Intlayer ICU MessageFormat?">
473
+
474
+ Die native ICU-Unterstützung befindet sich in der Entwicklung. Die Kompatibilitäts-Adapter (`@intlayer/next-intl`, `@intlayer/use-intl`) führen ICU jedoch bereits aus: Plurale, `select`, `selectordinal`, `#` und `{ts, date, long}` laufen über den ICU-Resolver von Intlayer. Details finden Sie unter [ICU-Nachrichtenformat](https://intlayer.org/de/blog/icu-message-format).
475
+
476
+ </Question>
477
+
478
+ <Question title="Kann ich meine messages/{locale}.json-Dateien behalten?">
479
+
480
+ Ja. Das [JSON-Synchronisierungs-Plugin](https://intlayer.org/de/doc/compatibility/next-intl) liest sie ein, teilt die obersten Schlüssel in Wörterbücher auf und schreibt Übersetzungen in dieselben Dateien zurück, wenn die CLI oder das CMS sie aktualisiert. Der Arbeitsablauf Ihrer Übersetzer ändert sich nicht.
481
+
482
+ </Question>
483
+
484
+ </FAQ>
392
485
 
393
486
  ## Verwandte Vergleiche
394
487
 
395
- - [i18next vs Intlayer](https://intlayer.org/blog/i18next-vs-intlayer) (gleicher Benchmark)
396
- - [Lingui vs Intlayer](https://intlayer.org/blog/lingui-vs-intlayer) (gleicher Benchmark)
397
- - [vue-i18n vs Intlayer benchmark](https://intlayer.org/blog/vue-i18n-vs-intlayer-benchmark) (gleicher Benchmark)
398
- - [next-i18next vs next-intl vs Intlayer](https://intlayer.org/blog/next-i18next-vs-next-intl-vs-intlayer)
399
- - [Is next-intl outdated?](https://intlayer.org/blog/is-next-intl-outdated)
488
+ Gleicher Benchmark, andere Bibliotheken:
489
+
490
+ - [i18next vs Intlayer](https://intlayer.org/de/blog/i18next-vs-intlayer)
491
+ - [Lingui vs Intlayer](https://intlayer.org/de/blog/lingui-vs-intlayer)
492
+ - [vue-i18n vs Intlayer benchmark](https://intlayer.org/de/blog/vue-i18n-vs-intlayer-benchmark)
493
+ - [next-i18next vs next-intl vs Intlayer](https://intlayer.org/de/blog/next-i18next-vs-next-intl-vs-intlayer)
494
+ - [react-i18next vs react-intl vs Intlayer](https://intlayer.org/de/blog/react-i18next-vs-react-intl-vs-intlayer)
495
+
496
+ Vertiefung zu next-intl:
497
+
498
+ - [next-intl vs @intlayer/next-intl](https://intlayer.org/de/blog/next-intl-vs-intlayer-next-intl), der Adapter gemessen an derselben App
499
+ - [Is next-intl outdated?](https://intlayer.org/de/blog/is-next-intl-outdated)
500
+ - [Using Intlayer with next-intl](https://intlayer.org/de/blog/intlayer-with-next-intl)
501
+ - [How to internationalize a Next.js app with next-intl](https://intlayer.org/de/blog/nextjs-internationalization-using-next-intl)
502
+
503
+ Referenzdokumente:
504
+
505
+ - [Next.js-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/nextjs) und [TanStack Start-Benchmark-Bericht](https://intlayer.org/de/doc/benchmark/tanstack)
506
+ - [Kompatibilitäts-Adapter: next-intl](https://intlayer.org/de/doc/compatibility/next-intl) und [Migrationsleitfaden](https://intlayer.org/de/doc/migration/next-intl)
507
+ - [Bundle-Optimierung](https://intlayer.org/de/doc/concept/bundle-optimization) und [der Intlayer-Compiler](https://intlayer.org/de/doc/compiler)
508
+ - [Komponentenbezogene vs. zentrale i18n](https://intlayer.org/de/blog/per-component-vs-centralized-i18n)
509
+ - [Compiler-gesteuerte vs. deklarative i18n](https://intlayer.org/de/blog/compiler-vs-declarative-i18n)
400
510
 
401
511
  ## GitHub STARS
402
512
 
@@ -284,7 +284,9 @@ const pathList = [
284
284
  { path: "/about", changefreq: "monthly", priority: 0.7 },
285
285
  ];
286
286
 
287
- const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
287
+ const sitemapXml = generateSitemap(pathList, {
288
+ siteUrl: "https://example.com",
289
+ });
288
290
  fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
289
291
 
290
292
  const getAllMultilingualUrls = (urls) =>
@@ -297,7 +299,7 @@ const robotsTxt = [
297
299
  "Allow: /",
298
300
  ...disallowedPaths.map((path) => `Disallow: ${path}`),
299
301
  "",
300
- `Sitemap: ${SITE_URL}/sitemap.xml`,
302
+ `Sitemap: https://example.com/sitemap.xml`,
301
303
  ].join("\n");
302
304
 
303
305
  fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);