@intlayer/docs 9.5.1 → 9.5.2

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 (711) hide show
  1. package/blog/ar/history_of_i18n.md +304 -0
  2. package/blog/de/history_of_i18n.md +304 -0
  3. package/blog/en/history_of_i18n.md +304 -0
  4. package/blog/en-GB/history_of_i18n.md +304 -0
  5. package/blog/es/history_of_i18n.md +304 -0
  6. package/blog/fr/history_of_i18n.md +304 -0
  7. package/blog/hi/history_of_i18n.md +304 -0
  8. package/blog/id/history_of_i18n.md +304 -0
  9. package/blog/it/history_of_i18n.md +304 -0
  10. package/blog/ja/history_of_i18n.md +304 -0
  11. package/blog/ko/history_of_i18n.md +304 -0
  12. package/blog/pl/history_of_i18n.md +304 -0
  13. package/blog/pt/history_of_i18n.md +304 -0
  14. package/blog/ru/history_of_i18n.md +304 -0
  15. package/blog/tr/history_of_i18n.md +304 -0
  16. package/blog/uk/history_of_i18n.md +304 -0
  17. package/blog/vi/history_of_i18n.md +304 -0
  18. package/blog/zh/history_of_i18n.md +304 -0
  19. package/dist/cjs/generated/blog.entry.cjs +20 -0
  20. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  21. package/dist/cjs/generated/docs.entry.cjs +0 -20
  22. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  23. package/dist/esm/generated/blog.entry.mjs +20 -0
  24. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  25. package/dist/esm/generated/docs.entry.mjs +0 -20
  26. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  27. package/dist/types/generated/blog.entry.d.ts +1 -0
  28. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  29. package/dist/types/generated/docs.entry.d.ts +0 -1
  30. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  31. package/docs/ar/benchmark/index.md +4 -1
  32. package/docs/ar/benchmark/nextjs.md +32 -27
  33. package/docs/ar/benchmark/solid.md +13 -10
  34. package/docs/ar/benchmark/svelte.md +12 -9
  35. package/docs/ar/benchmark/tanstack.md +29 -24
  36. package/docs/ar/benchmark/vue.md +11 -7
  37. package/docs/ar/cli/build.md +8 -1
  38. package/docs/ar/cli/configuration.md +3 -1
  39. package/docs/ar/cli/doc-review.md +8 -1
  40. package/docs/ar/cli/doc-translate.md +5 -1
  41. package/docs/ar/cli/extract.md +2 -1
  42. package/docs/ar/cli/fill.md +5 -1
  43. package/docs/ar/cli/index.md +4 -5
  44. package/docs/ar/cli/live.md +5 -1
  45. package/docs/ar/cli/login.md +2 -2
  46. package/docs/ar/cli/pull.md +5 -1
  47. package/docs/ar/cli/push.md +5 -1
  48. package/docs/ar/cli/scan.md +5 -1
  49. package/docs/ar/cli/standalone.md +5 -1
  50. package/docs/ar/cli/test.md +5 -1
  51. package/docs/ar/cli/watch.md +5 -1
  52. package/docs/ar/compat/i18n-js.md +1 -1
  53. package/docs/ar/compat/i18next.md +1 -1
  54. package/docs/ar/compat/lingui.md +1 -1
  55. package/docs/ar/compat/next-i18next.md +1 -1
  56. package/docs/ar/compat/next-intl.md +1 -1
  57. package/docs/ar/compat/next-translate.md +1 -1
  58. package/docs/ar/compat/ngx-translate.md +1 -1
  59. package/docs/ar/compat/nuxtjs-i18n.md +1 -1
  60. package/docs/ar/compat/polyglot.md +1 -1
  61. package/docs/ar/compat/react-i18next.md +1 -1
  62. package/docs/ar/compat/react-intl.md +1 -1
  63. package/docs/ar/compat/svelte-i18n.md +1 -1
  64. package/docs/ar/compat/transloco.md +1 -1
  65. package/docs/ar/compat/vue-i18n.md +1 -1
  66. package/docs/ar/intlayer_with_remix_3.md +543 -0
  67. package/docs/bn/cli/index.md +4 -5
  68. package/docs/bn/cli/scan.md +5 -1
  69. package/docs/bn/cli/standalone.md +5 -1
  70. package/docs/cs/cli/index.md +4 -5
  71. package/docs/cs/cli/scan.md +5 -1
  72. package/docs/cs/cli/standalone.md +5 -1
  73. package/docs/de/benchmark/index.md +4 -1
  74. package/docs/de/benchmark/nextjs.md +32 -27
  75. package/docs/de/benchmark/solid.md +13 -10
  76. package/docs/de/benchmark/svelte.md +12 -9
  77. package/docs/de/benchmark/tanstack.md +29 -24
  78. package/docs/de/benchmark/vue.md +11 -7
  79. package/docs/de/cli/build.md +8 -1
  80. package/docs/de/cli/configuration.md +3 -1
  81. package/docs/de/cli/doc-review.md +8 -1
  82. package/docs/de/cli/doc-translate.md +5 -1
  83. package/docs/de/cli/extract.md +2 -1
  84. package/docs/de/cli/fill.md +5 -1
  85. package/docs/de/cli/index.md +4 -5
  86. package/docs/de/cli/live.md +5 -1
  87. package/docs/de/cli/login.md +2 -2
  88. package/docs/de/cli/pull.md +5 -1
  89. package/docs/de/cli/push.md +5 -1
  90. package/docs/de/cli/scan.md +5 -1
  91. package/docs/de/cli/standalone.md +5 -1
  92. package/docs/de/cli/test.md +5 -1
  93. package/docs/de/cli/watch.md +5 -1
  94. package/docs/de/compat/i18n-js.md +1 -1
  95. package/docs/de/compat/i18next.md +1 -1
  96. package/docs/de/compat/lingui.md +1 -1
  97. package/docs/de/compat/next-i18next.md +1 -1
  98. package/docs/de/compat/next-intl.md +1 -1
  99. package/docs/de/compat/next-translate.md +1 -1
  100. package/docs/de/compat/ngx-translate.md +1 -1
  101. package/docs/de/compat/nuxtjs-i18n.md +1 -1
  102. package/docs/de/compat/polyglot.md +1 -1
  103. package/docs/de/compat/react-i18next.md +1 -1
  104. package/docs/de/compat/react-intl.md +1 -1
  105. package/docs/de/compat/svelte-i18n.md +1 -1
  106. package/docs/de/compat/transloco.md +1 -1
  107. package/docs/de/compat/vue-i18n.md +1 -1
  108. package/docs/de/intlayer_with_remix_3.md +543 -0
  109. package/docs/en/benchmark/index.md +4 -1
  110. package/docs/en/benchmark/nextjs.md +32 -27
  111. package/docs/en/benchmark/solid.md +13 -10
  112. package/docs/en/benchmark/svelte.md +12 -9
  113. package/docs/en/benchmark/tanstack.md +30 -25
  114. package/docs/en/benchmark/vue.md +11 -7
  115. package/docs/en/cli/build.md +8 -1
  116. package/docs/en/cli/configuration.md +3 -1
  117. package/docs/en/cli/doc-review.md +8 -1
  118. package/docs/en/cli/doc-translate.md +5 -1
  119. package/docs/en/cli/extract.md +2 -1
  120. package/docs/en/cli/fill.md +5 -1
  121. package/docs/en/cli/index.md +4 -5
  122. package/docs/en/cli/live.md +5 -1
  123. package/docs/en/cli/login.md +2 -2
  124. package/docs/en/cli/pull.md +5 -1
  125. package/docs/en/cli/push.md +5 -1
  126. package/docs/en/cli/scan.md +5 -1
  127. package/docs/en/cli/standalone.md +5 -1
  128. package/docs/en/cli/test.md +5 -1
  129. package/docs/en/cli/watch.md +5 -1
  130. package/docs/en/compat/i18n-js.md +1 -1
  131. package/docs/en/compat/i18next.md +1 -1
  132. package/docs/en/compat/lingui.md +1 -1
  133. package/docs/en/compat/next-i18next.md +1 -1
  134. package/docs/en/compat/next-intl.md +1 -1
  135. package/docs/en/compat/next-translate.md +1 -1
  136. package/docs/en/compat/ngx-translate.md +1 -1
  137. package/docs/en/compat/nuxtjs-i18n.md +1 -1
  138. package/docs/en/compat/polyglot.md +1 -1
  139. package/docs/en/compat/react-i18next.md +1 -1
  140. package/docs/en/compat/react-intl.md +1 -1
  141. package/docs/en/compat/svelte-i18n.md +1 -1
  142. package/docs/en/compat/transloco.md +1 -1
  143. package/docs/en/compat/vue-i18n.md +1 -1
  144. package/docs/en/intlayer_with_remix_3.md +103 -71
  145. package/docs/en-GB/benchmark/index.md +4 -1
  146. package/docs/en-GB/benchmark/nextjs.md +32 -27
  147. package/docs/en-GB/benchmark/solid.md +13 -10
  148. package/docs/en-GB/benchmark/svelte.md +12 -9
  149. package/docs/en-GB/benchmark/tanstack.md +29 -24
  150. package/docs/en-GB/benchmark/vue.md +11 -7
  151. package/docs/en-GB/cli/build.md +8 -1
  152. package/docs/en-GB/cli/configuration.md +3 -1
  153. package/docs/en-GB/cli/doc-review.md +8 -1
  154. package/docs/en-GB/cli/doc-translate.md +5 -1
  155. package/docs/en-GB/cli/extract.md +2 -1
  156. package/docs/en-GB/cli/fill.md +5 -1
  157. package/docs/en-GB/cli/index.md +4 -5
  158. package/docs/en-GB/cli/live.md +5 -1
  159. package/docs/en-GB/cli/login.md +2 -2
  160. package/docs/en-GB/cli/pull.md +5 -1
  161. package/docs/en-GB/cli/push.md +5 -1
  162. package/docs/en-GB/cli/scan.md +5 -1
  163. package/docs/en-GB/cli/standalone.md +5 -1
  164. package/docs/en-GB/cli/test.md +5 -1
  165. package/docs/en-GB/cli/watch.md +5 -1
  166. package/docs/en-GB/compat/i18n-js.md +1 -1
  167. package/docs/en-GB/compat/i18next.md +1 -1
  168. package/docs/en-GB/compat/lingui.md +1 -1
  169. package/docs/en-GB/compat/next-i18next.md +1 -1
  170. package/docs/en-GB/compat/next-intl.md +1 -1
  171. package/docs/en-GB/compat/next-translate.md +1 -1
  172. package/docs/en-GB/compat/ngx-translate.md +1 -1
  173. package/docs/en-GB/compat/nuxtjs-i18n.md +1 -1
  174. package/docs/en-GB/compat/polyglot.md +1 -1
  175. package/docs/en-GB/compat/react-i18next.md +1 -1
  176. package/docs/en-GB/compat/react-intl.md +1 -1
  177. package/docs/en-GB/compat/svelte-i18n.md +1 -1
  178. package/docs/en-GB/compat/transloco.md +1 -1
  179. package/docs/en-GB/compat/vue-i18n.md +1 -1
  180. package/docs/en-GB/intlayer_with_remix_3.md +558 -0
  181. package/docs/es/benchmark/index.md +4 -1
  182. package/docs/es/benchmark/nextjs.md +32 -27
  183. package/docs/es/benchmark/solid.md +13 -10
  184. package/docs/es/benchmark/svelte.md +12 -9
  185. package/docs/es/benchmark/tanstack.md +29 -24
  186. package/docs/es/benchmark/vue.md +11 -7
  187. package/docs/es/cli/build.md +8 -1
  188. package/docs/es/cli/configuration.md +3 -1
  189. package/docs/es/cli/doc-review.md +8 -1
  190. package/docs/es/cli/doc-translate.md +5 -1
  191. package/docs/es/cli/extract.md +2 -1
  192. package/docs/es/cli/fill.md +5 -1
  193. package/docs/es/cli/index.md +4 -5
  194. package/docs/es/cli/live.md +5 -1
  195. package/docs/es/cli/login.md +2 -2
  196. package/docs/es/cli/pull.md +5 -1
  197. package/docs/es/cli/push.md +5 -1
  198. package/docs/es/cli/scan.md +5 -1
  199. package/docs/es/cli/standalone.md +5 -1
  200. package/docs/es/cli/test.md +5 -1
  201. package/docs/es/cli/watch.md +5 -1
  202. package/docs/es/compat/i18n-js.md +1 -1
  203. package/docs/es/compat/i18next.md +1 -1
  204. package/docs/es/compat/lingui.md +1 -1
  205. package/docs/es/compat/next-i18next.md +1 -1
  206. package/docs/es/compat/next-intl.md +1 -1
  207. package/docs/es/compat/next-translate.md +1 -1
  208. package/docs/es/compat/ngx-translate.md +1 -1
  209. package/docs/es/compat/nuxtjs-i18n.md +1 -1
  210. package/docs/es/compat/polyglot.md +1 -1
  211. package/docs/es/compat/react-i18next.md +1 -1
  212. package/docs/es/compat/react-intl.md +1 -1
  213. package/docs/es/compat/svelte-i18n.md +1 -1
  214. package/docs/es/compat/transloco.md +1 -1
  215. package/docs/es/compat/vue-i18n.md +1 -1
  216. package/docs/es/intlayer_with_remix_3.md +540 -0
  217. package/docs/fr/benchmark/index.md +4 -1
  218. package/docs/fr/benchmark/nextjs.md +32 -27
  219. package/docs/fr/benchmark/solid.md +13 -10
  220. package/docs/fr/benchmark/svelte.md +12 -9
  221. package/docs/fr/benchmark/tanstack.md +29 -24
  222. package/docs/fr/benchmark/vue.md +11 -7
  223. package/docs/fr/cli/build.md +8 -1
  224. package/docs/fr/cli/configuration.md +3 -1
  225. package/docs/fr/cli/doc-review.md +8 -1
  226. package/docs/fr/cli/doc-translate.md +5 -1
  227. package/docs/fr/cli/extract.md +2 -1
  228. package/docs/fr/cli/fill.md +5 -1
  229. package/docs/fr/cli/index.md +4 -5
  230. package/docs/fr/cli/live.md +5 -1
  231. package/docs/fr/cli/login.md +2 -2
  232. package/docs/fr/cli/pull.md +5 -1
  233. package/docs/fr/cli/push.md +5 -1
  234. package/docs/fr/cli/scan.md +5 -1
  235. package/docs/fr/cli/standalone.md +5 -1
  236. package/docs/fr/cli/test.md +5 -1
  237. package/docs/fr/cli/watch.md +5 -1
  238. package/docs/fr/compat/i18n-js.md +1 -1
  239. package/docs/fr/compat/i18next.md +1 -1
  240. package/docs/fr/compat/lingui.md +1 -1
  241. package/docs/fr/compat/next-i18next.md +1 -1
  242. package/docs/fr/compat/next-intl.md +1 -1
  243. package/docs/fr/compat/next-translate.md +1 -1
  244. package/docs/fr/compat/ngx-translate.md +1 -1
  245. package/docs/fr/compat/nuxtjs-i18n.md +1 -1
  246. package/docs/fr/compat/polyglot.md +1 -1
  247. package/docs/fr/compat/react-i18next.md +1 -1
  248. package/docs/fr/compat/react-intl.md +1 -1
  249. package/docs/fr/compat/svelte-i18n.md +1 -1
  250. package/docs/fr/compat/transloco.md +1 -1
  251. package/docs/fr/compat/vue-i18n.md +1 -1
  252. package/docs/fr/intlayer_with_remix_3.md +540 -0
  253. package/docs/hi/benchmark/index.md +4 -1
  254. package/docs/hi/benchmark/nextjs.md +32 -27
  255. package/docs/hi/benchmark/solid.md +13 -10
  256. package/docs/hi/benchmark/svelte.md +12 -9
  257. package/docs/hi/benchmark/tanstack.md +29 -24
  258. package/docs/hi/benchmark/vue.md +11 -7
  259. package/docs/hi/cli/build.md +8 -1
  260. package/docs/hi/cli/configuration.md +3 -1
  261. package/docs/hi/cli/doc-review.md +8 -1
  262. package/docs/hi/cli/doc-translate.md +5 -1
  263. package/docs/hi/cli/extract.md +2 -1
  264. package/docs/hi/cli/fill.md +5 -1
  265. package/docs/hi/cli/index.md +4 -5
  266. package/docs/hi/cli/live.md +5 -1
  267. package/docs/hi/cli/login.md +2 -2
  268. package/docs/hi/cli/pull.md +5 -1
  269. package/docs/hi/cli/push.md +5 -1
  270. package/docs/hi/cli/scan.md +5 -1
  271. package/docs/hi/cli/standalone.md +5 -1
  272. package/docs/hi/cli/test.md +5 -1
  273. package/docs/hi/cli/watch.md +5 -1
  274. package/docs/hi/compat/i18n-js.md +1 -1
  275. package/docs/hi/compat/i18next.md +1 -1
  276. package/docs/hi/compat/lingui.md +1 -1
  277. package/docs/hi/compat/next-i18next.md +1 -1
  278. package/docs/hi/compat/next-intl.md +1 -1
  279. package/docs/hi/compat/next-translate.md +1 -1
  280. package/docs/hi/compat/ngx-translate.md +1 -1
  281. package/docs/hi/compat/nuxtjs-i18n.md +1 -1
  282. package/docs/hi/compat/polyglot.md +1 -1
  283. package/docs/hi/compat/react-i18next.md +1 -1
  284. package/docs/hi/compat/react-intl.md +1 -1
  285. package/docs/hi/compat/svelte-i18n.md +1 -1
  286. package/docs/hi/compat/transloco.md +1 -1
  287. package/docs/hi/compat/vue-i18n.md +1 -1
  288. package/docs/hi/intlayer_with_remix_3.md +543 -0
  289. package/docs/id/benchmark/index.md +4 -1
  290. package/docs/id/benchmark/nextjs.md +32 -27
  291. package/docs/id/benchmark/solid.md +13 -10
  292. package/docs/id/benchmark/svelte.md +12 -9
  293. package/docs/id/benchmark/tanstack.md +29 -24
  294. package/docs/id/benchmark/vue.md +11 -7
  295. package/docs/id/cli/build.md +8 -1
  296. package/docs/id/cli/configuration.md +3 -1
  297. package/docs/id/cli/doc-review.md +8 -1
  298. package/docs/id/cli/doc-translate.md +5 -1
  299. package/docs/id/cli/extract.md +2 -1
  300. package/docs/id/cli/fill.md +5 -1
  301. package/docs/id/cli/index.md +4 -5
  302. package/docs/id/cli/live.md +5 -1
  303. package/docs/id/cli/login.md +2 -2
  304. package/docs/id/cli/pull.md +5 -1
  305. package/docs/id/cli/push.md +5 -1
  306. package/docs/id/cli/scan.md +5 -1
  307. package/docs/id/cli/standalone.md +5 -1
  308. package/docs/id/cli/test.md +5 -1
  309. package/docs/id/cli/watch.md +5 -1
  310. package/docs/id/compat/i18n-js.md +1 -1
  311. package/docs/id/compat/i18next.md +1 -1
  312. package/docs/id/compat/lingui.md +1 -1
  313. package/docs/id/compat/next-i18next.md +1 -1
  314. package/docs/id/compat/next-intl.md +1 -1
  315. package/docs/id/compat/next-translate.md +1 -1
  316. package/docs/id/compat/ngx-translate.md +1 -1
  317. package/docs/id/compat/nuxtjs-i18n.md +1 -1
  318. package/docs/id/compat/polyglot.md +1 -1
  319. package/docs/id/compat/react-i18next.md +1 -1
  320. package/docs/id/compat/react-intl.md +1 -1
  321. package/docs/id/compat/svelte-i18n.md +1 -1
  322. package/docs/id/compat/transloco.md +1 -1
  323. package/docs/id/compat/vue-i18n.md +1 -1
  324. package/docs/id/intlayer_with_remix_3.md +566 -0
  325. package/docs/it/benchmark/index.md +4 -1
  326. package/docs/it/benchmark/nextjs.md +32 -27
  327. package/docs/it/benchmark/solid.md +13 -10
  328. package/docs/it/benchmark/svelte.md +12 -9
  329. package/docs/it/benchmark/tanstack.md +29 -24
  330. package/docs/it/benchmark/vue.md +11 -7
  331. package/docs/it/cli/build.md +8 -1
  332. package/docs/it/cli/configuration.md +3 -1
  333. package/docs/it/cli/doc-review.md +8 -1
  334. package/docs/it/cli/doc-translate.md +5 -1
  335. package/docs/it/cli/extract.md +2 -1
  336. package/docs/it/cli/fill.md +5 -1
  337. package/docs/it/cli/index.md +4 -5
  338. package/docs/it/cli/live.md +5 -1
  339. package/docs/it/cli/login.md +2 -2
  340. package/docs/it/cli/pull.md +5 -1
  341. package/docs/it/cli/push.md +5 -1
  342. package/docs/it/cli/scan.md +5 -1
  343. package/docs/it/cli/standalone.md +5 -1
  344. package/docs/it/cli/test.md +5 -1
  345. package/docs/it/cli/watch.md +5 -1
  346. package/docs/it/compat/i18n-js.md +1 -1
  347. package/docs/it/compat/i18next.md +1 -1
  348. package/docs/it/compat/lingui.md +1 -1
  349. package/docs/it/compat/next-i18next.md +1 -1
  350. package/docs/it/compat/next-intl.md +1 -1
  351. package/docs/it/compat/next-translate.md +1 -1
  352. package/docs/it/compat/ngx-translate.md +1 -1
  353. package/docs/it/compat/nuxtjs-i18n.md +1 -1
  354. package/docs/it/compat/polyglot.md +1 -1
  355. package/docs/it/compat/react-i18next.md +1 -1
  356. package/docs/it/compat/react-intl.md +1 -1
  357. package/docs/it/compat/svelte-i18n.md +1 -1
  358. package/docs/it/compat/transloco.md +1 -1
  359. package/docs/it/compat/vue-i18n.md +1 -1
  360. package/docs/it/intlayer_with_remix_3.md +558 -0
  361. package/docs/ja/benchmark/index.md +4 -1
  362. package/docs/ja/benchmark/nextjs.md +32 -27
  363. package/docs/ja/benchmark/solid.md +13 -10
  364. package/docs/ja/benchmark/svelte.md +12 -9
  365. package/docs/ja/benchmark/tanstack.md +29 -24
  366. package/docs/ja/benchmark/vue.md +11 -7
  367. package/docs/ja/cli/build.md +8 -1
  368. package/docs/ja/cli/configuration.md +3 -1
  369. package/docs/ja/cli/doc-review.md +8 -1
  370. package/docs/ja/cli/doc-translate.md +5 -1
  371. package/docs/ja/cli/extract.md +2 -1
  372. package/docs/ja/cli/fill.md +5 -1
  373. package/docs/ja/cli/index.md +4 -5
  374. package/docs/ja/cli/live.md +5 -1
  375. package/docs/ja/cli/login.md +2 -2
  376. package/docs/ja/cli/pull.md +5 -1
  377. package/docs/ja/cli/push.md +5 -1
  378. package/docs/ja/cli/scan.md +5 -1
  379. package/docs/ja/cli/standalone.md +5 -1
  380. package/docs/ja/cli/test.md +5 -1
  381. package/docs/ja/cli/watch.md +5 -1
  382. package/docs/ja/compat/i18n-js.md +1 -1
  383. package/docs/ja/compat/i18next.md +1 -1
  384. package/docs/ja/compat/lingui.md +1 -1
  385. package/docs/ja/compat/next-i18next.md +1 -1
  386. package/docs/ja/compat/next-intl.md +1 -1
  387. package/docs/ja/compat/next-translate.md +1 -1
  388. package/docs/ja/compat/ngx-translate.md +1 -1
  389. package/docs/ja/compat/nuxtjs-i18n.md +1 -1
  390. package/docs/ja/compat/polyglot.md +1 -1
  391. package/docs/ja/compat/react-i18next.md +1 -1
  392. package/docs/ja/compat/react-intl.md +1 -1
  393. package/docs/ja/compat/svelte-i18n.md +1 -1
  394. package/docs/ja/compat/transloco.md +1 -1
  395. package/docs/ja/compat/vue-i18n.md +1 -1
  396. package/docs/ja/intlayer_with_remix_3.md +558 -0
  397. package/docs/ko/benchmark/index.md +4 -1
  398. package/docs/ko/benchmark/nextjs.md +32 -27
  399. package/docs/ko/benchmark/solid.md +13 -10
  400. package/docs/ko/benchmark/svelte.md +12 -9
  401. package/docs/ko/benchmark/tanstack.md +29 -24
  402. package/docs/ko/benchmark/vue.md +11 -7
  403. package/docs/ko/cli/build.md +8 -1
  404. package/docs/ko/cli/configuration.md +3 -1
  405. package/docs/ko/cli/doc-review.md +8 -1
  406. package/docs/ko/cli/doc-translate.md +5 -1
  407. package/docs/ko/cli/extract.md +2 -1
  408. package/docs/ko/cli/fill.md +5 -1
  409. package/docs/ko/cli/index.md +4 -5
  410. package/docs/ko/cli/live.md +5 -1
  411. package/docs/ko/cli/login.md +2 -2
  412. package/docs/ko/cli/pull.md +5 -1
  413. package/docs/ko/cli/push.md +5 -1
  414. package/docs/ko/cli/scan.md +5 -1
  415. package/docs/ko/cli/standalone.md +5 -1
  416. package/docs/ko/cli/test.md +5 -1
  417. package/docs/ko/cli/watch.md +5 -1
  418. package/docs/ko/compat/i18n-js.md +1 -1
  419. package/docs/ko/compat/i18next.md +1 -1
  420. package/docs/ko/compat/lingui.md +1 -1
  421. package/docs/ko/compat/next-i18next.md +1 -1
  422. package/docs/ko/compat/next-intl.md +1 -1
  423. package/docs/ko/compat/next-translate.md +1 -1
  424. package/docs/ko/compat/ngx-translate.md +1 -1
  425. package/docs/ko/compat/nuxtjs-i18n.md +1 -1
  426. package/docs/ko/compat/polyglot.md +1 -1
  427. package/docs/ko/compat/react-i18next.md +1 -1
  428. package/docs/ko/compat/react-intl.md +1 -1
  429. package/docs/ko/compat/svelte-i18n.md +1 -1
  430. package/docs/ko/compat/transloco.md +1 -1
  431. package/docs/ko/compat/vue-i18n.md +1 -1
  432. package/docs/ko/intlayer_with_remix_3.md +543 -0
  433. package/docs/nl/cli/index.md +4 -5
  434. package/docs/nl/cli/scan.md +5 -1
  435. package/docs/nl/cli/standalone.md +5 -1
  436. package/docs/pl/benchmark/index.md +4 -1
  437. package/docs/pl/benchmark/nextjs.md +32 -27
  438. package/docs/pl/benchmark/solid.md +13 -10
  439. package/docs/pl/benchmark/svelte.md +12 -9
  440. package/docs/pl/benchmark/tanstack.md +29 -24
  441. package/docs/pl/benchmark/vue.md +11 -7
  442. package/docs/pl/cli/build.md +8 -1
  443. package/docs/pl/cli/configuration.md +3 -1
  444. package/docs/pl/cli/doc-review.md +8 -1
  445. package/docs/pl/cli/doc-translate.md +5 -1
  446. package/docs/pl/cli/extract.md +2 -1
  447. package/docs/pl/cli/fill.md +5 -1
  448. package/docs/pl/cli/index.md +4 -5
  449. package/docs/pl/cli/live.md +5 -1
  450. package/docs/pl/cli/login.md +2 -2
  451. package/docs/pl/cli/pull.md +5 -1
  452. package/docs/pl/cli/push.md +5 -1
  453. package/docs/pl/cli/scan.md +5 -1
  454. package/docs/pl/cli/standalone.md +5 -1
  455. package/docs/pl/cli/test.md +5 -1
  456. package/docs/pl/cli/watch.md +5 -1
  457. package/docs/pl/compat/i18n-js.md +1 -1
  458. package/docs/pl/compat/i18next.md +1 -1
  459. package/docs/pl/compat/lingui.md +1 -1
  460. package/docs/pl/compat/next-i18next.md +1 -1
  461. package/docs/pl/compat/next-intl.md +1 -1
  462. package/docs/pl/compat/next-translate.md +1 -1
  463. package/docs/pl/compat/ngx-translate.md +1 -1
  464. package/docs/pl/compat/nuxtjs-i18n.md +1 -1
  465. package/docs/pl/compat/polyglot.md +1 -1
  466. package/docs/pl/compat/react-i18next.md +1 -1
  467. package/docs/pl/compat/react-intl.md +1 -1
  468. package/docs/pl/compat/svelte-i18n.md +1 -1
  469. package/docs/pl/compat/transloco.md +1 -1
  470. package/docs/pl/compat/vue-i18n.md +1 -1
  471. package/docs/pl/intlayer_with_remix_3.md +551 -0
  472. package/docs/pt/benchmark/index.md +4 -1
  473. package/docs/pt/benchmark/nextjs.md +32 -27
  474. package/docs/pt/benchmark/solid.md +13 -10
  475. package/docs/pt/benchmark/svelte.md +12 -9
  476. package/docs/pt/benchmark/tanstack.md +29 -24
  477. package/docs/pt/benchmark/vue.md +11 -7
  478. package/docs/pt/cli/build.md +8 -1
  479. package/docs/pt/cli/configuration.md +3 -1
  480. package/docs/pt/cli/doc-review.md +8 -1
  481. package/docs/pt/cli/doc-translate.md +5 -1
  482. package/docs/pt/cli/extract.md +2 -1
  483. package/docs/pt/cli/fill.md +5 -1
  484. package/docs/pt/cli/index.md +4 -5
  485. package/docs/pt/cli/live.md +5 -1
  486. package/docs/pt/cli/login.md +2 -2
  487. package/docs/pt/cli/pull.md +5 -1
  488. package/docs/pt/cli/push.md +5 -1
  489. package/docs/pt/cli/scan.md +5 -1
  490. package/docs/pt/cli/standalone.md +5 -1
  491. package/docs/pt/cli/test.md +5 -1
  492. package/docs/pt/cli/watch.md +5 -1
  493. package/docs/pt/compat/i18n-js.md +1 -1
  494. package/docs/pt/compat/i18next.md +1 -1
  495. package/docs/pt/compat/lingui.md +1 -1
  496. package/docs/pt/compat/next-i18next.md +1 -1
  497. package/docs/pt/compat/next-intl.md +1 -1
  498. package/docs/pt/compat/next-translate.md +1 -1
  499. package/docs/pt/compat/ngx-translate.md +1 -1
  500. package/docs/pt/compat/nuxtjs-i18n.md +1 -1
  501. package/docs/pt/compat/polyglot.md +1 -1
  502. package/docs/pt/compat/react-i18next.md +1 -1
  503. package/docs/pt/compat/react-intl.md +1 -1
  504. package/docs/pt/compat/svelte-i18n.md +1 -1
  505. package/docs/pt/compat/transloco.md +1 -1
  506. package/docs/pt/compat/vue-i18n.md +1 -1
  507. package/docs/pt/intlayer_with_remix_3.md +558 -0
  508. package/docs/ru/benchmark/index.md +4 -1
  509. package/docs/ru/benchmark/nextjs.md +32 -27
  510. package/docs/ru/benchmark/solid.md +13 -10
  511. package/docs/ru/benchmark/svelte.md +12 -9
  512. package/docs/ru/benchmark/tanstack.md +29 -24
  513. package/docs/ru/benchmark/vue.md +11 -7
  514. package/docs/ru/cli/build.md +8 -1
  515. package/docs/ru/cli/configuration.md +3 -1
  516. package/docs/ru/cli/doc-review.md +8 -1
  517. package/docs/ru/cli/doc-translate.md +5 -1
  518. package/docs/ru/cli/extract.md +2 -1
  519. package/docs/ru/cli/fill.md +5 -1
  520. package/docs/ru/cli/index.md +4 -5
  521. package/docs/ru/cli/live.md +5 -1
  522. package/docs/ru/cli/login.md +2 -2
  523. package/docs/ru/cli/pull.md +5 -1
  524. package/docs/ru/cli/push.md +5 -1
  525. package/docs/ru/cli/scan.md +5 -1
  526. package/docs/ru/cli/standalone.md +5 -1
  527. package/docs/ru/cli/test.md +5 -1
  528. package/docs/ru/cli/watch.md +5 -1
  529. package/docs/ru/compat/i18n-js.md +1 -1
  530. package/docs/ru/compat/i18next.md +1 -1
  531. package/docs/ru/compat/lingui.md +1 -1
  532. package/docs/ru/compat/next-i18next.md +1 -1
  533. package/docs/ru/compat/next-intl.md +1 -1
  534. package/docs/ru/compat/next-translate.md +1 -1
  535. package/docs/ru/compat/ngx-translate.md +1 -1
  536. package/docs/ru/compat/nuxtjs-i18n.md +1 -1
  537. package/docs/ru/compat/polyglot.md +1 -1
  538. package/docs/ru/compat/react-i18next.md +1 -1
  539. package/docs/ru/compat/react-intl.md +1 -1
  540. package/docs/ru/compat/svelte-i18n.md +1 -1
  541. package/docs/ru/compat/transloco.md +1 -1
  542. package/docs/ru/compat/vue-i18n.md +1 -1
  543. package/docs/ru/intlayer_with_remix_3.md +558 -0
  544. package/docs/tr/benchmark/index.md +4 -1
  545. package/docs/tr/benchmark/nextjs.md +32 -27
  546. package/docs/tr/benchmark/solid.md +13 -10
  547. package/docs/tr/benchmark/svelte.md +12 -9
  548. package/docs/tr/benchmark/tanstack.md +29 -24
  549. package/docs/tr/benchmark/vue.md +11 -7
  550. package/docs/tr/cli/build.md +8 -1
  551. package/docs/tr/cli/configuration.md +3 -1
  552. package/docs/tr/cli/doc-review.md +8 -1
  553. package/docs/tr/cli/doc-translate.md +5 -1
  554. package/docs/tr/cli/extract.md +2 -1
  555. package/docs/tr/cli/fill.md +5 -1
  556. package/docs/tr/cli/index.md +4 -5
  557. package/docs/tr/cli/live.md +5 -1
  558. package/docs/tr/cli/login.md +2 -2
  559. package/docs/tr/cli/pull.md +5 -1
  560. package/docs/tr/cli/push.md +5 -1
  561. package/docs/tr/cli/scan.md +5 -1
  562. package/docs/tr/cli/standalone.md +5 -1
  563. package/docs/tr/cli/test.md +5 -1
  564. package/docs/tr/cli/watch.md +5 -1
  565. package/docs/tr/compat/i18n-js.md +1 -1
  566. package/docs/tr/compat/i18next.md +1 -1
  567. package/docs/tr/compat/lingui.md +1 -1
  568. package/docs/tr/compat/next-i18next.md +1 -1
  569. package/docs/tr/compat/next-intl.md +1 -1
  570. package/docs/tr/compat/next-translate.md +1 -1
  571. package/docs/tr/compat/ngx-translate.md +1 -1
  572. package/docs/tr/compat/nuxtjs-i18n.md +1 -1
  573. package/docs/tr/compat/polyglot.md +1 -1
  574. package/docs/tr/compat/react-i18next.md +1 -1
  575. package/docs/tr/compat/react-intl.md +1 -1
  576. package/docs/tr/compat/svelte-i18n.md +1 -1
  577. package/docs/tr/compat/transloco.md +1 -1
  578. package/docs/tr/compat/vue-i18n.md +1 -1
  579. package/docs/tr/intlayer_with_remix_3.md +566 -0
  580. package/docs/uk/benchmark/index.md +4 -1
  581. package/docs/uk/benchmark/nextjs.md +32 -27
  582. package/docs/uk/benchmark/solid.md +13 -10
  583. package/docs/uk/benchmark/svelte.md +12 -9
  584. package/docs/uk/benchmark/tanstack.md +29 -24
  585. package/docs/uk/benchmark/vue.md +11 -7
  586. package/docs/uk/cli/build.md +8 -1
  587. package/docs/uk/cli/configuration.md +3 -1
  588. package/docs/uk/cli/doc-review.md +8 -1
  589. package/docs/uk/cli/doc-translate.md +5 -1
  590. package/docs/uk/cli/extract.md +2 -1
  591. package/docs/uk/cli/fill.md +5 -1
  592. package/docs/uk/cli/index.md +4 -5
  593. package/docs/uk/cli/live.md +5 -1
  594. package/docs/uk/cli/login.md +2 -2
  595. package/docs/uk/cli/pull.md +5 -1
  596. package/docs/uk/cli/push.md +5 -1
  597. package/docs/uk/cli/scan.md +5 -1
  598. package/docs/uk/cli/standalone.md +5 -1
  599. package/docs/uk/cli/test.md +5 -1
  600. package/docs/uk/cli/watch.md +5 -1
  601. package/docs/uk/compat/i18n-js.md +1 -1
  602. package/docs/uk/compat/i18next.md +1 -1
  603. package/docs/uk/compat/lingui.md +1 -1
  604. package/docs/uk/compat/next-i18next.md +1 -1
  605. package/docs/uk/compat/next-intl.md +1 -1
  606. package/docs/uk/compat/next-translate.md +1 -1
  607. package/docs/uk/compat/ngx-translate.md +1 -1
  608. package/docs/uk/compat/nuxtjs-i18n.md +1 -1
  609. package/docs/uk/compat/polyglot.md +1 -1
  610. package/docs/uk/compat/react-i18next.md +1 -1
  611. package/docs/uk/compat/react-intl.md +1 -1
  612. package/docs/uk/compat/svelte-i18n.md +1 -1
  613. package/docs/uk/compat/transloco.md +1 -1
  614. package/docs/uk/compat/vue-i18n.md +1 -1
  615. package/docs/uk/intlayer_with_remix_3.md +566 -0
  616. package/docs/ur/cli/index.md +4 -5
  617. package/docs/ur/cli/scan.md +5 -1
  618. package/docs/ur/cli/standalone.md +5 -1
  619. package/docs/vi/benchmark/index.md +4 -1
  620. package/docs/vi/benchmark/nextjs.md +32 -27
  621. package/docs/vi/benchmark/solid.md +13 -10
  622. package/docs/vi/benchmark/svelte.md +12 -9
  623. package/docs/vi/benchmark/tanstack.md +29 -24
  624. package/docs/vi/benchmark/vue.md +11 -7
  625. package/docs/vi/cli/build.md +8 -1
  626. package/docs/vi/cli/configuration.md +3 -1
  627. package/docs/vi/cli/doc-review.md +8 -1
  628. package/docs/vi/cli/doc-translate.md +5 -1
  629. package/docs/vi/cli/extract.md +2 -1
  630. package/docs/vi/cli/fill.md +5 -1
  631. package/docs/vi/cli/index.md +4 -5
  632. package/docs/vi/cli/live.md +5 -1
  633. package/docs/vi/cli/login.md +2 -2
  634. package/docs/vi/cli/pull.md +5 -1
  635. package/docs/vi/cli/push.md +5 -1
  636. package/docs/vi/cli/scan.md +5 -1
  637. package/docs/vi/cli/standalone.md +5 -1
  638. package/docs/vi/cli/test.md +5 -1
  639. package/docs/vi/cli/watch.md +5 -1
  640. package/docs/vi/compat/i18n-js.md +1 -1
  641. package/docs/vi/compat/i18next.md +1 -1
  642. package/docs/vi/compat/lingui.md +1 -1
  643. package/docs/vi/compat/next-i18next.md +1 -1
  644. package/docs/vi/compat/next-intl.md +1 -1
  645. package/docs/vi/compat/next-translate.md +1 -1
  646. package/docs/vi/compat/ngx-translate.md +1 -1
  647. package/docs/vi/compat/nuxtjs-i18n.md +1 -1
  648. package/docs/vi/compat/polyglot.md +1 -1
  649. package/docs/vi/compat/react-i18next.md +1 -1
  650. package/docs/vi/compat/react-intl.md +1 -1
  651. package/docs/vi/compat/svelte-i18n.md +1 -1
  652. package/docs/vi/compat/transloco.md +1 -1
  653. package/docs/vi/compat/vue-i18n.md +1 -1
  654. package/docs/vi/intlayer_with_remix_3.md +566 -0
  655. package/docs/zh/benchmark/index.md +4 -1
  656. package/docs/zh/benchmark/nextjs.md +32 -27
  657. package/docs/zh/benchmark/solid.md +13 -10
  658. package/docs/zh/benchmark/svelte.md +12 -9
  659. package/docs/zh/benchmark/tanstack.md +29 -24
  660. package/docs/zh/benchmark/vue.md +11 -7
  661. package/docs/zh/cli/build.md +8 -1
  662. package/docs/zh/cli/configuration.md +3 -1
  663. package/docs/zh/cli/doc-review.md +8 -1
  664. package/docs/zh/cli/doc-translate.md +5 -1
  665. package/docs/zh/cli/extract.md +2 -1
  666. package/docs/zh/cli/fill.md +5 -1
  667. package/docs/zh/cli/index.md +4 -5
  668. package/docs/zh/cli/live.md +5 -1
  669. package/docs/zh/cli/login.md +2 -2
  670. package/docs/zh/cli/pull.md +5 -1
  671. package/docs/zh/cli/push.md +5 -1
  672. package/docs/zh/cli/scan.md +5 -1
  673. package/docs/zh/cli/standalone.md +5 -1
  674. package/docs/zh/cli/test.md +5 -1
  675. package/docs/zh/cli/watch.md +5 -1
  676. package/docs/zh/compat/i18n-js.md +1 -1
  677. package/docs/zh/compat/i18next.md +1 -1
  678. package/docs/zh/compat/lingui.md +1 -1
  679. package/docs/zh/compat/next-i18next.md +1 -1
  680. package/docs/zh/compat/next-intl.md +1 -1
  681. package/docs/zh/compat/next-translate.md +1 -1
  682. package/docs/zh/compat/ngx-translate.md +1 -1
  683. package/docs/zh/compat/nuxtjs-i18n.md +1 -1
  684. package/docs/zh/compat/polyglot.md +1 -1
  685. package/docs/zh/compat/react-i18next.md +1 -1
  686. package/docs/zh/compat/react-intl.md +1 -1
  687. package/docs/zh/compat/svelte-i18n.md +1 -1
  688. package/docs/zh/compat/transloco.md +1 -1
  689. package/docs/zh/compat/vue-i18n.md +1 -1
  690. package/docs/zh/intlayer_with_remix_3.md +558 -0
  691. package/package.json +7 -7
  692. package/src/generated/blog.entry.ts +20 -0
  693. package/src/generated/docs.entry.ts +0 -20
  694. package/docs/ar/cli/ci.md +0 -186
  695. package/docs/de/cli/ci.md +0 -186
  696. package/docs/en/cli/ci.md +0 -216
  697. package/docs/en-GB/cli/ci.md +0 -186
  698. package/docs/es/cli/ci.md +0 -186
  699. package/docs/fr/cli/ci.md +0 -186
  700. package/docs/hi/cli/ci.md +0 -186
  701. package/docs/id/cli/ci.md +0 -186
  702. package/docs/it/cli/ci.md +0 -186
  703. package/docs/ja/cli/ci.md +0 -186
  704. package/docs/ko/cli/ci.md +0 -186
  705. package/docs/pl/cli/ci.md +0 -186
  706. package/docs/pt/cli/ci.md +0 -186
  707. package/docs/ru/cli/ci.md +0 -186
  708. package/docs/tr/cli/ci.md +0 -186
  709. package/docs/uk/cli/ci.md +0 -186
  710. package/docs/vi/cli/ci.md +0 -186
  711. package/docs/zh/cli/ci.md +0 -186
@@ -4,6 +4,7 @@ export declare const blogEntry: {
4
4
  readonly './blog/en/compiler_vs_declarative_i18n.md': Record<LocalesValues, Promise<string>>;
5
5
  readonly './blog/en/date_time_number_formatting_locales.md': Record<LocalesValues, Promise<string>>;
6
6
  readonly './blog/en/detecting_missing_translations.md': Record<LocalesValues, Promise<string>>;
7
+ readonly './blog/en/history_of_i18n.md': Record<LocalesValues, Promise<string>>;
7
8
  readonly './blog/en/hreflang_guide_multilingual_seo.md': Record<LocalesValues, Promise<string>>;
8
9
  readonly './blog/en/i18n_in_ci_cd_pipelines.md': Record<LocalesValues, Promise<string>>;
9
10
  readonly './blog/en/i18n_meaning.md': Record<LocalesValues, Promise<string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"blog.entry.d.ts","names":[],"sources":["../../../src/generated/blog.entry.ts"],"mappings":";;qBAsFa;WACX,6CAmBgB,OAAO,eAAe;WACtC,oDAmBgB,OAAO,eAAe;WACtC,+CAmBgB,OAAO,eAAe;WACtC,gDAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,6BAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,qCAmBgB,OAAO,eAAe;WACtC,mCAmBgB,OAAO,eAAe;WACtC,sBAmBgB,OAAO,eAAe;WACtC,6CAmBgB,OAAO,eAAe;WACtC,sCAmBgB,OAAO,eAAe;WACtC,2CAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,4CAmBgB,OAAO,eAAe;WACtC,yCAmBgB,OAAO,eAAe;WACtC,uCAmBgB,OAAO,eAAe;WACtC,oCAmBgB,OAAO,eAAe;WACtC,sCAmBgB,OAAO,eAAe;WACtC,qCAmBgB,OAAO,eAAe;WACtC,mDAmBgB,OAAO,eAAe;WACtC,kDAmBgB,OAAO,eAAe;WACtC,iDAmBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,0DAsBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,yDAmBgB,OAAO,eAAe;WACtC,uDAmBgB,OAAO,eAAe;WACtC,+DAsBgB,OAAO,eAAe;WACtC,+DAsBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,yDAmBgB,OAAO,eAAe;WACtC,4DAsBgB,OAAO,eAAe;WACtC,iEAsBgB,OAAO,eAAe;WACtC,sDAmBgB,OAAO,eAAe;WACtC,sDAmBgB,OAAO,eAAe;WACtC,mDAmBgB,OAAO,eAAe;WACtC,kDAmBgB,OAAO,eAAe;WACtC,oDAmBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,6DAsBgB,OAAO,eAAe;WACtC,iEAsBgB,OAAO,eAAe;WACtC,qCAmBgB,OAAO,eAAe;WACtC,6CAmBgB,OAAO,eAAe"}
1
+ {"version":3,"file":"blog.entry.d.ts","names":[],"sources":["../../../src/generated/blog.entry.ts"],"mappings":";;qBAsFa;WACX,6CAmBgB,OAAO,eAAe;WACtC,oDAmBgB,OAAO,eAAe;WACtC,+CAmBgB,OAAO,eAAe;WACtC,gCAmBgB,OAAO,eAAe;WACtC,gDAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,6BAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,qCAmBgB,OAAO,eAAe;WACtC,mCAmBgB,OAAO,eAAe;WACtC,sBAmBgB,OAAO,eAAe;WACtC,6CAmBgB,OAAO,eAAe;WACtC,sCAmBgB,OAAO,eAAe;WACtC,2CAmBgB,OAAO,eAAe;WACtC,wCAmBgB,OAAO,eAAe;WACtC,4CAmBgB,OAAO,eAAe;WACtC,yCAmBgB,OAAO,eAAe;WACtC,uCAmBgB,OAAO,eAAe;WACtC,oCAmBgB,OAAO,eAAe;WACtC,sCAmBgB,OAAO,eAAe;WACtC,qCAmBgB,OAAO,eAAe;WACtC,mDAmBgB,OAAO,eAAe;WACtC,kDAmBgB,OAAO,eAAe;WACtC,iDAmBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,0DAsBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,yDAmBgB,OAAO,eAAe;WACtC,uDAmBgB,OAAO,eAAe;WACtC,+DAsBgB,OAAO,eAAe;WACtC,+DAsBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,yDAmBgB,OAAO,eAAe;WACtC,4DAsBgB,OAAO,eAAe;WACtC,iEAsBgB,OAAO,eAAe;WACtC,sDAmBgB,OAAO,eAAe;WACtC,sDAmBgB,OAAO,eAAe;WACtC,mDAmBgB,OAAO,eAAe;WACtC,kDAmBgB,OAAO,eAAe;WACtC,oDAmBgB,OAAO,eAAe;WACtC,wDAmBgB,OAAO,eAAe;WACtC,6DAsBgB,OAAO,eAAe;WACtC,iEAsBgB,OAAO,eAAe;WACtC,qCAmBgB,OAAO,eAAe;WACtC,6CAmBgB,OAAO,eAAe"}
@@ -13,7 +13,6 @@ export declare const docsEntry: {
13
13
  readonly './docs/en/benchmark/vue.md': Record<LocalesValues, Promise<string>>;
14
14
  readonly './docs/en/bundle_optimization.md': Record<LocalesValues, Promise<string>>;
15
15
  readonly './docs/en/cli/build.md': Record<LocalesValues, Promise<string>>;
16
- readonly './docs/en/cli/ci.md': Record<LocalesValues, Promise<string>>;
17
16
  readonly './docs/en/cli/configuration.md': Record<LocalesValues, Promise<string>>;
18
17
  readonly './docs/en/cli/debug.md': Record<LocalesValues, Promise<string>>;
19
18
  readonly './docs/en/cli/doc-review.md': Record<LocalesValues, Promise<string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"docs.entry.d.ts","names":[],"sources":["../../../src/generated/docs.entry.ts"],"mappings":"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"}
1
+ {"version":3,"file":"docs.entry.d.ts","names":[],"sources":["../../../src/generated/docs.entry.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-04-20
3
+ updatedAt: 2026-09-11
4
4
  title: مقارنة مكتبات i18n
5
5
  description: تعرف على كيفية مقارنة Intlayer بمكتبات i18n الأخرى من حيث الأداء وحجم الحزمة.
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - doc
15
15
  - benchmark
16
16
  history:
17
+ - version: 9.5.1
18
+ date: 2026-09-11
19
+ changes: "تحديث نتائج المقارنة"
17
20
  - version: 8.7.5
18
21
  date: 2026-01-06
19
22
  changes: "بدء المقارنة"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-05-18
3
+ updatedAt: 2026-09-11
4
4
  title: أفضل حل i18n لـ Next.js في 2026 - تقرير المقارنة
5
5
  description: قارن بين مكتبات تدويل (i18n) Next.js مثل next-intl و next-i18next و Intlayer. تقرير مفصل للأداء حول حجم الحزمة، التسرب، والتفاعلية.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n
19
19
  history:
20
+ - version: 9.5.1
21
+ date: 2026-09-11
22
+ changes: "تحديث نتائج المقارنة"
20
23
  - version: 8.9.8
21
24
  date: 2026-05-18
22
25
  changes: "إضافة مقارنة نجوم GitHub"
@@ -56,7 +59,7 @@ style="border:none;"
56
59
 
57
60
  مع نمو تطبيقك، يمكن أن ينمو حجم الحزمة بشكل كبير، مما قد يضر بالأداء بشكل ملحوظ.
58
61
 
59
- على سبيل المثال، بالنسبة لأسوأ الحالات، يمكن أن تصبح صفحتك بعد تدويلها أكبر بـ 4 مرات تقريبًا.
62
+ على سبيل المثال، بالنسبة لأسوأ الحالات، يمكن أن تصبح صفحتك بعد تدويلها أكبر بمرتين تقريبًا.
60
63
 
61
64
  تأثير آخر لمكتبات i18n هو بطء التطوير. تحويل المكونات إلى محتوى متعدد اللغات يستغرق وقتًا طويلاً.
62
65
 
@@ -68,7 +71,7 @@ style="border:none;"
68
71
 
69
72
  - **Intlayer** و **next-translate**: أفضل الخيارات لأداء Next.js، حيث يقدمان أصغر حجم وأفضل دعم للرندرة الستاتيكية.
70
73
  - **next-intl**: الخيار الأكثر رواجًا ولكنه ثقيل ومعقد في التحسين للتطبيقات الكبيرة.
71
- - **next-i18next**: شائع وغني بالإضافات، ولكنه يأتي بحجم حزمة كبير (~3 أضعاف Intlayer).
74
+ - **next-i18next**: شائع وغني بالإضافات، ولكنه يأتي بحجم حزمة كبير (~3.5 أضعاف Intlayer).
72
75
  - **تجنب**: **gt-next** و **lingo.dev** بسبب مشكلات الأداء الخطيرة، والارتباط بالبائع (vendor lock-in)، والأخطاء التي تعطل البناء.
73
76
 
74
77
  ## اختبر تطبيقك
@@ -109,19 +112,21 @@ style="border:none;"
109
112
  في هذه المقارنة، قمنا بمقارنة المكتبات التالية:
110
113
 
111
114
  - `Base App` (بدون مكتبة i18n)
112
- - `next-intlayer` (v8.7.12)
113
- - `next-i18next` (v16.0.5)
114
- - `next-intl` (v4.9.1)
115
- - `@lingui/core` (v5.3.0)
116
- - `next-translate` (v3.1.2)
115
+ - `next-intlayer` (v9.5.1)
116
+ - [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compat/next-intl.md) (v9.5.1)
117
+ - [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compat/next-i18next.md) (v9.5.1)
118
+ - `next-i18next` (v16.3.0)
119
+ - `next-intl` (v4.14.2)
120
+ - `@lingui/core` (v6.6.0)
121
+ - `next-translate` (v3.2.0)
117
122
  - `next-international` (v1.3.1)
118
123
  - `@inlang/paraglide-js` (v2.15.1)
119
- - `@tolgee/react` (v7.0.0)
120
- - `@lingo.dev/compiler` (v0.4.0)
121
- - `wuchale` (v0.22.11)
122
- - `gt-next` (v6.16.5)
124
+ - `@tolgee/react` (v7.2.0)
125
+ - `@lingo.dev/compiler` (v0.4.12)
126
+ - `wuchale` (v0.26.6)
127
+ - `gt-next` (v11.1.24)
123
128
 
124
- استخدمت إصدار `Next.js` رقم `16.2.4` مع App Router.
129
+ استخدمت إصدار `Next.js` رقم `16.3.4` مع App Router.
125
130
 
126
131
  قمت ببناء تطبيق متعدد اللغات يحتوي على **10 صفحات** و **10 لغات**.
127
132
 
@@ -175,15 +180,15 @@ style="border:none;"
175
180
 
176
181
  المشكلات التي تمت مواجهتها:
177
182
 
178
- **(General Translation)** (`gt-next@6.16.5`):
183
+ **(General Translation)** (`gt-next@11.1.24`):
179
184
 
180
- - لتطبيق بحجم 110 كيلوبايت، تضيف `gt-next` أكثر من 440 كيلوبايت إضافية.
185
+ - لتطبيق بحجم 141 كيلوبايت، تضيف `gt-next` أكثر من 50 كيلوبايت إضافية.
181
186
  - `Quota Exceeded, please upgrade your plan` (تم تجاوز الحصة، يرجى ترقية خطتك) في أول بناء للمشروع.
182
187
  - لا يتم رندرة الترجمات؛ أحصل على خطأ `Error: <T> used on the client-side outside of <GTProvider>` ، والذي يبدو أنه خلل في المكتبة.
183
188
  - أثناء تنفيذ **gt-next** ، صادفت أيضًا [مشكلة](https://github.com/generaltranslation/gt/issues/1210#event-24510646961) في المكتبة: `does not provide an export named 'printAST' - @formatjs/icu-messageformat-parser` ، والتي كانت تؤدي إلى تعطل التطبيق. بعد الإبلاغ عن هذه المشكلة، قام المطور بإصلاحها خلال 24 ساعة.
184
189
  - المكتبة تمنع الرندرة الستاتيكية لصفحات Next.js.
185
190
 
186
- **(Lingo.dev)** (`@lingo.dev/compiler@0.4.0`):
191
+ **(Lingo.dev)** (`@lingo.dev/compiler@0.4.12`):
187
192
 
188
193
  - تجاوز حصة الذكاء الاصطناعي، مما يمنع البناء تمامًا - لذا لا يمكنك الإطلاق للإنتاج دون دفع مبالغ مالية.
189
194
  - كان المترجم (compiler) يفتقر إلى ما يقرب من 40% من المحتوى المترجم. اضطررت لإعادة كتابة جميع وظائف `.map` إلى كتل مكونات مسطحة لجعلها تعمل.
@@ -192,7 +197,7 @@ style="border:none;"
192
197
 
193
198
  ### 2 - حلول تجريبية
194
199
 
195
- **(Wuchale)** (`wuchale@0.22.11`):
200
+ **(Wuchale)** (`wuchale@0.26.6`):
196
201
 
197
202
  الفكرة وراء `Wuchale` مثيرة للاهتمام ولكنها ليست قابلة للتطبيق بعد. واجهت مشكلات في التفاعلية واضطررت لفرض إعادة رندرة المزود لجعل التطبيق يعمل. التوثيق أيضًا غير واضح تمامًا، مما يجعل البدء صعبًا.
198
203
 
@@ -202,21 +207,21 @@ style="border:none;"
202
207
  أنا شخصياً لا أحب الاضطرار إلى إعادة إنشاء ملفات JS قبل كل رفع للكود، مما يخلق خطراً دائماً لتضارب الدمج (merge conflicts). كما يبدو أن الأداة تركز على Vite أكثر من Next.js.
203
208
  أخيرًا، مقارنة بالحلول الأخرى، لا يستخدم Paraglide مخزنًا (مثل React context) لجلب اللغة الحالية لرندرة المحتوى. لكل عقدة يتم تحليلها، سيطلب اللغة من localStorage / cookie وما إلى ذلك. يؤدي ذلك إلى تنفيذ منطق غير ضروري يؤثر على تفاعلية المكونات.
204
209
 
205
- > ملاحظة حول paraglide: يقوم الحل بحقن الكود في قاعدة الكود الخاصة بك للاستيراد، ونتيجة لذلك يكون مقياس 'حجم المكتبة' في تقرير المقارنة 0 تقريبًا. توليد الكود أمر جيد، لأن الدالة المستخدمة ستتضمن فقط المنطق الضروري (البادئة الكاملة مقابل عدم وجود بادئة، الكوكيز مقابل التخزين، إلخ). في المقابل، يقوم Intlayer بتنفيذ هذا التصفية عبر حقن متغيرات البيئة في البناء لإجبار المجمع على إزالة المحتوى حسب المنطق. بفضل هذا، ينتهي الأمر بـ paraglide و intlayer كحلول أخف بـ 6 إلى 10 مرات من i18next أو next-intl.
210
+ > ملاحظة حول paraglide: يقوم الحل بحقن الكود في قاعدة الكود الخاصة بك للاستيراد، ونتيجة لذلك يكون مقياس 'حجم المكتبة' في تقرير المقارنة 0 تقريبًا. توليد الكود أمر جيد، لأن الدالة المستخدمة ستتضمن فقط المنطق الضروري (البادئة الكاملة مقابل عدم وجود بادئة، الكوكيز مقابل التخزين، إلخ). في المقابل، يقوم Intlayer بتنفيذ هذا التصفية عبر حقن متغيرات البيئة في البناء لإجبار المجمع على إزالة المحتوى حسب المنطق. بفضل هذا، ينتهي الأمر بـ paraglide و intlayer كحلول أخف بـ 3 إلى 8 مرات من i18next أو next-intl.
206
211
 
207
212
  ### 3 - حلول مقبولة
208
213
 
209
- **(Tolgee)** (`@tolgee/react@7.0.0`):
214
+ **(Tolgee)** (`@tolgee/react@7.2.0`):
210
215
 
211
216
  يعالج `Tolgee` العديد من المشكلات المذكورة سابقًا. وجدت صعوبة في اعتماده أكثر من الأدوات المماثلة. لا يوفر سلامة الأنواع (type safety) ، مما يجعل اكتشاف المفاتيح المفقودة وقت البناء أكثر صعوبة. اضطررت لتغليف دوال Tolgee بدوالي الخاصة لإضافة ميزة اكتشاف المفاتيح المفقودة.
212
217
 
213
- **(Next Intl)** (`next-intl@4.9.1`):
218
+ **(Next Intl)** (`next-intl@4.14.2`):
214
219
 
215
- يعد `next-intl` الخيار الأكثر رواجًا والحل الذي تدفعه أنظمة الذكاء الاصطناعي، ولكن في نظري بشكل خاطئ. البدء سهل، ولكن في الممارسة العملية، فإن التحسين للحد من التسرب معقد. إن الجمع بين التحميل الديناميكي + مساحات الأسماء + أنواع TypeScript يبطئ التطوير كثيرًا. الحزمة ثقيلة أيضًا (~13 كيلوبايت لـ `NextIntlClientProvider` + `useTranslations` ، وهو أكثر من ضعف `next-intlayer`). كان `next-intl` يمنع الرندرة الستاتيكية لصفحات Next.js. يوفر وظيفة مساعدة تسمى `setRequestLocale()`. يبدو أن هذا قد تمت معالجته جزئيًا للملفات المركزية مثل `en.json` / `fr.json` ، لكن الرندرة الستاتيكية لا تزال تتعطل عندما يتم تقسيم المحتوى إلى مساحات أسماء مثل `en/shared.json` / `fr/shared.json` / `es/shared.json`.
220
+ يعد `next-intl` الخيار الأكثر رواجًا والحل الذي تدفعه أنظمة الذكاء الاصطناعي، ولكن في نظري بشكل خاطئ. البدء سهل، ولكن في الممارسة العملية، فإن التحسين للحد من التسرب معقد. إن الجمع بين التحميل الديناميكي + مساحات الأسماء + أنواع TypeScript يبطئ التطوير كثيرًا. الحزمة ثقيلة أيضًا (~14.7 كيلوبايت لـ `NextIntlClientProvider` + `useTranslations` ، وهو أكثر من 2.5 ضعف `next-intlayer`). كان `next-intl` يمنع الرندرة الستاتيكية لصفحات Next.js. يوفر وظيفة مساعدة تسمى `setRequestLocale()`. يبدو أن هذا قد تمت معالجته جزئيًا للملفات المركزية مثل `en.json` / `fr.json` ، لكن الرندرة الستاتيكية لا تزال تتعطل عندما يتم تقسيم المحتوى إلى مساحات أسماء مثل `en/shared.json` / `fr/shared.json` / `es/shared.json`.
216
221
 
217
- **(Next I18next)** (`next-i18next@16.0.5`):
222
+ **(Next I18next)** (`next-i18next@16.3.0`):
218
223
 
219
- ربما يكون `next-i18next` هو الخيار الأكثر شعبية لأنه كان من أوائل حلول i18n لتطبيقات JavaScript. يحتوي على العديد من الإضافات المجتمعية. يشارك نفس السلبيات الرئيسية مثل `next-intl`. الحزمة ثقيلة بشكل خاص (~18 كيلوبايت لـ `I18nProvider` + `useTranslation` ، حوالي 3 أضعاف `next-intlayer`).
224
+ ربما يكون `next-i18next` هو الخيار الأكثر شعبية لأنه كان من أوائل حلول i18n لتطبيقات JavaScript. يحتوي على العديد من الإضافات المجتمعية. يشارك نفس السلبيات الرئيسية مثل `next-intl`. الحزمة ثقيلة بشكل خاص (~19.7 كيلوبايت لـ `I18nProvider` + `useTranslation` ، حوالي 3.5 أضعاف `next-intlayer`).
220
225
 
221
226
  تختلف تنسيقات الرسائل أيضًا: يستخدم `next-intl` خدمة ICU MessageFormat، بينما يستخدم `i18next` تنسيقه الخاص.
222
227
 
@@ -224,17 +229,17 @@ style="border:none;"
224
229
 
225
230
  يعالج `next-international` أيضًا المشكلات المذكورة أعلاه ولكنه لا يختلف كثيرًا عن `next-intl` أو `next-i18next`. يتضمن `scopedT()` للترجمات الخاصة بمساحة الأسماء، لكن استخدامه ليس له تأثير يذكر على حجم الحزمة.
226
231
 
227
- **(Lingui)** (`@lingui/core@5.3.0`):
232
+ **(Lingui)** (`@lingui/core@6.6.0`):
228
233
 
229
234
  غالبًا ما يتم الإشادة بـ `Lingui`. أنا شخصياً وجدت سير عمل `lingui extract` / `lingui compile` أكثر تعقيدًا من البدائل، دون ميزة واضحة. لاحظت أيضًا صياغات غير متسقة تربك الذكاء الاصطناعي (مثل `t()` و `t''` و `i18n.t()` و `<Trans>`).
230
235
 
231
236
  ### 4 - التوصيات
232
237
 
233
- **(Next Translate)** (`next-translate@3.1.2`):
238
+ **(Next Translate)** (`next-translate@3.2.0`):
234
239
 
235
- خيار `next-translate` هو توصيتي الرئيسية إذا كنت تحب واجهة برمجية بأسلوب `t()`. إنه أنيق عبر `next-translate-plugin` ، حيث يحمل مساحات الأسماء من خلال `getStaticProps` مع مجمع Webpack / Turbopack. إنه أيضًا الخيار الأخف هنا (~2.5 كيلوبايت). بالنسبة لمساحات الأسماء، فإن تحديدها لكل صفحة أو مسار في الإعدادات مدروس جيدًا وأسهل في الصيانة من البدائل الرئيسية مثل **next-intl** أو **next-i18next**. في الإصدار `3.1.2` ، لاحظت أن الرندرة الستاتيكية لم تعمل؛ حيث تراجع Next.js إلى الرندرة الديناميكية.
240
+ خيار `next-translate` هو توصيتي الرئيسية إذا كنت تحب واجهة برمجية بأسلوب `t()`. إنه أنيق عبر `next-translate-plugin` ، حيث يحمل مساحات الأسماء من خلال `getStaticProps` مع مجمع Webpack / Turbopack. إنه أيضًا من أخف الخيارات هنا (~3.5 كيلوبايت). بالنسبة لمساحات الأسماء، فإن تحديدها لكل صفحة أو مسار في الإعدادات مدروس جيدًا وأسهل في الصيانة من البدائل الرئيسية مثل **next-intl** أو **next-i18next**. في الإصدار `3.1.2` ، لاحظت أن الرندرة الستاتيكية لم تعمل؛ حيث تراجع Next.js إلى الرندرة الديناميكية.
236
241
 
237
- **(Intlayer)** (`next-intlayer@8.7.12`):
242
+ **(Intlayer)** (`next-intlayer@9.5.1`):
238
243
 
239
244
  لن أحكم شخصيًا على `next-intlayer` من أجل الموضوعية، لأنه حلي الخاص.
240
245
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-05-18
3
+ updatedAt: 2026-09-11
4
4
  title: أفضل حل i18n لـ Solid في عام 2026 - تقرير قياسي
5
5
  description: قارن بين مكتبات تدويل Solid (i18n) مثل solid-primitives وsolid-i18next وIntlayer. تقرير أداء مفصل حول حجم الحزمة والتسرب والتفاعل.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-solid-template
19
19
  history:
20
+ - version: 9.5.1
21
+ date: 2026-09-11
22
+ changes: "تحديث نتائج المقارنة"
20
23
  - version: 8.9.8
21
24
  date: 2026-05-18
22
25
  changes: "إضافة مقارنة نجوم GitHub"
@@ -62,9 +65,9 @@ style="border:none;"
62
65
 
63
66
  ## TL;DR
64
67
 
65
- - **Intlayer**: الخيار الموصى به لتطبيقات Solid المهنية التي تحتاج إلى ميزات متقدمة وتحسين (v8.7.12).
68
+ - **Intlayer**: الخيار الموصى به لتطبيقات Solid المهنية التي تحتاج إلى ميزات متقدمة وتحسين (v9.5.0).
66
69
  - **@solid-primitives/i18n**: بديل خفيف الوزن ممتاز للمشاريع البسيطة، على الرغم من افتقاره إلى ميزات متقدمة مثل التحميل الكسول (lazy loading).
67
- - **solid-i18next**: خيار معياري ولكنه ثقيل (~4.7 أضعاف Intlayer) مع نفس عيوب React i18next.
70
+ - **solid-i18next**: خيار معياري ولكنه ثقيل (~3.5 أضعاف Intlayer) مع نفس عيوب React i18next.
68
71
  - **Paraglide**: نهج مبتكر ولكن DX معقد ومشكلات في التخلص من الكود غير المستخدم (tree-shaking) في بعض الإعدادات.
69
72
 
70
73
  ## اختبر تطبيقك
@@ -97,10 +100,10 @@ style="border:none;"
97
100
  في هذا التقييم القياسي، قارنا المكتبات التالية:
98
101
 
99
102
  - `Base App` (بدون مكتبة i18n)
100
- - `solid-intlayer` (v8.7.12)
103
+ - `solid-intlayer` (v9.5.0)
101
104
  - `@solid-primitives/i18n` (v2.2.1)
102
- - `solid-i18next` (v17.0.2)
103
- - `@inlang/paraglide-js` (v2.17.0)
105
+ - `i18next` (v26.0.8) + `@mbarzda/solid-i18next` (v1.4.1)
106
+ - `@inlang/paraglide-js` (v2.25.1)
104
107
 
105
108
  الإطار هو `Solid` مع تطبيق متعدد اللغات يتكون من **10 صفحات** و **10 لغات**.
106
109
 
@@ -154,11 +157,11 @@ style="border:none;"
154
157
 
155
158
  ### 2 - حلول مقبولة
156
159
 
157
- **(solid-i18next)** (`solid-i18next@17.0.2`):
160
+ **(solid-i18next)** (`i18next@26.0.8`):
158
161
 
159
162
  ربما يكون `solid-i18next` هو الخيار الأكثر شيوعًا لأنه كان من أوائل الحلول التي لبت احتياجات i18n لتطبيقات JavaScript. كما أنه يحتوي على مجموعة واسعة من المكونات الإضافية للمجتمع لمشكلات محددة.
160
163
 
161
- الحزمة ثقيلة (~14.6kb، أي حوالي 4.7 أضعاف `solid-intlayer`).
164
+ الحزمة ثقيلة (~14.9kb، أي حوالي 3.5 أضعاف `solid-intlayer`).
162
165
 
163
166
  ومع ذلك، فإنه يشترك في نفس العيوب الرئيسية مثل الحلول المبنية على `t('a.b.c')`: التحسينات ممكنة ولكنها تستهلك الكثير من الوقت، والمشاريع الكبيرة تكتنفها مخاطر الممارسات السيئة (فضاءات الأسماء + التحميل الديناميكي + الأنواع).
164
167
 
@@ -167,7 +170,7 @@ style="border:none;"
167
170
  مكون Solid البدائي خفيف الوزن وفعال للغاية. أوصي بهذا الحل للمشاريع الخفيفة، ولكنه قد يفتقر بسرعة إلى الميزات للحلول المهنية بما في ذلك إدارة ملفات تعريف الارتباط، وإعادة توجيه الوكيل، والمنسقات وما إلى ذلك.
168
171
  كما يفتقد إلى التحميل الكسول وتقسيم فضاءات الأسماء لتحسين حجم الصفحة.
169
172
 
170
- **(Paraglide)** (`@inlang/paraglide-js@2.17.0`):
173
+ **(Paraglide)** (`@inlang/paraglide-js@2.25.1`):
171
174
 
172
175
  يقدم `Paraglide` نهجًا مبتكرًا ومدروسًا جيدًا. ومع ذلك، في هذا التقييم القياسي، لم يعمل tree-shaking الذي تعلن عنه شركتهم مع التنفيذ الخاص بي. سير العمل و DX أيضًا أكثر تعقيدًا من الخيارات الأخرى.
173
176
  شخصيًا، لا أحب الاضطرار إلى إعادة إنشاء ملفات JS قبل كل عملية push، مما يخلق خطرًا مستمرًا لتعارض الدمج عبر طلبات السحب.
@@ -175,7 +178,7 @@ style="border:none;"
175
178
 
176
179
  ### 3 - التوصيات
177
180
 
178
- **(Intlayer)** (`solid-intlayer@8.7.12`):
181
+ **(Intlayer)** (`solid-intlayer@9.5.0`):
179
182
 
180
183
  لن أحكم شخصيًا على `solid-intlayer` من أجل الموضوعية، لأنه الحل الخاص بي.
181
184
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-05-18
3
+ updatedAt: 2026-09-11
4
4
  title: أفضل حل i18n لـ Svelte في عام 2026 - تقرير قياسي
5
5
  description: قارن بين مكتبات تدويل Svelte (i18n) مثل svelte-i18n وParaglide وIntlayer. تقرير أداء مفصل حول حجم الحزمة والتسرب والتفاعل.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-svelte-template
19
19
  history:
20
+ - version: 9.5.1
21
+ date: 2026-09-11
22
+ changes: "تحديث نتائج المقارنة"
20
23
  - version: 8.9.8
21
24
  date: 2026-05-18
22
25
  changes: "إضافة مقارنة نجوم GitHub"
@@ -62,9 +65,9 @@ style="border:none;"
62
65
 
63
66
  ## TL;DR
64
67
 
65
- - **Intlayer**: الخيار الأكثر كفاءة في الأداء (v8.7.12) مع أصغر بصمة (footprint).
68
+ - **Intlayer**: الخيار الأكثر كفاءة في الأداء (v9.5.0) مع أصغر بصمة (footprint).
66
69
  - **Paraglide**: منافس قوي للتخلص من الكود غير المستخدم (tree-shaking) ولكنه يمتلك تجربة مطور أكثر تعقيدًا وعبئًا في التفاعل.
67
- - **svelte-i18n**: كامل ومعياري لـ Svelte، ولكنه يحمل وزن حزمة أكبر بكثير (~7 أضعاف Intlayer).
70
+ - **svelte-i18n**: كامل ومعياري لـ Svelte، ولكنه يحمل وزن حزمة أكبر بكثير (~4.5 أضعاف Intlayer).
68
71
 
69
72
  ## اختبر تطبيقك
70
73
 
@@ -96,9 +99,9 @@ style="border:none;"
96
99
  في هذا التقييم القياسي، قارنا المكتبات التالية:
97
100
 
98
101
  - `Base App` (بدون مكتبة i18n)
99
- - `svelte-intlayer` (v8.7.12)
102
+ - `svelte-intlayer` (v9.5.0)
100
103
  - `svelte-i18n` (v4.0.1)
101
- - `@inlang/paraglide-js` (v2.17.0)
104
+ - `@inlang/paraglide-js` (v2.25.1)
102
105
 
103
106
  الإطار هو `Svelte` مع تطبيق متعدد اللغات يتكون من **10 صفحات** و **10 لغات**.
104
107
 
@@ -152,7 +155,7 @@ style="border:none;"
152
155
 
153
156
  ### 2 - حلول مقبولة
154
157
 
155
- **(Paraglide)** (`@inlang/paraglide-js@2.17.0`):
158
+ **(Paraglide)** (`@inlang/paraglide-js@2.25.1`):
156
159
 
157
160
  يقدم `Paraglide` نهجًا مبتكرًا ومدروسًا جيدًا. في سياق تطبيق Vite + Svelte، يعمل التخلص من الكود غير المستخدم (tree-shaking) الذي تعلن عنه شركتهم كما هو متوقع، وهو أمر رائع.
158
161
  ولكن في حالة React + TanStack Start، لم يعمل tree-shaking كما هو متوقع، والأمر نفسه بالنسبة لـ Next.js. ومع ذلك، فإن استخدام Paraglide في مشروع Svelte و TanStack Start يستحق التدقيق.
@@ -162,13 +165,13 @@ style="border:none;"
162
165
 
163
166
  > ملاحظة حول paraglide: يقوم الحل بحقن الكود في قاعدة الكود الخاصة بك للاستيراد؛ ونتيجة لذلك، فإن مقياس "حجم المكتبة" في تقرير التقييم القياسي هو 0 تقريبًا. يعد إنشاء الكود (Code generation) أمرًا جيدًا، لأن الوظيفة المستخدمة ستتضمن فقط المنطق الضروري (بادئة في كل مكان مقابل لا بادئة، ملف تعريف ارتباط مقابل تخزين، إلخ). بالمقارنة، تقوم Intlayer بإجراء هذا التصفية عبر حقن متغيرات البيئة أثناء البناء لإجبار أداة التجميع على التخلص من الكود غير المستخدم للمحتوى اعتمادًا على المنطق. بفضل هذا، ينتهي الأمر بـ paraglide و intlayer كحلول أخف بـ 6 إلى 10 مرات من i18next أو next-intl.
164
167
 
165
- **(svelte-i18n)** (`svelte-i18n@3.4.0`):
168
+ **(svelte-i18n)** (`svelte-i18n@4.0.1`):
166
169
 
167
- يلبي هذا الحل جميع احتياجات i18n في مشروع Svelte. ولكن كما هو الحال مع i18next أو غيرها من حلول i18n الرئيسية، فهي ثقيلة بعض الشيء (~15.9kb، أي حوالي 7 أضعاف `svelte-intlayer`).
170
+ يلبي هذا الحل جميع احتياجات i18n في مشروع Svelte. ولكن كما هو الحال مع i18next أو غيرها من حلول i18n الرئيسية، فهي ثقيلة بعض الشيء (~16.6kb، أي حوالي 4.5 أضعاف `svelte-intlayer`).
168
171
 
169
172
  ### 3 - التوصيات
170
173
 
171
- **(Intlayer)** (`svelte-intlayer@8.7.12`):
174
+ **(Intlayer)** (`svelte-intlayer@9.5.0`):
172
175
 
173
176
  لن أحكم شخصيًا على `svelte-intlayer` من أجل الموضوعية، لأنه الحل الخاص بي.
174
177
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-05-18
3
+ updatedAt: 2026-09-11
4
4
  title: أفضل حل i18n لـ TanStack Start في 2026 - تقرير المقارنة
5
5
  description: قارن بين مكتبات تدويل TanStack Start مثل react-i18next و use-intl و Intlayer. تقرير مفصل للأداء حول حجم الحزمة، التسرب، والتفاعلية.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-tanstack-start-template
19
19
  history:
20
+ - version: 9.5.1
21
+ date: 2026-09-11
22
+ changes: "تحديث نتائج المقارنة"
20
23
  - version: 8.9.8
21
24
  date: 2026-05-18
22
25
  changes: "إضافة مقارنة نجوم GitHub"
@@ -62,7 +65,7 @@ history:
62
65
 
63
66
  ## TL;DR
64
67
 
65
- - **Intlayer**: يوفر أفضل أداء وأصغر حجم للحزمة (v8.7.12) لـ TanStack Start.
68
+ - **Intlayer**: يوفر أفضل أداء وأصغر حجم للحزمة (v9.5.1) لـ TanStack Start.
66
69
  - **react-i18next** و **use-intl**: بدائل ناضجة مع أنظمة بيئية كبيرة، ولكنها أثقل بكثير وأكثر تعقيدًا في التحسين.
67
70
  - **Paraglide**: فكرة مبتكرة لـ tree-shaking لكنها لا تعمل في الممارسة العملية. تجربة مطور (DX) معقدة وعبء تفاعلي في TanStack Start.
68
71
  - **تجنب**: **General Translation (GT)** و **Lingo.dev** بسبب مشكلات الأداء الخطيرة، وقيود حصة الذكاء الاصطناعي، والارتباط بالبائع (vendor lock-in).
@@ -97,16 +100,18 @@ history:
97
100
  في هذه المقارنة، قمنا بمقارنة المكتبات التالية:
98
101
 
99
102
  - `Base App` (بدون مكتبة i18n)
100
- - `react-intlayer` (v8.7.12)
101
- - `react-i18next` (v17.0.2)
102
- - `use-intl` (v4.9.1)
103
- - `@lingui/core` (v5.3.0)
103
+ - `react-intlayer` (v9.5.1)
104
+ - `@intlayer/use-intl` (v9.5.1)
105
+ - [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compat/lingui.md) (v9.5.1)
106
+ - `react-i18next` (v17.0.13)
107
+ - `use-intl` (v4.14.2)
108
+ - `@lingui/core` (v6.6.0)
104
109
  - `@inlang/paraglide-js` (v2.15.1)
105
- - `@tolgee/react` (v7.0.0)
106
- - `react-intl` (v10.1.1)
107
- - `wuchale` (v0.22.11)
108
- - `gt-react` (vlatest)
109
- - `lingo.dev` (v0.133.9)
110
+ - `@tolgee/react` (v7.2.0)
111
+ - `react-intl` (v10.1.26)
112
+ - `wuchale` (v0.26.6)
113
+ - `gt-react` (v10.18.3)
114
+ - `lingo.dev` (v0.138.7)
110
115
 
111
116
  إطار العمل هو `TanStack Start` مع تطبيق متعدد اللغات يتكون من **10 صفحات** و **10 لغات**.
112
117
 
@@ -160,15 +165,15 @@ history:
160
165
 
161
166
  المشكلات التي تمت مواجهتها:
162
167
 
163
- **(General Translation)** (`gt-react@latest`):
168
+ **(General Translation)** (`gt-react@10.18.3`):
164
169
 
165
- - بالنسبة لتطبيق بحجم حوالي 110 كيلوبايت، يمكن لـ `gt-react` إضافة أكثر من 440 كيلوبايت إضافية (القدر المشاهد في تنفيذ Next.js في نفس المقارنة).
170
+ - بالنسبة لتطبيق بحجم حوالي 111 كيلوبايت، يمكن لـ `gt-react` إضافة أكثر من 170 كيلوبايت إضافية (القدر المشاهد في تنفيذ Next.js في نفس المقارنة).
166
171
  - `Quota Exceeded, please upgrade your plan` في أول بناء للمشروع.
167
172
  - لا يتم رندرة الترجمات؛ أحصل على خطأ `Error: <T> used on the client-side outside of <GTProvider>` ، والذي يبدو أنه خلل في المكتبة.
168
173
  - أثناء تنفيذ **gt-tanstack-start-react** ، صادفت أيضًا [مشكلة](https://github.com/generaltranslation/gt/issues/1210#event-24510646961) في المكتبة: `does not provide an export named 'printAST' - @formatjs/icu-messageformat-parser` ، والتي أدت إلى تعطل التطبيق. بعد الإبلاغ عن هذه المشكلة، قام المطور بإصلاحها في غضون 24 ساعة.
169
174
  - تستخدم هذه المكتبات نمطًا مضادًا من خلال دالة `initializeGT()` ، مما يمنع الحزمة من أن يتم مسحها برمجياً بشكل نظيف.
170
175
 
171
- **(Lingo.dev)** (`lingo.dev@0.133.9`):
176
+ **(Lingo.dev)** (`lingo.dev@0.138.7`):
172
177
 
173
178
  - تجاوز حصة الذكاء الاصطناعي (أو حظر الاعتماد على الخادم)، مما يجعل البناء / الإنتاج محفوفًا بالمخاطر دون دفع مبالغ مالية.
174
179
  - كان المترجم يفتقد إلى ما يقرب من 40% من المحتوى المترجم. اضطررت لإعادة كتابة جميع `.map` إلى كتل مكونات مسطحة لجعلها تعمل.
@@ -178,7 +183,7 @@ history:
178
183
 
179
184
  ### 2 - حلول تجريبية
180
185
 
181
- **(Wuchale)** (`wuchale@0.22.11`):
186
+ **(Wuchale)** (`wuchale@0.26.6`):
182
187
 
183
188
  الفكرة وراء `Wuchale` مثيرة للاهتمام ولكنها ليست حلاً قابلاً للتطبيق بعد. واجهت مشكلات في التفاعلية مع هذه المكتبة واضطررت لفرض إعادة رندرة المزود لجعل التطبيق يعمل على TanStack Start. التوثيق أيضًا غير واضح تمامًا، مما يجعل البدء صعبًا.
184
189
 
@@ -188,9 +193,9 @@ history:
188
193
 
189
194
  يقدم `Paraglide` نهجًا مبتكرًا ومدروسًا جيدًا. ومع ذلك، في هذه المقارنة، لم تعمل ميزة Tree-shaking التي تروج لها شركتهم في تنفيذ Next.js أو TanStack Start. كما أن سير العمل وتجربة المطور أكثر تعقيدًا من الخيارات الأخرى. أنا شخصياً لست معجباً بضرورة إعادة إنشاء ملفات JS قبل كل رفع للكود، مما يخلق خطراً دائماً لتضارب الدمج بين المطورين.
190
195
 
191
- > ملاحظة حول paraglide: يقوم هذا الحل بحقن الكود في قاعدة الكود الخاصة بك لعمليات الاستيراد، ونتيجة لذلك فإن مقياس 'lib size' في تقرير المقارنة هو 0 تقريبًا. توليد الكود (Code generation) أمر جيد، لأن الدالة المستخدمة ستشمل فقط المنطق الضروري (البادئة للكل مقابل عدم وجود بادئة، الكوكيز مقابل التخزين، إلخ). في المقابل، يقوم Intlayer بمعالجة هذا الفلترة باستخدام حقن متغيرات البيئة في البناء لإجبار أداة التجميع (bundler) على عمل tree-shake للمحتوى اعتمادًا على المنطق. بفضل هذا، ينتهي الأمر بـ paraglide و intlayer بكونهما حلولًا أخف بـ 6 إلى 10 مرات من i18next أو next-intl.
196
+ > ملاحظة حول paraglide: يقوم هذا الحل بحقن الكود في قاعدة الكود الخاصة بك لعمليات الاستيراد، ونتيجة لذلك فإن مقياس 'lib size' في تقرير المقارنة هو 0 تقريبًا. توليد الكود (Code generation) أمر جيد، لأن الدالة المستخدمة ستشمل فقط المنطق الضروري (البادئة للكل مقابل عدم وجود بادئة، الكوكيز مقابل التخزين، إلخ). في المقابل، يقوم Intlayer بمعالجة هذا الفلترة باستخدام حقن متغيرات البيئة في البناء لإجبار أداة التجميع (bundler) على عمل tree-shake للمحتوى اعتمادًا على المنطق. بفضل هذا، ينتهي الأمر بـ paraglide و intlayer بكونهما حلولًا أخف بـ 3 إلى 10 مرات من i18next أو next-intl.
192
197
 
193
- **(Tolgee)** (`@tolgee/react@7.0.0`):
198
+ **(Tolgee)** (`@tolgee/react@7.2.0`):
194
199
 
195
200
  يعالج `Tolgee` العديد من المشكلات المذكورة سابقًا. وجدت صعوبة في البدء معه أكثر من الأدوات الأخرى ذات التوجهات المشابهة. لا يوفر سلامة الأنواع، مما يجعل اكتشاف المفاتيح المفقودة وقت البناء أمراً صعباً للغاية. اضطررت لتغليف واجهات برمجة تطبيقات Tolgee بواجهاتي الخاصة لإضافة ميزة اكتشاف المفاتيح المفقودة.
196
201
 
@@ -198,37 +203,37 @@ history:
198
203
 
199
204
  في TanStack Start، واجهت أيضًا مشكلات في التفاعلية: عند تغيير اللغة، كان علي فرض إعادة رندرة المزود والاشتراك في أحداث تغيير اللغة حتى يعمل التحميل بلغة أخرى بشكل صحيح.
200
205
 
201
- **(use-intl)** (`use-intl@4.9.1`):
206
+ **(use-intl)** (`use-intl@4.14.2`):
202
207
 
203
208
  يعد `use-intl` الجزء الأكثر رواجاً في نظام React (من نفس عائلة `next-intl`) وغالباً ما تدعمه أنظمة الذكاء الاصطناعي، ولكن في نظري بشكل خاطئ في بيئة تعطي الأولوية للأداء. البدء بسيط إلى حد ما، ولكن في الممارسة العملية، فإن عملية التحسين والحد من التسرب معقدة للغاية. وبالمثل، فإن الجمع بين التحميل الديناميكي + مساحات الأسماء + أنواع TypeScript يبطئ التطوير كثيراً.
204
209
 
205
210
  في TanStack Start، تتجنب الفخاخ الخاصة بـ Next.js (`setRequestLocale` ، الرندرة الستاتيكية) ، لكن المشكلة الأساسية هي نفسها: بدون انضباط صارم، تحمل الحزمة بسرعة كبيرة العديد من الرسائل وتصبح صيانة مساحة الأسماء لكل مسار مؤلمة.
206
211
 
207
- **(react-i18next)** (`react-i18next@17.0.2`):
212
+ **(react-i18next)** (`react-i18next@17.0.13`):
208
213
 
209
214
  ربما يكون `react-i18next` هو الخيار الأكثر شعبية لأنه كان من أوائل الذين خدموا احتياجات i18n لتطبيقات JavaScript. كما يحتوي على مجموعة واسعة من إضافات المجتمع لمشكلات محددة.
210
215
 
211
216
  ومع ذلك، فإنه يشارك نفس السلبيات الرئيسية مثل الواجهات المبنية على `t('a.b.c')` : التحسينات ممكنة ولكنها تستهلك وقتاً طويلاً جداً، والمشاريع الكبيرة تخاطر بممارسات سيئة (مساحات أسماء + تحميل ديناميكي + أنواع).
212
217
 
213
- الحزمة ثقيلة بشكل خاص (~17.3kb، وهو حوالي 3.5× `react-intlayer`).
218
+ الحزمة ثقيلة بشكل خاص (~18.4kb، وهو حوالي 3.5× `react-intlayer`).
214
219
 
215
220
  تختلف تنسيقات الرسائل أيضاً: يستخدم `use-intl` تنسيق ICU MessageFormat، بينما يستخدم `i18next` تنسيقه الخاص - مما يعقد الأدوات أو عمليات النقل إذا قمت بخلطهما.
216
221
 
217
- **(Lingui)** (`@lingui/core@5.3.0`):
222
+ **(Lingui)** (`@lingui/core@6.6.0`):
218
223
 
219
224
  غالبًا ما يتم الإشادة بـ `Lingui`. أنا شخصيًا وجدت سير العمل حول `lingui extract` / `lingui compile` أكثر تعقيدًا من المناهج الأخرى، دون ميزة واضحة في اختبار TanStack Start هذا. لاحظت أيضًا صياغات غير متسقة تربك الذكاء الاصطناعي (مثل `t()` و `t''` و `i18n.t()` و `<Trans>`).
220
225
 
221
- **(react-intl)** (`react-intl@10.1.1`):
226
+ **(react-intl)** (`react-intl@10.1.26`):
222
227
 
223
228
  يعد `react-intl` تنفيذاً عالي الأداء من فريق Format.js. تظل تجربة المطور مطولة: `const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` يضيف تعقيداً وعملاً إضافياً على JavaScript ويربط مثيل i18n العالمي بالعديد من العقد في شجرة React.
224
229
 
225
- الحزمة ثقيلة أيضًا (~14.4kb، وهو حوالي 3× `react-intlayer`).
230
+ الحزمة ثقيلة أيضًا (~15.3kb، وهو حوالي 3× `react-intlayer`).
226
231
 
227
232
  ### 4 - التوصيات
228
233
 
229
234
  لا يوجد لهذا الاختبار في TanStack Start مكافئ مباشر لـ `next-translate` (إضافة Next.js + `getStaticProps`). بالنسبة للفرق التي تريد حقاً واجهة برمجة تطبيقات بأسلوب `t()` مع نظام ناضج، يظل `react-i18next` و `use-intl` خيارات "معقولة"، ولكن توقع استثمار الكثير من الوقت في التحسين لتجنب التسرب.
230
235
 
231
- **(Intlayer)** (`react-intlayer@8.7.12`):
236
+ **(Intlayer)** (`react-intlayer@9.5.1`):
232
237
 
233
238
  لن أحكم شخصيًا على `react-intlayer` من أجل الموضوعية، لأنه حلي الخاص.
234
239
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-04-20
3
- updatedAt: 2026-05-18
3
+ updatedAt: 2026-09-11
4
4
  title: أفضل حل i18n لـ Vue في عام 2026 - تقرير قياسي
5
5
  description: قارن بين مكتبات تدويل Vue (i18n) مثل vue-i18n وfluent-vue وIntlayer. تقرير أداء مفصل حول حجم الحزمة والتسرب والتفاعل.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  author: aymericzip
18
18
  applicationTemplate: https://github.com/intlayer-org/benchmark-i18n-vue-template
19
19
  history:
20
+ - version: 9.5.1
21
+ date: 2026-09-11
22
+ changes: "تحديث نتائج المقارنة"
20
23
  - version: 8.9.8
21
24
  date: 2026-05-18
22
25
  changes: "إضافة مقارنة نجوم GitHub"
@@ -62,7 +65,7 @@ style="border:none;"
62
65
 
63
66
  ## TL;DR
64
67
 
65
- - **Intlayer**: الحل الأخف وزنًا (v8.7.12) مع ميزة النطاق (scoping) والتحميل الديناميكي المدمجة.
68
+ - **Intlayer**: الحل الأخف وزنًا (v9.5.0) مع ميزة النطاق (scoping) والتحميل الديناميكي المدمجة.
66
69
  - **vue-i18n**: المعيار الصناعي مع نظام بيئي غني، ولكنه قد يصبح أثقل بكثير ويصعب تحسينه لتقسيم الكود في التطبيقات الكبيرة.
67
70
  - **fluent-vue**: تنظيم مبتكر للرسائل ولكنه يفتقر إلى سلامة النوع (type-safety) ويعد حلاً ثقيلًا للغاية.
68
71
 
@@ -96,7 +99,8 @@ style="border:none;"
96
99
  في هذا التقييم القياسي، قارنا المكتبات التالية:
97
100
 
98
101
  - `Base App` (بدون مكتبة i18n)
99
- - `vue-intlayer` (v8.7.12)
102
+ - `vue-intlayer` (v9.5.0)
103
+ - [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/compat/vue-i18n.md) (v9.5.1)
100
104
  - `vue-i18n` (v11.4.0)
101
105
  - `fluent-vue` (v3.8.2)
102
106
 
@@ -156,14 +160,14 @@ style="border:none;"
156
160
 
157
161
  - **vue-i18n** هي بدون منازع مكتبة i18n الأكثر استخدامًا لـ Vue، فهي تحتوي على الكثير من الميزات ونظام بيئي ضخم. ولكن تحت الغطاء، الحل ثقيل نوعًا ما. حتى لو قامت vue-i18n بدمج التحميل الكسول للرسائل، فإنها تفتقر إلى ميزة النطاق (scoping). في حالة تطبيق Vue SPA كلاسيكي، لا توجد مشكلة، ولكن بالنسبة لتطبيق Nuxt، باستخدام @nuxt/i18n، فإنه يؤدي إلى تضمين الرسائل من جميع الصفحات في صفحة واحدة. بالنسبة لتطبيق Nuxt كبير يضم أكثر من 10 صفحات، يمكن أن يصبح الأمر إشكاليًا حقًا.
158
162
 
159
- الحزمة ثقيلة جدًا (~24.3kb، أي حوالي 9 أضعاف `vue-intlayer`).
163
+ الحزمة ثقيلة جدًا (~24.3kb، أي حوالي 6 أضعاف `vue-intlayer`).
160
164
 
161
- **(fluent-vue)** (`fluent-vue@0.5.0`):
165
+ **(fluent-vue)** (`fluent-vue@3.8.2`):
162
166
 
163
- - **fluent-vue** يقدم محاولة ابتكار من خلال تنسيق .ftl. تنظيم الرسائل رائع، وأسهل في البدء. ولكن في الممارسة العملية، يؤدي نقص سلامة النوع إلى زيادة خطر الخطأ ويمكن أن يصبح استهلاك الوقت في تصحيح الأخطاء سريعًا. علاوة على ذلك، يقوم هذا الحل بتحميل الرسائل باستخدام مكون vite الإضافي الذي يفرض تحميل كل المحتوى بجميع اللغات في كل صفحة. بالإضافة إلى ذلك، هذا حل ثقيل للغاية (~92.7kb، أي حوالي 34 ضعف `vue-intlayer`).
167
+ - **fluent-vue** يقدم محاولة ابتكار من خلال تنسيق .ftl. تنظيم الرسائل رائع، وأسهل في البدء. ولكن في الممارسة العملية، يؤدي نقص سلامة النوع إلى زيادة خطر الخطأ ويمكن أن يصبح استهلاك الوقت في تصحيح الأخطاء سريعًا. علاوة على ذلك، يقوم هذا الحل بتحميل الرسائل باستخدام مكون vite الإضافي الذي يفرض تحميل كل المحتوى بجميع اللغات في كل صفحة. بالإضافة إلى ذلك، هذا حل ثقيل للغاية (~29.7kb، أي حوالي 7.5 ضعف `vue-intlayer`).
164
168
 
165
169
  ### 3 - التوصيات
166
170
 
167
- **(Intlayer)** (`vue-intlayer@8.7.12`):
171
+ **(Intlayer)** (`vue-intlayer@9.5.0`):
168
172
 
169
173
  لن أحكم شخصيًا على `vue-intlayer` من أجل الموضوعية، لأنه الحل الخاص بي.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-11-22
3
+ updatedAt: 2026-09-12
4
4
  title: بناء القواميس
5
5
  description: تعلّم كيفية بناء قواميس Intlayer الخاصة بك من ملفات إعلان المحتوى.
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - cli
15
15
  - build
16
16
  history:
17
+ - version: 9.5.2
18
+ date: 2026-09-12
19
+ changes: "إضافة العلامة `--ci`"
17
20
  - version: 8.1.5
18
21
  date: 2026-02-23
19
22
  changes: "إضافة خيار checkTypes"
@@ -92,6 +95,10 @@ bun x intlayer build --watch
92
95
 
93
96
  > مثال: `npx intlayer build --no-cache`
94
97
 
98
+ - **`--ci`**: ينفّذ الأمر في كل مشروع Intlayer في الـ monorepo (أو في المشروع الحالي فقط عند التشغيل من مجلد مشروع). يمكن حقن بيانات اعتماد لكل مشروع عبر `INTLAYER_PROJECT_CREDENTIALS`، وهو كائن JSON يربط مسار كل مشروع بـ `{ "clientId", "clientSecret" }`.
99
+
100
+ > مثال: `npx intlayer build --ci`
101
+
95
102
  - **`--check-types`**: التحقق من أنواع ملفات إعلان المحتوى.
96
103
 
97
104
  > مثال: `npx intlayer build --check-types`