@intlayer/docs 9.1.3 → 9.2.0

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 (415) hide show
  1. package/blog/ar/rag_powered_documentation_assistant.md +7 -0
  2. package/blog/de/rag_powered_documentation_assistant.md +6 -0
  3. package/blog/en-GB/rag_powered_documentation_assistant.md +6 -0
  4. package/blog/es/rag_powered_documentation_assistant.md +7 -0
  5. package/blog/fr/i18n_meaning.md +7 -1
  6. package/blog/fr/list_i18n_technologies/frameworks/angular.md +5 -1
  7. package/blog/fr/rag_powered_documentation_assistant.md +6 -0
  8. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +119 -42
  9. package/blog/hi/rag_powered_documentation_assistant.md +7 -0
  10. package/blog/id/rag_powered_documentation_assistant.md +6 -0
  11. package/blog/it/rag_powered_documentation_assistant.md +6 -0
  12. package/blog/ja/rag_powered_documentation_assistant.md +7 -0
  13. package/blog/ko/list_i18n_technologies/frameworks/react.md +7 -7
  14. package/blog/ko/rag_powered_documentation_assistant.md +6 -0
  15. package/blog/pl/rag_powered_documentation_assistant.md +6 -0
  16. package/blog/pt/rag_powered_documentation_assistant.md +6 -0
  17. package/blog/ru/rag_powered_documentation_assistant.md +7 -0
  18. package/blog/tr/intlayer_with_react-intl.md +3 -1
  19. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +175 -42
  20. package/blog/tr/rag_powered_documentation_assistant.md +6 -0
  21. package/blog/uk/rag_powered_documentation_assistant.md +6 -0
  22. package/blog/vi/rag_powered_documentation_assistant.md +6 -0
  23. package/blog/zh/intlayer_with_i18next.md +87 -28
  24. package/blog/zh/intlayer_with_next-i18next.md +86 -29
  25. package/blog/zh/intlayer_with_next-intl.md +88 -28
  26. package/blog/zh/intlayer_with_react-i18next.md +87 -28
  27. package/blog/zh/intlayer_with_react-intl.md +88 -27
  28. package/blog/zh/intlayer_with_vue-i18n.md +117 -8
  29. package/blog/zh/rag_powered_documentation_assistant.md +6 -0
  30. package/dist/cjs/generated/blog.entry.cjs +27 -27
  31. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  32. package/dist/cjs/generated/docs.entry.cjs +234 -214
  33. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  34. package/dist/cjs/generated/frequentQuestions.entry.cjs +17 -17
  35. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  36. package/dist/cjs/generated/legal.entry.cjs +2 -2
  37. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  38. package/dist/esm/generated/blog.entry.mjs +27 -27
  39. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  40. package/dist/esm/generated/docs.entry.mjs +234 -214
  41. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  42. package/dist/esm/generated/frequentQuestions.entry.mjs +17 -17
  43. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  44. package/dist/esm/generated/legal.entry.mjs +2 -2
  45. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  46. package/dist/types/generated/docs.entry.d.ts +1 -0
  47. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  48. package/docs/ar/analytics.md +222 -0
  49. package/docs/ar/autoFill.md +28 -9
  50. package/docs/ar/configuration.md +25 -8
  51. package/docs/ar/dictionary/file.md +3 -1
  52. package/docs/ar/dictionary/nesting.md +47 -30
  53. package/docs/ar/formatters.md +148 -193
  54. package/docs/ar/intlayer_CMS.md +152 -0
  55. package/docs/ar/intlayer_with_angular_21.md +9 -9
  56. package/docs/ar/intlayer_with_nextjs_14.md +1 -28
  57. package/docs/ar/intlayer_with_nextjs_15.md +1 -33
  58. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +40 -83
  59. package/docs/ar/intlayer_with_solid_start.md +1078 -0
  60. package/docs/ar/intlayer_with_vite+vue.md +1 -3
  61. package/docs/ar/packages/intlayer/getLocalizedUrl.md +26 -24
  62. package/docs/ar/packages/intlayer/getMultilingualUrls.md +4 -18
  63. package/docs/ar/packages/react-intlayer/useDictionary.md +4 -21
  64. package/docs/ar/packages/react-intlayer/useIntlayer.md +2 -2
  65. package/docs/ar/packages/vite-intlayer/exports.md +15 -0
  66. package/docs/ar/packages/vite-intlayer/intlayer.md +121 -6
  67. package/docs/ar/packages/vite-intlayer/intlayerPrune.md +70 -3
  68. package/docs/ar/releases/v9.md +0 -37
  69. package/docs/ar/self_hosting.md +46 -49
  70. package/docs/bn/configuration.md +25 -8
  71. package/docs/bn/intlayer_with_angular_21.md +9 -9
  72. package/docs/cs/configuration.md +25 -8
  73. package/docs/cs/intlayer_with_angular_21.md +9 -9
  74. package/docs/de/analytics.md +222 -0
  75. package/docs/de/autoFill.md +28 -9
  76. package/docs/de/configuration.md +25 -8
  77. package/docs/de/dictionary/file.md +3 -1
  78. package/docs/de/dictionary/nesting.md +47 -31
  79. package/docs/de/formatters.md +208 -334
  80. package/docs/de/intlayer_CMS.md +66 -15
  81. package/docs/de/intlayer_with_angular_21.md +9 -9
  82. package/docs/de/intlayer_with_nestjs.md +11 -7
  83. package/docs/de/intlayer_with_nextjs_14.md +1 -28
  84. package/docs/de/intlayer_with_nextjs_15.md +1 -33
  85. package/docs/de/intlayer_with_solid_start.md +1078 -0
  86. package/docs/de/intlayer_with_vite+vue.md +1 -3
  87. package/docs/de/packages/intlayer/getLocalizedUrl.md +33 -25
  88. package/docs/de/packages/intlayer/getMultilingualUrls.md +4 -18
  89. package/docs/de/packages/react-intlayer/useDictionary.md +2 -5
  90. package/docs/de/packages/vite-intlayer/exports.md +15 -0
  91. package/docs/de/packages/vite-intlayer/intlayer.md +121 -6
  92. package/docs/de/packages/vite-intlayer/intlayerPrune.md +77 -4
  93. package/docs/de/releases/v9.md +0 -15
  94. package/docs/de/self_hosting.md +46 -50
  95. package/docs/en/cli/doc-review.md +13 -2
  96. package/docs/en/configuration.md +24 -15
  97. package/docs/en/intlayer_with_angular_21.md +9 -9
  98. package/docs/en/intlayer_with_solid_start.md +1091 -0
  99. package/docs/en/intlayer_with_vite+solid.md +12 -0
  100. package/docs/en-GB/analytics.md +222 -0
  101. package/docs/en-GB/autoFill.md +26 -7
  102. package/docs/en-GB/configuration.md +25 -8
  103. package/docs/en-GB/dictionary/file.md +2 -0
  104. package/docs/en-GB/dictionary/nesting.md +64 -205
  105. package/docs/en-GB/formatters.md +146 -181
  106. package/docs/en-GB/intlayer_CMS.md +152 -0
  107. package/docs/en-GB/intlayer_with_angular_21.md +9 -9
  108. package/docs/en-GB/intlayer_with_nestjs.md +6 -2
  109. package/docs/en-GB/intlayer_with_nextjs_14.md +0 -27
  110. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -33
  111. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +40 -82
  112. package/docs/en-GB/intlayer_with_solid_start.md +1078 -0
  113. package/docs/en-GB/intlayer_with_vite+vue.md +1 -3
  114. package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +30 -22
  115. package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +16 -48
  116. package/docs/en-GB/packages/vite-intlayer/exports.md +15 -0
  117. package/docs/en-GB/packages/vite-intlayer/intlayer.md +121 -6
  118. package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +77 -4
  119. package/docs/en-GB/self_hosting.md +60 -49
  120. package/docs/es/analytics.md +222 -0
  121. package/docs/es/autoFill.md +28 -9
  122. package/docs/es/configuration.md +24 -7
  123. package/docs/es/dictionary/file.md +3 -1
  124. package/docs/es/dictionary/nesting.md +47 -30
  125. package/docs/es/formatters.md +114 -168
  126. package/docs/es/intlayer_CMS.md +35 -10
  127. package/docs/es/intlayer_with_angular_21.md +9 -9
  128. package/docs/es/intlayer_with_nextjs_14.md +1 -28
  129. package/docs/es/intlayer_with_nextjs_15.md +1 -33
  130. package/docs/es/intlayer_with_solid_start.md +1078 -0
  131. package/docs/es/packages/intlayer/getLocalizedUrl.md +31 -23
  132. package/docs/es/packages/intlayer/getMultilingualUrls.md +4 -18
  133. package/docs/es/packages/vite-intlayer/exports.md +15 -0
  134. package/docs/es/packages/vite-intlayer/intlayer.md +121 -6
  135. package/docs/es/packages/vite-intlayer/intlayerPrune.md +69 -2
  136. package/docs/es/releases/v9.md +0 -15
  137. package/docs/es/self_hosting.md +46 -49
  138. package/docs/fr/analytics.md +222 -0
  139. package/docs/fr/autoFill.md +27 -8
  140. package/docs/fr/configuration.md +25 -8
  141. package/docs/fr/dictionary/file.md +2 -0
  142. package/docs/fr/dictionary/nesting.md +37 -184
  143. package/docs/fr/formatters.md +95 -236
  144. package/docs/fr/intlayer_CMS.md +66 -15
  145. package/docs/fr/intlayer_with_angular_21.md +9 -9
  146. package/docs/fr/intlayer_with_nextjs_14.md +1 -28
  147. package/docs/fr/intlayer_with_nextjs_15.md +1 -33
  148. package/docs/fr/intlayer_with_solid_start.md +1078 -0
  149. package/docs/fr/packages/intlayer/getLocalizedUrl.md +37 -27
  150. package/docs/fr/packages/intlayer/getMultilingualUrls.md +18 -20
  151. package/docs/fr/packages/vite-intlayer/exports.md +15 -0
  152. package/docs/fr/packages/vite-intlayer/intlayer.md +121 -6
  153. package/docs/fr/packages/vite-intlayer/intlayerPrune.md +77 -4
  154. package/docs/fr/releases/v9.md +0 -15
  155. package/docs/fr/self_hosting.md +46 -49
  156. package/docs/hi/analytics.md +222 -0
  157. package/docs/hi/autoFill.md +28 -9
  158. package/docs/hi/configuration.md +25 -8
  159. package/docs/hi/dictionary/file.md +3 -1
  160. package/docs/hi/dictionary/nesting.md +47 -30
  161. package/docs/hi/formatters.md +233 -334
  162. package/docs/hi/how_works_intlayer.md +3 -1
  163. package/docs/hi/intlayer_CMS.md +152 -0
  164. package/docs/hi/intlayer_with_angular_21.md +9 -9
  165. package/docs/hi/intlayer_with_nestjs.md +11 -7
  166. package/docs/hi/intlayer_with_nextjs_14.md +1 -28
  167. package/docs/hi/intlayer_with_nextjs_15.md +1 -33
  168. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +40 -83
  169. package/docs/hi/intlayer_with_solid_start.md +1077 -0
  170. package/docs/hi/intlayer_with_vite+preact.md +56 -49
  171. package/docs/hi/intlayer_with_vite+react.md +48 -41
  172. package/docs/hi/intlayer_with_vite+solid.md +32 -41
  173. package/docs/hi/intlayer_with_vite+vue.md +49 -44
  174. package/docs/hi/packages/intlayer/getLocalizedUrl.md +26 -24
  175. package/docs/hi/packages/intlayer/getMultilingualUrls.md +4 -18
  176. package/docs/hi/packages/next-intlayer/t.md +33 -1
  177. package/docs/hi/packages/react-intlayer/useDictionary.md +4 -21
  178. package/docs/hi/packages/vite-intlayer/exports.md +15 -0
  179. package/docs/hi/packages/vite-intlayer/intlayer.md +121 -6
  180. package/docs/hi/packages/vite-intlayer/intlayerPrune.md +78 -5
  181. package/docs/hi/plugins/sync-json.md +9 -9
  182. package/docs/hi/releases/v9.md +0 -15
  183. package/docs/hi/self_hosting.md +38 -51
  184. package/docs/id/analytics.md +223 -0
  185. package/docs/id/configuration.md +25 -8
  186. package/docs/id/dictionary/nesting.md +37 -184
  187. package/docs/id/formatters.md +208 -305
  188. package/docs/id/intlayer_CMS.md +164 -0
  189. package/docs/id/intlayer_with_angular_21.md +9 -9
  190. package/docs/id/intlayer_with_nextjs_14.md +1 -26
  191. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +70 -63
  192. package/docs/id/intlayer_with_solid_start.md +1078 -0
  193. package/docs/id/packages/intlayer/getMultilingualUrls.md +4 -18
  194. package/docs/id/packages/react-intlayer/useIntlayer.md +2 -2
  195. package/docs/id/packages/vite-intlayer/exports.md +15 -0
  196. package/docs/id/packages/vite-intlayer/intlayer.md +121 -6
  197. package/docs/id/packages/vite-intlayer/intlayerPrune.md +78 -5
  198. package/docs/id/releases/v9.md +12 -0
  199. package/docs/id/self_hosting.md +61 -50
  200. package/docs/it/analytics.md +222 -0
  201. package/docs/it/autoFill.md +27 -8
  202. package/docs/it/configuration.md +25 -8
  203. package/docs/it/dictionary/file.md +3 -1
  204. package/docs/it/dictionary/nesting.md +47 -30
  205. package/docs/it/formatters.md +114 -168
  206. package/docs/it/intlayer_CMS.md +66 -15
  207. package/docs/it/intlayer_with_angular_21.md +9 -9
  208. package/docs/it/intlayer_with_nestjs.md +11 -7
  209. package/docs/it/intlayer_with_nextjs_14.md +1 -28
  210. package/docs/it/intlayer_with_nextjs_15.md +1 -33
  211. package/docs/it/intlayer_with_solid_start.md +1078 -0
  212. package/docs/it/intlayer_with_vite+vue.md +1 -3
  213. package/docs/it/packages/intlayer/getLocalizedUrl.md +34 -26
  214. package/docs/it/packages/intlayer/getMultilingualUrls.md +4 -18
  215. package/docs/it/packages/react-intlayer/useDictionary.md +4 -21
  216. package/docs/it/packages/vite-intlayer/exports.md +15 -0
  217. package/docs/it/packages/vite-intlayer/intlayer.md +121 -6
  218. package/docs/it/packages/vite-intlayer/intlayerPrune.md +77 -4
  219. package/docs/it/releases/v9.md +0 -15
  220. package/docs/it/self_hosting.md +60 -49
  221. package/docs/ja/analytics.md +222 -0
  222. package/docs/ja/autoFill.md +28 -9
  223. package/docs/ja/configuration.md +25 -8
  224. package/docs/ja/dictionary/content_file.md +15 -7
  225. package/docs/ja/dictionary/file.md +3 -1
  226. package/docs/ja/dictionary/nesting.md +47 -30
  227. package/docs/ja/formatters.md +133 -187
  228. package/docs/ja/intlayer_visual_editor.md +3 -1
  229. package/docs/ja/intlayer_with_angular_21.md +6 -6
  230. package/docs/ja/intlayer_with_nestjs.md +2 -12
  231. package/docs/ja/intlayer_with_nextjs_14.md +1 -28
  232. package/docs/ja/intlayer_with_nextjs_15.md +1 -33
  233. package/docs/ja/intlayer_with_react_router_v7.md +456 -20
  234. package/docs/ja/intlayer_with_solid_start.md +1078 -0
  235. package/docs/ja/intlayer_with_vite+preact.md +73 -41
  236. package/docs/ja/intlayer_with_vite+vue.md +1 -3
  237. package/docs/ja/mcp_server.md +3 -9
  238. package/docs/ja/packages/intlayer/getLocalizedUrl.md +26 -24
  239. package/docs/ja/packages/intlayer/getMultilingualUrls.md +3 -17
  240. package/docs/ja/packages/vite-intlayer/exports.md +15 -0
  241. package/docs/ja/packages/vite-intlayer/intlayer.md +121 -6
  242. package/docs/ja/packages/vite-intlayer/intlayerPrune.md +79 -6
  243. package/docs/ja/releases/v9.md +12 -0
  244. package/docs/ja/self_hosting.md +46 -50
  245. package/docs/ko/analytics.md +222 -0
  246. package/docs/ko/autoFill.md +28 -9
  247. package/docs/ko/configuration.md +25 -8
  248. package/docs/ko/dictionary/file.md +3 -1
  249. package/docs/ko/dictionary/nesting.md +47 -30
  250. package/docs/ko/formatters.md +133 -187
  251. package/docs/ko/intlayer_with_angular_21.md +9 -9
  252. package/docs/ko/intlayer_with_lynx+react.md +133 -39
  253. package/docs/ko/intlayer_with_nextjs_14.md +1 -28
  254. package/docs/ko/intlayer_with_nextjs_15.md +1 -33
  255. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +40 -188
  256. package/docs/ko/intlayer_with_solid_start.md +1078 -0
  257. package/docs/ko/intlayer_with_vite+preact.md +57 -23
  258. package/docs/ko/intlayer_with_vite+vue.md +1 -3
  259. package/docs/ko/packages/intlayer/getLocalizedUrl.md +26 -24
  260. package/docs/ko/packages/intlayer/getMultilingualUrls.md +4 -18
  261. package/docs/ko/packages/vite-intlayer/exports.md +15 -0
  262. package/docs/ko/packages/vite-intlayer/intlayer.md +121 -6
  263. package/docs/ko/packages/vite-intlayer/intlayerPrune.md +79 -6
  264. package/docs/ko/releases/v9.md +12 -0
  265. package/docs/ko/self_hosting.md +60 -49
  266. package/docs/nl/configuration.md +25 -8
  267. package/docs/nl/intlayer_with_angular_21.md +9 -9
  268. package/docs/pl/analytics.md +220 -0
  269. package/docs/pl/configuration.md +25 -8
  270. package/docs/pl/dictionary/nesting.md +47 -30
  271. package/docs/pl/formatters.md +208 -305
  272. package/docs/pl/intlayer_CMS.md +152 -0
  273. package/docs/pl/intlayer_with_angular_21.md +9 -9
  274. package/docs/pl/intlayer_with_nextjs_14.md +1 -26
  275. package/docs/pl/intlayer_with_solid_start.md +1078 -0
  276. package/docs/pl/packages/intlayer/getMultilingualUrls.md +4 -18
  277. package/docs/pl/packages/react-intlayer/useDictionary.md +2 -19
  278. package/docs/pl/packages/vite-intlayer/exports.md +15 -0
  279. package/docs/pl/packages/vite-intlayer/intlayer.md +121 -6
  280. package/docs/pl/packages/vite-intlayer/intlayerPrune.md +77 -4
  281. package/docs/pl/releases/v9.md +0 -15
  282. package/docs/pl/self_hosting.md +60 -49
  283. package/docs/pt/analytics.md +222 -0
  284. package/docs/pt/configuration.md +25 -8
  285. package/docs/pt/dictionary/file.md +3 -1
  286. package/docs/pt/dictionary/nesting.md +47 -30
  287. package/docs/pt/formatters.md +112 -168
  288. package/docs/pt/intlayer_CMS.md +66 -15
  289. package/docs/pt/intlayer_with_angular_21.md +9 -9
  290. package/docs/pt/intlayer_with_astro_lit.md +26 -1
  291. package/docs/pt/intlayer_with_nextjs_14.md +1 -28
  292. package/docs/pt/intlayer_with_nextjs_15.md +1 -33
  293. package/docs/pt/intlayer_with_solid_start.md +1078 -0
  294. package/docs/pt/intlayer_with_vite+vue.md +1 -3
  295. package/docs/pt/packages/intlayer/getLocalizedUrl.md +34 -26
  296. package/docs/pt/packages/intlayer/getMultilingualUrls.md +4 -18
  297. package/docs/pt/packages/vite-intlayer/exports.md +15 -0
  298. package/docs/pt/packages/vite-intlayer/intlayer.md +121 -6
  299. package/docs/pt/packages/vite-intlayer/intlayerPrune.md +78 -6
  300. package/docs/pt/releases/v9.md +0 -15
  301. package/docs/pt/self_hosting.md +60 -49
  302. package/docs/ru/analytics.md +222 -0
  303. package/docs/ru/autoFill.md +27 -8
  304. package/docs/ru/configuration.md +25 -8
  305. package/docs/ru/dictionary/file.md +3 -1
  306. package/docs/ru/dictionary/nesting.md +64 -205
  307. package/docs/ru/formatters.md +108 -128
  308. package/docs/ru/intlayer_with_angular_21.md +9 -9
  309. package/docs/ru/intlayer_with_nextjs_14.md +1 -28
  310. package/docs/ru/intlayer_with_nextjs_15.md +1 -33
  311. package/docs/ru/intlayer_with_solid_start.md +1078 -0
  312. package/docs/ru/intlayer_with_vite+vue.md +1 -3
  313. package/docs/ru/packages/intlayer/getLocalizedUrl.md +34 -26
  314. package/docs/ru/packages/intlayer/getMultilingualUrls.md +4 -18
  315. package/docs/ru/packages/react-intlayer/useDictionary.md +4 -21
  316. package/docs/ru/packages/vite-intlayer/exports.md +15 -0
  317. package/docs/ru/packages/vite-intlayer/intlayer.md +121 -6
  318. package/docs/ru/packages/vite-intlayer/intlayerPrune.md +77 -4
  319. package/docs/ru/releases/v9.md +0 -15
  320. package/docs/ru/self_hosting.md +60 -49
  321. package/docs/tr/analytics.md +222 -0
  322. package/docs/tr/autoFill.md +28 -9
  323. package/docs/tr/configuration.md +25 -8
  324. package/docs/tr/dictionary/file.md +2 -0
  325. package/docs/tr/dictionary/nesting.md +47 -30
  326. package/docs/tr/formatters.md +144 -190
  327. package/docs/tr/intlayer_CMS.md +152 -0
  328. package/docs/tr/intlayer_with_angular_21.md +9 -9
  329. package/docs/tr/intlayer_with_nestjs.md +2 -12
  330. package/docs/tr/intlayer_with_nextjs_15.md +1 -33
  331. package/docs/tr/intlayer_with_solid_start.md +1078 -0
  332. package/docs/tr/intlayer_with_vite+vue.md +1 -3
  333. package/docs/tr/packages/intlayer/getMultilingualUrls.md +4 -18
  334. package/docs/tr/packages/vite-intlayer/exports.md +15 -0
  335. package/docs/tr/packages/vite-intlayer/intlayer.md +121 -6
  336. package/docs/tr/packages/vite-intlayer/intlayerPrune.md +77 -4
  337. package/docs/tr/self_hosting.md +47 -50
  338. package/docs/uk/analytics.md +222 -0
  339. package/docs/uk/configuration.md +25 -8
  340. package/docs/uk/dictionary/nesting.md +47 -30
  341. package/docs/uk/formatters.md +128 -185
  342. package/docs/uk/intlayer_CMS.md +152 -0
  343. package/docs/uk/intlayer_with_angular_21.md +9 -9
  344. package/docs/uk/intlayer_with_nextjs_14.md +1 -26
  345. package/docs/uk/intlayer_with_solid_start.md +1078 -0
  346. package/docs/uk/packages/react-intlayer/useDictionary.md +2 -19
  347. package/docs/uk/packages/vite-intlayer/exports.md +15 -0
  348. package/docs/uk/packages/vite-intlayer/intlayer.md +121 -6
  349. package/docs/uk/packages/vite-intlayer/intlayerPrune.md +77 -4
  350. package/docs/uk/releases/v9.md +0 -15
  351. package/docs/uk/self_hosting.md +60 -50
  352. package/docs/ur/configuration.md +25 -8
  353. package/docs/ur/intlayer_with_angular_21.md +9 -9
  354. package/docs/vi/analytics.md +222 -0
  355. package/docs/vi/configuration.md +24 -8
  356. package/docs/vi/dictionary/nesting.md +37 -184
  357. package/docs/vi/formatters.md +208 -309
  358. package/docs/vi/intlayer_CMS.md +164 -0
  359. package/docs/vi/intlayer_with_angular_21.md +9 -9
  360. package/docs/vi/intlayer_with_nextjs_14.md +0 -25
  361. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +70 -63
  362. package/docs/vi/intlayer_with_solid_start.md +1078 -0
  363. package/docs/vi/packages/intlayer/getMultilingualUrls.md +4 -18
  364. package/docs/vi/packages/react-intlayer/useIntlayer.md +2 -2
  365. package/docs/vi/packages/vite-intlayer/exports.md +15 -0
  366. package/docs/vi/packages/vite-intlayer/intlayer.md +121 -6
  367. package/docs/vi/packages/vite-intlayer/intlayerPrune.md +77 -4
  368. package/docs/vi/plugins/sync-json.md +6 -6
  369. package/docs/vi/releases/v9.md +12 -0
  370. package/docs/vi/self_hosting.md +61 -50
  371. package/docs/zh/CI_CD.md +4 -0
  372. package/docs/zh/analytics.md +222 -0
  373. package/docs/zh/autoFill.md +28 -9
  374. package/docs/zh/configuration.md +24 -8
  375. package/docs/zh/dictionary/file.md +2 -0
  376. package/docs/zh/dictionary/nesting.md +47 -30
  377. package/docs/zh/formatters.md +140 -188
  378. package/docs/zh/intlayer_CMS.md +164 -0
  379. package/docs/zh/intlayer_with_analog.md +193 -3
  380. package/docs/zh/intlayer_with_angular_19.md +272 -3
  381. package/docs/zh/intlayer_with_angular_21.md +7 -7
  382. package/docs/zh/intlayer_with_create_react_app.md +348 -26
  383. package/docs/zh/intlayer_with_lynx+react.md +263 -4
  384. package/docs/zh/intlayer_with_nextjs_14.md +1 -28
  385. package/docs/zh/intlayer_with_nextjs_15.md +1 -33
  386. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +558 -1
  387. package/docs/zh/intlayer_with_nuxt.md +182 -7
  388. package/docs/zh/intlayer_with_react_router_v7.md +183 -25
  389. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +306 -42
  390. package/docs/zh/intlayer_with_solid_start.md +1077 -0
  391. package/docs/zh/intlayer_with_storybook.md +260 -3
  392. package/docs/zh/intlayer_with_svelte_kit.md +428 -48
  393. package/docs/zh/intlayer_with_tanstack+solid.md +713 -13
  394. package/docs/zh/intlayer_with_tanstack.md +731 -20
  395. package/docs/zh/intlayer_with_vanilla.md +314 -4
  396. package/docs/zh/intlayer_with_vite+lit.md +465 -4
  397. package/docs/zh/intlayer_with_vite+preact.md +422 -116
  398. package/docs/zh/intlayer_with_vite+react.md +324 -45
  399. package/docs/zh/intlayer_with_vite+react_compiler.md +228 -13
  400. package/docs/zh/intlayer_with_vite+solid.md +462 -32
  401. package/docs/zh/intlayer_with_vite+vanilla.md +497 -4
  402. package/docs/zh/mcp_server.md +3 -9
  403. package/docs/zh/packages/intlayer/getLocalizedUrl.md +26 -24
  404. package/docs/zh/packages/intlayer/getMultilingualUrls.md +4 -18
  405. package/docs/zh/packages/vite-intlayer/exports.md +29 -0
  406. package/docs/zh/packages/vite-intlayer/intlayer.md +121 -6
  407. package/docs/zh/packages/vite-intlayer/intlayerPrune.md +79 -6
  408. package/docs/zh/releases/v9.md +12 -0
  409. package/docs/zh/self_hosting.md +60 -50
  410. package/docs/zh-TW/intlayer_with_angular_21.md +7 -7
  411. package/package.json +6 -6
  412. package/src/generated/blog.entry.ts +27 -27
  413. package/src/generated/docs.entry.ts +234 -214
  414. package/src/generated/frequentQuestions.entry.ts +17 -17
  415. package/src/generated/legal.entry.ts +2 -2
@@ -0,0 +1,222 @@
1
+ ---
2
+ createdAt: 2026-07-08
3
+ updatedAt: 2026-07-08
4
+ title: Intlayer Analytics | सामग्री के प्रदर्शन को ट्रैक करें और A/B परीक्षण चलाएं
5
+ description: जानें कि @intlayer/analytics कैसे पेज/लोकेल व्यू और सामग्री के प्रदर्शन को ट्रैक करता है, और अपने Intlayer सामग्री पर A/B परीक्षण चलाने के लिए इसका उपयोग कैसे करें।
6
+ keywords:
7
+ - Analytics (एनालिटिक्स)
8
+ - A/B Testing (A/B परीक्षण)
9
+ - Audience (दर्शक)
10
+ - Internationalization (अंतर्राष्ट्रीयकरण)
11
+ - Documentation (दस्तावेज़ीकरण)
12
+ - Intlayer
13
+ - Next.js
14
+ - JavaScript
15
+ - React
16
+ slugs:
17
+ - doc
18
+ - concept
19
+ - analytics
20
+ history:
21
+ - version: 9.0.0
22
+ date: 2026-07-08
23
+ changes: "Init doc — @intlayer/analytics पैकेज, प्रोवाइडर/नोड-लेवल ट्रैकिंग, A/B परीक्षण, डैशबोर्ड"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Intlayer Analytics दस्तावेज़ीकरण
28
+
29
+ `@intlayer/analytics` एक वैकल्पिक सहयोगी पैकेज है जो आपको बताता है कि आपके आगंतुकों को **वास्तव में कौन सी सामग्री दिखाई जा रही है** — कौन सा पृष्ठ, किस लोकेल में, और अनुवादित सामग्री का कौन सा विशिष्ट हिस्सा — ताकि आप अपने दर्शकों को समझ सकें और **सामग्री पर A/B परीक्षण चला सकें**।
30
+
31
+ ## विषय-सूची (Table of Contents)
32
+
33
+ <TOC/>
34
+
35
+ ---
36
+
37
+ ## यह क्या ट्रैक करता है
38
+
39
+ `@intlayer/analytics` तीन प्रकार की अनाम घटनाओं को बैच में एकत्रित करता है:
40
+
41
+ | घटना (Event) | कहाँ कैप्चर होता है | यह आपको क्या बताता है |
42
+ | ------------------ | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
+ | `page_view` | प्रोवाइडर स्तर (`IntlayerProvider`) | प्रारंभिक लोड, मार्ग (route) परिवर्तन, या लोकेल स्विच पर एक सत्र (session) ने कौन सा पृष्ठ और लोकेल देखा। |
44
+ | `content_exposure` | नोड स्तर (`useIntlayer` / इंटरप्रेटर प्लगइन्स) | कौन सी डिक्शनरी कुंजी (dictionary key) / कुंजी पथ वास्तव में हल (resolved) और प्रदर्शित किया गया था — और यदि एक प्रयोग का हिस्सा है, तो कौन सा **वेरिएंट**। |
45
+ | `conversion` | जहाँ भी आप `useConversion()` कॉल करते हैं | एक लक्ष्य पूरा हुआ (साइनअप, क्लिक, खरीदारी...) जो उस A/B वेरिएंट को जिम्मेदार ठहराया गया है जिसके संपर्क में सत्र आया था। |
46
+
47
+ घटनाएँ मेमोरी में एकत्रित की जाती हैं और **लगभग हर 20 सेकंड में एक एकल बैच अनुरोध** के रूप में भेजी जाती हैं — प्रत्येक कीस्ट्रोक या रेंडर पर कभी नहीं — इसलिए एनालिटिक्स कभी भी पहले रेंडर के समय को प्रभावित नहीं करता है या प्रति इंटरैक्शन एक अनुरोध नहीं जोड़ता है।
48
+
49
+ ## यह सामग्री पर A/B परीक्षण को कैसे सशक्त बनाता है
50
+
51
+ Intlayer आपको पहले से ही सामग्री [वेरिएंट (Variants)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dynamic_dictionaries/index.md) घोषित करने की अनुमति देता है (उदाहरण के लिए `control` और `black_friday` वेरिएंट के साथ एक `hero-banner` डिक्शनरी)। `@intlayer/analytics` इस प्रक्रिया को पूरा करता है:
52
+
53
+ 1. `getVariant(experimentKey, variants)` प्रत्येक अनाम सत्र को निश्चित रूप से एक वेरिएंट सौंपता है — यह सत्र आईडी और प्रयोग कुंजी का एक शुद्ध फ़ंक्शन (pure function) है, इसलिए यह असाइनमेंट **सत्र भर में स्थिर** रहता है और पहले रेंडर से पहले **सर्वर राउंड-ट्रिप** की आवश्यकता नहीं होती है (कोई झिलमिलाहट (flicker) नहीं, कोई लेआउट शिफ्ट नहीं)।
54
+ 2. प्रत्येक `content_exposure` घटना उस `variant` को वहन करती है जो दिखाया गया था।
55
+ 3. `useConversion()` आपको उस वेरिएंट में एक लक्ष्य (जैसे `"cta_click"`) को जिम्मेदार ठहराने (attribute) की अनुमति देता है।
56
+ 4. डैशबोर्ड का प्रयोग परिणाम एंडपॉइंट सांख्यिकीय महत्व (ज़ेड-टेस्ट) सहित प्रति वेरिएंट रूपांतरण दरों (conversion rates) की तुलना करता है।
57
+
58
+ ## इंस्टालेशन (Installation)
59
+
60
+ `@intlayer/analytics` एक **पीयर (peer), वैकल्पिक** निर्भरता है — यह कभी भी फ्रेमवर्क पैकेज द्वारा स्वचालित रूप से स्थापित नहीं होता है। इसे `intlayer` के साथ जोड़ें:
61
+
62
+ ```bash packageManager="npm"
63
+ npm install @intlayer/analytics
64
+ ```
65
+
66
+ ```bash packageManager="yarn"
67
+ yarn add @intlayer/analytics
68
+ ```
69
+
70
+ ```bash packageManager="pnpm"
71
+ pnpm add @intlayer/analytics
72
+ ```
73
+
74
+ ```bash packageManager="bun"
75
+ bun add @intlayer/analytics
76
+ ```
77
+
78
+ यदि आप इसे स्थापित नहीं करते हैं, तो प्रत्येक एकीकरण बिंदु (integration point) एक नो-ऑप (no-op) के रूप में हल हो जाता है — नीचे [स्थापित न होने पर शून्य लागत](#स्थापित-न-होने-पर-शून्य-लागत) देखें।
79
+
80
+ ## कॉन्फ़िगरेशन (Configuration)
81
+
82
+ एनालिटिक्स **मौजूदा `editor` कॉन्फ़िगरेशन ब्लॉक का पुन: उपयोग करता है** — भरने के लिए कोई अलग `analytics` कॉन्फ़िगरेशन स्कीमा नहीं है:
83
+
84
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
85
+ import type { IntlayerConfig } from "intlayer";
86
+
87
+ const config: IntlayerConfig = {
88
+ editor: {
89
+ backendURL: "https://back.intlayer.org", // एनालिटिक्स घटनाओं के लिए अंतर्ग्रहण (ingestion) एंडपॉइंट के रूप में भी उपयोग किया जाता है
90
+ clientId: "your-client-id", // एनालिटिक्स प्रोजेक्ट कुंजी के रूप में भी उपयोग किया जाता है
91
+ clientSecret: "your-client-secret",
92
+ },
93
+ };
94
+
95
+ export default config;
96
+ ```
97
+
98
+ - `editor.backendURL` — वह बेस URL जहाँ एनालिटिक्स घटनाएँ भेजी जाती हैं (`POST {backendURL}/api/analytics/events`)।
99
+ - `editor.clientId` — प्रत्येक अंतर्ग्रहण घटना के लिए जिम्मेदार सार्वजनिक प्रोजेक्ट कुंजी। यह **सक्षम स्विच (enable switch)** के रूप में भी कार्य करता है: जब तक `clientId` कॉन्फ़िगर नहीं किया जाता है, तब तक एनालिटिक्स पूरी तरह से अक्षम (और ट्री-शेक (tree-shaken), नीचे देखें) रहता है।
100
+
101
+ यदि आप Intlayer को सेल्फ-होस्ट करते हैं, तो एनालिटिक्स स्वचालित रूप से आपके स्वयं के इंस्टेंस को इंगित करता है क्योंकि यह `editor.backendURL` साझा करता है।
102
+
103
+ ## फ्रेमवर्क सपोर्ट (Framework support)
104
+
105
+ एनालिटिक्स `react-intlayer` के साझा `IntlayerProvider` में वायर्ड है, इसलिए यह आज हर उस जगह उपलब्ध है जहाँ उस प्रदाता (provider) का उपयोग किया जाता है:
106
+
107
+ | फ्रेमवर्क | स्थिति (Status) |
108
+ | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
109
+ | React | ✅ उपलब्ध |
110
+ | Next.js (`next-intlayer`) | ✅ उपलब्ध (`react-intlayer` के माध्यम से) |
111
+ | React Native / Expo (`react-native-intlayer`) | ✅ उपलब्ध (`react-intlayer` के माध्यम से) |
112
+ | Vue, Svelte, Angular, Solid, Preact, Lit, Astro, Vanilla | 🚧 योजनाबद्ध (Planned) — समान क्लाइंट, प्रदाता-स्तर (provider-level) बाइंडिंग `@intlayer/editor` के रिलीज़ पैटर्न का पालन करते हुए |
113
+
114
+ ## उपयोग (Usage)
115
+
116
+ ### स्वचालित प्रोवाइडर-स्तर ट्रैकिंग (Automatic provider-level tracking)
117
+
118
+ कोड में कोई परिवर्तन आवश्यक नहीं है। एक बार जब `@intlayer/analytics` स्थापित हो जाता है और `editor.clientId` कॉन्फ़िगर हो जाता है, तो `IntlayerProvider` स्वचालित रूप से:
119
+
120
+ - माउंट होने पर एनालिटिक्स क्लाइंट को इनिशियलाइज़ करता है,
121
+ - प्रारंभिक लोड पर एक `page_view` रिकॉर्ड करता है,
122
+ - हर लोकेल परिवर्तन पर एक `page_view` रिकॉर्ड करता है,
123
+ - ~20 सेकंड का फ्लश लूप शुरू करता है और अनमाउंट/टैब बंद होने पर किसी भी शेष घटनाओं को फ्लश करता है (`navigator.sendBeacon` के माध्यम से, `fetch(..., { keepalive: true })` पर फ़ॉलबैक करते हुए)।
124
+
125
+ ### स्वचालित नोड-स्तर ट्रैकिंग (Automatic node-level tracking)
126
+
127
+ हर बार जब `useIntlayer` प्रदर्शन के लिए सामग्री के एक टुकड़े को हल करता है, तो इंटरप्रेटर उस सटीक `dictionaryKey` + कुंजी पथ + लोकेल के लिए एक `content_exposure` घटना की रिपोर्ट करता है — फिर से, कोई कोड परिवर्तन आवश्यक नहीं है। फ्लश विंडो (लगभग 20 सेकंड) के भीतर एक ही नोड के दोहराए गए एक्सपोज़र को `count` के साथ एक ही घटना में मिला दिया जाता है (coalesced), इसलिए 50 बार फिर से रेंडर होने वाली सूची 50 घटनाएँ नहीं भेजती है।
128
+
129
+ ### A/B परीक्षण के लिए रूपांतरण ट्रैक करना (Tracking conversions for A/B tests)
130
+
131
+ उस वेरिएंट को लक्ष्य (goal) सौंपने के लिए `useConversion()` का उपयोग करें जिसे एक सत्र (session) ने देखा था:
132
+
133
+ ```tsx fileName="CTAButton.tsx" codeFormat="tsx"
134
+ import { useConversion } from "react-intlayer";
135
+
136
+ const CTAButton = () => {
137
+ const trackConversion = useConversion();
138
+
139
+ return (
140
+ <button
141
+ onClick={() =>
142
+ trackConversion({
143
+ experimentKey: "homepage-hero",
144
+ variant: "black_friday",
145
+ goal: "cta_click",
146
+ })
147
+ }
148
+ >
149
+ शुरू करें (Get started)
150
+ </button>
151
+ );
152
+ };
153
+ ```
154
+
155
+ ### क्लाइंट-साइड वेरिएंट को हल करना (Resolving a variant client-side)
156
+
157
+ ```tsx fileName="useHeroVariant.ts" codeFormat="tsx"
158
+ import { getGlobalAnalyticsClient } from "@intlayer/analytics/client";
159
+
160
+ const client = getGlobalAnalyticsClient();
161
+ const variant = client?.getVariant("homepage-hero", [
162
+ "control",
163
+ "black_friday",
164
+ ]);
165
+ ```
166
+
167
+ ## गोपनीयता और प्रदर्शन (Privacy & performance)
168
+
169
+ - **डिज़ाइन द्वारा अनाम (Anonymous by design)**: सत्र (sessions) एक घूर्णन आईडी (rotating id) द्वारा पहचाने जाते हैं; बैकएंड कभी भी केवल उस आईडी का **SHA-256 हैश** संग्रहीत करता है — कच्चा आईडी (raw id) कभी नहीं, और आईपी (IP) पता कभी नहीं।
170
+ - **स्थान अनुमानित है (Location is coarse)**: केवल एक देश कोड, जिसे CDN जियोलोकेशन हेडर (`cf-ipcountry`, `x-vercel-ip-country`, ...) से प्राप्त किया जाता है — कोई IP पढ़ा या संग्रहीत नहीं किया जाता है।
171
+ - **URL खोज मापदंडों (search params) को बाहर करते हैं** डिफ़ॉल्ट रूप से, इसलिए क्वेरी स्ट्रिंग कभी भी कैप्चर नहीं की जाती हैं।
172
+ - **सैंपलिंग (Sampling)**: `sampleRate` आपको उच्च-ट्रैफ़िक ऐप्स पर सामग्री-एक्सपोज़र घटनाओं का केवल एक अंश (fraction) रखने की अनुमति देता है।
173
+ - **बैचिंग (Batched)**: लगभग हर 20 सेकंड में एक अनुरोध (`flushInterval`), या यदि बफ़र भर जाता है तो पहले (`maxBufferSize`) — प्रति घटना कभी भी एक अनुरोध नहीं।
174
+
175
+ ### स्थापित न होने पर शून्य लागत (Zero-cost when not installed)
176
+
177
+ `@intlayer/analytics` पूरी तरह से उसी वैकल्पिक-निर्भरता पैटर्न का पालन करता है जैसा कि `@intlayer/editor`:
178
+
179
+ - प्रत्येक एकीकरण बिंदु पैकेज को **`try/catch` में लिपटे गतिशील (dynamic) `import()`** के माध्यम से लोड करता है — एक ऐप जो कभी भी `@intlayer/analytics` स्थापित नहीं करता है वह बंडल-आकार या रनटाइम लागत का भुगतान नहीं करता है, और कभी कोई त्रुटि नहीं देखता है;
180
+ - एक संकलन-समय (compile-time) पर्यावरण चर (`INTLAYER_ANALYTICS_ENABLED`), जिसे `@intlayer/config` द्वारा स्वचालित रूप से `'false'` पर सेट किया जाता है जब `editor.clientId` कॉन्फ़िगर नहीं किया जाता है, जिससे बंडलर्स पूरे एकीकरण को **मृत-कोड-समाप्त (dead-code-eliminate)** कर सकते हैं;
181
+ - एनालिटिक्स Intlayer संपादक/CMS पूर्वावलोकन (preview) iframe के अंदर अक्षम है, इसलिए संपादक सत्रों को कभी भी वास्तविक ट्रैफ़िक के रूप में नहीं गिना जाता है।
182
+
183
+ ## डैशबोर्ड: एनालिटिक्स पृष्ठ (Dashboard: Analytics page)
184
+
185
+ एक बार जब आपका प्रोजेक्ट घटनाओं को एकत्र कर लेता है, तो [Intlayer डैशबोर्ड](https://app.intlayer.org/analytics) में **Analytics** पृष्ठ (प्रोजेक्ट का चयन करने के बाद साइडबार में दिखाई देता है) दिखाता है:
186
+
187
+ - **सक्रिय उपयोगकर्ता (Active users)** — चयनित रोलिंग विंडो (7 / 30 / 90 दिन) में विशिष्ट आगंतुक (distinct visitors)।
188
+ - **आज के उपयोगकर्ता** और **पिछले 7 दिनों में उपयोगकर्ता**।
189
+ - चयनित विंडो के दौरान **पेज व्यू (Page views)**।
190
+ - दैनिक विशिष्ट आगंतुकों का **विकास ग्राफ (Evolution graph)**।
191
+ - **लोकेल्स (Locales)** और **स्थान (Location)** ब्रेकडाउन टैब, जो आपके दर्शकों को लोकेल और देश के अनुसार रैंक करते हैं।
192
+
193
+ ## बैकएंड API संदर्भ (Backend API reference)
194
+
195
+ सभी रीड एंडपॉइंट्स (read endpoints) के लिए प्रमाणीकरण की आवश्यकता होती है; अंतर्ग्रहण (ingestion) सार्वजनिक है और बॉडी (body) में `clientId` द्वारा जिम्मेदार ठहराया जाता है।
196
+
197
+ | विधि (Method) | एंडपॉइंट (Endpoint) | विवरण (Description) |
198
+ | ------------- | ------------------------------------------- | ----------------------------------------------------------------------------------- |
199
+ | `POST` | `/api/analytics/events` | घटनाओं का एक बैच अंतर्ग्रहण करें (सार्वजनिक, बॉडी में `clientId` द्वारा जिम्मेदार)। |
200
+ | `GET` | `/api/analytics/overview` | प्रमाणित प्रोजेक्ट के लिए पृष्ठ/लोकेल का कुल योग। |
201
+ | `GET` | `/api/analytics/audience?days=30` | विशिष्ट आगंतुक, पेज व्यू, दैनिक श्रृंखला, लोकेल + देश ब्रेकडाउन। |
202
+ | `GET` | `/api/analytics/content-stats` | प्रति-सामग्री एक्सपोज़र का कुल योग, डिक्शनरी कुंजी / पथ / लोकेल द्वारा समूहीकृत। |
203
+ | `GET` | `/api/analytics/experiments/:experimentKey` | A/B प्रयोग के लिए प्रति-वेरिएंट रूपांतरण दर और सांख्यिकीय महत्व। |
204
+
205
+ आप इन्हें [CMS SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md) के साथ प्रोग्रामेटिक रूप से भी कॉल कर सकते हैं:
206
+
207
+ ```ts fileName="analytics.ts"
208
+ import { createIntlayerCMS } from "@intlayer/api";
209
+ import { analyticsEndpoint } from "@intlayer/api/analytics";
210
+
211
+ const cms = createIntlayerCMS();
212
+
213
+ const { data: audience } = await analyticsEndpoint(cms).getAudience(30);
214
+ ```
215
+
216
+ ## उपयोगी कड़ियाँ (Useful links)
217
+
218
+ - [डायनामिक डिक्शनरीज़ - कलेक्शंस और वेरिएंट्स (Dynamic Dictionaries)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dynamic_dictionaries/index.md)
219
+ - [Intlayer CMS - CMS SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md)
220
+ - [Intlayer विज़ुअल एडिटर (Visual Editor)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_visual_editor.md)
221
+ - [कॉन्फ़िगरेशन संदर्भ (Configuration Reference)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md)
222
+ - [सेल्फ-होस्टिंग गाइड (Self-Hosting Guide)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/self_hosting.md)
@@ -75,11 +75,30 @@ v7 में, `fill` कमांड का व्यवहार अपडे
75
75
 
76
76
  जब किसी दूसरी फ़ाइल में लिखने के लिए path विकल्प का उपयोग करते हैं, तो fill तंत्र सामग्री घोषणा फ़ाइलों के बीच एक _master-slave_ संबंध के माध्यम से काम करता है। मुख्य (master) फ़ाइल सत्य का स्रोत है, और जब इसे अपडेट किया जाता है, तो Intlayer स्वचालित रूप से उन परिवर्तनों को path द्वारा निर्दिष्ट व्युत्पन्न (भरी गई) घोषणा फ़ाइलों पर लागू करता है।
77
77
 
78
- # ऑटोफिल सामग्री घोषणा फ़ाइल अनुवाद
78
+ ### प्रति-लोकेल कस्टमाइज़ेशन
79
79
 
80
- **ऑटोफिल सामग्री घोषणा फ़ाइलें** आपके विकास कार्यप्रवाह को तेज़ करने का एक तरीका हैं।
80
+ आप एक ऑब्जेक्ट का उपयोग करके प्रत्येक लोकेल के लिए व्यवहार को कस्टमाइज़ कर सकते हैं:
81
81
 
82
- ऑटोफिल तंत्र सामग्री घोषणा फ़ाइलों के बीच एक _मास्टर-स्लेव_ संबंध के माध्यम से काम करता है। जब मुख्य (मास्टर) फ़ाइल अपडेट होती है, तो Intlayer स्वचालित रूप से उन परिवर्तनों को व्युत्पन्न (ऑटोफिल की गई) घोषणा फ़ाइलों पर लागू कर देगा।
82
+ ```ts fileName="intlayer.config.ts"
83
+ const config: IntlayerConfig = {
84
+ content: {
85
+ internationalization: {
86
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.POLISH],
87
+ defaultLocale: Locales.ENGLISH,
88
+ requiredLocales: [Locales.ENGLISH], // अनुशंसित है Property 'pl' is missing in type '{ en: string; xxx } on your t function if से बचने के लिए
89
+ },
90
+ },
91
+ dictionary: {
92
+ fill: {
93
+ en: true, // अंग्रेजी के लिए वर्तमान फ़ाइल को भरें और संपादित करें
94
+ fr: "./translations/fr.json", // फ्रेंच के लिए अलग फ़ाइल बनाएं
95
+ es: false, // स्पैनिश के लिए fill को अक्षम करें
96
+ },
97
+ },
98
+ };
99
+ ```
100
+
101
+ यह आपको एक ही प्रोजेक्ट के भीतर विभिन्न लोकेल के लिए विभिन्न fill व्यवहार रखने की अनुमति देता है।
83
102
 
84
103
  ```ts fileName="src/components/example/example.content.ts"
85
104
  import { Locales, type Dictionary } from "intlayer";
@@ -87,18 +106,18 @@ import { Locales, type Dictionary } from "intlayer";
87
106
  const exampleContent = {
88
107
  key: "example",
89
108
  locale: Locales.ENGLISH,
90
- autoFill: "./example.content.json",
109
+ fill: "./example.content.json",
91
110
  content: {
92
- contentExample: "यह सामग्री का एक उदाहरण है", // सामग्री का उदाहरण
111
+ contentExample: "यह सामग्री का एक उदाहरण है",
93
112
  },
94
113
  } satisfies Dictionary;
95
114
 
96
115
  export default exampleContent;
97
116
  ```
98
117
 
99
- यहाँ `autoFill` निर्देश का उपयोग करते हुए एक [प्रति-स्थान सामग्री घोषणा फ़ाइल](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/per_locale_file.md) है।
118
+ यहाँ `fill` instruction का उपयोग करने वाली एक [per-locale content declaration file](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/per_locale_file.md) है।
100
119
 
101
- फिर, जब आप निम्नलिखित कमांड चलाते हैं:
120
+ फिर, जब आप निम्नलिखित आदेश चलाते हैं:
102
121
 
103
122
  ```bash packageManager="npm"
104
123
  npx intlayer fill --file 'src/components/example/example.content.ts'
@@ -116,7 +135,7 @@ pnpm intlayer fill --file 'src/components/example/example.content.ts'
116
135
  bun x intlayer fill --file 'src/components/example/example.content.ts'
117
136
  ```
118
137
 
119
- Intlayer स्वचालित रूप से व्युत्पन्न घोषणा फ़ाइल `src/components/example/example.content.json` बनाएगा, जिसमें मुख्य फ़ाइल में पहले से घोषित नहीं किए गए सभी स्थानों को भरा जाएगा।
138
+ Intlayer स्वचालित रूप से `src/components/example/example.content.json` पर derived declaration file जेनरेट करेगा, मुख्य फ़ाइल में पहले से घोषित नहीं किए गए सभी लोकेल को भरते हुए।
120
139
 
121
140
  ```json5 fileName="src/components/example/example.content.json"
122
141
  {
@@ -133,7 +152,7 @@ Intlayer स्वचालित रूप से व्युत्पन्
133
152
  }
134
153
  ```
135
154
 
136
- इसके बाद, दोनों घोषणा फ़ाइलों को एकल शब्दकोश में मर्ज किया जाएगा, जिसे मानक `useIntlayer("example")` हुक (react) / कॉम्पोज़ेबल (vue) का उपयोग करके एक्सेस किया जा सकता है।
155
+ इसके बाद, दोनों declaration files को एक एकल dictionary में मर्ज किया जाएगा, जिसे मानक `useIntlayer("example")` hook (react) / composable (vue) का उपयोग करके एक्सेस किया जा सकता है।
137
156
 
138
157
  ## Global Configuration
139
158
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-07-11
3
+ updatedAt: 2026-08-06
4
4
  title: कॉन्फ़िगरेशन (Configuration)
5
5
  description: जानें कि अपने एप्लिकेशन के लिए Intlayer को कैसे कॉन्फ़िगर करें। Intlayer को अपनी आवश्यकताओं के अनुसार अनुकूलित करने के लिए उपलब्ध विभिन्न सेटिंग्स और विकल्पों को समझें।
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 9.1.3
18
+ date: 2026-08-06
19
+ changes: "`routing.enableProxy` को तीन-स्थिति बनाया गया: अनसेट (auto), `true`, `false`"
17
20
  - version: 9.0.0
18
21
  date: 2026-07-11
19
22
  changes: "`analytics` कॉन्फ़िगरेशन जोड़ा गया"
@@ -235,6 +238,19 @@ const config: IntlayerConfig = {
235
238
  */
236
239
  mode: "prefix-no-default",
237
240
 
241
+ /**
242
+ * Intlayer लोकेल-रूटिंग प्रॉक्सी (मिडलवेयर) को सक्षम करता है।
243
+ * dev, preview और SSR में लोकेल पहचान, रीडायरेक्ट और रीराइट संभालता है।
244
+ * - अनसेट (auto): dev और preview सर्वर कुकीज़ तथा हेडर में संग्रहित लोकेल को
245
+ * अनदेखा करके रूटिंग को URL-आधारित रखते हैं। प्रीफ़िक्स अब भी हल होते हैं,
246
+ * लोकेल अब भी सहेजा जाता है, और Accept-Language पहचान अब भी लागू होती है।
247
+ * प्रोडक्शन में यह `true` जैसा व्यवहार करता है।
248
+ * - true: हर वातावरण में पूर्ण व्यवहार।
249
+ * - false: कोई लोकेल रूटिंग नहीं।
250
+ * डिफ़ॉल्ट: undefined (auto)
251
+ */
252
+ enableProxy: undefined,
253
+
238
254
  /**
239
255
  * उपयोगकर्ता द्वारा चुने गए लोकेल को कहाँ संग्रहीत करना है।
240
256
  * विकल्प: 'cookie', 'localStorage', 'sessionStorage', 'header' या इनका सरणी।
@@ -706,13 +722,14 @@ Intlayer एनालिटिक्स से संबंधित सेट
706
722
 
707
723
  URL संरचना, लोकेल स्टोरेज और मिडलवेयर प्रबंधन सहित राउटींग व्यवहार को नियंत्रित करने वाली सेटिंग्स।
708
724
 
709
- | फ़ील्ड | विवरण | टाइप | डिफ़ॉल्ट | उदाहरण | टिप्पणी |
710
- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
711
- | `mode` | लोकेल प्रबंधन के लिए URL राउटींग मोड। | `'prefix-no-default'` &#124; <br/> `'prefix-all'` &#124; <br/> `'no-prefix'` &#124; <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) या `/fr/dashboard` (fr)। `'prefix-all'`: `/en/dashboard` । `'no-prefix'`: लोकेल अन्य तरीकों से प्रबंधित किया जाता है। `'search-params'`: `/dashboard?locale=fr` | कुकी प्रबंधन या लोकेल स्टोरेज को प्रभावित नहीं करता है। |
712
- | `storage` | क्लाइंट पर लोकेल स्टोरेज का कॉन्फ़िगरेशन। | `false` &#124; <br/> `'cookie'` &#124; <br/> `'localStorage'` &#124; <br/> `'sessionStorage'` &#124; <br/> `'header'` &#124; <br/> `CookiesAttributes` &#124; <br/> `StorageAttributes` &#124; <br/> `Array` | `['cookie', 'header']` | `'localStorage'` <br/> `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | नीचे स्टोरेज मापदंडों की तालिका देखें। |
713
- | `basePath` | एप्लिकेशन URL के लिए बेस पाथ। | `string` | `''` | `'/my-app'` | यदि एप्लिकेशन `https://example.com/my-app` पते पर चलता है, तो basePath `'/my-app'` है और URL `https://example.com/my-app/en` बन जाते हैं। |
714
- | `rewrite` | कस्टम URL पुनर्लेखन नियम जो विशिष्ट पाथ के लिए डिफ़ॉल्ट राउटींग मोड को ओवरराइड करते हैं। गतिशील मापदंडों `[param]` का समर्थन करता है। | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | नीचे उदाहरण देखें | • पुनर्लेखन नियमों को `mode` पर प्राथमिकता दी जाती है।<br/>• Next.js और Vite के साथ काम करता है।<br/>• `getLocalizedUrl()` स्वचालित रूप से उचित नियमों को लागू करता है।<br/>• [कस्टम URL पुनर्लेखन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md) देखें। |
715
- | `domains` | डोमेन-आधारित रूटिंग के लिए लोकेल को डोमेन होस्टनामों से मैप करता है। सेट होने पर, उस लोकेल के लिए URL इस डोमेन को बेस (पूर्ण URL) के रूप में उपयोग करते हैं और पाथ में कोई लोकेल प्रीफिक्स नहीं जोड़ा जाता है। | `Partial<Record<Locale, string>>` | `undefined` | `{ zh: 'intlayer.zh', fr: 'intlayer.org' }` | • होस्टनाम में शामिल होने पर डिफ़ॉल्ट प्रोटोकॉल `https://` है।<br/>• डोमेन स्वयं लोकेल की पहचान करता है, इसलिए `/zh/` प्रीफिक्स नहीं जोड़ा जाता है।<br/>• `getLocalizedUrl('/', 'zh')`, `https://intlayer.zh/` लौटाता है। |
725
+ | फ़ील्ड | विवरण | टाइप | डिफ़ॉल्ट | उदाहरण | टिप्पणी |
726
+ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
727
+ | `mode` | लोकेल प्रबंधन के लिए URL राउटींग मोड। | `'prefix-no-default'` &#124; <br/> `'prefix-all'` &#124; <br/> `'no-prefix'` &#124; <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) या `/fr/dashboard` (fr)। `'prefix-all'`: `/en/dashboard` । `'no-prefix'`: लोकेल अन्य तरीकों से प्रबंधित किया जाता है। `'search-params'`: `/dashboard?locale=fr` | कुकी प्रबंधन या लोकेल स्टोरेज को प्रभावित नहीं करता है। |
728
+ | `enableProxy` | Intlayer लोकेल-रूटिंग प्रॉक्सी (मिडलवेयर) को सक्षम करता है। | `boolean` &#124; <br/> `undefined` | `undefined` (auto) | `true` | अनसेट (auto): dev और preview सर्वर कुकीज़/हेडर में संग्रहित लोकेल को रीडायरेक्ट स्रोत के रूप में अनदेखा करते हैं; प्रीफ़िक्स, सहेजना और `Accept-Language` पहचान अब भी लागू होती है। प्रोडक्शन में `true` जैसा व्यवहार।<br/>• `true`: हर जगह पूर्ण व्यवहार।<br/>• `false`: कोई लोकेल रूटिंग नहीं। Next.js में `intlayerProxy` मिडलवेयर पास-थ्रू बन जाता है। |
729
+ | `storage` | क्लाइंट पर लोकेल स्टोरेज का कॉन्फ़िगरेशन। | `false` &#124; <br/> `'cookie'` &#124; <br/> `'localStorage'` &#124; <br/> `'sessionStorage'` &#124; <br/> `'header'` &#124; <br/> `CookiesAttributes` &#124; <br/> `StorageAttributes` &#124; <br/> `Array` | `['cookie', 'header']` | `'localStorage'` <br/> `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | नीचे स्टोरेज मापदंडों की तालिका देखें। |
730
+ | `basePath` | एप्लिकेशन URL के लिए बेस पाथ। | `string` | `''` | `'/my-app'` | यदि एप्लिकेशन `https://example.com/my-app` पते पर चलता है, तो basePath `'/my-app'` है और URL `https://example.com/my-app/en` बन जाते हैं। |
731
+ | `rewrite` | कस्टम URL पुनर्लेखन नियम जो विशिष्ट पाथ के लिए डिफ़ॉल्ट राउटींग मोड को ओवरराइड करते हैं। गतिशील मापदंडों `[param]` का समर्थन करता है। | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | नीचे उदाहरण देखें | • पुनर्लेखन नियमों को `mode` पर प्राथमिकता दी जाती है।<br/>• Next.js और Vite के साथ काम करता है।<br/>• `getLocalizedUrl()` स्वचालित रूप से उचित नियमों को लागू करता है।<br/>• [कस्टम URL पुनर्लेखन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md) देखें। |
732
+ | `domains` | डोमेन-आधारित रूटिंग के लिए लोकेल को डोमेन होस्टनामों से मैप करता है। सेट होने पर, उस लोकेल के लिए URL इस डोमेन को बेस (पूर्ण URL) के रूप में उपयोग करते हैं और पाथ में कोई लोकेल प्रीफिक्स नहीं जोड़ा जाता है। | `Partial<Record<Locale, string>>` | `undefined` | `{ zh: 'intlayer.zh', fr: 'intlayer.org' }` | • होस्टनाम में शामिल न होने पर डिफ़ॉल्ट प्रोटोकॉल `https://` है।<br/>• डोमेन स्वयं लोकेल की पहचान करता है, इसलिए `/zh/` प्रीफिक्स नहीं जोड़ा जाता है।<br/>• `getLocalizedUrl('/', 'zh')`, `https://intlayer.zh/` लौटाता है। |
716
733
 
717
734
  **`rewrite` उदाहरण**:
718
735
 
@@ -23,7 +23,9 @@ history:
23
23
  author: aymericzip
24
24
  ---
25
25
 
26
- # फ़ाइल सामग्री / Intlayer में फ़ाइलें एम्बेड करना
26
+ # फाइल कंटेंट / Intlayer में फाइलों को एम्बेड करना
27
+
28
+ Intlayer में, `file` फ़ंक्शन एक शब्दकोश में बाहरी फाइल कंटेंट को एम्बेड करने की अनुमति देता है। यह दृष्टिकोण सुनिश्चित करता है कि Intlayer स्रोत फाइल को पहचानता है, जिससे Intlayer Visual Editor और CMS के साथ seamless integration संभव हो जाती है।
27
29
 
28
30
  ## फ़ाइल एम्बेडिंग कैसे काम करता है
29
31
 
@@ -64,6 +64,53 @@ export default firstDictionary;
64
64
  }
65
65
  ```
66
66
 
67
+ ### Nest के साथ संदर्भित करना
68
+
69
+ अब एक और content module बनाएं जो `nest` फ़ंक्शन का उपयोग करके उपरोक्त content को संदर्भित करे। आप संपूर्ण content या किसी विशिष्ट nested value को संदर्भित कर सकते हैं:
70
+
71
+ ```typescript fileName="secondDictionary.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
72
+ import { nest, type Dictionary } from "intlayer";
73
+
74
+ const myNestingContent = {
75
+ key: "key_of_my_second_dictionary",
76
+ content: {
77
+ // संपूर्ण dictionary को संदर्भित करता है:
78
+ fullNestedContent: nest("key_of_my_first_dictionary"),
79
+ // किसी विशिष्ट nested value को संदर्भित करता है:
80
+ partialNestedContent: nest(
81
+ "key_of_my_first_dictionary",
82
+ "subContent.contentNumber"
83
+ ),
84
+ },
85
+ } satisfies Dictionary;
86
+
87
+ export default myNestingContent;
88
+ ```
89
+
90
+ ```json fileName="secondDictionary.content.json" contentDeclarationFormat="json"
91
+ {
92
+ "$schema": "https://intlayer.org/schema.json",
93
+ "key": "key_of_my_second_dictionary",
94
+ "content": {
95
+ "fullNestedContent": {
96
+ "nodeType": "nested",
97
+ "nested": {
98
+ "dictionaryKey": "key_of_my_first_dictionary"
99
+ }
100
+ },
101
+ "partialNestedContent": {
102
+ "nodeType": "nested",
103
+ "nested": {
104
+ "dictionaryKey": "key_of_my_first_dictionary",
105
+ "path": "subContent.contentNumber"
106
+ }
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ दूसरे पैरामीटर के रूप में, आप उस content के भीतर किसी nested value का पथ निर्दिष्ट कर सकते हैं। जब कोई पथ प्रदान नहीं किया जाता है, तो संदर्भित dictionary की संपूर्ण content वापस की जाती है।
113
+
67
114
  ## नेस्टिंग सेट करना
68
115
 
69
116
  <Tabs group="framework">
@@ -258,36 +305,6 @@ document.getElementById("nested")!.textContent = content.partialNestedContent;
258
305
  </Tab>
259
306
  </Tabs>
260
307
 
261
- ## React Intlayer के साथ नेस्टिंग का उपयोग करना
262
-
263
- React कंपोनेंट में नेस्टेड सामग्री का उपयोग करने के लिए, `react-intlayer` पैकेज से `useIntlayer` हुक का उपयोग करें। यह हुक निर्दिष्ट कुंजी के आधार पर सही सामग्री प्राप्त करता है। इसका उपयोग करने का एक उदाहरण यहां दिया गया है:
264
-
265
- ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
266
- import type { FC } from "react";
267
- import { useIntlayer } from "react-intlayer";
268
-
269
- const NestComponent: FC = () => {
270
- const { fullNestedContent, partialNestedContent } = useIntlayer(
271
- "key_of_my_second_dictionary"
272
- );
273
-
274
- return (
275
- <div>
276
- <p>
277
- Full Nested Content: {JSON.stringify(fullNestedContent)}
278
- {/* आउटपुट: {"content": "content", "subContent": {"contentNumber": 0, "contentString": "string"}} */}
279
- </p>
280
- <p>
281
- Partial Nested Value: {partialNestedContent}
282
- {/* आउटपुट: 0 */}
283
- </p>
284
- </div>
285
- );
286
- };
287
-
288
- export default NestComponent;
289
- ```
290
-
291
308
  ## अतिरिक्त संसाधन
292
309
 
293
310
  कॉन्फ़िगरेशन और उपयोग पर अधिक विस्तृत जानकारी के लिए, निम्नलिखित संसाधनों का संदर्भ लें: