@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
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  createdAt: 2025-11-25
3
- updatedAt: 2026-04-08
3
+ updatedAt: 2026-06-07
4
4
  title: تحسين حجم وأداء حزمة i18n
5
- description: تقليل حجم حزمة التطبيق من خلال تحسين محتوى التدويل (i18n). تعلّم كيفية الاستفادة من tree shaking والتحميل الكسول للقواميس باستخدام Intlayer.
5
+ description: قم بتقليل حجم حزمة تطبيقك عن طريق تحسين محتوى التدويل (i18n). تعلم كيفية الاستفادة من "tree shaking" والتحميل الكسول (lazy loading) للقواميس مع Intlayer.
6
6
  keywords:
7
- - تحسين الحزمة
7
+ - تحسين الحزمة (Bundle Optimization)
8
8
  - أتمتة المحتوى
9
9
  - المحتوى الديناميكي
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: "تمت إضافة `intlayerPurgeBabelPlugin` و `intlayerMinifyBabelPlugin` لـ Babel/Webpack؛ توضيح مسار الإضافات (plugin pipeline)"
19
22
  - version: 8.7.0
20
23
  date: 2026-04-08
21
- changes: "إضافة خيارات `minify` و `purge` إلى تكوين البناء"
24
+ changes: "إضافة خياري `minify` و `purge` لإعدادات البناء"
22
25
  ---
23
26
 
24
27
  # تحسين حجم وأداء حزمة i18n
25
28
 
26
- واحدة من أكثر التحديات شيوعًا مع حلول i18n التقليدية التي تعتمد على ملفات JSON هي إدارة حجم المحتوى. إذا لم يقم المطورون بفصل المحتوى يدويًا إلى مساحات أسماء، غالبًا ما ينتهي الأمر بالمستخدمين إلى تنزيل ترجمات لكل صفحة وربما لكل لغة لمجرد عرض صفحة واحدة.
29
+ أحد أكثر التحديات شيوعًا مع حلول i18n التقليدية التي تعتمد على ملفات JSON هو إدارة حجم المحتوى. إذا لم يقم المطورون بتقسيم المحتوى يدويًا إلى مساحات أسماء (namespaces)، فغالبًا ما ينتهي الأمر بالمستخدمين بتنزيل الترجمات الخاصة بكل صفحة وربما لكل لغة فقط لعرض صفحة واحدة.
27
30
 
28
- على سبيل المثال، قد يؤدي تطبيق يحتوي على 10 صفحات مترجمة إلى 10 لغات إلى قيام المستخدم بتنزيل محتوى 100 صفحة، على الرغم من حاجته إلى **صفحة واحدة** فقط (الصفحة الحالية باللغة الحالية). هذا يؤدي إلى هدر في عرض النطاق الترددي وبطء في أوقات التحميل.
31
+ على سبيل المثال، تطبيق يحتوي على 10 صفحات مترجمة إلى 10 لغات قد يتسبب في قيام المستخدم بتنزيل محتوى الـ 100 صفحة، على الرغم من أنه يحتاج فقط إلى **واحدة** (الصفحة الحالية باللغة الحالية). يؤدي هذا إلى إهدار عرض النطاق الترددي وبطء في أوقات التحميل.
29
32
 
30
- **تحل Intlayer هذه المشكلة من خلال تحسين وقت البناء.** تقوم بتحليل الكود الخاص بك لاكتشاف القواميس المستخدمة فعليًا لكل مكون وتعيد حقن المحتوى الضروري فقط في الحزمة الخاصة بك.
33
+ **يحل Intlayer هذه المشكلة من خلال التحسين في وقت البناء.** فهو يحلل الكود الخاص بك لاكتشاف القواميس التي يتم استخدامها فعليًا لكل مكون ويعيد إدراج المحتوى الضروري فقط في حزمتك.
31
34
 
32
35
  ## جدول المحتويات
33
36
 
34
37
  <TOC />
35
38
 
36
- ## فحص حزمتك
39
+ ## قم بتحليل حزمتك
37
40
 
38
- يعد تحليل حزمتك الخطوة الأولى في تحديد ملفات JSON "الثقيلة" وفرص تقسيم الكود. تولد هذه الأدوات خريطة شجرية (treemap) مرئية للكود المجمع لتطبيقك، مما يسمح لك برؤية أي المكتبات تستهلك أكبر مساحة.
41
+ يُعد تحليل حزمتك هو الخطوة الأولى لتحديد ملفات JSON "الثقيلة" وفرص تقسيم الكود (code-splitting). تُنشئ هذه الأدوات مخططًا شجريًا (treemap) مرئيًا للكود المترجم لتطبيقك، مما يسمح لك بمعرفة أي المكتبات تستهلك المساحة الأكبر بالضبط.
39
42
 
40
43
  <Tabs>
41
44
  <Tab value="vite">
42
45
 
43
46
  ### Vite / Rollup
44
47
 
45
- يستخدم Vite مكتبة Rollup في الخلفية. تولد إضافة `rollup-plugin-visualizer` ملف HTML تفاعلي يوضح حجم كل وحدة في الرسم البياني الخاص بك.
48
+ يستخدم Vite الـ Rollup تحت الغطاء. تُنشئ الإضافة `rollup-plugin-visualizer` ملف HTML تفاعليًا يوضح حجم كل وحدة في الرسم البياني الخاص بك.
46
49
 
47
50
  ```bash
48
51
  npm install -D rollup-plugin-visualizer
@@ -69,7 +72,7 @@ export default defineConfig({
69
72
 
70
73
  ### Next.js (Turbopack)
71
74
 
72
- للمشاريع التي تستخدم App Router و Turbopack، يوفر Next.js محللاً تجريبيًا مدمجاً لا يتطلب أي تبعات إضافية.
75
+ للمشاريع التي تستخدم الـ App Router والـ Turbopack، يوفر Next.js محللًا تجريبيًا مدمجًا لا يتطلب أي تبعيات إضافية.
73
76
 
74
77
  ```bash packageManager='npm'
75
78
  npx next experimental-analyze
@@ -92,7 +95,7 @@ bun next experimental-analyze
92
95
 
93
96
  ### Next.js (Webpack)
94
97
 
95
- إذا كنت تستخدم مجمع Webpack الافتراضي في Next.js، فاستخدم محلل الحزمة الرسمي. قم بتفعيله عن طريق تعيين متغير بيئة أثناء البناء.
98
+ إذا كنت تستخدم مُحزم Webpack الافتراضي في Next.js، فاستخدم المحلل الرسمي للحزم (bundle analyzer). قم بتشغيله عن طريق تعيين متغير بيئة أثناء البناء.
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
- // تكوين Next.js الخاص بك
122
+ // إعدادات Next.js الخاصة بك
120
123
  });
121
124
  ```
122
125
 
@@ -129,9 +132,9 @@ ANALYZE=true npm run build
129
132
  </Tab>
130
133
  <Tab value="Webpack (CRA / Angular / etc)">
131
134
 
132
- ### Webpack القياسي
135
+ ### Standard Webpack
133
136
 
134
- بالنسبة لـ Create React App (ejected)، أو Angular، أو إعدادات Webpack المخصصة، استخدم `webpack-bundle-analyzer` القياسي في الصناعة.
137
+ لـ Create React App (ejected)، أو Angular، أو إعدادات Webpack المخصصة، استخدم المعيار الصناعي `webpack-bundle-analyzer`.
135
138
 
136
139
  ```bash packageManager='npm'
137
140
  npm install -D webpack-bundle-analyzer
@@ -166,18 +169,55 @@ export default {
166
169
  </Tab>
167
170
  </Tabs>
168
171
 
169
- ## كيف تعمل
172
+ ## كيف يعمل
170
173
 
171
- تستخدم Intlayer **نهجًا لكل مكون**. على عكس ملفات JSON العالمية، يتم تعريف المحتوى الخاص بك بجانب مكوناتك أو داخلها. خلال عملية البناء، تقوم Intlayer بـ:
174
+ يستخدم Intlayer **نهجًا لكل مكون**. بخلاف ملفات JSON العامة، يتم تعريف المحتوى الخاص بك بجانب مكوناتك أو بداخلها. أثناء عملية البناء، يقوم Intlayer بـ:
172
175
 
173
- 1. **تحليل** الكود الخاص بك للعثور على استدعاءات `useIntlayer`.
174
- 2. **بناء** محتوى القاموس المقابل.
175
- 3. **استبدال** استدعاء `useIntlayer` بكود محسن بناءً على تكوينك.
176
+ 1. **تحليل** الكود الخاص بك للعثور على استدعاءات `useIntlayer`.
177
+ 2. **بناء** محتوى القاموس المقابل.
178
+ 3. **استبدال** استدعاء `useIntlayer` بكود مُحسّن استنادًا إلى إعداداتك.
176
179
 
177
- هذا يضمن أن:
180
+ يضمن هذا ما يلي:
178
181
 
179
- - إذا لم يتم استيراد مكون، فلن يتم تضمين محتواه في الحزمة (إزالة الكود الميت).
180
- - إذا تم تحميل مكون بشكل كسول، فسيتم أيضًا تحميل محتواه بشكل كسول.
182
+ - إذا لم يتم استيراد مكون، فلن يتم تضمين محتواه في الحزمة (Dead Code Elimination).
183
+ - إذا كان المكون محملًا بكسل (lazy-loaded)، فسيتم تحميل محتواه بكسل أيضًا.
184
+
185
+ ## مرجع الإضافات
186
+
187
+ يتم تقسيم تحسين البناء في Intlayer إلى عدة إضافات منفصلة، لكل منها مسؤولية واحدة. ففهم ما تفعله كل إضافة يمنع الارتباك عند إعدادها.
188
+
189
+ ### إضافات Babel (`@intlayer/babel`)
190
+
191
+ تُستخدم هذه مباشرة في `babel.config.js` للإعدادات المستندة إلى Webpack (مثل Next.js مع Babel، CRA، Webpack المخصص، إلخ).
192
+
193
+ | الإضافة | ما تفعله |
194
+ | :---------------------------- | :------------------------------------------------------------------------------------------------------------------- |
195
+ | `intlayerExtractBabelPlugin` | تمسح ملفات `.content.ts` وتكتب القواميس المجمعة إلى `.intlayer/` |
196
+ | `intlayerOptimizeBabelPlugin` | تعيد كتابة `useIntlayer('key')` → `useDictionary(hash)` وتحقن الـ `import` المطابق للقاموس |
197
+ | `intlayerPurgeBabelPlugin` | تمسح جميع ملفات المصدر، تزيل **حقول المحتوى غير المستخدمة** من ملفات القاموس المجمعة `.intlayer/**/*.json` |
198
+ | `intlayerMinifyBabelPlugin` | **تعيد تسمية مفاتيح حقول المحتوى** إلى أسماء مستعارة أبجدية قصيرة (`title` → `a`) في كل من ملفات JSON والكود المصدري |
199
+
200
+ > **ترتيب الإضافات مهم.** في `babel.config.js` يجب أن تظهر إضافات التطهير (purge) والتصغير (minify) **قبل** إضافة التحسين (optimize). تقوم خطوة التحسين باستبدال `useIntlayer('key')` باستدعاء مبهم لـ `useDictionary(hash)`، مما يمحو معلومات مفتاح القاموس التي تحتاجها خطوات التطهير والتصغير لتحديد الحقول المستخدمة.
201
+
202
+ يحتوي كل مُكوّن إضافي في Babel على مساعد خيارات مطابق يقرأ `intlayer.config.ts` الخاص بك مرة واحدة في وقت تحميل الإعدادات ويُرجع قيمًا محلولة مسبقًا:
203
+
204
+ | مساعد الخيارات (Options helper) | يُستخدم مع |
205
+ | :------------------------------ | :---------------------------- |
206
+ | `getExtractPluginOptions()` | `intlayerExtractBabelPlugin` |
207
+ | `getOptimizePluginOptions()` | `intlayerOptimizeBabelPlugin` |
208
+ | `getPurgePluginOptions()` | `intlayerPurgeBabelPlugin` |
209
+ | `getMinifyPluginOptions()` | `intlayerMinifyBabelPlugin` |
210
+
211
+ ### إضافات Vite (`vite-intlayer`)
212
+
213
+ لا يحتاج مستخدمو Vite **مطلقًا لإعداد هذه بشكل مباشر**. يتم ربطها تلقائيًا عند استدعاء `withIntlayer()` في `vite.config.ts`. تقوم الأعلام `build.purge` و `build.minify` في `intlayer.config.ts` بتبديل السلوك المقابل دون أي تسجيل إضافي للإضافات.
214
+
215
+ | إضافة Vite الداخلية | السلوك المكافئ |
216
+ | :------------------ | :--------------------------------------------------------------------------------------------- |
217
+ | Usage analyzer | نفس مسار التحليل في `intlayerPurgeBabelPlugin` |
218
+ | Dictionary prune | نفس مسار كتابة JSON في `intlayerPurgeBabelPlugin` |
219
+ | Dictionary minify | نفس مسار كتابة JSON في `intlayerMinifyBabelPlugin` |
220
+ | Babel transform | نفس مسار إعادة تسمية كود المصدر لـ `intlayerMinifyBabelPlugin` + `intlayerOptimizeBabelPlugin` |
181
221
 
182
222
  ## الإعداد حسب المنصة
183
223
 
@@ -186,9 +226,9 @@ export default {
186
226
 
187
227
  ### Next.js
188
228
 
189
- يتطلب Next.js إضافة `@intlayer/swc` للتعامل مع التحويل، حيث يستخدم Next.js SWC في عمليات البناء.
229
+ يتطلب Next.js إضافة `@intlayer/swc` لخطوة التحسين (إعادة كتابة الاستيراد)، لأن Next.js يستخدم SWC للبناء.
190
230
 
191
- > هذه الإضافة ليست مثبتة افتراضيًا لأن إضافات SWC لا تزال تجريبية لـ Next.js. قد يتغير ذلك في المستقبل.
231
+ > لا يتم تثبيت هذا المكون الإضافي افتراضيًا لأن مكونات SWC لا تزال تجريبية لـ Next.js. قد يتغير هذا في المستقبل.
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
- بمجرد التثبيت، سيتعرف Intlayer تلقائيًا على الإضافة ويستخدمها.
249
+ بمجرد التثبيت، سيكتشف Intlayer ويستخدم الإضافة تلقائيًا.
250
+
251
+ بالنسبة لخطوات **التطهير (purge) والتصغير (minify)** (إزالة الحقول وإعادة تسميتها)، قم بتثبيت `@intlayer/babel` بجانبه وأضف إضافات Babel. نظرًا لأن Next.js يستخدم SWC للتحويل ولكنه لا يزال يقيّم `babel.config.js` لإعدادات الإضافات، يتم تشغيل إضافات Babel كخطوة مسبقة قبل SWC.
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: يزيل حقول المحتوى غير المستخدمة من .intlayer/**/*.json
269
+ [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
270
+ // Minify: يعيد تسمية مفاتيح حقول المحتوى في ملف JSON + الكود المصدري
271
+ [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
272
+ // ملاحظة: intlayerOptimizeBabelPlugin غير مطلوب هنا لأن
273
+ // @intlayer/swc يتعامل مع إعادة كتابة useIntlayer → useDictionary.
274
+ ],
275
+ };
276
+ ```
210
277
 
211
278
  </Tab>
212
279
  <Tab value="vite">
213
280
 
214
281
  ### Vite
215
282
 
216
- يستخدم Vite إضافة `@intlayer/babel` التي تدرج كاعتماد ضمن `vite-intlayer`. يتم تمكين التحسين بشكل افتراضي. لا يلزم القيام بأي شيء آخر.
283
+ يستخدم Vite الإضافة `@intlayer/babel والتي يتم تضمينها كتبعية لـ `vite-intlayer`. يتم تشغيل خط أنابيب التحسين الكامل - إعادة كتابة الاستيراد والتطهير والتصغير - افتراضيًا ولا يتطلب أي تسجيل إضافي.
284
+
285
+ قم بتفعيل الـ purge و الـ minify عن طريق ضبط الأعلام المقابلة في `intlayer.config.ts`:
286
+
287
+ ```typescript fileName="intlayer.config.ts"
288
+ import type { IntlayerConfig } from "intlayer";
289
+
290
+ const config: IntlayerConfig = {
291
+ build: {
292
+ purge: true, // يزيل حقول المحتوى غير المستخدمة من ملفات JSON المجمعة
293
+ minify: true, // يعيد تسمية مفاتيح حقول المحتوى إلى أسماء مستعارة قصيرة
294
+ },
295
+ };
296
+
297
+ export default config;
298
+ ```
217
299
 
218
300
  </Tab>
219
301
  <Tab value="webpack">
220
302
 
221
- ### Webpack
303
+ ### Webpack (و Next.js مع Babel)
222
304
 
223
- لتمكين تحسين الحزمة مع Intlayer على Webpack، تحتاج إلى تثبيت وتكوين إضافة Babel المناسبة (`@intlayer/babel`) أو SWC (`@intlayer/swc`).
305
+ تثبيت `@intlayer/babel`:
224
306
 
225
307
  ```bash packageManager="npm"
226
308
  npm install -D @intlayer/babel
@@ -238,73 +320,101 @@ pnpm add -D @intlayer/babel
238
320
  bun add -d @intlayer/babel
239
321
  ```
240
322
 
241
- ```typescript fileName="babel.config.js"
323
+ أضف جميع الإضافات الأربعة إلى `babel.config.js` بالترتيب الصحيح:
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: يجمّع ملفات .content.ts → .intlayer/**/*.json
340
+ [intlayerExtractBabelPlugin, getExtractPluginOptions()],
341
+
342
+ // Purge: يزيل الحقول غير المستخدمة من .intlayer/**/*.json
343
+ // (يقرأ العلم build.purge من intlayer.config.ts)
344
+ [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
345
+
346
+ // Minify: يعيد تسمية مفاتيح الحقول في JSON + الكود المصدري
347
+ // (يقرأ العلم build.minify من intlayer.config.ts)
348
+ [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
349
+
350
+ // Optimize: يعيد كتابة useIntlayer('key') → useDictionary(hash)
351
+ // يجب أن يأتي أخيرًا لأنه يمحو مفتاح القاموس.
352
+ [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
353
+ ],
249
354
  };
250
355
  ```
251
356
 
252
357
  </Tab>
253
358
  </Tabs>
254
359
 
255
- ## التكوين
360
+ ## التكوين (Configuration)
256
361
 
257
- يمكنك التحكم في كيفية تحسين Intlayer لحزمتك عبر خاصية `build` في ملف `intlayer.config.ts` الخاص بك.
362
+ يمكنك التحكم في كيفية قيام Intlayer بتحسين حزمتك عبر الخاصية `build` في ملف `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.ARABIC],
265
370
  defaultLocale: Locales.ENGLISH,
266
371
  },
267
372
  dictionary: {
268
373
  importMode: "dynamic",
269
374
  },
270
375
  build: {
271
- /**
272
- * تصغير القواميس لتقليل حجم الحزمة.
273
- */
274
- minify: true;
275
-
276
- /**
277
- * تطهير المفاتيح غير المستخدمة في القواميس
278
- */
279
- purge: true;
280
-
281
- /**
282
- * يشير إلى ما إذا كان يجب على البناء التحقق من أنواع TypeScript
283
- */
284
- checkTypes: false;
376
+ // استبدال استدعاءات useIntlayer() باستيرادات مباشرة للقاموس في وقت البناء.
377
+ // undefined = تلقائي (مُمكّن في الإنتاج), true = دائمًا, false = أبدًا.
378
+ optimize: undefined,
379
+
380
+ // إعادة تسمية مفاتيح حقول المحتوى في القواميس المجمعة إلى أسماء مستعارة
381
+ // أبجدية قصيرة (مثل title → a). يقلل من حجم JSON؛ يتطلب optimize.
382
+ minify: true,
383
+
384
+ // إزالة حقول المحتوى التي لا يتم الوصول إليها أبدًا في الكود المصدري.
385
+ // يتطلب optimize.
386
+ purge: true,
285
387
  },
286
388
  };
287
389
 
288
390
  export default config;
289
391
  ```
290
392
 
291
- > يُنصح بالاحتفاظ بالخيار الافتراضي لـ `optimize` في معظم الحالات.
393
+ > يُوصى بالاحتفاظ بالقيمة الافتراضية (`undefined`) للتحسين `optimize` في معظم الحالات.
292
394
 
293
- > راجع توثيق التكوين لمزيد من التفاصيل: [التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md)
395
+ > راجع مرجع التكوين للحصول على جميع الخيارات: [التكوين](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md)
294
396
 
295
- ### خيارات البناء
397
+ ### خيارات البناء (Build Options)
296
398
 
297
- الخيارات التالية متاحة ضمن كائن تكوين `build`:
399
+ | الخاصية | النوع | الافتراضي | الوصف |
400
+ | :------------- | :--------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
401
+ | **`optimize`** | `boolean \| undefined` | `undefined` | يفعّل خطوة إعادة كتابة الاستيراد. `undefined` = نشط فقط في البناء المخصص للإنتاج. `false` يعطل التطهير (purge) والتصغير (minify) أيضًا. |
402
+ | **`minify`** | `boolean` | `false` | يعيد تسمية مفاتيح حقول المحتوى في ملفات JSON المجمعة إلى أسماء مستعارة أبجدية قصيرة. يعيد كتابة وصول الخصائص المطابقة في الكود المصدري أيضًا. لا يكون له تأثير إذا كان الـ `optimize` هو `false`. |
403
+ | **`purge`** | `boolean` | `false` | يزيل حقول المحتوى التي لا يتم الوصول إليها بشكل ثابت من ملفات JSON المجمعة. لا يكون له تأثير إذا كان الـ `optimize` هو `false`. |
298
404
 
299
- | الخاصية | النوع | القيمة الافتراضية | الوصف |
300
- | :------------- | :-------- | :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
301
- | **`optimize`** | `boolean` | `undefined` | يتحكم فيما إذا كان تفعيل تحسين البناء ممكّنًا. إذا كانت القيمة `true`، يقوم Intlayer باستبدال استدعاءات القاموس بحقنات محسّنة. إذا كانت `false`، يتم تعطيل التحسين. من المثالي تعيينها إلى `true` في بيئة الإنتاج. |
302
- | **`minify`** | `boolean` | `false` | ما إذا كان سيتم تصغير القواميس لتقليل حجم الحزمة. |
303
- | **`purge`** | `boolean` | `false` | ما إذا كان سيتم تطهير المفاتيح غير المستخدمة في القواميس. |
405
+ ### التصغير (إعادة تسمية مفتاح الحقل)
304
406
 
305
- ### التصغير (Minification)
407
+ إن الخاصية `build.minify` **لا** تُصغّر حزمة JavaScript الخاصة بك — يُعالج المُحزم الخاص بك ذلك. وبدلاً من ذلك، فإنها تُقلص ملفات JSON الخاصة بالقاموس المجمع عن طريق استبدال كل مفتاح حقل محتوى محدد من قبل المستخدم باسم مستعار أبجدي قصير:
306
408
 
307
- يؤدي تصغير القواميس إلى إزالة المسافات البيضاء والتعليقات غير الضرورية وتقليل حجم محتوى JSON. هذا مفيد بشكل خاص للقواميس الكبيرة.
409
+ ```
410
+ // قبل التصغير
411
+ { "title": "مرحبًا", "subtitle": "بالعالم" }
412
+
413
+ // بعد التصغير
414
+ { "a": "مرحبًا", "b": "بالعالم" }
415
+ ```
416
+
417
+ يتم تطبيق نفس إعادة التسمية على جميع عمليات الوصول إلى الخصائص في كود المصدر الخاص بك، وبالتالي يصبح `content.title` `content.a` في المخرجات المجمعة. ويكون السلوك أثناء وقت التشغيل متطابقًا.
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
- > ملاحظة: يتم تجاهل التصغير إذا تم تعطيل `optimize` أو إذا تم تمكين المحرر المرئي (Visual Editor) (لأن المحرر يحتاج إلى المحتوى الكامل للسماح بالتحرير).
431
+ > يتم تخطي التصغير عندما يكون `optimize` في وضع `false` أو عندما يكون `editor.enabled` في وضع `true` (يحتاج المحرر المرئي إلى أسماء الحقول الأصلية للسماح بالتحرير).
432
+
433
+ > يتم أيضًا تخطي التصغير بالنسبة للقواميس التي تم تحميلها عبر `importMode: 'fetch'` لأن ملف JSON الخاص بهم يُقدّم من واجهة برمجة تطبيقات (API) بعيدة باستخدام أسماء الحقول الأصلية — سيؤدي تغيير أسماء المفاتيح من جانب العميل إلى كسر العقد بين الخادم/العميل.
322
434
 
323
- ### التطهير (Purging)
435
+ ### التطهير (إزالة الحقول غير المستخدمة)
324
436
 
325
- يضمن التطهير تضمين المفاتيح المستخدمة فعليًا في الكود الخاص بك فقط في حزمة القاموس النهائية. يمكن أن يقلل هذا بشكل كبير من حجم الحزمة الخاصة بك إذا كان لديك قواميس كبيرة تحتوي على العديد من المفاتيح التي لا تُستخدم في كل جزء من تطبيقك.
437
+ يحلل `build.purge` حقول المحتوى التي يتم الوصول إليها فعليًا في الكود المصدري الخاص بك ويزيل كل الحقول الأخرى من ملفات JSON المجمعة.
326
438
 
327
439
  ```typescript fileName="intlayer.config.ts"
328
440
  import type { IntlayerConfig } from "intlayer";
@@ -336,27 +448,43 @@ const config: IntlayerConfig = {
336
448
  export default config;
337
449
  ```
338
450
 
339
- > ملاحظة: يتم تجاهل التطهير إذا تم تعطيل `optimize`.
451
+ **مثال:** قاموس يحتوي على خمسة حقول يتم استخدام اثنين منها فقط:
452
+
453
+ ```
454
+ // قبل التطهير
455
+ { "title": "…", "subtitle": "…", "cta": "…", "footer": "…", "badge": "…" }
456
+
457
+ // بعد التطهير (تم الوصول إلى title + subtitle فقط في المصدر)
458
+ { "title": "…", "subtitle": "…" }
459
+ ```
460
+
461
+ > يتم تخطي التطهير (Purge) عندما يكون `optimize` في وضع `false` أو عندما يكون `editor.enabled` في وضع `true`.
462
+
463
+ > يتم أيضًا تخطي التطهير كإجراء احترازي عندما يتعذر تحليل ملف المصدر، أو عندما يتم تعيين نتيجة `useIntlayer` لمتغير ويتم تمريرها بطرق لا يستطيع المحلل الثابت تتبعها (مثل وضعها في كائن بطريقة النشر، تمريرها كخاصية بدون تفكيك الهيكل). في تلك الحالات، يتم الاحتفاظ بالقاموس بالكامل.
340
464
 
341
465
  ### وضع الاستيراد (Import Mode)
342
466
 
343
- بالنسبة للتطبيقات الكبيرة، التي تتضمن عدة صفحات ولغات، يمكن لملفات JSON أن تمثل جزءًا كبيرًا من حجم الحزمة. يسمح لك Intlayer بالتحكم في كيفية تحميل القواميس.
467
+ بالنسبة للتطبيقات الكبيرة، التي تتضمن العديد من الصفحات واللغات، قد يمثل ملف JSON الخاص بك جزءًا كبيرًا من حجم الحزمة. يسمح لك Intlayer بالتحكم في كيفية تحميل القواميس باستخدام خيار `importMode`.
468
+
469
+ ### التعريف العام
344
470
 
345
- يمكن تعريف وضع الاستيراد افتراضيًا بشكل عالمي في ملف `intlayer.config.ts`.
471
+ يمكن تحديد وضع الاستيراد بشكل عام في ملف `intlayer.config.ts` الخاص بك.
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", // الافتراضي هو 'static'
353
479
  },
354
480
  };
355
481
 
356
482
  export default config;
357
483
  ```
358
484
 
359
- وكذلك لكل قاموس في ملفات `.content.{{ts|tsx|js|jsx|mjs|cjs|json|jsonc|json5}}` الخاصة بك.
485
+ ### التعريف لكل قاموس
486
+
487
+ يمكنك تجاوز وضع الاستيراد (import mode) لقواميس فردية في ملفات `.content.{{ts|tsx|js|jsx|mjs|cjs|json|jsonc|json5|md|mdx|yaml|yml}}` الخاصة بها.
360
488
 
361
489
  ```ts
362
490
  import { type Dictionary, t } from "intlayer";
@@ -372,83 +500,103 @@ const appContent: Dictionary = {
372
500
  export default appContent;
373
501
  ```
374
502
 
375
- | الخاصية | النوع | القيمة الافتراضية | الوصف |
376
- | :--------------- | :--------------------------------- | :---------------- | :------------------------------------------------------------------------------------------------------------- |
377
- | **`importMode`** | `'static'`, `'dynamic'`, `'fetch'` | `'static'` | **برجاء استبداله:** استخدم `dictionary.importMode` بدلاً منه. يحدد كيفية تحميل القواميس (انظر التفاصيل أدناه). |
503
+ | الخاصية | النوع | الافتراضي | الوصف |
504
+ | :--------------- | :--------------------------------- | :--------- | :------------------------------------------------------------------------------------------- |
505
+ | **`importMode`** | `'static'`, `'dynamic'`, `'fetch'` | `'static'` | **مُلغى**: استخدم `dictionary.importMode` بدلاً منه. يحدد كيفية تحميل القواميس (انظر أدناه). |
378
506
 
379
- تحدد إعدادات `importMode` كيفية حقن محتوى القاموس في مكونك.
380
- يمكنك تعريفه عالميًا في ملف `intlayer.config.ts` تحت كائن `dictionary` أو تجاوزه لقاموس معين في ملف `.content.ts` الخاص به.
507
+ يُحدد إعداد `importMode` كيفية حقن محتوى القاموس في المكون الخاص بك. يمكنك تعريفه بشكل عام في `intlayer.config.ts` تحت كائن `dictionary`، أو تجاوزه لكل قاموس على حدة في ملف `.content.ts` الخاص به.
381
508
 
382
- ### 1. الوضع الثابت (`default`)
509
+ ### 1. الوضع الثابت (Static Mode - `default`)
383
510
 
384
- في الوضع الثابت، يقوم Intlayer باستبدال `useIntlayer` بـ `useDictionary` ويحقن القاموس مباشرة في حزمة جافا سكريبت.
511
+ في الوضع الثابت، يستبدل Intlayer استدعاء `useIntlayer` بـ `useDictionary` ويحقن القاموس مباشرة في حزمة JavaScript.
385
512
 
386
- - **الإيجابيات:** عرض فوري (متزامن)، بدون طلبات شبكة إضافية أثناء التهيئة.
387
- - **السلبيات:** الحزمة تتضمن ترجمات **لكل** اللغات المتاحة لذلك المكون المحدد.
513
+ - **المميزات:** تقديم فوري (متزامن)، بدون طلبات شبكة إضافية أثناء مرحلة الإماهة (hydration).
514
+ - **العيوب:** تتضمن الحزمة ترجمات لـ **جميع** اللغات المتاحة لذلك المكون المحدد.
388
515
  - **الأفضل لـ:** تطبيقات الصفحة الواحدة (SPA).
389
516
 
390
517
  **مثال على الكود المحول:**
391
518
 
392
519
  ```tsx
393
- // كودك
520
+ // الكود الخاص بك
394
521
  const content = useIntlayer("my-key");
395
522
 
396
- // الكود المحسن (الوضع الثابت)
523
+ // رسم توضيحي للكود المحسن بعد التحويل (الوضع الثابت)
524
+ // هذا لأغراض التوضيح فقط، سيكون الكود الفعلي مختلفًا لأسباب التحسين
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
+ ar: "عنواني",
404
532
  },
405
533
  },
406
534
  });
407
535
  ```
408
536
 
409
- ### 2. الوضع الديناميكي
537
+ ### 2. الوضع الديناميكي (Dynamic Mode)
410
538
 
411
- في الوضع الديناميكي، يستبدل Intlayer الدالة `useIntlayer` بـ `useDictionaryAsync`. تستخدم هذه الدالة `import()` (آلية تشبه Suspense) لتحميل ملف JSON الخاص باللغة الحالية بشكل كسول.
539
+ في الوضع الديناميكي، يستبدل Intlayer الـ `useIntlayer` بـ `useDictionaryAsync`. يستخدم هذا الـ `import()` (آلية تشبه الـ Suspense) لتحميل ملف JSON للغة الحالية خصيصًا بكسل.
412
540
 
413
- - **الإيجابيات:** **تحسين على مستوى اللغة (Locale-level tree shaking).** المستخدم الذي يعرض النسخة الإنجليزية سيقوم بتحميل قاموس اللغة الإنجليزية فقط. قاموس اللغة الفرنسية لن يتم تحميله أبدًا.
414
- - **السلبيات:** يؤدي إلى طلب شبكة (جلب الأصول) لكل مكون أثناء عملية التهيئة (hydration).
415
- - **الأفضل لـ:** كتل نصية كبيرة، مقالات، أو تطبيقات تدعم العديد من اللغات حيث يكون حجم الحزمة أمرًا حاسمًا.
541
+ - **المميزات:** **هز الشجرة على مستوى اللغة (Locale-level tree shaking).** سيقوم المستخدم الذي يشاهد النسخة الإنجليزية بتنزيل القاموس الإنجليزي _فقط_. لن يتم تحميل القاموس العربي أبدًا.
542
+ - **العيوب:** يطلق طلب شبكة (إحضار أصول) لكل مكون أثناء الإماهة (hydration).
543
+ - **الأفضل لـ:** كتل النصوص الكبيرة، أو المقالات، أو التطبيقات التي تدعم لغات متعددة حيث يكون حجم الحزمة أمرًا بالغ الأهمية.
416
544
 
417
545
  **مثال على الكود المحول:**
418
546
 
419
547
  ```tsx
420
- // كودك
548
+ // الكود الخاص بك
421
549
  const content = useIntlayer("my-key");
422
550
 
423
- // الكود المحسن (الديناميكي)
551
+ // رسم توضيحي للكود المحسن بعد التحويل (الوضع الديناميكي)
552
+ // هذا لأغراض التوضيح فقط، سيكون الكود الفعلي مختلفًا لأسباب التحسين
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
+ ar: () =>
559
+ import(".intlayer/dynamic_dictionary/my-key/ar.json").then(
431
560
  (mod) => mod.default
432
561
  ),
433
562
  });
434
563
  ```
435
564
 
436
- > عند استخدام `importMode: 'dynamic'`، إذا كان لديك 100 مكون يستخدم `useIntlayer` في صفحة واحدة، سيحاول المتصفح إجراء 100 طلب تحميل منفصل. لتجنب هذا "تسلسل" الطلبات، قم بتجميع المحتوى في عدد أقل من ملفات `.content` (مثل قاموس واحد لكل قسم من الصفحة) بدلاً من واحد لكل مكون ذرة.
565
+ > عند استخدام `importMode: 'dynamic'`، إذا كان لديك 100 مكون تستخدم `useIntlayer` على صفحة واحدة، سيحاول المتصفح القيام بـ 100 عملية جلب (fetch) منفصلة. لتجنب "شلال" الطلبات هذا، قم بتجميع المحتوى في ملفات `.content` أقل (على سبيل المثال، قاموس واحد لكل قسم في الصفحة) بدلاً من واحد لكل مكون دقيق (atom component). يمكنك أيضًا استخدام ملفات `.content` متعددة تستخدم نفس المفتاح. وسيقوم Intlayer بدمجها في قاموس واحد.
437
566
 
438
567
  ### 3. وضع الجلب (Fetch Mode)
439
568
 
440
- يتصرف بشكل مشابه للوضع الديناميكي لكنه يحاول أولاً جلب القواميس من واجهة برمجة تطبيقات المزامنة الحية Intlayer Live Sync API. إذا فشل استدعاء API أو لم يكن المحتوى معلمًا للتحديثات الحية، فإنه يعود إلى الاستيراد الديناميكي.
569
+ يتصرف بشكل مشابه للوضع الديناميكي ولكنه يحاول جلب القواميس من Intlayer Live Sync API أولاً. إذا فشل استدعاء API أو لم يتم تمييز المحتوى للتحديثات المباشرة، فإنه يتراجع ليعمل باستخدام الاستيراد الديناميكي (dynamic import).
570
+
571
+ **مثال على الكود المحول:**
572
+
573
+ ```tsx
574
+ // الكود الخاص بك
575
+ const content = useIntlayer("my-key");
576
+
577
+ // رسم توضيحي للكود المحسن (وضع الجلب)
578
+ const content = useDictionaryAsync({
579
+ en: () =>
580
+ fetch("https://intlayer.my-domain.com/dictionary/my-key/en").then((res) =>
581
+ res.json()
582
+ ),
583
+ ar: () =>
584
+ fetch("https://intlayer.my-domain.com/dictionary/my-key/ar").then((res) =>
585
+ res.json()
586
+ ),
587
+ });
588
+ ```
441
589
 
442
- > راجع توثيق CMS لمزيد من التفاصيل: [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md)
590
+ > راجع وثائق نظام إدارة المحتوى (CMS) لمزيد من التفاصيل: [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md)
443
591
 
444
- > في وضع الجلب، لا يمكن استخدام التطهير والتصغير.
592
+ > في وضع الجلب (fetch)، لا يتم تطبيق التطهير (purge) والتصغير (minification) لأن ملف JSON يتم تقديمه من API بعيدة باستخدام أسماء الحقول الأصلية.
445
593
 
446
- ## الملخص: الوضع الثابت مقابل الوضع الديناميكي
594
+ ## ملخص: الثابت مقابل الديناميكي
447
595
 
448
- | الميزة | الوضع الثابت | الوضع الديناميكي |
449
- | :----------------------- | :--------------------------------------- | :-------------------------------------------------- |
450
- | **حجم حزمة جافا سكريبت** | أكبر (يشمل جميع اللغات للمكون) | الأصغر (كود فقط، بدون محتوى) |
451
- | **التحميل الأولي** | فوري (المحتوى موجود في الحزمة) | تأخير بسيط (يجلب JSON) |
452
- | **طلبات الشبكة** | 0 طلبات إضافية | طلب واحد لكل قاموس |
453
- | **Tree Shaking** | على مستوى المكون | على مستوى المكون + مستوى اللغة |
454
- | **أفضل استخدام** | مكونات واجهة المستخدم، التطبيقات الصغيرة | الصفحات التي تحتوي على نصوص كثيرة، العديد من اللغات |
596
+ | الميزة | الوضع الثابت (Static Mode) | الوضع الديناميكي (Dynamic Mode) |
597
+ | :--------------------------- | :-------------------------------------------- | :------------------------------------------- |
598
+ | **حجم حزمة JS** | أكبر (يتضمن جميع اللغات للمكون) | أصغر (كود فقط، بدون محتوى) |
599
+ | **التحميل الأولي** | فوري (المحتوى موجود في الحزمة) | تأخير طفيف (يجلب الـ JSON) |
600
+ | **طلبات الشبكة** | 0 طلبات إضافية | طلب واحد لكل مفتاح قاموس |
601
+ | **هز الشجرة (Tree Shaking)** | على مستوى المكون | على مستوى المكون + مستوى اللغة |
602
+ | **أفضل حالة استخدام** | مكونات واجهة المستخدم (UI)، التطبيقات الصغيرة | الصفحات ذات النصوص الكثيرة، العديد من اللغات |
@@ -672,15 +672,16 @@ routing: {
672
672
 
673
673
  عند استخدام التخزين في الكوكيز، يمكن تعيين سمات إضافية:
674
674
 
675
- | الحقل | الوصف | النوع |
676
- | ---------- | ---------------------------------------------------- | ----------------------------------------------------- |
677
- | `name` | اسم الكوكيز. الافتراضي: `'INTLAYER_LOCALE'` | `string` |
678
- | `domain` | نطاق الكوكيز. الافتراضي: `undefined` | `string` |
679
- | `path` | مسار الكوكيز. الافتراضي: `undefined` | `string` |
680
- | `secure` | يتطلب HTTPS. الافتراضي: `undefined` | `boolean` |
681
- | `httpOnly` | علامة HTTP-only. الافتراضي: `undefined` | `boolean` |
682
- | `sameSite` | سياسة SameSite. | `'strict'` &#124; <br/> `'lax'` &#124; <br/> `'none'` |
683
- | `expires` | تاريخ الانتهاء أو عدد الأيام. الافتراضي: `undefined` | `Date` &#124; <br/> `number` |
675
+ | الحقل | الوصف | النوع |
676
+ | ---------- | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------- |
677
+ | `name` | اسم الكوكيز. الافتراضي: `'INTLAYER_LOCALE'` | `string` |
678
+ | `domain` | نطاق الكوكيز. الافتراضي: `undefined` | `string` |
679
+ | `path` | مسار الكوكيز. الافتراضي: `undefined` | `string` |
680
+ | `secure` | يتطلب HTTPS. الافتراضي: `undefined` | `boolean` |
681
+ | `httpOnly` | علامة HTTP-only. الافتراضي: `undefined` | `boolean` |
682
+ | `sameSite` | سياسة SameSite. | `'strict'` &#124; <br/> `'lax'` &#124; <br/> `'none'` |
683
+ | `expires` | رقم يمثل الأيام منذ الإنشاء؛ تاريخ (أو سلسلة ISO للتاريخ) هو تاريخ انتهاء مطلق. الافتراضي: `undefined` | `Date` &#124; <br/> `number` &#124; <br/> `string` |
684
+ | `maxAge` | العمر بالثواني منذ الإنشاء. له الأسبقية على `expires`. الافتراضي: `undefined` | `number` |
684
685
 
685
686
  #### سمات التخزين (Storage Attributes)
686
687