@intlayer/docs 8.12.1 → 8.12.3

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 (774) hide show
  1. package/dist/cjs/blog.cjs.map +1 -1
  2. package/dist/cjs/common.cjs.map +1 -1
  3. package/dist/cjs/doc.cjs.map +1 -1
  4. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  5. package/dist/cjs/generated/blog.entry.cjs +1 -0
  6. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  7. package/dist/cjs/generated/docs.entry.cjs +121 -0
  8. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  9. package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -0
  10. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  11. package/dist/cjs/generated/legal.entry.cjs +1 -0
  12. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  13. package/dist/cjs/legal.cjs.map +1 -1
  14. package/dist/esm/blog.mjs.map +1 -1
  15. package/dist/esm/common.mjs.map +1 -1
  16. package/dist/esm/doc.mjs.map +1 -1
  17. package/dist/esm/frequentQuestions.mjs.map +1 -1
  18. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  19. package/dist/esm/generated/docs.entry.mjs +120 -0
  20. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  21. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  22. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  23. package/dist/esm/legal.mjs.map +1 -1
  24. package/dist/types/blog.d.ts.map +1 -1
  25. package/dist/types/common.d.ts.map +1 -1
  26. package/dist/types/doc.d.ts.map +1 -1
  27. package/dist/types/frequentQuestions.d.ts.map +1 -1
  28. package/dist/types/generated/docs.entry.d.ts +6 -0
  29. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  30. package/dist/types/legal.d.ts.map +1 -1
  31. package/docs/ar/bundle_optimization.md +250 -102
  32. package/docs/ar/configuration.md +10 -9
  33. package/docs/ar/intlayer_with_adonisjs.md +1 -1
  34. package/docs/ar/intlayer_with_analog.md +1 -1
  35. package/docs/ar/intlayer_with_angular_19.md +1 -1
  36. package/docs/ar/intlayer_with_angular_21.md +1 -1
  37. package/docs/ar/intlayer_with_astro.md +1 -1
  38. package/docs/ar/intlayer_with_astro_lit.md +1 -1
  39. package/docs/ar/intlayer_with_astro_preact.md +1 -1
  40. package/docs/ar/intlayer_with_astro_react.md +1 -1
  41. package/docs/ar/intlayer_with_astro_solid.md +1 -1
  42. package/docs/ar/intlayer_with_astro_svelte.md +1 -1
  43. package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
  44. package/docs/ar/intlayer_with_astro_vue.md +1 -1
  45. package/docs/ar/intlayer_with_create_react_app.md +1 -1
  46. package/docs/ar/intlayer_with_express.md +1 -1
  47. package/docs/ar/intlayer_with_fastify.md +1 -1
  48. package/docs/ar/intlayer_with_hono.md +1 -1
  49. package/docs/ar/intlayer_with_nestjs.md +1 -1
  50. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  51. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  52. package/docs/ar/intlayer_with_nextjs_16.md +1 -1
  53. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
  54. package/docs/ar/intlayer_with_nuxt.md +1 -1
  55. package/docs/ar/intlayer_with_react_router_v7.md +1 -1
  56. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
  57. package/docs/ar/intlayer_with_tanstack+solid.md +1 -1
  58. package/docs/ar/intlayer_with_tanstack.md +1 -1
  59. package/docs/ar/intlayer_with_vanilla.md +1 -1
  60. package/docs/ar/intlayer_with_vite+lit.md +1 -1
  61. package/docs/ar/intlayer_with_vite+preact.md +1 -1
  62. package/docs/ar/intlayer_with_vite+react.md +1 -1
  63. package/docs/ar/intlayer_with_vite+solid.md +1 -1
  64. package/docs/ar/intlayer_with_vite+svelte.md +1 -1
  65. package/docs/ar/intlayer_with_vite+vanilla.md +1 -1
  66. package/docs/ar/intlayer_with_vite+vue.md +1 -1
  67. package/docs/bn/bundle_optimization.md +252 -104
  68. package/docs/bn/configuration.md +10 -9
  69. package/docs/bn/intlayer_with_angular_21.md +1 -1
  70. package/docs/bn/intlayer_with_fastify.md +1 -1
  71. package/docs/bn/intlayer_with_hono.md +1 -1
  72. package/docs/bn/intlayer_with_vanilla.md +1 -1
  73. package/docs/bn/intlayer_with_vite+lit.md +1 -1
  74. package/docs/bn/intlayer_with_vite+vanilla.md +1 -1
  75. package/docs/cs/bundle_optimization.md +253 -105
  76. package/docs/cs/configuration.md +10 -9
  77. package/docs/cs/intlayer_with_angular_21.md +1 -1
  78. package/docs/cs/intlayer_with_fastify.md +1 -1
  79. package/docs/cs/intlayer_with_hono.md +1 -1
  80. package/docs/cs/intlayer_with_vanilla.md +1 -1
  81. package/docs/cs/intlayer_with_vite+lit.md +1 -1
  82. package/docs/cs/intlayer_with_vite+vanilla.md +1 -1
  83. package/docs/de/bundle_optimization.md +245 -97
  84. package/docs/de/configuration.md +10 -9
  85. package/docs/de/intlayer_with_adonisjs.md +1 -1
  86. package/docs/de/intlayer_with_analog.md +1 -1
  87. package/docs/de/intlayer_with_angular_19.md +1 -1
  88. package/docs/de/intlayer_with_angular_21.md +1 -1
  89. package/docs/de/intlayer_with_astro.md +1 -1
  90. package/docs/de/intlayer_with_astro_lit.md +1 -1
  91. package/docs/de/intlayer_with_astro_preact.md +1 -1
  92. package/docs/de/intlayer_with_astro_react.md +1 -1
  93. package/docs/de/intlayer_with_astro_solid.md +1 -1
  94. package/docs/de/intlayer_with_astro_svelte.md +1 -1
  95. package/docs/de/intlayer_with_astro_vanilla.md +1 -1
  96. package/docs/de/intlayer_with_astro_vue.md +1 -1
  97. package/docs/de/intlayer_with_create_react_app.md +1 -1
  98. package/docs/de/intlayer_with_express.md +1 -1
  99. package/docs/de/intlayer_with_fastify.md +1 -1
  100. package/docs/de/intlayer_with_hono.md +1 -1
  101. package/docs/de/intlayer_with_nestjs.md +1 -1
  102. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  103. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  104. package/docs/de/intlayer_with_nextjs_16.md +1 -1
  105. package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
  106. package/docs/de/intlayer_with_nuxt.md +1 -1
  107. package/docs/de/intlayer_with_react_router_v7.md +1 -1
  108. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
  109. package/docs/de/intlayer_with_tanstack+solid.md +1 -1
  110. package/docs/de/intlayer_with_tanstack.md +1 -1
  111. package/docs/de/intlayer_with_vanilla.md +1 -1
  112. package/docs/de/intlayer_with_vite+lit.md +1 -1
  113. package/docs/de/intlayer_with_vite+preact.md +1 -1
  114. package/docs/de/intlayer_with_vite+react.md +1 -1
  115. package/docs/de/intlayer_with_vite+solid.md +1 -1
  116. package/docs/de/intlayer_with_vite+svelte.md +1 -1
  117. package/docs/de/intlayer_with_vite+vanilla.md +1 -1
  118. package/docs/de/intlayer_with_vite+vue.md +1 -1
  119. package/docs/de/migration_from_i18next_to_intlayer.md +313 -0
  120. package/docs/de/migration_from_next-i18next_to_intlayer.md +338 -0
  121. package/docs/de/migration_from_next-intl_to_intlayer.md +347 -0
  122. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  123. package/docs/de/migration_from_react-i18next_to_intlayer.md +367 -0
  124. package/docs/de/migration_from_vue-i18n_to_intlayer.md +342 -0
  125. package/docs/en/bundle_optimization.md +172 -49
  126. package/docs/en/configuration.md +10 -9
  127. package/docs/en/intlayer_with_adonisjs.md +1 -1
  128. package/docs/en/intlayer_with_analog.md +1 -1
  129. package/docs/en/intlayer_with_angular_19.md +1 -1
  130. package/docs/en/intlayer_with_angular_21.md +1 -1
  131. package/docs/en/intlayer_with_astro.md +1 -1
  132. package/docs/en/intlayer_with_astro_lit.md +1 -1
  133. package/docs/en/intlayer_with_astro_preact.md +1 -1
  134. package/docs/en/intlayer_with_astro_react.md +1 -1
  135. package/docs/en/intlayer_with_astro_solid.md +1 -1
  136. package/docs/en/intlayer_with_astro_svelte.md +1 -1
  137. package/docs/en/intlayer_with_astro_vanilla.md +1 -1
  138. package/docs/en/intlayer_with_astro_vue.md +1 -1
  139. package/docs/en/intlayer_with_create_react_app.md +1 -1
  140. package/docs/en/intlayer_with_express.md +1 -1
  141. package/docs/en/intlayer_with_fastify.md +1 -1
  142. package/docs/en/intlayer_with_hono.md +1 -1
  143. package/docs/en/intlayer_with_nestjs.md +1 -1
  144. package/docs/en/intlayer_with_nextjs_14.md +1 -1
  145. package/docs/en/intlayer_with_nextjs_15.md +1 -1
  146. package/docs/en/intlayer_with_nextjs_16.md +1 -1
  147. package/docs/en/intlayer_with_nextjs_no_locale_path.md +1 -1
  148. package/docs/en/intlayer_with_nuxt.md +1 -1
  149. package/docs/en/intlayer_with_react_router_v7.md +1 -1
  150. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +1 -1
  151. package/docs/en/intlayer_with_tanstack+solid.md +1 -1
  152. package/docs/en/intlayer_with_tanstack.md +1 -1
  153. package/docs/en/intlayer_with_vanilla.md +1 -1
  154. package/docs/en/intlayer_with_vite+lit.md +1 -1
  155. package/docs/en/intlayer_with_vite+preact.md +1 -1
  156. package/docs/en/intlayer_with_vite+react.md +1 -1
  157. package/docs/en/intlayer_with_vite+solid.md +1 -1
  158. package/docs/en/intlayer_with_vite+svelte.md +1 -1
  159. package/docs/en/intlayer_with_vite+vanilla.md +1 -1
  160. package/docs/en/intlayer_with_vite+vue.md +1 -1
  161. package/docs/en/migration_from_i18next_to_intlayer.md +316 -0
  162. package/docs/en/migration_from_next-i18next_to_intlayer.md +338 -0
  163. package/docs/en/migration_from_next-intl_to_intlayer.md +347 -0
  164. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  165. package/docs/en/migration_from_react-i18next_to_intlayer.md +367 -0
  166. package/docs/en/migration_from_vue-i18n_to_intlayer.md +342 -0
  167. package/docs/en-GB/bundle_optimization.md +230 -82
  168. package/docs/en-GB/configuration.md +10 -9
  169. package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
  170. package/docs/en-GB/intlayer_with_analog.md +1 -1
  171. package/docs/en-GB/intlayer_with_angular_19.md +1 -1
  172. package/docs/en-GB/intlayer_with_angular_21.md +1 -1
  173. package/docs/en-GB/intlayer_with_astro.md +1 -1
  174. package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
  175. package/docs/en-GB/intlayer_with_astro_preact.md +1 -1
  176. package/docs/en-GB/intlayer_with_astro_react.md +1 -1
  177. package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
  178. package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
  179. package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
  180. package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
  181. package/docs/en-GB/intlayer_with_create_react_app.md +1 -1
  182. package/docs/en-GB/intlayer_with_express.md +1 -1
  183. package/docs/en-GB/intlayer_with_fastify.md +1 -1
  184. package/docs/en-GB/intlayer_with_hono.md +1 -1
  185. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  186. package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
  187. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  188. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  189. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1 -1
  190. package/docs/en-GB/intlayer_with_nuxt.md +1 -1
  191. package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
  192. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
  193. package/docs/en-GB/intlayer_with_tanstack+solid.md +1 -1
  194. package/docs/en-GB/intlayer_with_tanstack.md +1 -1
  195. package/docs/en-GB/intlayer_with_vanilla.md +1 -1
  196. package/docs/en-GB/intlayer_with_vite+lit.md +1 -1
  197. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  198. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  199. package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
  200. package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
  201. package/docs/en-GB/intlayer_with_vite+vanilla.md +1 -1
  202. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  203. package/docs/es/bundle_optimization.md +250 -102
  204. package/docs/es/configuration.md +10 -9
  205. package/docs/es/intlayer_with_adonisjs.md +1 -1
  206. package/docs/es/intlayer_with_analog.md +1 -1
  207. package/docs/es/intlayer_with_angular_19.md +1 -1
  208. package/docs/es/intlayer_with_angular_21.md +1 -1
  209. package/docs/es/intlayer_with_astro.md +1 -1
  210. package/docs/es/intlayer_with_astro_lit.md +1 -1
  211. package/docs/es/intlayer_with_astro_preact.md +1 -1
  212. package/docs/es/intlayer_with_astro_react.md +1 -1
  213. package/docs/es/intlayer_with_astro_solid.md +1 -1
  214. package/docs/es/intlayer_with_astro_svelte.md +1 -1
  215. package/docs/es/intlayer_with_astro_vanilla.md +1 -1
  216. package/docs/es/intlayer_with_astro_vue.md +1 -1
  217. package/docs/es/intlayer_with_create_react_app.md +1 -1
  218. package/docs/es/intlayer_with_express.md +1 -1
  219. package/docs/es/intlayer_with_fastify.md +1 -1
  220. package/docs/es/intlayer_with_hono.md +1 -1
  221. package/docs/es/intlayer_with_nestjs.md +1 -1
  222. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  223. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  224. package/docs/es/intlayer_with_nextjs_16.md +1 -1
  225. package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
  226. package/docs/es/intlayer_with_nuxt.md +1 -1
  227. package/docs/es/intlayer_with_react_router_v7.md +1 -1
  228. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
  229. package/docs/es/intlayer_with_tanstack+solid.md +1 -1
  230. package/docs/es/intlayer_with_tanstack.md +1 -1
  231. package/docs/es/intlayer_with_vanilla.md +1 -1
  232. package/docs/es/intlayer_with_vite+lit.md +1 -1
  233. package/docs/es/intlayer_with_vite+preact.md +1 -1
  234. package/docs/es/intlayer_with_vite+react.md +1 -1
  235. package/docs/es/intlayer_with_vite+solid.md +1 -1
  236. package/docs/es/intlayer_with_vite+svelte.md +1 -1
  237. package/docs/es/intlayer_with_vite+vanilla.md +1 -1
  238. package/docs/es/intlayer_with_vite+vue.md +1 -1
  239. package/docs/es/migration_from_i18next_to_intlayer.md +313 -0
  240. package/docs/es/migration_from_next-i18next_to_intlayer.md +338 -0
  241. package/docs/es/migration_from_next-intl_to_intlayer.md +347 -0
  242. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  243. package/docs/es/migration_from_react-i18next_to_intlayer.md +367 -0
  244. package/docs/es/migration_from_vue-i18n_to_intlayer.md +342 -0
  245. package/docs/es/packages/next-intlayer/index.md +1 -1
  246. package/docs/es/packages/react-intlayer/index.md +1 -1
  247. package/docs/fr/bundle_optimization.md +223 -75
  248. package/docs/fr/configuration.md +10 -9
  249. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  250. package/docs/fr/intlayer_with_analog.md +1 -1
  251. package/docs/fr/intlayer_with_angular_19.md +1 -1
  252. package/docs/fr/intlayer_with_angular_21.md +1 -1
  253. package/docs/fr/intlayer_with_astro.md +1 -1
  254. package/docs/fr/intlayer_with_astro_lit.md +1 -1
  255. package/docs/fr/intlayer_with_astro_preact.md +1 -1
  256. package/docs/fr/intlayer_with_astro_react.md +1 -1
  257. package/docs/fr/intlayer_with_astro_solid.md +1 -1
  258. package/docs/fr/intlayer_with_astro_svelte.md +1 -1
  259. package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
  260. package/docs/fr/intlayer_with_astro_vue.md +1 -1
  261. package/docs/fr/intlayer_with_create_react_app.md +1 -1
  262. package/docs/fr/intlayer_with_express.md +1 -1
  263. package/docs/fr/intlayer_with_fastify.md +1 -1
  264. package/docs/fr/intlayer_with_hono.md +1 -1
  265. package/docs/fr/intlayer_with_nestjs.md +1 -1
  266. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  267. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  268. package/docs/fr/intlayer_with_nextjs_16.md +1 -1
  269. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
  270. package/docs/fr/intlayer_with_nuxt.md +1 -1
  271. package/docs/fr/intlayer_with_react_router_v7.md +1 -1
  272. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -1
  273. package/docs/fr/intlayer_with_tanstack+solid.md +1 -1
  274. package/docs/fr/intlayer_with_tanstack.md +1 -1
  275. package/docs/fr/intlayer_with_vanilla.md +1 -1
  276. package/docs/fr/intlayer_with_vite+lit.md +1 -1
  277. package/docs/fr/intlayer_with_vite+preact.md +1 -1
  278. package/docs/fr/intlayer_with_vite+react.md +1 -1
  279. package/docs/fr/intlayer_with_vite+solid.md +1 -1
  280. package/docs/fr/intlayer_with_vite+svelte.md +1 -1
  281. package/docs/fr/intlayer_with_vite+vanilla.md +1 -1
  282. package/docs/fr/intlayer_with_vite+vue.md +1 -1
  283. package/docs/fr/migration_from_i18next_to_intlayer.md +313 -0
  284. package/docs/fr/migration_from_next-i18next_to_intlayer.md +338 -0
  285. package/docs/fr/migration_from_next-intl_to_intlayer.md +347 -0
  286. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  287. package/docs/fr/migration_from_react-i18next_to_intlayer.md +367 -0
  288. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +342 -0
  289. package/docs/fr/packages/react-intlayer/index.md +1 -1
  290. package/docs/hi/bundle_optimization.md +253 -105
  291. package/docs/hi/configuration.md +10 -9
  292. package/docs/hi/intlayer_with_adonisjs.md +1 -1
  293. package/docs/hi/intlayer_with_analog.md +1 -1
  294. package/docs/hi/intlayer_with_angular_19.md +1 -1
  295. package/docs/hi/intlayer_with_angular_21.md +1 -1
  296. package/docs/hi/intlayer_with_astro.md +1 -1
  297. package/docs/hi/intlayer_with_astro_lit.md +1 -1
  298. package/docs/hi/intlayer_with_astro_preact.md +1 -1
  299. package/docs/hi/intlayer_with_astro_react.md +1 -1
  300. package/docs/hi/intlayer_with_astro_solid.md +1 -1
  301. package/docs/hi/intlayer_with_astro_svelte.md +1 -1
  302. package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
  303. package/docs/hi/intlayer_with_astro_vue.md +1 -1
  304. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  305. package/docs/hi/intlayer_with_express.md +1 -1
  306. package/docs/hi/intlayer_with_fastify.md +1 -1
  307. package/docs/hi/intlayer_with_hono.md +1 -1
  308. package/docs/hi/intlayer_with_nestjs.md +1 -1
  309. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  310. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  311. package/docs/hi/intlayer_with_nextjs_16.md +1 -1
  312. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
  313. package/docs/hi/intlayer_with_nuxt.md +1 -1
  314. package/docs/hi/intlayer_with_react_router_v7.md +1 -1
  315. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
  316. package/docs/hi/intlayer_with_tanstack+solid.md +1 -1
  317. package/docs/hi/intlayer_with_tanstack.md +1 -1
  318. package/docs/hi/intlayer_with_vanilla.md +1 -1
  319. package/docs/hi/intlayer_with_vite+lit.md +1 -1
  320. package/docs/hi/intlayer_with_vite+preact.md +1 -1
  321. package/docs/hi/intlayer_with_vite+react.md +1 -1
  322. package/docs/hi/intlayer_with_vite+solid.md +1 -1
  323. package/docs/hi/intlayer_with_vite+svelte.md +1 -1
  324. package/docs/hi/intlayer_with_vite+vanilla.md +1 -1
  325. package/docs/hi/intlayer_with_vite+vue.md +1 -1
  326. package/docs/hi/packages/intlayer/index.md +1 -1
  327. package/docs/id/bundle_optimization.md +258 -110
  328. package/docs/id/configuration.md +10 -9
  329. package/docs/id/intlayer_with_adonisjs.md +1 -1
  330. package/docs/id/intlayer_with_analog.md +1 -1
  331. package/docs/id/intlayer_with_angular_19.md +1 -1
  332. package/docs/id/intlayer_with_angular_21.md +1 -1
  333. package/docs/id/intlayer_with_astro.md +1 -1
  334. package/docs/id/intlayer_with_astro_lit.md +1 -1
  335. package/docs/id/intlayer_with_astro_preact.md +1 -1
  336. package/docs/id/intlayer_with_astro_react.md +1 -1
  337. package/docs/id/intlayer_with_astro_solid.md +1 -1
  338. package/docs/id/intlayer_with_astro_svelte.md +1 -1
  339. package/docs/id/intlayer_with_astro_vanilla.md +1 -1
  340. package/docs/id/intlayer_with_astro_vue.md +1 -1
  341. package/docs/id/intlayer_with_create_react_app.md +1 -1
  342. package/docs/id/intlayer_with_express.md +1 -1
  343. package/docs/id/intlayer_with_fastify.md +1 -1
  344. package/docs/id/intlayer_with_hono.md +1 -1
  345. package/docs/id/intlayer_with_nestjs.md +1 -1
  346. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  347. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  348. package/docs/id/intlayer_with_nextjs_16.md +1 -1
  349. package/docs/id/intlayer_with_nextjs_no_locale_path.md +1 -1
  350. package/docs/id/intlayer_with_nuxt.md +1 -1
  351. package/docs/id/intlayer_with_react_router_v7.md +1 -1
  352. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -1
  353. package/docs/id/intlayer_with_tanstack+solid.md +1 -1
  354. package/docs/id/intlayer_with_tanstack.md +1 -1
  355. package/docs/id/intlayer_with_vanilla.md +1 -1
  356. package/docs/id/intlayer_with_vite+lit.md +1 -1
  357. package/docs/id/intlayer_with_vite+preact.md +1 -1
  358. package/docs/id/intlayer_with_vite+react.md +1 -1
  359. package/docs/id/intlayer_with_vite+solid.md +1 -1
  360. package/docs/id/intlayer_with_vite+svelte.md +1 -1
  361. package/docs/id/intlayer_with_vite+vanilla.md +1 -1
  362. package/docs/id/intlayer_with_vite+vue.md +1 -1
  363. package/docs/it/bundle_optimization.md +249 -103
  364. package/docs/it/configuration.md +10 -9
  365. package/docs/it/intlayer_with_adonisjs.md +1 -1
  366. package/docs/it/intlayer_with_analog.md +1 -1
  367. package/docs/it/intlayer_with_angular_19.md +1 -1
  368. package/docs/it/intlayer_with_angular_21.md +1 -1
  369. package/docs/it/intlayer_with_astro.md +1 -1
  370. package/docs/it/intlayer_with_astro_lit.md +1 -1
  371. package/docs/it/intlayer_with_astro_preact.md +1 -1
  372. package/docs/it/intlayer_with_astro_react.md +1 -1
  373. package/docs/it/intlayer_with_astro_solid.md +1 -1
  374. package/docs/it/intlayer_with_astro_svelte.md +1 -1
  375. package/docs/it/intlayer_with_astro_vanilla.md +1 -1
  376. package/docs/it/intlayer_with_astro_vue.md +1 -1
  377. package/docs/it/intlayer_with_create_react_app.md +1 -1
  378. package/docs/it/intlayer_with_express.md +1 -1
  379. package/docs/it/intlayer_with_fastify.md +1 -1
  380. package/docs/it/intlayer_with_hono.md +1 -1
  381. package/docs/it/intlayer_with_nestjs.md +1 -1
  382. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  383. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  384. package/docs/it/intlayer_with_nextjs_16.md +1 -1
  385. package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
  386. package/docs/it/intlayer_with_nuxt.md +1 -1
  387. package/docs/it/intlayer_with_react_router_v7.md +1 -1
  388. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -1
  389. package/docs/it/intlayer_with_tanstack+solid.md +1 -1
  390. package/docs/it/intlayer_with_tanstack.md +1 -1
  391. package/docs/it/intlayer_with_vanilla.md +1 -1
  392. package/docs/it/intlayer_with_vite+lit.md +1 -1
  393. package/docs/it/intlayer_with_vite+preact.md +1 -1
  394. package/docs/it/intlayer_with_vite+react.md +1 -1
  395. package/docs/it/intlayer_with_vite+solid.md +1 -1
  396. package/docs/it/intlayer_with_vite+svelte.md +1 -1
  397. package/docs/it/intlayer_with_vite+vanilla.md +1 -1
  398. package/docs/it/intlayer_with_vite+vue.md +1 -1
  399. package/docs/it/migration_from_i18next_to_intlayer.md +313 -0
  400. package/docs/it/migration_from_next-i18next_to_intlayer.md +338 -0
  401. package/docs/it/migration_from_next-intl_to_intlayer.md +347 -0
  402. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  403. package/docs/it/migration_from_react-i18next_to_intlayer.md +367 -0
  404. package/docs/it/migration_from_vue-i18n_to_intlayer.md +342 -0
  405. package/docs/ja/bundle_optimization.md +245 -97
  406. package/docs/ja/configuration.md +10 -9
  407. package/docs/ja/intlayer_with_adonisjs.md +1 -1
  408. package/docs/ja/intlayer_with_analog.md +1 -1
  409. package/docs/ja/intlayer_with_angular_19.md +1 -1
  410. package/docs/ja/intlayer_with_angular_21.md +1 -1
  411. package/docs/ja/intlayer_with_astro.md +1 -1
  412. package/docs/ja/intlayer_with_astro_lit.md +1 -1
  413. package/docs/ja/intlayer_with_astro_preact.md +1 -1
  414. package/docs/ja/intlayer_with_astro_react.md +1 -1
  415. package/docs/ja/intlayer_with_astro_solid.md +1 -1
  416. package/docs/ja/intlayer_with_astro_svelte.md +1 -1
  417. package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
  418. package/docs/ja/intlayer_with_astro_vue.md +1 -1
  419. package/docs/ja/intlayer_with_create_react_app.md +1 -1
  420. package/docs/ja/intlayer_with_express.md +1 -1
  421. package/docs/ja/intlayer_with_fastify.md +1 -1
  422. package/docs/ja/intlayer_with_hono.md +1 -1
  423. package/docs/ja/intlayer_with_nestjs.md +1 -1
  424. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  425. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  426. package/docs/ja/intlayer_with_nextjs_16.md +1 -1
  427. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
  428. package/docs/ja/intlayer_with_nuxt.md +1 -1
  429. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -1
  430. package/docs/ja/intlayer_with_tanstack+solid.md +1 -1
  431. package/docs/ja/intlayer_with_tanstack.md +1 -1
  432. package/docs/ja/intlayer_with_vanilla.md +1 -1
  433. package/docs/ja/intlayer_with_vite+lit.md +1 -1
  434. package/docs/ja/intlayer_with_vite+solid.md +1 -1
  435. package/docs/ja/intlayer_with_vite+svelte.md +1 -1
  436. package/docs/ja/intlayer_with_vite+vanilla.md +1 -1
  437. package/docs/ja/intlayer_with_vite+vue.md +1 -1
  438. package/docs/ja/migration_from_i18next_to_intlayer.md +313 -0
  439. package/docs/ja/migration_from_next-i18next_to_intlayer.md +338 -0
  440. package/docs/ja/migration_from_next-intl_to_intlayer.md +347 -0
  441. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  442. package/docs/ja/migration_from_react-i18next_to_intlayer.md +367 -0
  443. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +342 -0
  444. package/docs/ko/bundle_optimization.md +253 -105
  445. package/docs/ko/configuration.md +10 -9
  446. package/docs/ko/intlayer_with_adonisjs.md +1 -1
  447. package/docs/ko/intlayer_with_analog.md +1 -1
  448. package/docs/ko/intlayer_with_angular_19.md +1 -1
  449. package/docs/ko/intlayer_with_angular_21.md +1 -1
  450. package/docs/ko/intlayer_with_astro.md +1 -1
  451. package/docs/ko/intlayer_with_astro_lit.md +1 -1
  452. package/docs/ko/intlayer_with_astro_preact.md +1 -1
  453. package/docs/ko/intlayer_with_astro_react.md +1 -1
  454. package/docs/ko/intlayer_with_astro_solid.md +1 -1
  455. package/docs/ko/intlayer_with_astro_svelte.md +1 -1
  456. package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
  457. package/docs/ko/intlayer_with_astro_vue.md +1 -1
  458. package/docs/ko/intlayer_with_create_react_app.md +1 -1
  459. package/docs/ko/intlayer_with_express.md +1 -1
  460. package/docs/ko/intlayer_with_fastify.md +1 -1
  461. package/docs/ko/intlayer_with_hono.md +1 -1
  462. package/docs/ko/intlayer_with_nestjs.md +1 -1
  463. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  464. package/docs/ko/intlayer_with_nextjs_15.md +2 -2
  465. package/docs/ko/intlayer_with_nextjs_16.md +1 -1
  466. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
  467. package/docs/ko/intlayer_with_nuxt.md +1 -1
  468. package/docs/ko/intlayer_with_react_router_v7.md +1 -1
  469. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
  470. package/docs/ko/intlayer_with_tanstack+solid.md +1 -1
  471. package/docs/ko/intlayer_with_tanstack.md +1 -1
  472. package/docs/ko/intlayer_with_vanilla.md +1 -1
  473. package/docs/ko/intlayer_with_vite+lit.md +1 -1
  474. package/docs/ko/intlayer_with_vite+preact.md +1 -1
  475. package/docs/ko/intlayer_with_vite+react.md +1 -1
  476. package/docs/ko/intlayer_with_vite+solid.md +1 -1
  477. package/docs/ko/intlayer_with_vite+svelte.md +1 -1
  478. package/docs/ko/intlayer_with_vite+vanilla.md +1 -1
  479. package/docs/ko/intlayer_with_vite+vue.md +1 -1
  480. package/docs/ko/migration_from_i18next_to_intlayer.md +313 -0
  481. package/docs/ko/migration_from_next-i18next_to_intlayer.md +338 -0
  482. package/docs/ko/migration_from_next-intl_to_intlayer.md +347 -0
  483. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  484. package/docs/ko/migration_from_react-i18next_to_intlayer.md +367 -0
  485. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +342 -0
  486. package/docs/nl/bundle_optimization.md +249 -101
  487. package/docs/nl/configuration.md +10 -9
  488. package/docs/nl/intlayer_with_angular_21.md +1 -1
  489. package/docs/nl/intlayer_with_fastify.md +1 -1
  490. package/docs/nl/intlayer_with_hono.md +1 -1
  491. package/docs/nl/intlayer_with_vanilla.md +1 -1
  492. package/docs/nl/intlayer_with_vite+lit.md +1 -1
  493. package/docs/nl/intlayer_with_vite+vanilla.md +1 -1
  494. package/docs/pl/bundle_optimization.md +258 -111
  495. package/docs/pl/configuration.md +10 -9
  496. package/docs/pl/intlayer_with_adonisjs.md +1 -1
  497. package/docs/pl/intlayer_with_analog.md +1 -1
  498. package/docs/pl/intlayer_with_angular_19.md +1 -1
  499. package/docs/pl/intlayer_with_angular_21.md +1 -1
  500. package/docs/pl/intlayer_with_astro.md +1 -1
  501. package/docs/pl/intlayer_with_astro_lit.md +1 -1
  502. package/docs/pl/intlayer_with_astro_preact.md +1 -1
  503. package/docs/pl/intlayer_with_astro_react.md +1 -1
  504. package/docs/pl/intlayer_with_astro_solid.md +1 -1
  505. package/docs/pl/intlayer_with_astro_svelte.md +1 -1
  506. package/docs/pl/intlayer_with_astro_vanilla.md +1 -1
  507. package/docs/pl/intlayer_with_astro_vue.md +1 -1
  508. package/docs/pl/intlayer_with_create_react_app.md +1 -1
  509. package/docs/pl/intlayer_with_express.md +1 -1
  510. package/docs/pl/intlayer_with_fastify.md +1 -1
  511. package/docs/pl/intlayer_with_hono.md +1 -1
  512. package/docs/pl/intlayer_with_nestjs.md +1 -1
  513. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  514. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  515. package/docs/pl/intlayer_with_nextjs_16.md +1 -1
  516. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1 -1
  517. package/docs/pl/intlayer_with_nuxt.md +1 -1
  518. package/docs/pl/intlayer_with_react_router_v7.md +1 -1
  519. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +1 -1
  520. package/docs/pl/intlayer_with_tanstack+solid.md +1 -1
  521. package/docs/pl/intlayer_with_tanstack.md +1 -1
  522. package/docs/pl/intlayer_with_vanilla.md +1 -1
  523. package/docs/pl/intlayer_with_vite+lit.md +1 -1
  524. package/docs/pl/intlayer_with_vite+preact.md +1 -1
  525. package/docs/pl/intlayer_with_vite+react.md +1 -1
  526. package/docs/pl/intlayer_with_vite+solid.md +1 -1
  527. package/docs/pl/intlayer_with_vite+svelte.md +1 -1
  528. package/docs/pl/intlayer_with_vite+vanilla.md +1 -1
  529. package/docs/pl/intlayer_with_vite+vue.md +1 -1
  530. package/docs/pt/bundle_optimization.md +256 -115
  531. package/docs/pt/configuration.md +10 -9
  532. package/docs/pt/intlayer_with_adonisjs.md +1 -1
  533. package/docs/pt/intlayer_with_analog.md +1 -1
  534. package/docs/pt/intlayer_with_angular_19.md +1 -1
  535. package/docs/pt/intlayer_with_angular_21.md +1 -1
  536. package/docs/pt/intlayer_with_astro.md +1 -1
  537. package/docs/pt/intlayer_with_astro_lit.md +1 -1
  538. package/docs/pt/intlayer_with_astro_preact.md +1 -1
  539. package/docs/pt/intlayer_with_astro_react.md +1 -1
  540. package/docs/pt/intlayer_with_astro_solid.md +1 -1
  541. package/docs/pt/intlayer_with_astro_svelte.md +1 -1
  542. package/docs/pt/intlayer_with_astro_vanilla.md +1 -1
  543. package/docs/pt/intlayer_with_astro_vue.md +1 -1
  544. package/docs/pt/intlayer_with_create_react_app.md +1 -1
  545. package/docs/pt/intlayer_with_express.md +1 -1
  546. package/docs/pt/intlayer_with_fastify.md +1 -1
  547. package/docs/pt/intlayer_with_hono.md +1 -1
  548. package/docs/pt/intlayer_with_nestjs.md +1 -1
  549. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  550. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  551. package/docs/pt/intlayer_with_nextjs_16.md +1 -1
  552. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1 -1
  553. package/docs/pt/intlayer_with_nuxt.md +1 -1
  554. package/docs/pt/intlayer_with_react_router_v7.md +1 -1
  555. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +1 -1
  556. package/docs/pt/intlayer_with_tanstack+solid.md +1 -1
  557. package/docs/pt/intlayer_with_tanstack.md +1 -1
  558. package/docs/pt/intlayer_with_vanilla.md +1 -1
  559. package/docs/pt/intlayer_with_vite+lit.md +1 -1
  560. package/docs/pt/intlayer_with_vite+preact.md +1 -1
  561. package/docs/pt/intlayer_with_vite+react.md +1 -1
  562. package/docs/pt/intlayer_with_vite+solid.md +1 -1
  563. package/docs/pt/intlayer_with_vite+svelte.md +1 -1
  564. package/docs/pt/intlayer_with_vite+vanilla.md +1 -1
  565. package/docs/pt/intlayer_with_vite+vue.md +1 -1
  566. package/docs/pt/migration_from_i18next_to_intlayer.md +313 -0
  567. package/docs/pt/migration_from_next-i18next_to_intlayer.md +338 -0
  568. package/docs/pt/migration_from_next-intl_to_intlayer.md +347 -0
  569. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  570. package/docs/pt/migration_from_react-i18next_to_intlayer.md +367 -0
  571. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +342 -0
  572. package/docs/ru/bundle_optimization.md +253 -105
  573. package/docs/ru/configuration.md +10 -9
  574. package/docs/ru/intlayer_with_adonisjs.md +1 -1
  575. package/docs/ru/intlayer_with_analog.md +1 -1
  576. package/docs/ru/intlayer_with_angular_19.md +1 -1
  577. package/docs/ru/intlayer_with_angular_21.md +1 -1
  578. package/docs/ru/intlayer_with_astro.md +1 -1
  579. package/docs/ru/intlayer_with_astro_lit.md +1 -1
  580. package/docs/ru/intlayer_with_astro_preact.md +1 -1
  581. package/docs/ru/intlayer_with_astro_react.md +1 -1
  582. package/docs/ru/intlayer_with_astro_solid.md +1 -1
  583. package/docs/ru/intlayer_with_astro_svelte.md +1 -1
  584. package/docs/ru/intlayer_with_astro_vanilla.md +1 -1
  585. package/docs/ru/intlayer_with_astro_vue.md +1 -1
  586. package/docs/ru/intlayer_with_create_react_app.md +1 -1
  587. package/docs/ru/intlayer_with_express.md +1 -1
  588. package/docs/ru/intlayer_with_fastify.md +1 -1
  589. package/docs/ru/intlayer_with_hono.md +1 -1
  590. package/docs/ru/intlayer_with_nestjs.md +1 -1
  591. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  592. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  593. package/docs/ru/intlayer_with_nextjs_16.md +1 -1
  594. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
  595. package/docs/ru/intlayer_with_nuxt.md +1 -1
  596. package/docs/ru/intlayer_with_react_router_v7.md +1 -1
  597. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -1
  598. package/docs/ru/intlayer_with_tanstack+solid.md +1 -1
  599. package/docs/ru/intlayer_with_tanstack.md +1 -1
  600. package/docs/ru/intlayer_with_vanilla.md +1 -1
  601. package/docs/ru/intlayer_with_vite+lit.md +1 -1
  602. package/docs/ru/intlayer_with_vite+preact.md +1 -1
  603. package/docs/ru/intlayer_with_vite+react.md +1 -1
  604. package/docs/ru/intlayer_with_vite+solid.md +1 -1
  605. package/docs/ru/intlayer_with_vite+svelte.md +1 -1
  606. package/docs/ru/intlayer_with_vite+vanilla.md +1 -1
  607. package/docs/ru/intlayer_with_vite+vue.md +1 -1
  608. package/docs/ru/migration_from_i18next_to_intlayer.md +313 -0
  609. package/docs/ru/migration_from_next-i18next_to_intlayer.md +338 -0
  610. package/docs/ru/migration_from_next-intl_to_intlayer.md +347 -0
  611. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +311 -0
  612. package/docs/ru/migration_from_react-i18next_to_intlayer.md +367 -0
  613. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +342 -0
  614. package/docs/tr/bundle_optimization.md +255 -107
  615. package/docs/tr/configuration.md +10 -9
  616. package/docs/tr/intlayer_with_adonisjs.md +1 -1
  617. package/docs/tr/intlayer_with_analog.md +1 -1
  618. package/docs/tr/intlayer_with_angular_19.md +1 -1
  619. package/docs/tr/intlayer_with_angular_21.md +1 -1
  620. package/docs/tr/intlayer_with_astro.md +1 -1
  621. package/docs/tr/intlayer_with_astro_lit.md +1 -1
  622. package/docs/tr/intlayer_with_astro_preact.md +1 -1
  623. package/docs/tr/intlayer_with_astro_react.md +1 -1
  624. package/docs/tr/intlayer_with_astro_solid.md +1 -1
  625. package/docs/tr/intlayer_with_astro_svelte.md +1 -1
  626. package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
  627. package/docs/tr/intlayer_with_astro_vue.md +1 -1
  628. package/docs/tr/intlayer_with_create_react_app.md +1 -1
  629. package/docs/tr/intlayer_with_express.md +1 -1
  630. package/docs/tr/intlayer_with_fastify.md +1 -1
  631. package/docs/tr/intlayer_with_hono.md +1 -1
  632. package/docs/tr/intlayer_with_nestjs.md +1 -1
  633. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  634. package/docs/tr/intlayer_with_nextjs_16.md +1 -1
  635. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
  636. package/docs/tr/intlayer_with_nuxt.md +1 -1
  637. package/docs/tr/intlayer_with_react_router_v7.md +1 -1
  638. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -1
  639. package/docs/tr/intlayer_with_tanstack+solid.md +1 -1
  640. package/docs/tr/intlayer_with_tanstack.md +1 -1
  641. package/docs/tr/intlayer_with_vanilla.md +1 -1
  642. package/docs/tr/intlayer_with_vite+lit.md +1 -1
  643. package/docs/tr/intlayer_with_vite+preact.md +1 -1
  644. package/docs/tr/intlayer_with_vite+react.md +1 -1
  645. package/docs/tr/intlayer_with_vite+solid.md +1 -1
  646. package/docs/tr/intlayer_with_vite+svelte.md +1 -1
  647. package/docs/tr/intlayer_with_vite+vanilla.md +1 -1
  648. package/docs/tr/intlayer_with_vite+vue.md +1 -1
  649. package/docs/tr/migration_from_i18next_to_intlayer.md +314 -0
  650. package/docs/tr/migration_from_next-i18next_to_intlayer.md +339 -0
  651. package/docs/tr/migration_from_next-intl_to_intlayer.md +348 -0
  652. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +312 -0
  653. package/docs/tr/migration_from_react-i18next_to_intlayer.md +368 -0
  654. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +343 -0
  655. package/docs/uk/bundle_optimization.md +250 -102
  656. package/docs/uk/configuration.md +10 -9
  657. package/docs/uk/intlayer_with_adonisjs.md +1 -1
  658. package/docs/uk/intlayer_with_analog.md +1 -1
  659. package/docs/uk/intlayer_with_angular_19.md +1 -1
  660. package/docs/uk/intlayer_with_angular_21.md +1 -1
  661. package/docs/uk/intlayer_with_astro.md +1 -1
  662. package/docs/uk/intlayer_with_astro_lit.md +1 -1
  663. package/docs/uk/intlayer_with_astro_preact.md +1 -1
  664. package/docs/uk/intlayer_with_astro_react.md +1 -1
  665. package/docs/uk/intlayer_with_astro_solid.md +1 -1
  666. package/docs/uk/intlayer_with_astro_svelte.md +1 -1
  667. package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
  668. package/docs/uk/intlayer_with_astro_vue.md +1 -1
  669. package/docs/uk/intlayer_with_create_react_app.md +1 -1
  670. package/docs/uk/intlayer_with_express.md +1 -1
  671. package/docs/uk/intlayer_with_fastify.md +1 -1
  672. package/docs/uk/intlayer_with_hono.md +1 -1
  673. package/docs/uk/intlayer_with_nestjs.md +1 -1
  674. package/docs/uk/intlayer_with_nextjs_14.md +1 -1
  675. package/docs/uk/intlayer_with_nextjs_15.md +1 -1
  676. package/docs/uk/intlayer_with_nextjs_16.md +1 -1
  677. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1 -1
  678. package/docs/uk/intlayer_with_nuxt.md +1 -1
  679. package/docs/uk/intlayer_with_react_router_v7.md +1 -1
  680. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +1 -1
  681. package/docs/uk/intlayer_with_tanstack+solid.md +1 -1
  682. package/docs/uk/intlayer_with_tanstack.md +1 -1
  683. package/docs/uk/intlayer_with_vanilla.md +1 -1
  684. package/docs/uk/intlayer_with_vite+lit.md +1 -1
  685. package/docs/uk/intlayer_with_vite+preact.md +1 -1
  686. package/docs/uk/intlayer_with_vite+react.md +1 -1
  687. package/docs/uk/intlayer_with_vite+solid.md +1 -1
  688. package/docs/uk/intlayer_with_vite+svelte.md +1 -1
  689. package/docs/uk/intlayer_with_vite+vanilla.md +1 -1
  690. package/docs/uk/intlayer_with_vite+vue.md +1 -1
  691. package/docs/ur/bundle_optimization.md +257 -109
  692. package/docs/ur/configuration.md +10 -9
  693. package/docs/ur/intlayer_with_angular_21.md +1 -1
  694. package/docs/ur/intlayer_with_fastify.md +1 -1
  695. package/docs/ur/intlayer_with_hono.md +1 -1
  696. package/docs/ur/intlayer_with_vanilla.md +1 -1
  697. package/docs/ur/intlayer_with_vite+lit.md +1 -1
  698. package/docs/ur/intlayer_with_vite+vanilla.md +1 -1
  699. package/docs/vi/bundle_optimization.md +259 -111
  700. package/docs/vi/configuration.md +10 -9
  701. package/docs/vi/intlayer_with_adonisjs.md +1 -1
  702. package/docs/vi/intlayer_with_analog.md +1 -1
  703. package/docs/vi/intlayer_with_angular_19.md +1 -1
  704. package/docs/vi/intlayer_with_angular_21.md +1 -1
  705. package/docs/vi/intlayer_with_astro.md +1 -1
  706. package/docs/vi/intlayer_with_astro_lit.md +1 -1
  707. package/docs/vi/intlayer_with_astro_preact.md +1 -1
  708. package/docs/vi/intlayer_with_astro_react.md +1 -1
  709. package/docs/vi/intlayer_with_astro_solid.md +1 -1
  710. package/docs/vi/intlayer_with_astro_svelte.md +1 -1
  711. package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
  712. package/docs/vi/intlayer_with_astro_vue.md +1 -1
  713. package/docs/vi/intlayer_with_create_react_app.md +1 -1
  714. package/docs/vi/intlayer_with_express.md +1 -1
  715. package/docs/vi/intlayer_with_fastify.md +1 -1
  716. package/docs/vi/intlayer_with_hono.md +1 -1
  717. package/docs/vi/intlayer_with_nestjs.md +1 -1
  718. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  719. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  720. package/docs/vi/intlayer_with_nextjs_16.md +1 -1
  721. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1 -1
  722. package/docs/vi/intlayer_with_nuxt.md +1 -1
  723. package/docs/vi/intlayer_with_react_router_v7.md +1 -1
  724. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -1
  725. package/docs/vi/intlayer_with_tanstack+solid.md +1 -1
  726. package/docs/vi/intlayer_with_tanstack.md +1 -1
  727. package/docs/vi/intlayer_with_vanilla.md +1 -1
  728. package/docs/vi/intlayer_with_vite+lit.md +1 -1
  729. package/docs/vi/intlayer_with_vite+preact.md +1 -1
  730. package/docs/vi/intlayer_with_vite+react.md +1 -1
  731. package/docs/vi/intlayer_with_vite+solid.md +1 -1
  732. package/docs/vi/intlayer_with_vite+svelte.md +1 -1
  733. package/docs/vi/intlayer_with_vite+vanilla.md +1 -1
  734. package/docs/vi/intlayer_with_vite+vue.md +1 -1
  735. package/docs/zh/bundle_optimization.md +260 -112
  736. package/docs/zh/configuration.md +10 -9
  737. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  738. package/docs/zh/intlayer_with_analog.md +1 -1
  739. package/docs/zh/intlayer_with_angular_19.md +1 -1
  740. package/docs/zh/intlayer_with_angular_21.md +1 -1
  741. package/docs/zh/intlayer_with_astro.md +1 -1
  742. package/docs/zh/intlayer_with_astro_lit.md +1 -1
  743. package/docs/zh/intlayer_with_astro_preact.md +1 -1
  744. package/docs/zh/intlayer_with_astro_react.md +1 -1
  745. package/docs/zh/intlayer_with_astro_solid.md +1 -1
  746. package/docs/zh/intlayer_with_astro_svelte.md +1 -1
  747. package/docs/zh/intlayer_with_astro_vanilla.md +1 -1
  748. package/docs/zh/intlayer_with_astro_vue.md +1 -1
  749. package/docs/zh/intlayer_with_create_react_app.md +1 -1
  750. package/docs/zh/intlayer_with_express.md +1 -1
  751. package/docs/zh/intlayer_with_fastify.md +1 -1
  752. package/docs/zh/intlayer_with_hono.md +1 -1
  753. package/docs/zh/intlayer_with_nestjs.md +1 -1
  754. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  755. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  756. package/docs/zh/intlayer_with_nextjs_16.md +1 -1
  757. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
  758. package/docs/zh/intlayer_with_nuxt.md +1 -1
  759. package/docs/zh/intlayer_with_react_router_v7.md +1 -1
  760. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -1
  761. package/docs/zh/intlayer_with_tanstack+solid.md +1 -1
  762. package/docs/zh/intlayer_with_tanstack.md +1 -1
  763. package/docs/zh/intlayer_with_vanilla.md +1 -1
  764. package/docs/zh/intlayer_with_vite+lit.md +1 -1
  765. package/docs/zh/intlayer_with_vite+preact.md +1 -1
  766. package/docs/zh/intlayer_with_vite+react.md +1 -1
  767. package/docs/zh/intlayer_with_vite+solid.md +1 -1
  768. package/docs/zh/intlayer_with_vite+svelte.md +1 -1
  769. package/docs/zh/intlayer_with_vite+vanilla.md +1 -1
  770. package/docs/zh/intlayer_with_vite+vue.md +1 -1
  771. package/docs/zh-TW/bundle_optimization.md +602 -0
  772. package/docs/zh-TW/intlayer_with_angular_21.md +1 -1
  773. package/package.json +8 -8
  774. package/src/generated/docs.entry.ts +120 -0
@@ -145,7 +145,7 @@ export default indexContent;
145
145
  }
146
146
  ```
147
147
 
148
- > Deklarace obsahu lze definovat kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`). A musí odpovídat příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
148
+ > Deklarace obsahu lze definovat kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`). A musí odpovídat příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
149
149
 
150
150
  > Další podrobnosti naleznete v [dokumentaci k deklaraci obsahu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/cs/dictionary/content_file.md).
151
151
 
@@ -162,7 +162,7 @@ module.exports = indexContent;
162
162
  }
163
163
  ```
164
164
 
165
- > Deklarace vašeho obsahu lze definovat kdekoli ve vaší aplikaci, pokud jsou zahrnuty do adresáře `contentDir` (ve výchozím nastavení `./src`) a odpovídají příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
165
+ > Deklarace vašeho obsahu lze definovat kdekoli ve vaší aplikaci, pokud jsou zahrnuty do adresáře `contentDir` (ve výchozím nastavení `./src`) a odpovídají příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
166
166
 
167
167
  > Další podrobnosti naleznete v [dokumentaci deklarace obsahu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/cs/dictionary/content_file.md).
168
168
 
@@ -290,7 +290,7 @@ export default appContent;
290
290
  }
291
291
  ```
292
292
 
293
- > Deklarace obsahu mohou být definovány kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`). A odpovídají příponě souboru s deklarací obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
293
+ > Deklarace obsahu mohou být definovány kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`). A odpovídají příponě souboru s deklarací obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
294
294
  >
295
295
  > Další podrobnosti naleznete v [dokumentaci k deklaraci obsahu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/cs/dictionary/content_file.md).
296
296
 
@@ -267,7 +267,7 @@ export default appContent;
267
267
  }
268
268
  ```
269
269
 
270
- > Vaše deklarace obsahu mohou být definovány kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`) a odpovídají příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
270
+ > Vaše deklarace obsahu mohou být definovány kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`) a odpovídají příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
271
271
  >
272
272
  > Pro více informací se podívejte do [dokumentace deklarace obsahu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/cs/dictionary/content_file.md).
273
273
 
@@ -259,7 +259,7 @@ export default appContent;
259
259
  }
260
260
  ```
261
261
 
262
- > Vaše deklarace obsahu mohou být definovány kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`). A odpovídají příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
262
+ > Vaše deklarace obsahu mohou být definovány kdekoli ve vaší aplikaci, pokud jsou zahrnuty v adresáři `contentDir` (ve výchozím nastavení `./src`). A odpovídají příponě souboru deklarace obsahu (ve výchozím nastavení `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
263
263
  >
264
264
  > Více podrobností naleznete v [dokumentaci k deklaraci obsahu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/cs/dictionary/content_file.md).
265
265
 
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  createdAt: 2025-11-25
3
- updatedAt: 2026-04-08
4
- title: Optimierung der i18n-Bundle-Größe und Leistung
5
- description: Reduzieren Sie die Bundle-Größe Ihrer Anwendung, indem Sie Internationalisierungs-Inhalte (i18n) optimieren. Erfahren Sie, wie Sie Tree Shaking und Lazy Loading für Wörterbücher mit Intlayer nutzen.
3
+ updatedAt: 2026-06-07
4
+ title: Optimierung der i18n-Bundle-Größe & Leistung
5
+ description: Reduzieren Sie die Bundle-Größe Ihrer Anwendung, indem Sie den Inhalt der Internationalisierung (i18n) optimieren. Erfahren Sie, wie Sie Tree Shaking und Lazy Loading für Wörterbücher mit Intlayer nutzen.
6
6
  keywords:
7
- - Bundle-Optimierung
7
+ - Bundle Optimierung
8
8
  - Inhaltsautomatisierung
9
9
  - Dynamischer Inhalt
10
10
  - Intlayer
@@ -16,33 +16,36 @@ slugs:
16
16
  - concept
17
17
  - bundle-optimization
18
18
  history:
19
+ - version: 8.12.0
20
+ date: 2026-06-07
21
+ changes: "Hinzufügen von `intlayerPurgeBabelPlugin` und `intlayerMinifyBabelPlugin` für Babel/Webpack; Klarstellung der Plugin-Pipeline"
19
22
  - version: 8.7.0
20
23
  date: 2026-04-08
21
- changes: "Optionen `minify` und `purge` zur Build-Konfiguration hinzugefügt"
24
+ changes: "Hinzufügen der Optionen `minify` und `purge` zur Build-Konfiguration"
22
25
  ---
23
26
 
24
- # Optimierung der i18n-Bundle-Größe und Leistung
27
+ # Optimierung der i18n-Bundle-Größe & Leistung
25
28
 
26
- Eine der häufigsten Herausforderungen bei traditionellen i18n-Lösungen, die auf JSON-Dateien basieren, ist die Verwaltung der Inhaltsgröße. Wenn Entwickler Inhalte nicht manuell in Namensräume trennen, laden Benutzer oft Übersetzungen für jede Seite und potenziell jede Sprache herunter, nur um eine einzige Seite anzuzeigen.
29
+ Eine der häufigsten Herausforderungen bei traditionellen i18n-Lösungen, die auf JSON-Dateien basieren, ist die Verwaltung der Inhaltsgröße. Wenn Entwickler den Inhalt nicht manuell in Namespaces trennen, laden Benutzer oft Übersetzungen für jede Seite und möglicherweise jede Sprache herunter, nur um eine einzige Seite anzuzeigen.
27
30
 
28
- Beispielsweise könnte eine Anwendung mit 10 Seiten, die in 10 Sprachen übersetzt wurden, dazu führen, dass ein Benutzer den Inhalt von 100 Seiten herunterlädt, obwohl er nur **eine** benötigt (die aktuelle Seite in der aktuellen Sprache). Dies führt zu verschwendeter Bandbreite und langsameren Ladezeiten.
31
+ Beispielsweise könnte eine Anwendung mit 10 Seiten, die in 10 Sprachen übersetzt sind, dazu führen, dass ein Benutzer den Inhalt von 100 Seiten herunterlädt, obwohl er nur **eine** (die aktuelle Seite in der aktuellen Sprache) benötigt. Dies führt zu verschwendeter Bandbreite und langsameren Ladezeiten.
29
32
 
30
- **Intlayer löst dieses Problem durch Optimierung zur Build-Zeit.** Es analysiert Ihren Code, um festzustellen, welche Wörterbücher tatsächlich pro Komponente verwendet werden, und fügt nur den erforderlichen Inhalt in Ihr Bundle ein.
33
+ **Intlayer löst dieses Problem durch Optimierung zur Build-Zeit.** Es analysiert Ihren Code, um zu erkennen, welche Wörterbücher pro Komponente tatsächlich verwendet werden, und fügt nur den notwendigen Inhalt in Ihr Bundle ein.
31
34
 
32
35
  ## Inhaltsverzeichnis
33
36
 
34
37
  <TOC />
35
38
 
36
- ## Bundle scannen
39
+ ## Analysieren Sie Ihr Bundle
37
40
 
38
- Die Analyse Ihres Bundles ist der erste Schritt zur Identifizierung schwerer JSON-Dateien und Möglichkeiten zum Code-Splitting. Diese Tools generieren eine visuelle Treemap des kompilierten Codes Ihrer Anwendung, sodass Sie genau sehen können, welche Bibliotheken den meisten Platz verbrauchen.
41
+ Die Analyse Ihres Bundles ist der erste Schritt zur Identifizierung "schwerer" JSON-Dateien und Möglichkeiten zum Code-Splitting. Diese Tools generieren eine visuelle Treemap des kompilierten Codes Ihrer Anwendung, sodass Sie genau sehen können, welche Bibliotheken den meisten Platz beanspruchen.
39
42
 
40
43
  <Tabs>
41
44
  <Tab value="vite">
42
45
 
43
46
  ### Vite / Rollup
44
47
 
45
- Vite verwendet Rollup unter der Haube. Das Plugin `rollup-plugin-visualizer` generiert eine interaktive HTML-Datei, die die Größe jedes Moduls in Ihrem Graphen anzeigt.
48
+ Vite verwendet Rollup im Hintergrund. Das Plugin `rollup-plugin-visualizer` generiert eine interaktive HTML-Datei, die die Größe jedes Moduls in Ihrem Diagramm anzeigt.
46
49
 
47
50
  ```bash
48
51
  npm install -D rollup-plugin-visualizer
@@ -55,7 +58,7 @@ import { visualizer } from "rollup-plugin-visualizer";
55
58
  export default defineConfig({
56
59
  plugins: [
57
60
  visualizer({
58
- open: true, // Bericht automatisch im Browser öffnen
61
+ open: true, // Öffnet den Bericht automatisch in Ihrem Browser
59
62
  filename: "stats.html",
60
63
  gzipSize: true,
61
64
  brotliSize: true,
@@ -92,7 +95,7 @@ bun next experimental-analyze
92
95
 
93
96
  ### Next.js (Webpack)
94
97
 
95
- Wenn Sie den Standard-Webpack-Bundler in Next.js verwenden, nutzen Sie den offiziellen Bundle-Analyzer. Aktivieren Sie ihn, indem Sie während des Builds eine Umgebungsvariable setzen.
98
+ Wenn Sie den Standard-Webpack-Bundler in Next.js verwenden, verwenden Sie den offiziellen Bundle-Analyzer. Lösen Sie ihn aus, indem Sie während Ihres Builds eine Umgebungsvariable festlegen.
96
99
 
97
100
  ```bash packageManager='npm'
98
101
  npm install -D @next/bundle-analyzer
@@ -116,7 +119,7 @@ const withBundleAnalyzer = require("@next/bundle-analyzer")({
116
119
  });
117
120
 
118
121
  module.exports = withBundleAnalyzer({
119
- // Ihre Next.js-Konfiguration
122
+ // Ihre Next.js Konfiguration
120
123
  });
121
124
  ```
122
125
 
@@ -131,7 +134,7 @@ ANALYZE=true npm run build
131
134
 
132
135
  ### Standard Webpack
133
136
 
134
- Für Create React App (ejected), Angular oder benutzerdefinierte Webpack-Setups verwenden Sie den Branchenstandard `webpack-bundle-analyzer`.
137
+ Verwenden Sie für Create React App (ejected), Angular oder benutzerdefinierte Webpack-Setups den branchenüblichen `webpack-bundle-analyzer`.
135
138
 
136
139
  ```bash packageManager='npm'
137
140
  npm install -D webpack-bundle-analyzer
@@ -166,29 +169,66 @@ export default {
166
169
  </Tab>
167
170
  </Tabs>
168
171
 
169
- ## Funktionsweise
172
+ ## Wie es funktioniert
170
173
 
171
- Intlayer verwendet einen **Ansatz pro Komponente**. Im Gegensatz zu globalen JSON-Dateien wird Ihr Inhalt neben oder innerhalb Ihrer Komponenten definiert. Während des Build-Prozesses führt Intlayer folgende Schritte aus:
174
+ Intlayer verwendet einen **pro-Komponente-Ansatz**. Im Gegensatz zu globalen JSON-Dateien wird Ihr Inhalt neben oder in Ihren Komponenten definiert. Während des Build-Prozesses führt Intlayer Folgendes aus:
172
175
 
173
- 1. **Analysiert** Ihren Code, um `useIntlayer`-Aufrufe zu finden.
174
- 2. **Erstellt** den entsprechenden Wörterbuchinhalt.
175
- 3. **Ersetzt** den `useIntlayer`-Aufruf durch optimierten Code basierend auf Ihrer Konfiguration.
176
+ 1. **Analysiert** Ihren Code, um `useIntlayer`-Aufrufe zu finden.
177
+ 2. **Baut** den entsprechenden Wörterbuchinhalt auf.
178
+ 3. **Ersetzt** den `useIntlayer`-Aufruf durch optimierten Code basierend auf Ihrer Konfiguration.
176
179
 
177
180
  Dies stellt sicher, dass:
178
181
 
179
- - Wenn eine Komponente nicht importiert wird, ihr Inhalt nicht im Bundle enthalten ist (Dead Code Elimination).
180
- - Wenn eine Komponente per Lazy Loading geladen wird, ihr Inhalt ebenfalls per Lazy Loading geladen wird.
182
+ - Wenn eine Komponente nicht importiert wird, deren Inhalt nicht im Bundle enthalten ist (Dead Code Elimination).
183
+ - Wenn eine Komponente verzögert geladen wird (lazy loaded), ihr Inhalt ebenfalls verzögert geladen wird.
181
184
 
182
- ## Einrichtung nach Plattform
185
+ ## Plugin-Referenz
186
+
187
+ Die Build-Optimierung von Intlayer ist auf mehrere diskrete Plugins aufgeteilt, von denen jedes eine einzige Aufgabe hat. Zu verstehen, was jedes Plugin tut, verhindert Verwirrung beim Einrichten.
188
+
189
+ ### Babel Plugins (`@intlayer/babel`)
190
+
191
+ Diese werden direkt in der `babel.config.js` für Webpack-basierte Setups verwendet (Next.js mit Babel, CRA, benutzerdefiniertes Webpack usw.).
192
+
193
+ | Plugin | Was es tut |
194
+ | :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |
195
+ | `intlayerExtractBabelPlugin` | Scannt `.content.ts`-Dateien und schreibt kompilierte Wörterbücher nach `.intlayer/` |
196
+ | `intlayerOptimizeBabelPlugin` | Schreibt `useIntlayer('key')` → `useDictionary(hash)` um und fügt den passenden `import` des Wörterbuchs ein |
197
+ | `intlayerPurgeBabelPlugin` | Scannt alle Quelldateien und entfernt **nicht verwendete Inhaltsfelder** aus den kompilierten `.intlayer/**/*.json`-Dateien |
198
+ | `intlayerMinifyBabelPlugin` | **Benennt Inhaltsfeld-Schlüssel um** in kurze alphabetische Aliase (`title` → `a`) in JSON-Dateien und im Quellcode |
199
+
200
+ > **Die Reihenfolge der Plugins ist wichtig.** In Ihrer `babel.config.js` müssen das Purge- und Minify-Plugin **vor** dem Optimize-Plugin aufgeführt sein. Der Optimize-Pass ersetzt `useIntlayer('key')` durch einen undurchsichtigen `useDictionary(hash)`-Aufruf, wodurch die Information über den Wörterbuchschlüssel gelöscht wird, die der Purge- und Minify-Pass benötigen, um zu identifizieren, welche Felder verwendet werden.
201
+
202
+ Jedes Babel-Plugin verfügt über einen entsprechenden Options-Helfer, der Ihre `intlayer.config.ts` einmal zur Konfigurationsladezeit liest und vorab aufgelöste Werte zurückgibt:
203
+
204
+ | Options-Helfer | Verwendet mit |
205
+ | :--------------------------- | :---------------------------- |
206
+ | `getExtractPluginOptions()` | `intlayerExtractBabelPlugin` |
207
+ | `getOptimizePluginOptions()` | `intlayerOptimizeBabelPlugin` |
208
+ | `getPurgePluginOptions()` | `intlayerPurgeBabelPlugin` |
209
+ | `getMinifyPluginOptions()` | `intlayerMinifyBabelPlugin` |
210
+
211
+ ### Vite Plugins (`vite-intlayer`)
212
+
213
+ Vite-Benutzer **konfigurieren diese nie direkt**. Sie werden automatisch eingerichtet, wenn Sie `withIntlayer()` in der `vite.config.ts` aufrufen. Die Flags `build.purge` und `build.minify` in der `intlayer.config.ts` schalten das entsprechende Verhalten ohne zusätzliche Plugin-Registrierung um.
214
+
215
+ | Internes Vite Plugin | Äquivalentes Verhalten |
216
+ | :------------------- | :--------------------------------------------------------------------------------------------------- |
217
+ | Usage analyzer | Gleich wie die Analysephase des `intlayerPurgeBabelPlugin` |
218
+ | Dictionary prune | Gleich wie die JSON-Schreibphase des `intlayerPurgeBabelPlugin` |
219
+ | Dictionary minify | Gleich wie die JSON-Schreibphase des `intlayerMinifyBabelPlugin` |
220
+ | Babel transform | Gleich wie die Quellcode-Umbenennung des `intlayerMinifyBabelPlugin` + `intlayerOptimizeBabelPlugin` |
221
+
222
+ ## Setup nach Plattform
183
223
 
184
224
  <Tabs>
185
225
  <Tab value="nextjs">
186
226
 
187
227
  ### Next.js
188
228
 
189
- Next.js benötigt das `@intlayer/swc`-Plugin, um die Transformation zu handhaben, da Next.js SWC für Builds verwendet.
229
+ Next.js erfordert das Plugin `@intlayer/swc` für den Optimize-Pass (Import-Umschreibung), da Next.js SWC für Builds verwendet.
190
230
 
191
- > Dieses Plugin ist standardmäßig nicht installiert, da SWC-Plugins für Next.js noch experimentell sind. Dies kann sich in Zukunft ändern.
231
+ > Dieses Plugin ist nicht standardmäßig installiert, da SWC-Plugins für Next.js noch experimentell sind. Dies kann sich in Zukunft ändern.
192
232
 
193
233
  ```bash packageManager="npm"
194
234
  npm install -D @intlayer/swc
@@ -206,21 +246,63 @@ pnpm add -D @intlayer/swc
206
246
  bun add -d @intlayer/swc
207
247
  ```
208
248
 
209
- Nach der Installation erkennt und verwendet Intlayer das Plugin automatisch.
249
+ Nach der Installation erkennt Intlayer das Plugin automatisch und verwendet es.
250
+
251
+ Für die **Purge- und Minify**-Durchgänge (Feldentfernung und Feldumbenennung) installieren Sie parallel `@intlayer/babel` und fügen Sie die Babel-Plugins hinzu. Da Next.js SWC für die Transformation verwendet, aber weiterhin `babel.config.js` für die Plugin-Konfiguration auswertet, werden die Babel-Plugins als Vorpass vor SWC ausgeführt.
252
+
253
+ ```bash packageManager="npm"
254
+ npm install -D @intlayer/babel
255
+ ```
256
+
257
+ ```javascript fileName="babel.config.js"
258
+ const {
259
+ intlayerPurgeBabelPlugin,
260
+ intlayerMinifyBabelPlugin,
261
+ getPurgePluginOptions,
262
+ getMinifyPluginOptions,
263
+ } = require("@intlayer/babel");
264
+
265
+ module.exports = {
266
+ presets: ["next/babel"],
267
+ plugins: [
268
+ // Purge: Entfernt nicht verwendete Inhaltsfelder aus .intlayer/**/*.json
269
+ [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
270
+ // Minify: Benennt Inhaltsfeld-Schlüssel im JSON + Quellcode um
271
+ [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
272
+ // Hinweis: intlayerOptimizeBabelPlugin wird hier NICHT benötigt, da
273
+ // @intlayer/swc die Umschreibung useIntlayer → useDictionary übernimmt.
274
+ ],
275
+ };
276
+ ```
210
277
 
211
278
  </Tab>
212
279
  <Tab value="vite">
213
280
 
214
281
  ### Vite
215
282
 
216
- Vite verwendet das `@intlayer/babel`-Plugin, das als Abhängigkeit von `vite-intlayer` enthalten ist. Die Optimierung ist standardmäßig aktiviert. Es ist nichts weiter zu tun.
283
+ Vite verwendet das Plugin `@intlayer/babel`, das als Abhängigkeit von `vite-intlayer` enthalten ist. Die gesamte Optimierungspipeline — Importumschreibung, Purge und Minify — ist standardmäßig aktiviert und erfordert keine zusätzliche Plugin-Registrierung.
284
+
285
+ Aktivieren Sie Purge und Minify, indem Sie die entsprechenden Flags in `intlayer.config.ts` festlegen:
286
+
287
+ ```typescript fileName="intlayer.config.ts"
288
+ import type { IntlayerConfig } from "intlayer";
289
+
290
+ const config: IntlayerConfig = {
291
+ build: {
292
+ purge: true, // Entfernt nicht verwendete Inhaltsfelder aus gebündelten JSONs
293
+ minify: true, // Benennt Inhaltsfeld-Schlüssel in kurze Aliase um
294
+ },
295
+ };
296
+
297
+ export default config;
298
+ ```
217
299
 
218
300
  </Tab>
219
301
  <Tab value="webpack">
220
302
 
221
- ### Webpack
303
+ ### Webpack (und Next.js mit Babel)
222
304
 
223
- Um die Bundle-Optimierung mit Intlayer in Webpack zu aktivieren, müssen Sie das entsprechende Babel- (`@intlayer/babel`) oder SWC- (`@intlayer/swc`) Plugin installieren und konfigurieren.
305
+ Installieren Sie `@intlayer/babel`:
224
306
 
225
307
  ```bash packageManager="npm"
226
308
  npm install -D @intlayer/babel
@@ -238,14 +320,37 @@ pnpm add -D @intlayer/babel
238
320
  bun add -d @intlayer/babel
239
321
  ```
240
322
 
241
- ```typescript fileName="babel.config.js"
323
+ Fügen Sie alle vier Plugins in der richtigen Reihenfolge zur `babel.config.js` hinzu:
324
+
325
+ ```javascript fileName="babel.config.js"
242
326
  const {
243
- getOptimizePluginOptions,
327
+ intlayerExtractBabelPlugin,
328
+ intlayerPurgeBabelPlugin,
329
+ intlayerMinifyBabelPlugin,
244
330
  intlayerOptimizeBabelPlugin,
331
+ getExtractPluginOptions,
332
+ getPurgePluginOptions,
333
+ getMinifyPluginOptions,
334
+ getOptimizePluginOptions,
245
335
  } = require("@intlayer/babel");
246
336
 
247
337
  module.exports = {
248
- plugins: [[intlayerOptimizeBabelPlugin, getOptimizePluginOptions()]],
338
+ plugins: [
339
+ // Extract: kompiliert .content.ts Dateien → .intlayer/**/*.json
340
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
341
+
342
+ // Purge: entfernt nicht verwendete Felder aus .intlayer/**/*.json
343
+ // (liest das Flag build.purge aus intlayer.config.ts)
344
+ [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
345
+
346
+ // Minify: benennt Feld-Schlüssel in JSON + Quellcode um
347
+ // (liest das Flag build.minify aus intlayer.config.ts)
348
+ [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
349
+
350
+ // Optimize: schreibt useIntlayer('key') → useDictionary(hash) um
351
+ // Muss zuletzt stehen, da es den Wörterbuchschlüssel löscht.
352
+ [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
353
+ ],
249
354
  };
250
355
  ```
251
356
 
@@ -254,57 +359,62 @@ module.exports = {
254
359
 
255
360
  ## Konfiguration
256
361
 
257
- Sie können steuern, wie Intlayer Ihr Bundle optimiert, indem Sie die Eigenschaft `build` in Ihrer `intlayer.config.ts` verwenden.
362
+ Sie können steuern, wie Intlayer Ihr Bundle optimiert, über die Eigenschaft `build` in Ihrer `intlayer.config.ts`.
258
363
 
259
364
  ```typescript fileName="intlayer.config.ts"
260
365
  import { Locales, type IntlayerConfig } from "intlayer";
261
366
 
262
367
  const config: IntlayerConfig = {
263
368
  internationalization: {
264
- locales: [Locales.ENGLISH, Locales.FRENCH],
369
+ locales: [Locales.ENGLISH, Locales.GERMAN],
265
370
  defaultLocale: Locales.ENGLISH,
266
371
  },
267
372
  dictionary: {
268
373
  importMode: "dynamic",
269
374
  },
270
375
  build: {
271
- /**
272
- * Wörterbücher minimieren, um die Bundle-Größe zu reduzieren.
273
- */
274
- minify: true;
275
-
276
- /**
277
- * Nicht verwendete Schlüssel in Wörterbüchern entfernen (Purge)
278
- */
279
- purge: true;
280
-
281
- /**
282
- * Gibt an, ob beim Build TypeScript-Typen geprüft werden sollen
283
- */
284
- checkTypes: false;
376
+ // Ersetzt useIntlayer() Aufrufe zur Build-Zeit durch direkte Wörterbuch-Importe.
377
+ // undefined = auto (aktiviert in der Produktion), true = immer, false = nie.
378
+ optimize: undefined,
379
+
380
+ // Benennt Inhaltsfeld-Schlüssel in kompilierten Wörterbüchern in kurze alphabetische
381
+ // Aliase um (z.B. title → a). Reduziert die JSON-Größe; erfordert optimize.
382
+ minify: true,
383
+
384
+ // Entfernt Inhaltsfelder, die im Quellcode nie aufgerufen werden.
385
+ // Erfordert optimize.
386
+ purge: true,
285
387
  },
286
388
  };
287
389
 
288
390
  export default config;
289
391
  ```
290
392
 
291
- > In den meisten Fällen wird empfohlen, die Standardoption für `optimize` beizubehalten.
393
+ > Es wird empfohlen, in den meisten Fällen den Standardwert (`undefined`) für `optimize` beizubehalten.
292
394
 
293
- > Weitere Details finden Sie in der Konfigurationsdokumentation: [Konfiguration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md)
395
+ > Siehe die Konferenzreferenz für alle Optionen: [Konfiguration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md)
294
396
 
295
397
  ### Build-Optionen
296
398
 
297
- Folgende Optionen sind im `build`-Konfigurationsobjekt verfügbar:
399
+ | Eigenschaft | Typ | Standard | Beschreibung |
400
+ | :------------- | :--------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
401
+ | **`optimize`** | `boolean \| undefined` | `undefined` | Aktiviert den Import-Umschreibungspass. `undefined` = nur in Produktionsbuilds aktiv. `false` deaktiviert auch Purge und Minify. |
402
+ | **`minify`** | `boolean` | `false` | Benennt Inhaltsfeld-Schlüssel in kompilierten JSON-Dateien in kurze alphabetische Aliase um. Schreibt auch entsprechende Eigenschaftszugriffe im Quellcode um. Hat keine Auswirkungen, wenn `optimize` auf `false` gesetzt ist. |
403
+ | **`purge`** | `boolean` | `false` | Entfernt Inhaltsfelder, auf die nie statisch im Quellcode zugegriffen wird, aus den kompilierten JSON-Dateien. Hat keine Auswirkungen, wenn `optimize` auf `false` gesetzt ist. |
298
404
 
299
- | Eigenschaft | Typ | Standard | Beschreibung |
300
- | :------------- | :-------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
301
- | **`optimize`** | `boolean` | `undefined` | Steuert, ob die Build-Optimierung aktiviert ist. Wenn `true`, ersetzt Intlayer Wörterbuchaufrufe durch optimierte Injektionen. Wenn `false`, ist die Optimierung deaktiviert. Im Idealfall in der Produktion auf `true` setzen. |
302
- | **`minify`** | `boolean` | `false` | Ob die Wörterbücher minimiert werden sollen, um die Bundle-Größe zu reduzieren. |
303
- | **`purge`** | `boolean` | `false` | Ob nicht verwendete Schlüssel in Wörterbüchern entfernt werden sollen. |
405
+ ### Minifizierung (Feld-Schlüssel-Umbennung)
304
406
 
305
- ### Minimierung
407
+ `build.minify` verkleinert **nicht** Ihr JavaScript-Bundle — das erledigt Ihr Bundler. Stattdessen schrumpft es die kompilierten Wörterbuch-JSON-Dateien, indem jeder benutzerdefinierte Inhaltsfeld-Schlüssel durch einen kurzen alphabetischen Alias ersetzt wird:
306
408
 
307
- Die Minimierung von Wörterbüchern entfernt unnötige Leerzeichen, Kommentare und reduziert die Größe des JSON-Inhalts. Dies ist besonders nützlich für große Wörterbücher.
409
+ ```
410
+ // Vor der Minifizierung
411
+ { "title": "Hallo", "subtitle": "Welt" }
412
+
413
+ // Nach der Minifizierung
414
+ { "a": "Hallo", "b": "Welt" }
415
+ ```
416
+
417
+ Dieselbe Umbenennung wird auf alle Eigenschaftszugriffe in Ihrem Quellcode angewendet, sodass `content.title` in der kompilierten Ausgabe zu `content.a` wird. Das Verhalten zur Laufzeit bleibt identisch.
308
418
 
309
419
  ```typescript fileName="intlayer.config.ts"
310
420
  import type { IntlayerConfig } from "intlayer";
@@ -318,11 +428,13 @@ const config: IntlayerConfig = {
318
428
  export default config;
319
429
  ```
320
430
 
321
- > Hinweis: Die Minimierung wird ignoriert, wenn `optimize` deaktiviert ist oder wenn der Visual Editor aktiviert ist (da der Editor den vollständigen Inhalt benötigt, um Bearbeitungen zu ermöglichen).
431
+ > Die Minifizierung wird übersprungen, wenn `optimize` auf `false` gesetzt ist oder wenn `editor.enabled` auf `true` steht (der visuelle Editor benötigt die ursprünglichen Feldnamen, um die Bearbeitung zu ermöglichen).
432
+
433
+ > Die Minifizierung wird ebenfalls für Wörterbücher übersprungen, die über `importMode: 'fetch'` geladen werden, da deren JSON von einer Remote-API mit den ursprünglichen Feldnamen bereitgestellt wird — das Umbenennen der clientseitigen Schlüssel würde den Server/Client-Vertrag brechen.
322
434
 
323
- ### Purging (Bereinigung)
435
+ ### Purging (Entfernen ungenutzter Felder)
324
436
 
325
- Purging stellt sicher, dass nur die tatsächlich in Ihrem Code verwendeten Schlüssel im finalen Wörterbuch-Bundle enthalten sind. Dies kann die Größe Ihres Bundles erheblich reduzieren, wenn Sie große Wörterbücher mit vielen Schlüsseln haben, die nicht in jedem Teil Ihrer Anwendung verwendet werden.
437
+ `build.purge` analysiert, auf welche Inhaltsfelder in Ihrem Quellcode tatsächlich zugegriffen wird, und entfernt alle anderen aus den kompilierten JSON-Dateien.
326
438
 
327
439
  ```typescript fileName="intlayer.config.ts"
328
440
  import type { IntlayerConfig } from "intlayer";
@@ -336,34 +448,50 @@ const config: IntlayerConfig = {
336
448
  export default config;
337
449
  ```
338
450
 
339
- > Hinweis: Purging wird ignoriert, wenn `optimize` deaktiviert ist.
451
+ **Beispiel:** Ein Wörterbuch mit fünf Feldern, von denen nur zwei verwendet werden:
452
+
453
+ ```
454
+ // Vor dem Purge
455
+ { "title": "…", "subtitle": "…", "cta": "…", "footer": "…", "badge": "…" }
456
+
457
+ // Nach dem Purge (nur auf title + subtitle wird im Quellcode zugegriffen)
458
+ { "title": "…", "subtitle": "…" }
459
+ ```
460
+
461
+ > Der Purge wird übersprungen, wenn `optimize` auf `false` oder `editor.enabled` auf `true` gesetzt ist.
462
+
463
+ > Der Purge wird auch konservativ übersprungen, wenn eine Quelldatei nicht analysiert werden kann, oder wenn das Ergebnis von `useIntlayer` einer Variablen zugewiesen und auf eine Weise weitergegeben wird, die der statische Analysator nicht verfolgen kann (z.B. in ein Objekt eingefügt oder als Prop ohne Destrukturierung übergeben). In diesen Fällen wird das gesamte Wörterbuch beibehalten.
340
464
 
341
465
  ### Import-Modus
342
466
 
343
- Für große Anwendungen, die mehrere Seiten und Sprachen umfassen, können Ihre JSON-Dateien einen erheblichen Teil Ihrer Bundle-Größe ausmachen. Intlayer ermöglicht es Ihnen zu steuern, wie Wörterbücher geladen werden.
467
+ Für große Anwendungen, die mehrere Seiten und Sprachen umfassen, kann das JSON einen erheblichen Teil der Größe Ihres Bundles ausmachen. Intlayer ermöglicht es Ihnen zu steuern, wie Wörterbücher mit der `importMode`-Option geladen werden.
468
+
469
+ ### Globale Definition
344
470
 
345
- Der Import-Modus kann standardmäßig global in Ihrer `intlayer.config.ts`-Datei definiert werden.
471
+ Der Import-Modus kann global in Ihrer `intlayer.config.ts`-Datei definiert werden.
346
472
 
347
473
  ```typescript fileName="intlayer.config.ts"
348
474
  import type { IntlayerConfig } from "intlayer";
349
475
 
350
476
  const config: IntlayerConfig = {
351
- build: {
352
- minify: true,
477
+ dictionary: {
478
+ importMode: "dynamic", // Standard ist 'static'
353
479
  },
354
480
  };
355
481
 
356
482
  export default config;
357
483
  ```
358
484
 
359
- Ebenso wie für jedes Wörterbuch in Ihren `.content.{{ts|tsx|js|jsx|mjs|cjs|json|jsonc|json5}}`-Dateien.
485
+ ### Pro-Wörterbuch-Definition
486
+
487
+ Sie können den Import-Modus für einzelne Wörterbücher in deren `.content.{{ts|tsx|js|jsx|mjs|cjs|json|jsonc|json5|md|mdx|yaml|yml}}`-Dateien überschreiben.
360
488
 
361
489
  ```ts
362
490
  import { type Dictionary, t } from "intlayer";
363
491
 
364
492
  const appContent: Dictionary = {
365
493
  key: "app",
366
- importMode: "dynamic", // Standard-Importmodus überschreiben
494
+ importMode: "dynamic", // Überschreibt den standardmäßigen Import-Modus
367
495
  content: {
368
496
  // ...
369
497
  },
@@ -372,20 +500,19 @@ const appContent: Dictionary = {
372
500
  export default appContent;
373
501
  ```
374
502
 
375
- | Eigenschaft | Typ | Standard | Beschreibung |
376
- | :--------------- | :--------------------------------- | :--------- | :-------------------------------------------------------------------------------------------------------------------------------- |
377
- | **`importMode`** | `'static'`, `'dynamic'`, `'fetch'` | `'static'` | **Veraltet**: Verwenden Sie stattdessen `dictionary.importMode`. Bestimmt, wie Wörterbücher geladen werden (siehe Details unten). |
503
+ | Eigenschaft | Typ | Standard | Beschreibung |
504
+ | :--------------- | :--------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------- |
505
+ | **`importMode`** | `'static'`, `'dynamic'`, `'fetch'` | `'static'` | **Veraltet**: Verwenden Sie stattdessen `dictionary.importMode`. Legt fest, wie Wörterbücher geladen werden (siehe unten). |
378
506
 
379
- Die Einstellung `importMode` legt fest, wie der Wörterbuchinhalt in Ihre Komponente eingefügt wird.
380
- Sie können dies global in der Datei `intlayer.config.ts` unter dem Objekt `dictionary` definieren oder für ein bestimmtes Wörterbuch in dessen `.content.ts`-Datei überschreiben.
507
+ Die Einstellung `importMode` bestimmt, wie der Wörterbuchinhalt in Ihre Komponente eingefügt wird. Sie können dies global in der `intlayer.config.ts` unter dem Objekt `dictionary` definieren oder für jedes Wörterbuch einzeln in dessen `.content.ts`-Datei überschreiben.
381
508
 
382
509
  ### 1. Statischer Modus (`default`)
383
510
 
384
- Im statischen Modus ersetzt Intlayer `useIntlayer` durch `useDictionary` und fügt das Wörterbuch direkt in das JavaScript-Bundle ein.
511
+ Im statischen Modus ersetzt Intlayer `useIntlayer` durch `useDictionary` und injiziert das Wörterbuch direkt ins JavaScript-Bundle.
385
512
 
386
- - **Vorteile:** Sofortiges Rendering (synchron), keine zusätzlichen Netzwerkanfragen während der Hydrierung.
513
+ - **Vorteile:** Sofortiges Rendering (synchron), keine zusätzlichen Netzwerkanfragen während der Hydratation.
387
514
  - **Nachteile:** Das Bundle enthält Übersetzungen für **alle** verfügbaren Sprachen für diese spezifische Komponente.
388
- - **Ideal für:** Single Page Applications (SPA).
515
+ - **Am besten für:** Single Page Applications (SPA).
389
516
 
390
517
  **Beispiel für transformierten Code:**
391
518
 
@@ -393,14 +520,15 @@ Im statischen Modus ersetzt Intlayer `useIntlayer` durch `useDictionary` und fü
393
520
  // Ihr Code
394
521
  const content = useIntlayer("my-key");
395
522
 
396
- // Optimierter Code (Statisch)
523
+ // Veranschaulichung des optimierten Codes nach der Transformation (Statisch)
524
+ // Dies dient nur zur Veranschaulichung, der tatsächliche Code unterscheidet sich aus Optimierungsgründen
397
525
  const content = useDictionary({
398
526
  key: "my-key",
399
527
  content: {
400
528
  nodeType: "translation",
401
529
  translation: {
402
530
  en: "My title",
403
- fr: "Mon titre",
531
+ de: "Mein Titel",
404
532
  },
405
533
  },
406
534
  });
@@ -408,11 +536,11 @@ const content = useDictionary({
408
536
 
409
537
  ### 2. Dynamischer Modus
410
538
 
411
- Im dynamischen Modus ersetzt Intlayer `useIntlayer` durch `useDictionaryAsync`. Dies verwendet `import()` (ähnlich wie Suspense), um speziell das JSON für die aktuelle Sprache nachzuladen (Lazy Loading).
539
+ Im dynamischen Modus ersetzt Intlayer `useIntlayer` durch `useDictionaryAsync`. Dies verwendet `import()` (ähnlich dem Suspense-Mechanismus), um spezifisch das JSON für die aktuelle Sprache verzögert zu laden.
412
540
 
413
- - **Vorteile:** **Tree Shaking auf Sprach-Ebene.** Ein Benutzer, der die englische Version ansieht, lädt _nur_ das englische Wörterbuch herunter. Das französische Wörterbuch wird nie geladen.
414
- - **Nachteile:** Löst pro Komponente während der Hydrierung eine Netzwerkanfrage (Asset-Abruf) aus.
415
- - **Ideal für:** Große Textblöcke, Artikel oder Anwendungen, die viele Sprachen unterstützen, bei denen die Bundle-Größe kritisch ist.
541
+ - **Vorteile:** **Tree Shaking auf Länderebene.** Ein Benutzer, der die englische Version ansieht, wird _nur_ das englische Wörterbuch herunterladen. Das deutsche Wörterbuch wird nie geladen.
542
+ - **Nachteile:** Löst eine Netzwerkanfrage (Asset-Abruf) pro Komponente während der Hydratation aus.
543
+ - **Am besten für:** Große Textblöcke, Artikel oder Anwendungen, die viele Sprachen unterstützen, bei denen die Bundle-Größe entscheidend ist.
416
544
 
417
545
  **Beispiel für transformierten Code:**
418
546
 
@@ -420,35 +548,55 @@ Im dynamischen Modus ersetzt Intlayer `useIntlayer` durch `useDictionaryAsync`.
420
548
  // Ihr Code
421
549
  const content = useIntlayer("my-key");
422
550
 
423
- // Optimierter Code (Dynamisch)
551
+ // Veranschaulichung des optimierten Codes nach der Transformation (Dynamisch)
552
+ // Dies dient nur zur Veranschaulichung, der tatsächliche Code unterscheidet sich aus Optimierungsgründen
424
553
  const content = useDictionaryAsync({
425
554
  en: () =>
426
555
  import(".intlayer/dynamic_dictionary/my-key/en.json").then(
427
556
  (mod) => mod.default
428
557
  ),
429
- fr: () =>
430
- import(".intlayer/dynamic_dictionary/my-key/fr.json").then(
558
+ de: () =>
559
+ import(".intlayer/dynamic_dictionary/my-key/de.json").then(
431
560
  (mod) => mod.default
432
561
  ),
433
562
  });
434
563
  ```
435
564
 
436
- > Wenn Sie `importMode: 'dynamic'` verwenden und 100 Komponenten `useIntlayer` auf einer einzigen Seite nutzen, wird der Browser versuchen, 100 separate Abrufe durchzuführen. Um diesen Wasserfall“ an Anfragen zu vermeiden, gruppieren Sie Inhalte in weniger `.content`-Dateien (z. B. ein Wörterbuch pro Seitenabschnitt) statt einer Datei pro Atom-Komponente.
565
+ > Wenn Sie `importMode: 'dynamic'` verwenden und auf einer einzigen Seite 100 Komponenten haben, die `useIntlayer` aufrufen, versucht der Browser, 100 separate Abrufe durchzuführen. Um diese "Wasserfall"-Anfragen zu vermeiden, gruppieren Sie Inhalte in weniger `.content`-Dateien (z.B. ein Wörterbuch pro Seitenabschnitt) anstatt in eines pro Atom-Komponente. Sie können auch mehrere `.content`-Dateien mit demselben Schlüssel verwenden. Intlayer wird sie dann zu einem einzigen Wörterbuch zusammenführen.
437
566
 
438
567
  ### 3. Fetch-Modus
439
568
 
440
- Verhält sich ähnlich wie der dynamische Modus, versucht jedoch zuerst, Wörterbücher von der Intlayer Live Sync API abzurufen. Wenn der API-Aufruf fehlschlägt oder der Inhalt nicht für Live-Updates markiert ist, erfolgt ein Fallback auf den dynamischen Import.
569
+ Verhält sich ähnlich wie der dynamische Modus, versucht jedoch zuerst, Wörterbücher von der Intlayer Live Sync API abzurufen. Wenn der API-Aufruf fehlschlägt oder der Inhalt nicht für Live-Updates markiert ist, wird auf den dynamischen Import zurückgegriffen.
570
+
571
+ **Beispiel für transformierten Code:**
572
+
573
+ ```tsx
574
+ // Ihr Code
575
+ const content = useIntlayer("my-key");
576
+
577
+ // Veranschaulichung des optimierten Codes (Fetch)
578
+ const content = useDictionaryAsync({
579
+ en: () =>
580
+ fetch("https://intlayer.my-domain.com/dictionary/my-key/en").then((res) =>
581
+ res.json()
582
+ ),
583
+ de: () =>
584
+ fetch("https://intlayer.my-domain.com/dictionary/my-key/de").then((res) =>
585
+ res.json()
586
+ ),
587
+ });
588
+ ```
441
589
 
442
590
  > Weitere Details finden Sie in der CMS-Dokumentation: [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_CMS.md)
443
591
 
444
- > Im Fetch-Modus können Purge und Minimierung nicht verwendet werden.
592
+ > Im Fetch-Modus werden Purge und Minifizierung nicht angewendet, da das JSON von einer Remote-API mit den ursprünglichen Feldnamen bereitgestellt wird.
445
593
 
446
- ## Zusammenfassung: Statisch vs. Dynamisch
594
+ ## Zusammenfassung: Statisch vs Dynamisch
447
595
 
448
- | Merkmal | Statischer Modus | Dynamischer Modus |
449
- | :------------------------ | :------------------------------------------------ | :----------------------------------- |
450
- | **JS-Bundle-Größe** | Größer (enthält alle Sprachen für die Komponente) | Kleiner (nur Code, kein Inhalt) |
451
- | **Initiales Laden** | Sofort (Inhalt ist im Bundle) | Leichte Verzögerung (lädt JSON) |
452
- | **Netzwerkanfragen** | 0 zusätzliche Anfragen | 1 Anfrage pro Wörterbuch |
453
- | **Tree Shaking** | Komponentenebene | Komponentenebene + Sprach-Ebene |
454
- | **Bester Anwendungsfall** | UI-Komponenten, kleine Anwendungen | Seiten mit viel Text, viele Sprachen |
596
+ | Feature | Statischer Modus | Dynamischer Modus |
597
+ | :------------------------ | :------------------------------------------------ | :------------------------------------- |
598
+ | **JS Bundle-Größe** | Größer (enthält alle Sprachen für die Komponente) | Kleinstmöglich (nur Code, kein Inhalt) |
599
+ | **Initiales Laden** | Sofortig (Inhalt ist im Bundle) | Leichte Verzögerung (lädt JSON) |
600
+ | **Netzwerkanfragen** | 0 zusätzliche Anfragen | 1 Anfrage pro Wörterbuch-Schlüssel |
601
+ | **Tree Shaking** | Auf Komponentenebene | Auf Komponenten- + Länderebene |
602
+ | **Bester Anwendungsfall** | UI-Komponenten, Kleine Apps | Textreiche Seiten, Viele Sprachen |