@intlayer/docs 9.5.6 → 9.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/blog/ar/i18next_vs_intlayer-i18next.md +122 -15
  2. package/blog/ar/i18next_vs_intlayer.md +130 -16
  3. package/blog/ar/lingui_vs_intlayer.md +122 -15
  4. package/blog/ar/next-intl_vs_intlayer-next-intl.md +124 -15
  5. package/blog/ar/next-intl_vs_intlayer.md +136 -20
  6. package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +119 -17
  7. package/blog/ar/vue-i18n_vs_intlayer.md +193 -31
  8. package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +361 -0
  9. package/blog/de/i18next_vs_intlayer-i18next.md +122 -15
  10. package/blog/de/i18next_vs_intlayer.md +128 -14
  11. package/blog/de/lingui_vs_intlayer.md +122 -15
  12. package/blog/de/next-intl_vs_intlayer-next-intl.md +124 -15
  13. package/blog/de/next-intl_vs_intlayer.md +125 -15
  14. package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  15. package/blog/de/vue-i18n_vs_intlayer.md +193 -31
  16. package/blog/en/i18next_vs_intlayer-i18next.md +121 -14
  17. package/blog/en/i18next_vs_intlayer.md +128 -14
  18. package/blog/en/lingui_vs_intlayer.md +124 -15
  19. package/blog/en/next-intl_vs_intlayer-next-intl.md +123 -14
  20. package/blog/en/next-intl_vs_intlayer.md +125 -13
  21. package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +115 -15
  22. package/blog/en/vue-i18n_vs_intlayer.md +188 -27
  23. package/blog/en-GB/i18next_vs_intlayer-i18next.md +121 -14
  24. package/blog/en-GB/i18next_vs_intlayer.md +128 -14
  25. package/blog/en-GB/lingui_vs_intlayer.md +122 -15
  26. package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +124 -15
  27. package/blog/en-GB/next-intl_vs_intlayer.md +125 -15
  28. package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  29. package/blog/en-GB/vue-i18n_vs_intlayer.md +187 -25
  30. package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +116 -0
  31. package/blog/es/i18next_vs_intlayer-i18next.md +122 -15
  32. package/blog/es/i18next_vs_intlayer.md +128 -14
  33. package/blog/es/lingui_vs_intlayer.md +122 -15
  34. package/blog/es/next-intl_vs_intlayer-next-intl.md +124 -15
  35. package/blog/es/next-intl_vs_intlayer.md +125 -15
  36. package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  37. package/blog/es/vue-i18n_vs_intlayer.md +193 -31
  38. package/blog/fr/i18next_vs_intlayer-i18next.md +122 -15
  39. package/blog/fr/i18next_vs_intlayer.md +128 -14
  40. package/blog/fr/lingui_vs_intlayer.md +122 -15
  41. package/blog/fr/next-intl_vs_intlayer-next-intl.md +124 -15
  42. package/blog/fr/next-intl_vs_intlayer.md +127 -15
  43. package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +118 -17
  44. package/blog/fr/vue-i18n_vs_intlayer.md +192 -31
  45. package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +329 -7
  46. package/blog/hi/i18next_vs_intlayer-i18next.md +122 -15
  47. package/blog/hi/i18next_vs_intlayer.md +130 -16
  48. package/blog/hi/lingui_vs_intlayer.md +122 -15
  49. package/blog/hi/next-intl_vs_intlayer-next-intl.md +124 -15
  50. package/blog/hi/next-intl_vs_intlayer.md +135 -19
  51. package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  52. package/blog/hi/vue-i18n_vs_intlayer.md +193 -31
  53. package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  54. package/blog/id/i18next_vs_intlayer-i18next.md +122 -15
  55. package/blog/id/i18next_vs_intlayer.md +128 -14
  56. package/blog/id/lingui_vs_intlayer.md +122 -15
  57. package/blog/id/next-intl_vs_intlayer-next-intl.md +124 -15
  58. package/blog/id/next-intl_vs_intlayer.md +135 -19
  59. package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +354 -2
  60. package/blog/id/vue-i18n_vs_intlayer.md +188 -26
  61. package/blog/id/vue-i18n_vs_intlayer_benchmark.md +327 -7
  62. package/blog/it/i18next_vs_intlayer-i18next.md +122 -15
  63. package/blog/it/i18next_vs_intlayer.md +128 -14
  64. package/blog/it/lingui_vs_intlayer.md +122 -15
  65. package/blog/it/next-intl_vs_intlayer-next-intl.md +124 -15
  66. package/blog/it/next-intl_vs_intlayer.md +125 -15
  67. package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  68. package/blog/it/vue-i18n_vs_intlayer.md +191 -31
  69. package/blog/it/vue-i18n_vs_intlayer_benchmark.md +332 -5
  70. package/blog/ja/i18next_vs_intlayer-i18next.md +122 -15
  71. package/blog/ja/i18next_vs_intlayer.md +129 -17
  72. package/blog/ja/lingui_vs_intlayer.md +122 -15
  73. package/blog/ja/next-intl_vs_intlayer-next-intl.md +124 -15
  74. package/blog/ja/next-intl_vs_intlayer.md +124 -14
  75. package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  76. package/blog/ja/vue-i18n_vs_intlayer.md +193 -31
  77. package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +361 -0
  78. package/blog/ko/i18next_vs_intlayer-i18next.md +122 -15
  79. package/blog/ko/i18next_vs_intlayer.md +129 -17
  80. package/blog/ko/lingui_vs_intlayer.md +122 -15
  81. package/blog/ko/next-intl_vs_intlayer-next-intl.md +124 -15
  82. package/blog/ko/next-intl_vs_intlayer.md +134 -18
  83. package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  84. package/blog/ko/vue-i18n_vs_intlayer.md +193 -31
  85. package/blog/pl/i18next_vs_intlayer-i18next.md +122 -15
  86. package/blog/pl/i18next_vs_intlayer.md +128 -14
  87. package/blog/pl/lingui_vs_intlayer.md +122 -15
  88. package/blog/pl/next-intl_vs_intlayer-next-intl.md +124 -15
  89. package/blog/pl/next-intl_vs_intlayer.md +134 -18
  90. package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  91. package/blog/pl/vue-i18n_vs_intlayer.md +188 -26
  92. package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +361 -0
  93. package/blog/pt/i18next_vs_intlayer-i18next.md +122 -15
  94. package/blog/pt/i18next_vs_intlayer.md +128 -14
  95. package/blog/pt/lingui_vs_intlayer.md +122 -15
  96. package/blog/pt/next-intl_vs_intlayer-next-intl.md +124 -15
  97. package/blog/pt/next-intl_vs_intlayer.md +131 -15
  98. package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  99. package/blog/pt/vue-i18n_vs_intlayer.md +193 -31
  100. package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +361 -0
  101. package/blog/ru/i18next_vs_intlayer-i18next.md +122 -15
  102. package/blog/ru/i18next_vs_intlayer.md +130 -16
  103. package/blog/ru/lingui_vs_intlayer.md +122 -15
  104. package/blog/ru/next-intl_vs_intlayer-next-intl.md +125 -16
  105. package/blog/ru/next-intl_vs_intlayer.md +123 -13
  106. package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +127 -27
  107. package/blog/ru/vue-i18n_vs_intlayer.md +193 -31
  108. package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +326 -19
  109. package/blog/tr/i18next_vs_intlayer-i18next.md +122 -15
  110. package/blog/tr/i18next_vs_intlayer.md +128 -14
  111. package/blog/tr/lingui_vs_intlayer.md +122 -15
  112. package/blog/tr/next-intl_vs_intlayer-next-intl.md +124 -15
  113. package/blog/tr/next-intl_vs_intlayer.md +136 -20
  114. package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  115. package/blog/tr/vue-i18n_vs_intlayer.md +188 -26
  116. package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +361 -0
  117. package/blog/uk/i18next_vs_intlayer-i18next.md +122 -15
  118. package/blog/uk/i18next_vs_intlayer.md +130 -16
  119. package/blog/uk/lingui_vs_intlayer.md +122 -15
  120. package/blog/uk/next-intl_vs_intlayer-next-intl.md +124 -15
  121. package/blog/uk/next-intl_vs_intlayer.md +135 -19
  122. package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +135 -17
  123. package/blog/uk/vue-i18n_vs_intlayer.md +188 -27
  124. package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +361 -0
  125. package/blog/vi/i18next_vs_intlayer-i18next.md +122 -15
  126. package/blog/vi/i18next_vs_intlayer.md +128 -14
  127. package/blog/vi/lingui_vs_intlayer.md +122 -15
  128. package/blog/vi/next-intl_vs_intlayer-next-intl.md +124 -15
  129. package/blog/vi/next-intl_vs_intlayer.md +135 -19
  130. package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  131. package/blog/vi/vue-i18n_vs_intlayer.md +188 -26
  132. package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  133. package/blog/zh/i18next_vs_intlayer-i18next.md +122 -15
  134. package/blog/zh/i18next_vs_intlayer.md +128 -14
  135. package/blog/zh/lingui_vs_intlayer.md +122 -15
  136. package/blog/zh/next-intl_vs_intlayer-next-intl.md +124 -15
  137. package/blog/zh/next-intl_vs_intlayer.md +125 -15
  138. package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  139. package/blog/zh/vue-i18n_vs_intlayer.md +192 -31
  140. package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +340 -9
  141. package/dist/cjs/generated/docs.entry.cjs +40 -40
  142. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  143. package/dist/cjs/index.cjs +2 -2
  144. package/dist/esm/generated/docs.entry.mjs +40 -40
  145. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  146. package/dist/esm/index.mjs +2 -2
  147. package/dist/types/generated/docs.entry.d.ts +2 -2
  148. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  149. package/docs/ar/benchmark/nextjs.md +13 -13
  150. package/docs/ar/benchmark/solid.md +5 -5
  151. package/docs/ar/benchmark/svelte.md +4 -4
  152. package/docs/ar/benchmark/tanstack.md +14 -13
  153. package/docs/ar/benchmark/vue.md +5 -5
  154. package/docs/ar/chrome_extension.md +130 -0
  155. package/docs/ar/cli/index.md +6 -1
  156. package/docs/ar/cli/infra.md +162 -0
  157. package/docs/ar/cli/init.md +24 -1
  158. package/docs/ar/dictionary/html.md +173 -5
  159. package/docs/ar/dictionary/markdown.md +263 -1
  160. package/docs/ar/intlayer_with_analog.md +23 -1
  161. package/docs/ar/intlayer_with_angular_19.md +24 -1
  162. package/docs/ar/intlayer_with_angular_21.md +24 -1
  163. package/docs/ar/intlayer_with_astro.md +24 -1
  164. package/docs/ar/intlayer_with_astro_lit.md +25 -1
  165. package/docs/ar/intlayer_with_astro_preact.md +26 -1
  166. package/docs/ar/intlayer_with_astro_react.md +26 -1
  167. package/docs/ar/intlayer_with_astro_solid.md +26 -1
  168. package/docs/ar/intlayer_with_astro_svelte.md +25 -1
  169. package/docs/ar/intlayer_with_astro_vue.md +25 -1
  170. package/docs/ar/intlayer_with_remix_3.md +22 -1
  171. package/docs/ar/self_hosting.md +406 -231
  172. package/docs/de/benchmark/nextjs.md +13 -13
  173. package/docs/de/benchmark/solid.md +5 -5
  174. package/docs/de/benchmark/svelte.md +4 -4
  175. package/docs/de/benchmark/tanstack.md +14 -13
  176. package/docs/de/benchmark/vue.md +5 -5
  177. package/docs/de/chrome_extension.md +130 -0
  178. package/docs/de/cli/index.md +6 -1
  179. package/docs/de/cli/infra.md +162 -0
  180. package/docs/de/cli/init.md +24 -1
  181. package/docs/de/dictionary/html.md +173 -5
  182. package/docs/de/dictionary/markdown.md +263 -1
  183. package/docs/de/intlayer_with_analog.md +23 -1
  184. package/docs/de/intlayer_with_angular_19.md +24 -1
  185. package/docs/de/intlayer_with_angular_21.md +24 -1
  186. package/docs/de/intlayer_with_astro.md +24 -1
  187. package/docs/de/intlayer_with_astro_lit.md +25 -1
  188. package/docs/de/intlayer_with_astro_preact.md +26 -1
  189. package/docs/de/intlayer_with_astro_react.md +26 -1
  190. package/docs/de/intlayer_with_astro_solid.md +26 -1
  191. package/docs/de/intlayer_with_astro_svelte.md +25 -1
  192. package/docs/de/intlayer_with_astro_vue.md +25 -1
  193. package/docs/de/intlayer_with_remix_3.md +22 -1
  194. package/docs/de/self_hosting.md +404 -227
  195. package/docs/en/benchmark/nextjs.md +13 -13
  196. package/docs/en/benchmark/solid.md +5 -5
  197. package/docs/en/benchmark/svelte.md +4 -4
  198. package/docs/en/benchmark/tanstack.md +14 -13
  199. package/docs/en/benchmark/vue.md +5 -5
  200. package/docs/en/chrome_extension.md +130 -0
  201. package/docs/en/cli/index.md +6 -1
  202. package/docs/en/cli/infra.md +175 -0
  203. package/docs/en/cli/init.md +25 -1
  204. package/docs/en/dictionary/html.md +173 -5
  205. package/docs/en/dictionary/markdown.md +263 -1
  206. package/docs/en/intlayer_with_analog.md +23 -1
  207. package/docs/en/intlayer_with_angular_19.md +24 -1
  208. package/docs/en/intlayer_with_angular_21.md +24 -1
  209. package/docs/en/intlayer_with_astro.md +24 -1
  210. package/docs/en/intlayer_with_astro_lit.md +25 -1
  211. package/docs/en/intlayer_with_astro_preact.md +26 -1
  212. package/docs/en/intlayer_with_astro_react.md +26 -1
  213. package/docs/en/intlayer_with_astro_solid.md +26 -1
  214. package/docs/en/intlayer_with_astro_svelte.md +25 -1
  215. package/docs/en/intlayer_with_astro_vue.md +25 -1
  216. package/docs/en/intlayer_with_remix_3.md +22 -1
  217. package/docs/en/self_hosting.md +418 -176
  218. package/docs/en-GB/benchmark/nextjs.md +13 -13
  219. package/docs/en-GB/benchmark/solid.md +5 -5
  220. package/docs/en-GB/benchmark/svelte.md +4 -4
  221. package/docs/en-GB/benchmark/tanstack.md +14 -13
  222. package/docs/en-GB/benchmark/vue.md +5 -5
  223. package/docs/en-GB/chrome_extension.md +130 -0
  224. package/docs/en-GB/cli/index.md +6 -1
  225. package/docs/en-GB/cli/infra.md +162 -0
  226. package/docs/en-GB/cli/init.md +24 -1
  227. package/docs/en-GB/dictionary/html.md +173 -5
  228. package/docs/en-GB/dictionary/markdown.md +263 -1
  229. package/docs/en-GB/intlayer_with_analog.md +23 -1
  230. package/docs/en-GB/intlayer_with_angular_19.md +24 -1
  231. package/docs/en-GB/intlayer_with_angular_21.md +24 -1
  232. package/docs/en-GB/intlayer_with_astro.md +24 -1
  233. package/docs/en-GB/intlayer_with_astro_lit.md +25 -1
  234. package/docs/en-GB/intlayer_with_astro_preact.md +26 -1
  235. package/docs/en-GB/intlayer_with_astro_react.md +26 -1
  236. package/docs/en-GB/intlayer_with_astro_solid.md +26 -1
  237. package/docs/en-GB/intlayer_with_astro_svelte.md +25 -1
  238. package/docs/en-GB/intlayer_with_astro_vue.md +25 -1
  239. package/docs/en-GB/intlayer_with_remix_3.md +22 -1
  240. package/docs/en-GB/self_hosting.md +381 -206
  241. package/docs/es/benchmark/nextjs.md +13 -13
  242. package/docs/es/benchmark/solid.md +5 -5
  243. package/docs/es/benchmark/svelte.md +4 -4
  244. package/docs/es/benchmark/tanstack.md +14 -13
  245. package/docs/es/benchmark/vue.md +5 -5
  246. package/docs/es/chrome_extension.md +130 -0
  247. package/docs/es/cli/index.md +6 -1
  248. package/docs/es/cli/infra.md +162 -0
  249. package/docs/es/cli/init.md +24 -1
  250. package/docs/es/dictionary/html.md +173 -5
  251. package/docs/es/dictionary/markdown.md +263 -1
  252. package/docs/es/intlayer_with_analog.md +23 -1
  253. package/docs/es/intlayer_with_angular_19.md +24 -1
  254. package/docs/es/intlayer_with_angular_21.md +24 -1
  255. package/docs/es/intlayer_with_astro.md +24 -1
  256. package/docs/es/intlayer_with_astro_lit.md +25 -1
  257. package/docs/es/intlayer_with_astro_preact.md +26 -1
  258. package/docs/es/intlayer_with_astro_react.md +26 -1
  259. package/docs/es/intlayer_with_astro_solid.md +26 -1
  260. package/docs/es/intlayer_with_astro_svelte.md +25 -1
  261. package/docs/es/intlayer_with_astro_vue.md +25 -1
  262. package/docs/es/intlayer_with_remix_3.md +22 -1
  263. package/docs/es/self_hosting.md +400 -223
  264. package/docs/fr/benchmark/nextjs.md +13 -13
  265. package/docs/fr/benchmark/solid.md +5 -5
  266. package/docs/fr/benchmark/svelte.md +4 -4
  267. package/docs/fr/benchmark/tanstack.md +14 -13
  268. package/docs/fr/benchmark/vue.md +5 -5
  269. package/docs/fr/chrome_extension.md +130 -0
  270. package/docs/fr/cli/index.md +6 -1
  271. package/docs/fr/cli/infra.md +162 -0
  272. package/docs/fr/cli/init.md +24 -1
  273. package/docs/fr/dictionary/html.md +173 -5
  274. package/docs/fr/dictionary/markdown.md +265 -4
  275. package/docs/fr/intlayer_with_analog.md +23 -1
  276. package/docs/fr/intlayer_with_angular_19.md +24 -1
  277. package/docs/fr/intlayer_with_angular_21.md +24 -1
  278. package/docs/fr/intlayer_with_astro.md +24 -1
  279. package/docs/fr/intlayer_with_astro_lit.md +25 -1
  280. package/docs/fr/intlayer_with_astro_preact.md +26 -1
  281. package/docs/fr/intlayer_with_astro_react.md +26 -1
  282. package/docs/fr/intlayer_with_astro_solid.md +26 -1
  283. package/docs/fr/intlayer_with_astro_svelte.md +25 -1
  284. package/docs/fr/intlayer_with_astro_vue.md +25 -1
  285. package/docs/fr/intlayer_with_remix_3.md +22 -1
  286. package/docs/fr/self_hosting.md +401 -224
  287. package/docs/hi/benchmark/nextjs.md +13 -13
  288. package/docs/hi/benchmark/solid.md +5 -5
  289. package/docs/hi/benchmark/svelte.md +4 -4
  290. package/docs/hi/benchmark/tanstack.md +14 -13
  291. package/docs/hi/benchmark/vue.md +5 -5
  292. package/docs/hi/chrome_extension.md +130 -0
  293. package/docs/hi/cli/index.md +6 -1
  294. package/docs/hi/cli/infra.md +162 -0
  295. package/docs/hi/cli/init.md +24 -1
  296. package/docs/hi/dictionary/html.md +173 -5
  297. package/docs/hi/dictionary/markdown.md +263 -1
  298. package/docs/hi/intlayer_with_analog.md +23 -1
  299. package/docs/hi/intlayer_with_angular_19.md +24 -1
  300. package/docs/hi/intlayer_with_angular_21.md +24 -1
  301. package/docs/hi/intlayer_with_astro.md +24 -1
  302. package/docs/hi/intlayer_with_astro_lit.md +25 -1
  303. package/docs/hi/intlayer_with_astro_preact.md +26 -1
  304. package/docs/hi/intlayer_with_astro_react.md +26 -1
  305. package/docs/hi/intlayer_with_astro_solid.md +26 -1
  306. package/docs/hi/intlayer_with_astro_svelte.md +25 -1
  307. package/docs/hi/intlayer_with_astro_vue.md +25 -1
  308. package/docs/hi/intlayer_with_remix_3.md +22 -1
  309. package/docs/hi/self_hosting.md +409 -235
  310. package/docs/id/benchmark/nextjs.md +13 -13
  311. package/docs/id/benchmark/solid.md +5 -5
  312. package/docs/id/benchmark/svelte.md +4 -4
  313. package/docs/id/benchmark/tanstack.md +14 -13
  314. package/docs/id/benchmark/vue.md +5 -5
  315. package/docs/id/chrome_extension.md +130 -0
  316. package/docs/id/cli/index.md +6 -1
  317. package/docs/id/cli/infra.md +162 -0
  318. package/docs/id/cli/init.md +24 -1
  319. package/docs/id/dictionary/html.md +173 -5
  320. package/docs/id/dictionary/markdown.md +263 -1
  321. package/docs/id/intlayer_with_analog.md +23 -1
  322. package/docs/id/intlayer_with_angular_19.md +24 -1
  323. package/docs/id/intlayer_with_angular_21.md +24 -1
  324. package/docs/id/intlayer_with_astro.md +24 -1
  325. package/docs/id/intlayer_with_astro_lit.md +25 -1
  326. package/docs/id/intlayer_with_astro_preact.md +26 -1
  327. package/docs/id/intlayer_with_astro_react.md +26 -1
  328. package/docs/id/intlayer_with_astro_solid.md +26 -1
  329. package/docs/id/intlayer_with_astro_svelte.md +25 -1
  330. package/docs/id/intlayer_with_astro_vue.md +25 -1
  331. package/docs/id/intlayer_with_remix_3.md +22 -1
  332. package/docs/id/self_hosting.md +416 -243
  333. package/docs/it/benchmark/nextjs.md +13 -13
  334. package/docs/it/benchmark/solid.md +5 -5
  335. package/docs/it/benchmark/svelte.md +4 -4
  336. package/docs/it/benchmark/tanstack.md +14 -13
  337. package/docs/it/benchmark/vue.md +5 -5
  338. package/docs/it/chrome_extension.md +130 -0
  339. package/docs/it/cli/index.md +6 -1
  340. package/docs/it/cli/infra.md +162 -0
  341. package/docs/it/cli/init.md +24 -1
  342. package/docs/it/dictionary/html.md +173 -5
  343. package/docs/it/dictionary/markdown.md +263 -1
  344. package/docs/it/intlayer_with_analog.md +23 -1
  345. package/docs/it/intlayer_with_angular_19.md +24 -1
  346. package/docs/it/intlayer_with_angular_21.md +24 -1
  347. package/docs/it/intlayer_with_astro.md +24 -1
  348. package/docs/it/intlayer_with_astro_lit.md +25 -1
  349. package/docs/it/intlayer_with_astro_preact.md +26 -1
  350. package/docs/it/intlayer_with_astro_react.md +26 -1
  351. package/docs/it/intlayer_with_astro_solid.md +26 -1
  352. package/docs/it/intlayer_with_astro_svelte.md +25 -1
  353. package/docs/it/intlayer_with_astro_vue.md +25 -1
  354. package/docs/it/intlayer_with_remix_3.md +22 -1
  355. package/docs/it/self_hosting.md +412 -237
  356. package/docs/ja/benchmark/nextjs.md +13 -13
  357. package/docs/ja/benchmark/solid.md +5 -5
  358. package/docs/ja/benchmark/svelte.md +4 -4
  359. package/docs/ja/benchmark/tanstack.md +13 -12
  360. package/docs/ja/benchmark/vue.md +5 -5
  361. package/docs/ja/chrome_extension.md +130 -0
  362. package/docs/ja/cli/index.md +6 -1
  363. package/docs/ja/cli/infra.md +162 -0
  364. package/docs/ja/cli/init.md +24 -1
  365. package/docs/ja/dictionary/html.md +173 -5
  366. package/docs/ja/dictionary/markdown.md +263 -1
  367. package/docs/ja/intlayer_with_analog.md +23 -1
  368. package/docs/ja/intlayer_with_angular_19.md +24 -1
  369. package/docs/ja/intlayer_with_angular_21.md +24 -1
  370. package/docs/ja/intlayer_with_astro.md +24 -1
  371. package/docs/ja/intlayer_with_astro_lit.md +25 -1
  372. package/docs/ja/intlayer_with_astro_preact.md +26 -1
  373. package/docs/ja/intlayer_with_astro_react.md +26 -1
  374. package/docs/ja/intlayer_with_astro_solid.md +26 -1
  375. package/docs/ja/intlayer_with_astro_svelte.md +25 -1
  376. package/docs/ja/intlayer_with_astro_vue.md +25 -1
  377. package/docs/ja/intlayer_with_remix_3.md +22 -1
  378. package/docs/ja/self_hosting.md +398 -223
  379. package/docs/ko/benchmark/nextjs.md +13 -13
  380. package/docs/ko/benchmark/solid.md +5 -5
  381. package/docs/ko/benchmark/svelte.md +4 -4
  382. package/docs/ko/benchmark/tanstack.md +14 -13
  383. package/docs/ko/benchmark/vue.md +5 -5
  384. package/docs/ko/chrome_extension.md +130 -0
  385. package/docs/ko/cli/index.md +6 -1
  386. package/docs/ko/cli/infra.md +162 -0
  387. package/docs/ko/cli/init.md +24 -1
  388. package/docs/ko/dictionary/html.md +173 -5
  389. package/docs/ko/dictionary/markdown.md +263 -1
  390. package/docs/ko/intlayer_with_analog.md +23 -1
  391. package/docs/ko/intlayer_with_angular_19.md +24 -1
  392. package/docs/ko/intlayer_with_angular_21.md +24 -1
  393. package/docs/ko/intlayer_with_astro.md +24 -1
  394. package/docs/ko/intlayer_with_astro_lit.md +25 -1
  395. package/docs/ko/intlayer_with_astro_preact.md +26 -1
  396. package/docs/ko/intlayer_with_astro_react.md +26 -1
  397. package/docs/ko/intlayer_with_astro_solid.md +26 -1
  398. package/docs/ko/intlayer_with_astro_svelte.md +25 -1
  399. package/docs/ko/intlayer_with_astro_vue.md +25 -1
  400. package/docs/ko/intlayer_with_remix_3.md +22 -1
  401. package/docs/ko/self_hosting.md +411 -238
  402. package/docs/pl/benchmark/nextjs.md +13 -13
  403. package/docs/pl/benchmark/solid.md +5 -5
  404. package/docs/pl/benchmark/svelte.md +4 -4
  405. package/docs/pl/benchmark/tanstack.md +14 -13
  406. package/docs/pl/benchmark/vue.md +5 -5
  407. package/docs/pl/chrome_extension.md +130 -0
  408. package/docs/pl/cli/index.md +6 -1
  409. package/docs/pl/cli/infra.md +162 -0
  410. package/docs/pl/cli/init.md +24 -1
  411. package/docs/pl/dictionary/html.md +173 -5
  412. package/docs/pl/dictionary/markdown.md +263 -1
  413. package/docs/pl/intlayer_with_analog.md +23 -1
  414. package/docs/pl/intlayer_with_angular_19.md +24 -1
  415. package/docs/pl/intlayer_with_angular_21.md +24 -1
  416. package/docs/pl/intlayer_with_astro.md +24 -1
  417. package/docs/pl/intlayer_with_astro_lit.md +25 -1
  418. package/docs/pl/intlayer_with_astro_preact.md +26 -1
  419. package/docs/pl/intlayer_with_astro_react.md +26 -1
  420. package/docs/pl/intlayer_with_astro_solid.md +26 -1
  421. package/docs/pl/intlayer_with_astro_svelte.md +25 -1
  422. package/docs/pl/intlayer_with_astro_vue.md +25 -1
  423. package/docs/pl/intlayer_with_remix_3.md +22 -1
  424. package/docs/pl/self_hosting.md +408 -233
  425. package/docs/pt/benchmark/nextjs.md +13 -13
  426. package/docs/pt/benchmark/solid.md +5 -5
  427. package/docs/pt/benchmark/svelte.md +4 -4
  428. package/docs/pt/benchmark/tanstack.md +14 -13
  429. package/docs/pt/benchmark/vue.md +5 -5
  430. package/docs/pt/chrome_extension.md +130 -0
  431. package/docs/pt/cli/index.md +6 -1
  432. package/docs/pt/cli/infra.md +162 -0
  433. package/docs/pt/cli/init.md +24 -1
  434. package/docs/pt/dictionary/html.md +173 -5
  435. package/docs/pt/dictionary/markdown.md +263 -1
  436. package/docs/pt/intlayer_with_analog.md +23 -1
  437. package/docs/pt/intlayer_with_angular_19.md +24 -1
  438. package/docs/pt/intlayer_with_angular_21.md +24 -1
  439. package/docs/pt/intlayer_with_astro.md +24 -1
  440. package/docs/pt/intlayer_with_astro_lit.md +25 -1
  441. package/docs/pt/intlayer_with_astro_preact.md +26 -1
  442. package/docs/pt/intlayer_with_astro_react.md +26 -1
  443. package/docs/pt/intlayer_with_astro_solid.md +26 -1
  444. package/docs/pt/intlayer_with_astro_svelte.md +25 -1
  445. package/docs/pt/intlayer_with_astro_vue.md +25 -1
  446. package/docs/pt/intlayer_with_remix_3.md +22 -1
  447. package/docs/pt/self_hosting.md +399 -224
  448. package/docs/ru/benchmark/nextjs.md +13 -13
  449. package/docs/ru/benchmark/solid.md +5 -5
  450. package/docs/ru/benchmark/svelte.md +4 -4
  451. package/docs/ru/benchmark/tanstack.md +14 -13
  452. package/docs/ru/benchmark/vue.md +5 -5
  453. package/docs/ru/chrome_extension.md +130 -0
  454. package/docs/ru/cli/index.md +6 -1
  455. package/docs/ru/cli/infra.md +162 -0
  456. package/docs/ru/cli/init.md +24 -1
  457. package/docs/ru/dictionary/html.md +173 -5
  458. package/docs/ru/dictionary/markdown.md +263 -1
  459. package/docs/ru/intlayer_with_analog.md +23 -1
  460. package/docs/ru/intlayer_with_angular_19.md +24 -1
  461. package/docs/ru/intlayer_with_angular_21.md +24 -1
  462. package/docs/ru/intlayer_with_astro.md +24 -1
  463. package/docs/ru/intlayer_with_astro_lit.md +25 -1
  464. package/docs/ru/intlayer_with_astro_preact.md +26 -1
  465. package/docs/ru/intlayer_with_astro_react.md +26 -1
  466. package/docs/ru/intlayer_with_astro_solid.md +26 -1
  467. package/docs/ru/intlayer_with_astro_svelte.md +25 -1
  468. package/docs/ru/intlayer_with_astro_vue.md +25 -1
  469. package/docs/ru/intlayer_with_remix_3.md +22 -1
  470. package/docs/ru/self_hosting.md +403 -228
  471. package/docs/tr/benchmark/nextjs.md +13 -13
  472. package/docs/tr/benchmark/solid.md +5 -5
  473. package/docs/tr/benchmark/svelte.md +4 -4
  474. package/docs/tr/benchmark/tanstack.md +14 -13
  475. package/docs/tr/benchmark/vue.md +5 -5
  476. package/docs/tr/chrome_extension.md +130 -0
  477. package/docs/tr/cli/index.md +6 -1
  478. package/docs/tr/cli/infra.md +162 -0
  479. package/docs/tr/cli/init.md +24 -1
  480. package/docs/tr/dictionary/html.md +173 -5
  481. package/docs/tr/dictionary/markdown.md +263 -1
  482. package/docs/tr/intlayer_with_analog.md +23 -1
  483. package/docs/tr/intlayer_with_angular_19.md +24 -1
  484. package/docs/tr/intlayer_with_angular_21.md +24 -1
  485. package/docs/tr/intlayer_with_astro.md +24 -1
  486. package/docs/tr/intlayer_with_astro_lit.md +25 -1
  487. package/docs/tr/intlayer_with_astro_preact.md +26 -1
  488. package/docs/tr/intlayer_with_astro_react.md +26 -1
  489. package/docs/tr/intlayer_with_astro_solid.md +26 -1
  490. package/docs/tr/intlayer_with_astro_svelte.md +25 -1
  491. package/docs/tr/intlayer_with_astro_vue.md +25 -1
  492. package/docs/tr/intlayer_with_remix_3.md +22 -1
  493. package/docs/tr/self_hosting.md +410 -234
  494. package/docs/uk/benchmark/nextjs.md +13 -13
  495. package/docs/uk/benchmark/solid.md +5 -5
  496. package/docs/uk/benchmark/svelte.md +4 -4
  497. package/docs/uk/benchmark/tanstack.md +14 -13
  498. package/docs/uk/benchmark/vue.md +5 -5
  499. package/docs/uk/chrome_extension.md +130 -0
  500. package/docs/uk/cli/index.md +6 -1
  501. package/docs/uk/cli/infra.md +162 -0
  502. package/docs/uk/cli/init.md +24 -1
  503. package/docs/uk/dictionary/html.md +173 -5
  504. package/docs/uk/dictionary/markdown.md +263 -1
  505. package/docs/uk/intlayer_with_analog.md +23 -1
  506. package/docs/uk/intlayer_with_angular_19.md +24 -1
  507. package/docs/uk/intlayer_with_angular_21.md +24 -1
  508. package/docs/uk/intlayer_with_astro.md +24 -1
  509. package/docs/uk/intlayer_with_astro_lit.md +25 -1
  510. package/docs/uk/intlayer_with_astro_preact.md +26 -1
  511. package/docs/uk/intlayer_with_astro_react.md +26 -1
  512. package/docs/uk/intlayer_with_astro_solid.md +26 -1
  513. package/docs/uk/intlayer_with_astro_svelte.md +25 -1
  514. package/docs/uk/intlayer_with_astro_vue.md +25 -1
  515. package/docs/uk/intlayer_with_remix_3.md +22 -1
  516. package/docs/uk/self_hosting.md +413 -238
  517. package/docs/vi/benchmark/nextjs.md +13 -13
  518. package/docs/vi/benchmark/solid.md +5 -5
  519. package/docs/vi/benchmark/svelte.md +4 -4
  520. package/docs/vi/benchmark/tanstack.md +14 -13
  521. package/docs/vi/benchmark/vue.md +5 -5
  522. package/docs/vi/chrome_extension.md +130 -0
  523. package/docs/vi/cli/index.md +6 -1
  524. package/docs/vi/cli/infra.md +162 -0
  525. package/docs/vi/cli/init.md +24 -1
  526. package/docs/vi/dictionary/html.md +173 -5
  527. package/docs/vi/dictionary/markdown.md +263 -1
  528. package/docs/vi/intlayer_with_analog.md +23 -1
  529. package/docs/vi/intlayer_with_angular_19.md +24 -1
  530. package/docs/vi/intlayer_with_angular_21.md +24 -1
  531. package/docs/vi/intlayer_with_astro.md +24 -1
  532. package/docs/vi/intlayer_with_astro_lit.md +25 -1
  533. package/docs/vi/intlayer_with_astro_preact.md +26 -1
  534. package/docs/vi/intlayer_with_astro_react.md +26 -1
  535. package/docs/vi/intlayer_with_astro_solid.md +26 -1
  536. package/docs/vi/intlayer_with_astro_svelte.md +25 -1
  537. package/docs/vi/intlayer_with_astro_vue.md +25 -1
  538. package/docs/vi/intlayer_with_remix_3.md +22 -1
  539. package/docs/vi/self_hosting.md +408 -234
  540. package/docs/zh/benchmark/nextjs.md +13 -13
  541. package/docs/zh/benchmark/solid.md +5 -5
  542. package/docs/zh/benchmark/svelte.md +4 -4
  543. package/docs/zh/benchmark/tanstack.md +14 -13
  544. package/docs/zh/benchmark/vue.md +5 -5
  545. package/docs/zh/chrome_extension.md +130 -0
  546. package/docs/zh/cli/index.md +6 -1
  547. package/docs/zh/cli/infra.md +162 -0
  548. package/docs/zh/cli/init.md +24 -1
  549. package/docs/zh/dictionary/html.md +172 -5
  550. package/docs/zh/dictionary/markdown.md +262 -1
  551. package/docs/zh/intlayer_with_analog.md +23 -1
  552. package/docs/zh/intlayer_with_angular_19.md +24 -1
  553. package/docs/zh/intlayer_with_angular_21.md +24 -1
  554. package/docs/zh/intlayer_with_astro.md +24 -1
  555. package/docs/zh/intlayer_with_astro_lit.md +25 -1
  556. package/docs/zh/intlayer_with_astro_preact.md +26 -1
  557. package/docs/zh/intlayer_with_astro_react.md +26 -1
  558. package/docs/zh/intlayer_with_astro_solid.md +26 -1
  559. package/docs/zh/intlayer_with_astro_svelte.md +25 -1
  560. package/docs/zh/intlayer_with_astro_vue.md +25 -1
  561. package/docs/zh/intlayer_with_remix_3.md +22 -1
  562. package/docs/zh/self_hosting.md +410 -237
  563. package/legal/ar/privacy_notice.md +9 -3
  564. package/legal/de/privacy_notice.md +9 -3
  565. package/legal/en/privacy_notice.md +10 -3
  566. package/legal/en-GB/privacy_notice.md +9 -3
  567. package/legal/es/privacy_notice.md +9 -3
  568. package/legal/fr/privacy_notice.md +9 -3
  569. package/legal/hi/privacy_notice.md +9 -3
  570. package/legal/id/privacy_notice.md +9 -3
  571. package/legal/it/privacy_notice.md +9 -3
  572. package/legal/ja/privacy_notice.md +9 -3
  573. package/legal/ko/privacy_notice.md +9 -3
  574. package/legal/pl/privacy_notice.md +9 -3
  575. package/legal/pt/privacy_notice.md +9 -3
  576. package/legal/ru/privacy_notice.md +9 -3
  577. package/legal/tr/privacy_notice.md +9 -3
  578. package/legal/uk/privacy_notice.md +9 -3
  579. package/legal/vi/privacy_notice.md +9 -3
  580. package/legal/zh/privacy_notice.md +9 -3
  581. package/package.json +1 -1
  582. package/src/generated/docs.entry.ts +40 -40
  583. package/docs/ar/roadmap.md +0 -321
  584. package/docs/de/roadmap.md +0 -322
  585. package/docs/en/intlayer_with_astro_vanilla.md +0 -713
  586. package/docs/en/roadmap.md +0 -325
  587. package/docs/en-GB/roadmap.md +0 -322
  588. package/docs/es/roadmap.md +0 -322
  589. package/docs/fr/roadmap.md +0 -322
  590. package/docs/hi/roadmap.md +0 -322
  591. package/docs/id/roadmap.md +0 -325
  592. package/docs/it/roadmap.md +0 -322
  593. package/docs/ja/roadmap.md +0 -322
  594. package/docs/ko/roadmap.md +0 -322
  595. package/docs/pl/roadmap.md +0 -325
  596. package/docs/pt/roadmap.md +0 -322
  597. package/docs/ru/roadmap.md +0 -322
  598. package/docs/tr/roadmap.md +0 -325
  599. package/docs/uk/roadmap.md +0 -325
  600. package/docs/vi/roadmap.md +0 -325
  601. package/docs/zh/roadmap.md +0 -322
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-09-13
3
- updatedAt: 2026-09-13
3
+ updatedAt: 2026-09-22
4
4
  title: "vue-i18n बनाम @intlayer/vue-i18n: समान API, विभिन्न Bundle"
5
5
  description: जब एक Vue 3 ऐप अपनी vue-i18n कॉल को रखता है लेकिन @intlayer/vue-i18n compat adapter के माध्यम से उन्हें serve करता है तो क्या बदलता है। प्रति-पेज JavaScript, runtime size, component size और leakage को same Vite + Vue code पर मापा गया है, साथ ही adapter क्या रखता है, क्या ignore करता है और क्या replace नहीं कर सकता है।
6
6
  keywords:
@@ -25,6 +25,8 @@ author: aymericzip
25
25
 
26
26
  # vue-i18n बनाम @intlayer/vue-i18n | समान API, विभिन्न Bundle
27
27
 
28
+ ![Vue i18n library ecosystem](https://github.com/aymericzip/intlayer/blob/main/docs/assets/cloud_i18n_logo.webp?raw=true)
29
+
28
30
  `@intlayer/vue-i18n` एक compat adapter है: यह `vue-i18n` API (`createI18n`, `useI18n`, `t()`, `d()`, `n()`, `$t`, `v-t`, `i18n.global.locale`...) को expose करता है और इसे Intlayer द्वारा compiled dictionaries से serve करता है। आपकी `.vue` files नहीं बदलती हैं। जो `t("footer.github")` से bound है, वह बदलता है।
29
31
 
30
32
  यह लेख एक ही Vite + Vue 3 एप्लिकेशन पर इस स्वैप को मापता है, एक बार `vue-i18n` के साथ और एक बार एडेप्टर के साथ निर्मित। संख्याएँ [Benchmark Bloom](https://github.com/intlayer-org/benchmark-bloom) से आती हैं। `vue-i18n` और Intlayer की तुलना लाइब्रेरी के रूप में करने के लिए, [vue-i18n vs Intlayer](https://intlayer.org/blog/vue-i18n-vs-intlayer) और [vue-i18n vs Intlayer benchmark](https://intlayer.org/blog/vue-i18n-vs-intlayer-benchmark) पढ़ें। यह इस बारे में है कि जब आप अपने components को वैसे ही रखते हैं तो एडेप्टर क्या बदलता है।
@@ -105,6 +107,10 @@ const { t } = useI18n(_dicHash_footer);
105
107
 
106
108
  ### Vite + Vue 3 पर परिणाम
107
109
 
110
+ वे मेट्रिक्स और लाइब्रेरी चुनें जिनकी आपको परवाह है:
111
+
112
+ <I18nBenchmark framework="vite-vue" vertical/>
113
+
108
114
  | Setup | Strategy | Lib size (gz) | Lib size (min) | Page JS avg (gz) | Locale leak | Page leak | Component avg (gz) | E2E reactivity | Page load |
109
115
  | ------------------------ | -------- | ------------: | -------------: | ---------------: | ----------: | --------: | -----------------: | -------------: | ---------: |
110
116
  | **base** (कोई i18n नहीं) | - | 0.0 KB | 0.0 KB | 41.3 KB | 0.0% | - | 1.1 KB | 1.8 ms | 10.8 ms |
@@ -124,11 +130,24 @@ const { t } = useI18n(_dicHash_footer);
124
130
  - **Reactivity और page load.** Locale switching दोनों के लिए सस्ता है (1.5-2.8 ms); Vue की reactivity system एक बार जब messages मेमोरी में हों तो ऐसा बनाती है। Page load 13.6 ms से **9.3 ms** तक जाता है, जो 88 KB कम JavaScript parse करने के अनुरूप है।
125
131
  - **नेटिव पंक्तियों के बारे में।** `vue-intlayer` इस रन में `static` मोड में हर लोकेल को बंडल करता है और 3.9 KB रनटाइम के साथ 57.1 KB पर पहुंचता है; एडेप्टर के सिंक्रोनाइज़्ड डिक्शनरीज़ में कम विदेशी-लोकेल स्ट्रिंग्स थीं, इसलिए प्रति-पृष्ठ आंकड़ा कम है। नेटिव रनटाइम तीनों में सबसे हल्का रहता है, और इसका `.content.ts` मॉडल वह जगह है जहां SFC `<i18n>` ब्लॉक अपने समकक्ष को खोजते हैं।
126
132
 
133
+ <ClickToOpenIframe
134
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md"
135
+ width="100%"
136
+ height="600px"
137
+ style="border:none;"
138
+ />
139
+
140
+ > पूरी तालिका, प्रत्येक लाइब्रेरी और रणनीति, [Vue बेंचमार्क रिपोर्ट](https://intlayer.org/hi/doc/benchmark/vue) में।
141
+
127
142
  ## संख्याएं क्यों बदलती हैं
128
143
 
144
+ ![The Intlayer compiler extracts content from components](https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.webp?raw=true)
145
+
129
146
  `src/components/` में कुछ भी नहीं बदला, इसलिए लाभ इसी से आते हैं कि `useI18n` किससे बंधा है।
130
147
 
131
- **`vue-i18n` के साथ**, binding global instance है। `createI18n({ messages: { en, fr, ... } })` एक import है जो सब कुछ hold करता है; हर component जो `useI18n()` को call करता है वह सब कुछ तक पहुँच सकता है, इसलिए bundler instance के नीचे split नहीं कर सकता। Optimizing का मतलब है कि _आप_ `en.json` को route से split करें, एक router guard में `setLocaleMessage()` को call करें, और जैसे components move हों वैसे route-to-file map को सही रखें।
148
+ **`vue-i18n` के साथ**, binding global instance है। `createI18n({ messages: { en, fr, ... } })` एक import है जो सब कुछ hold करता है; हर component जो `useI18n()` को call करता है वह सब कुछ तक पहुँच सकता है, इसलिए bundler instance के नीचे split नहीं कर सकता। Optimizing का मतलब है कि _आप_ `en.json` को route से split करें, एक router guard में `setLocaleMessage()` को call करें, और जैसे components move हों वैसे route-to-file map को सही रखें। अपव्यय एक साथ दो अक्षों पर बढ़ता है, पेज और लोकेल:
149
+
150
+ ![Theoretical content leakage by architecture](https://github.com/aymericzip/intlayer/blob/main/docs/assets/theorical_content_leakage.webp?raw=true)
132
151
 
133
152
  ```bash
134
153
  .
@@ -258,26 +277,107 @@ export const i18n = createI18n({ locale: "en" });
258
277
 
259
278
  ## शुरू करने से पहले जानने योग्य सीमाएं
260
279
 
261
- - **SFC `<i18n>` blocks को read नहीं किया जाता है।** यदि आपके messages components के अंदर हैं, तो उन्हें locale files में move करने की आवश्यकता है (या `.content.ts` में, जो types के साथ एक ही विचार है)।
262
- - **Runtime message loading gone है।** `setLocaleMessage()` और `mergeLocaleMessage()` warn करते हैं और return करते हैं। Runtime पर CMS से fetch किए गए translations को Intlayer के CMS की आवश्यकता है, या `intlayer pull` / `push` commands की।
263
- - **`messages` एक fallback है, free नहीं है।** `createI18n()` में JSON imports को रखने से bundle में 75 KB रहता है। एक बार `intlayer test` pass होने के बाद उन्हें delete करें।
264
- - **adapter native runtime नहीं है।** `vue-intlayer` के लिए 3.9 KB के मुकाबले 7.9 KB। एक बार जब हर component `useIntlayer` पर चला गया हो, तो इसे छोड़ दें।
280
+ <AccordionGroup>
281
+ <Accordion header="SFC <i18n> ब्लॉक नहीं पढ़े जाते">
282
+
283
+ यदि आपके संदेश घटकों के भीतर हैं, तो उन्हें लोकेल फ़ाइलों में या उत्पन्न प्रकारों के साथ समान विचार वाले `.content.ts` में स्थानांतरित करने की आवश्यकता है।
284
+
285
+ </Accordion>
286
+ <Accordion header="रनटाइम संदेश लोडिंग हटा दी गई है">
287
+
288
+ `setLocaleMessage()` और `mergeLocaleMessage()` चेतावनी देते हैं और वापस लौट जाते हैं। रनटाइम पर CMS से लाए गए अनुवादों के लिए [Intlayer CMS](https://intlayer.org/hi/doc/concept/cms) या `intlayer pull` / `push` कमांड की आवश्यकता होती है।
289
+
290
+ </Accordion>
291
+ <Accordion header="messages एक फ़ॉलबैक है, मुफ़्त नहीं">
292
+
293
+ `createI18n()` में JSON आयात रखने से बंडल में 75 KB बना रहता है। `intlayer test` पास होने के बाद उन्हें हटा दें।
294
+
295
+ </Accordion>
296
+ <Accordion header="एडाप्टर नेटिव रनटाइम नहीं है">
297
+
298
+ `vue-intlayer` के 3.9 KB के मुकाबले 7.9 KB। एक बार जब प्रत्येक घटक `useIntlayer` पर चला जाए, तो इसे हटा दें।
299
+
300
+ </Accordion>
301
+ </AccordionGroup>
265
302
 
266
303
  ## कौन सा कब उपयोग करें?
267
304
 
268
- - **`vue-i18n` पर बने रहें** यदि आपका app SFC `<i18n>` blocks पर निर्भर करता है, runtime `setLocaleMessage()` flows पर, या यदि 90 KB प्रति page आपके audience के लिए चिंता का विषय नहीं है।
269
- - **`@intlayer/vue-i18n` का उपयोग करें** यदि आप `vue-i18n` पर हैं और 88 KB, 23x छोटे components, 0% page leakage, typed keys और CI checks चाहते हैं बिना किसी `.vue` file को edit किए। यह एक existing `vue-i18n` codebase के लिए entry point है।
270
- - **Native पर जाएं (`vue-intlayer`)** नई projects के लिए, या एक बार adapter ने अपना काम कर दिया हो। इसके पास सबसे हल्का runtime (3.9 KB) और per-component `.content.ts` model है जो `<i18n>` blocks को typed content से replace करता है।
305
+ <AccordionGroup>
306
+ <Accordion header="vue-i18n पर बने रहें">
307
+
308
+ आपका ऐप SFC `<i18n>` ब्लॉक, रनटाइम `setLocaleMessage()` प्रवाह पर निर्भर करता है, या प्रति पेज 90 KB आपके दर्शकों के लिए कोई चिंता का विषय नहीं है।
309
+
310
+ </Accordion>
311
+ <Accordion header="@intlayer/vue-i18n का उपयोग करें">
312
+
313
+ आप `vue-i18n` पर हैं और बिना किसी `.vue` फ़ाइल को संपादित किए 88 KB की बचत, 23 गुना छोटे घटक, 0% पेज लीकेज, टाइप की गई कुंजियाँ और CI जांच चाहते हैं। यह मौजूदा `vue-i18n` कोडबेस के लिए प्रवेश बिंदु है।
314
+
315
+ </Accordion>
316
+ <Accordion header="नेटिव बनें (vue-intlayer)">
317
+
318
+ नई परियोजनाओं के लिए, या एक बार जब एडाप्टर अपना काम कर ले। इसमें सबसे हल्का रनटाइम (3.9 KB) और प्रति-घटक `.content.ts` मॉडल है जो `<i18n>` ब्लॉक को टाइप की गई सामग्री से बदलता है। [Vue के साथ Intlayer](https://intlayer.org/hi/doc/environment/vite-and-vue) या [Nuxt के साथ](https://intlayer.org/hi/doc/environment/nuxt-and-vue) से शुरुआत करें।
319
+
320
+ </Accordion>
321
+ </AccordionGroup>
322
+
323
+ ## अक्सर पूछे जाने वाले प्रश्न
324
+
325
+ <FAQ>
326
+
327
+ <Question title="क्या मुझे अपनी .vue फ़ाइलों को संपादित करना होगा?">
328
+
329
+ नहीं। बेंचमार्क बिल्ड ने केवल `vite.config.ts`, `intlayer.config.ts` और `src/i18n.ts` में `messages` आयात की एक पंक्ति को बदला। प्रत्येक `useI18n()`, `$t`, `v-t` और Options API कॉल साइट वैसी ही रही।
330
+
331
+ </Question>
332
+
333
+ <Question title="घटक का आकार 23 गुना छोटा क्यों है?">
334
+
335
+ क्योंकि `useI18n()` वैश्विक इंस्टेंस तक पहुंचना बंद कर देता है। `createI18n({ messages })` प्रत्येक लोकेल के प्रत्येक संदेश को रखता है, इसलिए अलग से संकलित घटक 196 KB खींचता है। एडाप्टर के साथ यह केवल अपने स्वयं के शब्दकोश तक पहुंचता है: 8.4 KB।
336
+
337
+ </Question>
338
+
339
+ <Question title="d() और n() फ़ॉर्मेटिंग का क्या होगा?">
340
+
341
+ बनाए रखा गया है। `createI18n()` को दिए गए `datetimeFormats` और `numberFormats` का सम्मान किया जाता है, जो नेटिव `Intl` API द्वारा समर्थित हैं। [दिनांक, समय और संख्या फ़ॉर्मेटिंग](https://intlayer.org/hi/blog/date-time-number-formatting-locales) देखें।
342
+
343
+ </Question>
344
+
345
+ <Question title="क्या यह Nuxt के साथ काम करता है?">
346
+
347
+ `@intlayer/vue-i18n` Vite + Vue को लक्षित करता है। `@nuxtjs/i18n` के लिए, [Nuxt i18n संगतता एडाप्टर](https://intlayer.org/hi/doc/compatibility/nuxtjs-i18n) का उपयोग करें, और नेटिव सेटअप के लिए [Nuxt के साथ Intlayer](https://intlayer.org/hi/doc/environment/nuxt-and-vue) देखें।
348
+
349
+ </Question>
350
+
351
+ <Question title="क्या मैं घटक दर घटक माइग्रेट कर सकता हूँ?">
352
+
353
+ हाँ। कोई भी घटक सह-स्थित सामग्री फ़ाइल के साथ `useI18n()` से `useIntlayer("footer")` पर स्विच कर सकता है। JSON और `.content.ts` शब्दकोश सह-अस्तित्व में रहते हैं और विलीन हो जाते हैं।
354
+
355
+ </Question>
356
+
357
+ </FAQ>
271
358
 
272
359
  ## संबंधित तुलनाएं
273
360
 
274
- - [vue-i18n vs Intlayer](https://intlayer.org/blog/vue-i18n-vs-intlayer) (features और DX)
275
- - [vue-i18n vs Intlayer benchmark](https://intlayer.org/blog/vue-i18n-vs-intlayer-benchmark) (libraries, same benchmark)
276
- - [next-intl vs @intlayer/next-intl](https://intlayer.org/blog/next-intl-vs-intlayer-next-intl) (same adapter series)
277
- - [i18next vs @intlayer/i18next](https://intlayer.org/blog/i18next-vs-intlayer-i18next) (same adapter series)
278
- - [Lingui vs @intlayer/lingui](https://intlayer.org/blog/lingui-vs-intlayer-lingui) (same adapter series)
279
- - [Migration guide: vue-i18n to Intlayer](https://intlayer.org/doc/migration/vue-i18n)
280
- - [Compat adapter reference: vue-i18n](https://intlayer.org/doc/compatibility/vue-i18n), [Nuxt i18n](https://intlayer.org/doc/compatibility/nuxtjs-i18n)
361
+ समान एडाप्टर श्रृंखला:
362
+
363
+ - [next-intl vs @intlayer/next-intl](https://intlayer.org/hi/blog/next-intl-vs-intlayer-next-intl)
364
+ - [i18next vs @intlayer/i18next](https://intlayer.org/hi/blog/i18next-vs-intlayer-i18next)
365
+ - [Lingui vs @intlayer/lingui](https://intlayer.org/hi/blog/lingui-vs-intlayer-lingui)
366
+
367
+ लाइब्रेरी की आमने-सामने तुलना:
368
+
369
+ - [vue-i18n vs Intlayer](https://intlayer.org/hi/blog/vue-i18n-vs-intlayer), features and DX
370
+ - [vue-i18n vs Intlayer benchmark](https://intlayer.org/hi/blog/vue-i18n-vs-intlayer-benchmark)
371
+ - [Is vue-i18n outdated?](https://intlayer.org/hi/blog/is-vue-i18n-outdated)
372
+ - [How to pick a Vue i18n library](https://intlayer.org/hi/blog/how-to-pick-vue-i18n-library)
373
+
374
+ संदर्भ दस्तावेज़:
375
+
376
+ - [Compat adapter: vue-i18n](https://intlayer.org/hi/doc/compatibility/vue-i18n) and [Nuxt i18n](https://intlayer.org/hi/doc/compatibility/nuxtjs-i18n)
377
+ - [माइग्रेशन गाइड: vue-i18n से Intlayer](https://intlayer.org/hi/doc/migration/vue-i18n)
378
+ - [Vue बेंचमार्क रिपोर्ट](https://intlayer.org/hi/doc/benchmark/vue)
379
+ - [बंडल अनुकूलन](https://intlayer.org/hi/doc/concept/bundle-optimization) और [Intlayer कंपाइलर](https://intlayer.org/hi/doc/compiler)
380
+ - [विज़ुअल एडिटर](https://intlayer.org/hi/doc/concept/editor), [CMS](https://intlayer.org/hi/doc/concept/cms) और [AI अनुवाद](https://intlayer.org/hi/doc/concept/auto-fill)
281
381
 
282
382
  ## निष्कर्ष
283
383
 
@@ -285,4 +385,4 @@ export const i18n = createI18n({ locale: "en" });
285
385
 
286
386
  [Benchmark Bloom repository](https://github.com/intlayer-org/benchmark-bloom) में सभी raw data, test apps और scripts हैं। इसे अपने आप चलाएं।
287
387
 
288
- अधिक विवरण के लिए ['Why Intlayer?' doc](https://intlayer.org/doc/why) देखें।
388
+ अधिक विवरण के लिए ['Why Intlayer?' doc](https://intlayer.org/hi/doc/why) देखें।
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2025-08-23
3
+ updatedAt: 2026-09-22
4
4
  title: vue-i18n बनाम Intlayer
5
5
  description: Vue/Nuxt ऐप्स में अंतरराष्ट्रीयकरण (i18n) के लिए vue-i18n की तुलना Intlayer से करें
6
6
  keywords:
@@ -20,6 +20,8 @@ author: aymericzip
20
20
 
21
21
  # vue-i18n बनाम Intlayer | Vue अंतरराष्ट्रीयकरण (i18n)
22
22
 
23
+ ![Vue i18n library ecosystem](https://github.com/aymericzip/intlayer/blob/main/docs/assets/cloud_i18n_logo.webp?raw=true)
24
+
23
25
  यह गाइड **Vue 3** (और **Nuxt**) के लिए दो लोकप्रिय i18n विकल्पों की तुलना करता है: **vue-i18n** और **Intlayer**।
24
26
  हम आधुनिक Vue टूलिंग (Vite, Composition API) पर ध्यान केंद्रित करते हैं और मूल्यांकन करते हैं:
25
27
 
@@ -31,6 +33,8 @@ author: aymericzip
31
33
  6. **डेवलपर अनुभव (DX), टूलिंग और रखरखाव**
32
34
  7. **SEO और बड़े प्रोजेक्ट की स्केलेबिलिटी**
33
35
 
36
+ <TOC/>
37
+
34
38
  > **संक्षेप में**: दोनों Vue ऐप्स को स्थानीयकृत कर सकते हैं। यदि आप चाहते हैं **कंपोनेंट-स्कोप्ड कंटेंट**, **सख्त TypeScript टाइप्स**, **बिल्ड-टाइम मिसिंग-की चेक्स**, **ट्री-शेक्ड डिक्शनरीज़**, और **बिल्ट-इन राउटर/SEO हेल्पर्स** के साथ-साथ **विज़ुअल एडिटर और AI अनुवाद**, तो **Intlayer** अधिक पूर्ण और आधुनिक विकल्प है।
35
39
 
36
40
  ## उच्च-स्तरीय स्थिति
@@ -38,6 +42,30 @@ author: aymericzip
38
42
  - **vue-i18n** - Vue के लिए डि-फैक्टो i18n लाइब्रेरी। लचीला संदेश स्वरूपण (ICU-शैली), स्थानीय संदेशों के लिए SFC `<i18n>` ब्लॉक्स, और एक बड़ा इकोसिस्टम। सुरक्षा और बड़े पैमाने पर रखरखाव ज्यादातर आपकी जिम्मेदारी है।
39
43
  - **Intlayer** - Vue/Vite/Nuxt के लिए कंपोनेंट-केंद्रित कंटेंट मॉडल जिसमें **सख्त TS टाइपिंग**, **बिल्ड-टाइम चेक्स**, **ट्री-शेकिंग**, **राउटर और SEO हेल्पर्स**, वैकल्पिक **विज़ुअल एडिटर/CMS**, और **AI-सहायता प्राप्त अनुवाद** शामिल हैं।
40
44
 
45
+ ## बिल्ड समय पर इसकी क्या लागत आती है
46
+
47
+ सुविधा तालिकाओं से पहले, मापा गया भाग। [Benchmark Bloom](https://github.com/intlayer-org/benchmark-bloom) प्रत्येक लाइब्रेरी के साथ एक ही Vite + Vue 3 ऐप (10 पेज, 10 भाषाएँ) बनाता है और ब्राउज़र द्वारा डाउनलोड किए गए डेटा को रिकॉर्ड करता है:
48
+
49
+ <I18nBenchmark framework="vite-vue" vertical/>
50
+
51
+ | Setup | Lib size (gz) | Page JS avg (gz) | Page leak | Component avg (gz) |
52
+ | -------------------- | ------------: | ---------------: | --------: | -----------------: |
53
+ | **base** (no i18n) | 0.0 KB | 41.3 KB | - | 1.1 KB |
54
+ | `vue-i18n` | 24.3 KB | 134.9 KB | 90.0% | 196.0 KB |
55
+ | `@intlayer/vue-i18n` | 7.9 KB | 47.0 KB | 0.0% | 8.4 KB |
56
+ | **`vue-intlayer`** | **3.9 KB** | **57.1 KB** | **0.0%** | **7.7 KB** |
57
+
58
+ `vue-i18n` रनटाइम अकेले Intlayer से **6 गुना** भारी है, प्रत्येक पेज पर **90% बाहरी पेज स्ट्रिंग्स** होती हैं, और अलग से संकलित घटक **196 KB** खींचता है क्योंकि `useI18n()` इसे वैश्विक संदेश ट्री से जोड़ता है। प्रतिक्रियाशीलता और पेज लोड समय के साथ पूरा विवरण [vue-i18n vs Intlayer बेंचमार्क](https://intlayer.org/hi/blog/vue-i18n-vs-intlayer-benchmark) में है।
59
+
60
+ <ClickToOpenIframe
61
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md"
62
+ width="100%"
63
+ height="600px"
64
+ style="border:none;"
65
+ />
66
+
67
+ > पूरी तालिका [Vue बेंचमार्क रिपोर्ट](https://intlayer.org/hi/doc/benchmark/vue) में।
68
+
41
69
  ## साइड-बाय-साइड फीचर तुलना (Vue-केंद्रित)
42
70
 
43
71
  | फीचर | **Intlayer** | **vue-i18n** |
@@ -63,59 +91,74 @@ author: aymericzip
63
91
 
64
92
  ## गहराई से तुलना
65
93
 
66
- ### 1) वास्तुकला और विस्तार क्षमता
94
+ <AccordionGroup>
95
+ <Accordion header="1) वास्तुकला और मापनीयता">
67
96
 
68
- - **vue-i18n**: सामान्य सेटअप प्रत्येक लोकल के लिए **केंद्रीकृत कैटलॉग** का उपयोग करते हैं (वैकल्पिक रूप से फ़ाइलों/नेमस्पेस में विभाजित)। SFC `<i18n>` ब्लॉक्स स्थानीय संदेशों की अनुमति देते हैं लेकिन जैसे-जैसे प्रोजेक्ट बढ़ते हैं, टीमें अक्सर साझा कैटलॉग पर वापस लौटती हैं।
97
+ - **vue-i18n**: सामान्य सेटअप प्रत्येक लोकल के लिए **केंद्रीकृत कैटलॉग** का उपयोग करते हैं (वैकल्पिक रूप से फ़ाइलों/नेमस्पेस में विभाजित)। SFC `<i18n>` ब्लॉक्स स्थानीय संदेशों की अनुमति देते हैं लेकिन जैसे-जैसे प्रोजेक्ट बढ़ते हैं, टीमें अक्सर साझा कैटलॉग पर वापस लौटती हैं। [प्रति-घटक बनाम केंद्रीकृत i18n](https://intlayer.org/hi/blog/per-component-vs-centralized-i18n) देखें।
69
98
  - **Intlayer**: प्रत्येक घटक के लिए **डिक्शनरीज़** को बढ़ावा देता है जो उस घटक के पास संग्रहीत होती हैं जिसे वे सेवा देते हैं। इससे टीमों के बीच संघर्ष कम होता है, सामग्री खोजने योग्य रहती है, और स्वाभाविक रूप से विचलन/अप्रयुक्त कुंजियों को सीमित करता है।
70
99
 
71
100
  **यह क्यों महत्वपूर्ण है:** बड़े Vue ऐप्स या डिज़ाइन सिस्टम में, **मॉड्यूलर सामग्री** मोनोलिथिक कैटलॉग की तुलना में बेहतर स्केल करती है।
72
101
 
73
- ### 2) टाइपस्क्रिप्ट और सुरक्षा
102
+ </Accordion>
103
+ <Accordion header="2) TypeScript और सुरक्षा">
74
104
 
75
105
  - **vue-i18n**: अच्छा TS समर्थन; **कठोर कुंजी टाइपिंग** आमतौर पर कस्टम स्कीमाओं/जनरिक्स और सावधान कन्वेंशनों की आवश्यकता होती है।
76
106
  - **Intlayer**: आपकी सामग्री से **सख्त प्रकार (strict types)** उत्पन्न करता है, जो **IDE ऑटोकम्प्लीशन** और टाइपो/गायब कुंजियों के लिए **कंपाइल-टाइम त्रुटियाँ** प्रदान करता है।
77
107
 
78
108
  **यह क्यों महत्वपूर्ण है:** मजबूत टाइपिंग रनटाइम से **पहले** समस्याओं को पकड़ लेती है।
79
109
 
80
- ### 3) गायब अनुवाद प्रबंधन
110
+ </Accordion>
111
+ <Accordion header="3) अनुपलब्ध अनुवाद प्रबंधन">
81
112
 
82
- - **vue-i18n**: **रनटाइम** चेतावनियाँ/फॉलबैक (जैसे, फॉलबैक लोकल या कुंजी)।
83
- - **Intlayer**: **बिल्ड-टाइम** पहचान चेतावनियों/त्रुटियों के साथ, जो लोकल और कुंजियों के बीच होती है।
113
+ - **vue-i18n**: **रनटाइम** चेतावनियाँ/फॉलबैक (जैसे, फॉलबैक लोकल या कुंजी)। [अनुपलब्ध अनुवादों का पता लगाना](https://intlayer.org/hi/blog/detecting-missing-translations) देखें।
114
+ - **Intlayer**: **बिल्ड-टाइम** पहचान चेतावनियों/त्रुटियों के साथ, जो लोकल और कुंजियों के बीच होती है।, साथ ही CI में `npx intlayer test`।
84
115
 
85
116
  **यह क्यों महत्वपूर्ण है:** बिल्ड-टाइम प्रवर्तन उत्पादन UI को साफ और सुसंगत रखता है।
86
117
 
87
- ### 4) रूटिंग और URL रणनीति (Vue Router/Nuxt)
118
+ </Accordion>
119
+ <Accordion header="4) रूटिंग और URL रणनीति (Vue Router/Nuxt)">
88
120
 
89
- - **दोनों** स्थानीयकृत रूट्स के साथ काम कर सकते हैं।
121
+ - **दोनों** स्थानीयकृत रूट्स के साथ काम कर सकते हैं। [hreflang गाइड](https://intlayer.org/hi/blog/hreflang-guide-multilingual-seo) देखें।
90
122
  - **Intlayer** स्थानीयकृत पथों को **उत्पन्न करने**, **लोकल उपसर्गों का प्रबंधन करने**, और SEO के लिए **`<link rel="alternate" hreflang>`** जारी करने में सहायक प्रदान करता है। Nuxt के साथ, यह फ्रेमवर्क की रूटिंग को पूरक बनाता है।
91
123
 
92
124
  **यह क्यों महत्वपूर्ण है:** कम कस्टम ग्लू लेयर्स और विभिन्न लोकलों में **साफ-सुथरा SEO**।
93
125
 
94
- ### 5) प्रदर्शन और लोडिंग व्यवहार
126
+ </Accordion>
127
+ <Accordion header="5) प्रदर्शन और लोडिंग व्यवहार">
95
128
 
96
- - **vue-i18n**: असिंक्रोनस लोकल मैसेज का समर्थन करता है; ओवर-बंडलिंग से बचना आपकी जिम्मेदारी है (कैटलॉग को सावधानी से विभाजित करें)।
129
+ - **vue-i18n**: असिंक्रोनस लोकल मैसेज का समर्थन करता है; ओवर-बंडलिंग से बचना आपकी जिम्मेदारी है (कैटलॉग को सावधानी से विभाजित करें)। उपरोक्त बेंचमार्क इसे संख्याओं में रखता है: प्रति पेज 134.9 KB बनाम 57.1 KB।
97
130
  - **Intlayer**: बिल्ड के दौरान **ट्री-शेकिंग** करता है और **प्रत्येक शब्दकोश/लोकल के लिए लेज़ी-लोडिंग** करता है। अप्रयुक्त सामग्री भेजी नहीं जाती।
98
131
 
99
132
  **यह क्यों महत्वपूर्ण है:** छोटे बंडल और मल्टी-लोकल Vue ऐप्स के लिए तेज़ स्टार्टअप।
100
133
 
101
- ### 6) डेवलपर अनुभव और टूलिंग
134
+ </Accordion>
135
+ <Accordion header="6) डेवलपर अनुभव और उपकरण">
102
136
 
103
137
  - **vue-i18n**: परिपक्व दस्तावेज़ और समुदाय; आप आमतौर पर संपादकीय कार्यप्रवाह के लिए **बाहरी स्थानीयकरण प्लेटफ़ॉर्म** पर निर्भर करेंगे।
104
- - **Intlayer**: एक **मुफ्त विज़ुअल एडिटर**, वैकल्पिक **CMS** (Git-अनुकूल या बाहरी), एक **VSCode एक्सटेंशन**, **CLI/CI** उपयोगिताएँ, और आपके अपने प्रदाता कुंजी का उपयोग करके **AI-सहायता प्राप्त अनुवाद** प्रदान करता है।
138
+ - **Intlayer**: एक **मुफ्त विज़ुअल एडिटर**, वैकल्पिक **CMS** (Git-अनुकूल या बाहरी), एक **VSCode एक्सटेंशन**, **CLI/CI** उपयोगिताएँ, और आपके अपने प्रदाता कुंजी का उपयोग करके **AI-सहायता प्राप्त अनुवाद** प्रदान करता है।, एक **MCP सर्वर**
105
139
 
106
140
  **यह क्यों महत्वपूर्ण है:** कम संचालन लागत और एक छोटा विकास–सामग्री चक्र।
107
141
 
108
- ### 7) SEO, SSR और SSG
142
+ </Accordion>
143
+ <Accordion header="7) SEO, SSR और SSG">
109
144
 
110
- - **दोनों** Vue SSR और Nuxt के साथ काम करते हैं।
145
+ - **दोनों** Vue SSR और Nuxt के साथ काम करते हैं। [अंतर्राष्ट्रीयकरण और SEO](https://intlayer.org/hi/blog/SEO-and-i18n) देखें।
111
146
  - **Intlayer**: **SEO सहायक** (साइटमैप/मेटाडेटा/`hreflang`) जोड़ता है जो फ्रेमवर्क-स्वतंत्र हैं और Vue/Nuxt बिल्ड के साथ अच्छी तरह से काम करते हैं।
112
147
 
113
148
  **यह क्यों महत्वपूर्ण है:** बिना विशेष कनेक्शन के अंतरराष्ट्रीय SEO।
114
149
 
150
+ </Accordion>
151
+ </AccordionGroup>
152
+
115
153
  ## क्यों Intlayer? (समस्या और दृष्टिकोण)
116
154
 
155
+ ![Centralized catalogs versus per-component dictionaries](https://github.com/aymericzip/intlayer/blob/main/docs/assets/project_stucture_18n_vs_intlayer.png?raw=true)
156
+
117
157
  अधिकांश i18n स्टैक्स (जिसमें **vue-i18n** भी शामिल है) **केंद्रीकृत कैटलॉग** से शुरू होते हैं:
118
158
 
159
+ <Tabs defaultTab="per-locale" group="catalog">
160
+ <Tab label="प्रति भाषा एक फ़ाइल" value="per-locale">
161
+
119
162
  ```bash
120
163
  .
121
164
  ├── locales
@@ -127,7 +170,8 @@ author: aymericzip
127
170
  └── MyComponent.vue
128
171
  ```
129
172
 
130
- या प्रति-स्थानीय फ़ोल्डरों के साथ:
173
+ </Tab>
174
+ <Tab label="प्रति भाषा एक फ़ोल्डर" value="per-folder">
131
175
 
132
176
  ```bash
133
177
  .
@@ -146,6 +190,34 @@ author: aymericzip
146
190
  └── MyComponent.vue
147
191
  ```
148
192
 
193
+ </Tab>
194
+ </Tabs>
195
+
196
+ वह फ़ोल्डर प्रत्येक भाषा में प्रति सुविधा एक नेमस्पेस के साथ बढ़ता रहता है:
197
+
198
+ ```txt
199
+ locales
200
+ ├── EN
201
+ │ ├── blog.json
202
+ │ ├── about.json
203
+ │ ├── auth.json
204
+ │ ├── blog.json
205
+ │ ├── cart.json
206
+ │ ├── categories.json
207
+ │ ├── contact.json
208
+ │ ├── dashboard.json
209
+ │ ├── errors.json
210
+ │ ├── faq.json
211
+ │ ├── footer.json
212
+ │ ├── form.json
213
+ │ ├── home.json
214
+ │ ├── language.json
215
+ │ ├── navbar.json
216
+ │ ├── ... 65 files
217
+ │ └── validation.json
218
+ └── ES
219
+ ```
220
+
149
221
  जैसे-जैसे ऐप्स बढ़ते हैं, यह अक्सर विकास को धीमा कर देता है:
150
222
 
151
223
  1. **एक नए कॉम्पोनेंट के लिए** आप रिमोट कैटलॉग बनाते/संपादित करते हैं, नामस्थान जोड़ते हैं, और अनुवाद करते हैं (अक्सर AI टूल्स से मैनुअल कॉपी/पेस्ट के माध्यम से)।
@@ -161,7 +233,33 @@ author: aymericzip
161
233
  └── MyComponent.vue
162
234
  ```
163
235
 
164
- **सामग्री घोषणा** (प्रति कॉम्पोनेंट):
236
+ <Tabs defaultTab="intlayer" group="techno">
237
+ <Tab label="vue-i18n" value="vue-i18n">
238
+
239
+ ```json fileName="./locales/en.json"
240
+ {
241
+ "componentExample": {
242
+ "greeting": "Hello World"
243
+ }
244
+ }
245
+ ```
246
+
247
+ ```vue fileName="./components/MyComponent.vue"
248
+ <script setup lang="ts">
249
+ import { useI18n } from "vue-i18n";
250
+
251
+ const { t } = useI18n();
252
+ </script>
253
+
254
+ <template>
255
+ <span>{{ t("componentExample.greeting") }}</span>
256
+ </template>
257
+ ```
258
+
259
+ प्रत्येक लोकेल फ़ाइल को हाथ से संपादित करना पड़ता है, और कुंजी एक साधारण स्ट्रिंग है: एक टाइपो प्रोडक्शन में `componentExample.greting` के रूप में रेंडर होगा।
260
+
261
+ </Tab>
262
+ <Tab label="Intlayer" value="intlayer">
165
263
 
166
264
  ```ts fileName="./components/MyComponent/myComponent.content.ts"
167
265
  import { t, type Dictionary } from "intlayer";
@@ -171,8 +269,8 @@ const componentExampleContent = {
171
269
  content: {
172
270
  greeting: t({
173
271
  en: "Hello World",
174
- es: "Hola Mundo",
175
272
  fr: "Bonjour le monde",
273
+ es: "Hola Mundo",
176
274
  }),
177
275
  },
178
276
  } satisfies Dictionary;
@@ -180,11 +278,10 @@ const componentExampleContent = {
180
278
  export default componentExampleContent;
181
279
  ```
182
280
 
183
- **Vue में उपयोग** (Composition API):
184
-
185
281
  ```vue fileName="./components/MyComponent/MyComponent.vue"
186
282
  <script setup lang="ts">
187
- import { useIntlayer } from "vue-intlayer"; // Vue एकीकरण
283
+ import { useIntlayer } from "vue-intlayer"; // Vue integration
284
+
188
285
  const { greeting } = useIntlayer("component-example");
189
286
  </script>
190
287
 
@@ -193,6 +290,11 @@ const { greeting } = useIntlayer("component-example");
193
290
  </template>
194
291
  ```
195
292
 
293
+ सभी भाषाएँ घटक के बगल में एक टाइप की गई फ़ाइल में स्थित हैं।
294
+
295
+ </Tab>
296
+ </Tabs>
297
+
196
298
  यह दृष्टिकोण:
197
299
 
198
300
  - **विकास को तेज़ करता है** (एक बार घोषित करें; IDE/AI स्वतः पूर्ण करता है)।
@@ -220,22 +322,71 @@ const { greeting } = useIntlayer("component-example");
220
322
 
221
323
  ## कब किसे चुनें?
222
324
 
223
- - **vue-i18n चुनें** यदि आप **मानक Vue दृष्टिकोण** चाहते हैं, आप कैटलॉग/नेमस्पेस स्वयं प्रबंधित करने में सहज हैं, और आपका ऐप **छोटा से मध्यम आकार** का है (या आप पहले से Nuxt i18n पर निर्भर हैं)।
224
- - **Intlayer चुनें** यदि आप **कंपोनेंट-स्कोप्ड कंटेंट**, **सख्त TypeScript**, **बिल्ड-टाइम गारंटियां**, **ट्री-शेकिंग**, और **बिल्ट-इन** रूटिंग/SEO/एडिटर टूलिंग को महत्व देते हैं-विशेष रूप से **बड़े, मॉड्यूलर Vue/Nuxt कोडबेस** के लिए।
325
+ <AccordionGroup>
326
+ <Accordion header="vue-i18n चुनें">
327
+
328
+ आप **मानक Vue दृष्टिकोण** चाहते हैं, आप कैटलॉग और नेमस्पेस को स्वयं प्रबंधित करने में सहज हैं, और आपका ऐप **छोटे से मध्यम आकार** का है (या आप पहले से ही Nuxt i18n पर निर्भर हैं)। SFC `<i18n>` ब्लॉक और रनटाइम `setLocaleMessage()` ऐसी सुविधाएँ हैं जिन्हें Intlayer जानबूझकर दोहराता नहीं है।
329
+
330
+ </Accordion>
331
+ <Accordion header="Intlayer चुनें">
332
+
333
+ आप **घटक-दायरे वाली सामग्री**, **सख्त TypeScript**, **बिल्ड-टाइम सुरक्षा**, **ट्री-शेकिंग**, और रूटिंग, SEO और संपादक उपकरणों को महत्व देते हैं, विशेष रूप से **बड़े, मॉड्यूलर Vue/Nuxt कोडबेस** और डिज़ाइन सिस्टम के लिए। [Vue के साथ Intlayer](https://intlayer.org/hi/doc/environment/vite-and-vue) या [Nuxt के साथ](https://intlayer.org/hi/doc/environment/nuxt-and-vue) से शुरुआत करें।
334
+
335
+ </Accordion>
336
+ <Accordion header="@intlayer/vue-i18n चुनें">
337
+
338
+ आप आज `vue-i18n` पर हैं और किसी `.vue` फ़ाइल को संपादित किए बिना बंडल लाभ चाहते हैं। [संगतता एडाप्टर](https://intlayer.org/hi/doc/compatibility/vue-i18n) `createI18n`, `useI18n`, `t()`, `d()`, `n()`, `$t` और `v-t` को बनाए रखता है, और उन्हें संकलित शब्दकोशों से परोसता है। [vue-i18n vs @intlayer/vue-i18n](https://intlayer.org/hi/blog/vue-i18n-vs-intlayer-vue-i18n) में तुलना देखें।
339
+
340
+ </Accordion>
341
+ </AccordionGroup>
225
342
 
226
343
  ## vue-i18n के साथ अंतरसंचालनीयता
227
344
 
228
345
  `intlayer` आपके `vue-i18n` namespaces को प्रबंधित करने में भी मदद कर सकता है।
229
346
 
230
- `intlayer` का उपयोग करके, आप अपने पसंदीदा i18n library के प्रारूप में अपनी content declare कर सकते हैं, और intlayer आपकी namespaces को अपनी पसंद के स्थान पर generate करेगा (उदाहरण: `/messages/{{locale}}/{{namespace}}.json`)।
347
+ `intlayer` का उपयोग करके, आप अपने पसंदीदा i18n library के प्रारूप में अपनी content declare कर सकते हैं, और intlayer आपकी namespaces को अपनी पसंद के स्थान पर generate करेगा (उदाहरण: `/messages/{{locale}}/{{namespace}}.json`)। [vue-i18n संगतता दस्तावेज़](https://intlayer.org/hi/doc/compatibility/vue-i18n) और [Nuxt i18n एडाप्टर](https://intlayer.org/hi/doc/compatibility/nuxtjs-i18n) देखें।
348
+
349
+ ## अक्सर पूछे जाने वाले प्रश्न
350
+
351
+ <FAQ>
352
+
353
+ <Question title="क्या Intlayer vue-i18n का प्रतिस्थापन है या उसके ऊपर की परत?">
354
+
355
+ दोनों, इस पर निर्भर करता है कि आप इसे कैसे अपनाते हैं। `vue-intlayer` अपने स्वयं के `useIntlayer()` कंपोज़ेबल के साथ एक नेटिव रनटाइम है। `@intlayer/vue-i18n` एक अनुकूलता एडाप्टर है जो `vue-i18n` API को रखता है और उससे जुड़ी चीज़ों को बदलता है, ताकि आप घटकों को छुए बिना माइग्रेट कर सकें और बाद में फ़ाइल दर फ़ाइल आगे बढ़ सकें।
356
+
357
+ </Question>
358
+
359
+ <Question title="मेरे SFC <i18n> ब्लॉकों का क्या होगा?">
360
+
361
+ एडाप्टर उन्हें नहीं पढ़ता है। उन संदेशों को अपनी लोकेल JSON फ़ाइलों में ले जाएँ, या घटक के बगल में एक `.content.ts` फ़ाइल में ले जाएँ, जो जेनरेट किए गए प्रकारों के साथ समान विचार है। यह एकमात्र `vue-i18n` सुविधा है जिसे आगे नहीं बढ़ाया जाता है।
231
362
 
232
- ## व्यावहारिक माइग्रेशन नोट्स (vue-i18n → Intlayer)
363
+ </Question>
233
364
 
234
- - **प्रत्येक फीचर से शुरू करें**: एक समय में एक रूट/व्यू/कंपोनेंट को स्थानीय Intlayer शब्दकोशों में स्थानांतरित करें।
235
- - **माइग्रेशन के दौरान ब्रिज बनाए रखें**: vue-i18n कैटलॉग्स को समानांतर रखें; धीरे-धीरे लुकअप्स को बदलें।
236
- - **सख्त जांच सक्षम करें**: बिल्ड-टाइम पर गायब कुंजियों/स्थानीयताओं का जल्दी पता चलने दें।
237
- - **राउटर/SEO सहायक अपनाएं**: स्थानीय पहचान और `hreflang` टैग्स को मानकीकृत करें।
238
- - **बंडल मापें**: अप्रयुक्त सामग्री को हटाने पर **बंडल आकार में कमी** की उम्मीद करें।
365
+ <Question title="क्या Intlayer Nuxt के साथ काम करता है?">
366
+
367
+ हाँ। [Nuxt के साथ Intlayer](https://intlayer.org/hi/doc/environment/nuxt-and-vue) बहुभाषी रूटिंग, लोकेल डिटेक्शन मिडलवेयर और साइटमैप जनरेशन को कवर करता है। यदि आप `@nuxtjs/i18n` पर हैं, तो [Nuxt i18n संगतता एडाप्टर](https://intlayer.org/hi/doc/compatibility/nuxtjs-i18n) माइग्रेशन पथ है।
368
+
369
+ </Question>
370
+
371
+ <Question title="क्या मैं अपने locales/{locale}.json को सत्य के स्रोत के रूप में रख सकता हूँ?">
372
+
373
+ हाँ। [JSON सिंक प्लगइन](https://intlayer.org/hi/doc/compatibility/vue-i18n) उन्हें `vue-i18n` बोली (`{name}`, `{0}`, `"car | cars"` पाइप बहुवचन) के साथ पढ़ता है और जब CLI या CMS उन्हें अपडेट करता है तो अनुवाद वापस लिखता है।
374
+
375
+ </Question>
376
+
377
+ <Question title="क्या ICU Vue पर Intlayer के साथ काम करता है?">
378
+
379
+ नेटिव ICU समर्थन पर काम चल रहा है। `@intlayer/vue-i18n` एडाप्टर पाइप बहुवचन और नामित तथा सूची इंटरपोलेशन सहित `vue-i18n` के अपने संदेश सिंटैक्स को हल करता है। Intlayer के बहुवचन मॉडल के लिए, [गणना सामग्री](https://intlayer.org/hi/doc/concept/content/enumeration) देखें।
380
+
381
+ </Question>
382
+
383
+ </FAQ>
384
+
385
+ ## GitHub STARs
386
+
387
+ GitHub स्टार किसी प्रोजेक्ट की लोकप्रियता, सामुदायिक विश्वास और दीर्घकालिक प्रासंगिकता का एक मजबूत संकेतक हैं। यद्यपि वे तकनीकी गुणवत्ता का प्रत्यक्ष माप नहीं हैं, वे दर्शाते हैं कि कितने डेवलपर्स प्रोजेक्ट को उपयोगी पाते हैं, इसकी प्रगति का अनुसरण करते हैं, और इसे अपनाने की संभावना रखते हैं। किसी प्रोजेक्ट के मूल्य का अनुमान लगाने के लिए, स्टार विकल्पों में आकर्षण की तुलना करने में मदद करते हैं और पारिस्थितिकी तंत्र के विकास के बारे में अंतर्दृष्टि प्रदान करते हैं।
388
+
389
+ [![Star History Chart](https://api.star-history.com/chart?repos=intlify%2Fvue-i18n%2Caymericzip%2Fintlayer&type=date&legend=top-left)](https://star-history.com/#intlify/vue-i18n&aymericzip/intlayer)
239
390
 
240
391
  ## निष्कर्ष
241
392
 
@@ -244,4 +395,15 @@ const { greeting } = useIntlayer("component-example");
244
395
  - **Intlayer** के साथ, **मॉड्यूलर कंटेंट**, **सख्त TS**, **बिल्ड-टाइम सुरक्षा**, **ट्री-शेक्ड बंडल**, और **राउटर/SEO/एडिटर टूलिंग** **बॉक्स से बाहर** मिलते हैं।
245
396
  - यदि आपकी टीम एक मल्टी-लोकल, कंपोनेंट-चालित Vue/Nuxt ऐप में **रखरखाव और गति** को प्राथमिकता देती है, तो Intlayer आज सबसे **पूर्ण** अनुभव प्रदान करता है।
246
397
 
247
- अधिक जानकारी के लिए ['Why Intlayer?' दस्तावेज़](https://intlayer.org/doc/why) देखें।
398
+ ## आगे पढ़ें
399
+
400
+ - [vue-i18n vs Intlayer benchmark](https://intlayer.org/hi/blog/vue-i18n-vs-intlayer-benchmark), the measured run behind the table above
401
+ - [vue-i18n vs @intlayer/vue-i18n](https://intlayer.org/hi/blog/vue-i18n-vs-intlayer-vue-i18n), the adapter on the same app
402
+ - [Is vue-i18n outdated?](https://intlayer.org/hi/blog/is-vue-i18n-outdated)
403
+ - [How to pick a Vue i18n library](https://intlayer.org/hi/blog/how-to-pick-vue-i18n-library)
404
+ - [Using Intlayer with vue-i18n](https://intlayer.org/hi/blog/intlayer-with-vue-i18n)
405
+ - [Vue benchmark report](https://intlayer.org/hi/doc/benchmark/vue)
406
+ - [Migration guide: vue-i18n to Intlayer](https://intlayer.org/hi/doc/migration/vue-i18n)
407
+ - [Bundle optimization](https://intlayer.org/hi/doc/concept/bundle-optimization) and [the Intlayer compiler](https://intlayer.org/hi/doc/compiler)
408
+
409
+ Refer to ['Why Intlayer?' doc](https://intlayer.org/hi/doc/why) for more details.