@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 | İçerik gösterimini izleyin ve A/B testleri çalıştırın
5
+ description: "@intlayer/analytics'in sayfa/yerel ayar görünümlerini ve içerik gösterimini nasıl izlediğini ve Intlayer içeriğiniz üzerinde A/B testleri çalıştırmak için onu nasıl kullanacağınızı keşfedin."
6
+ keywords:
7
+ - Analytics
8
+ - A/B Testi
9
+ - Hedef Kitle (Audience)
10
+ - Uluslararasılaştırma (Internationalization)
11
+ - Dokümantasyon
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 paketi, provider/node düzeyinde izleme, A/B testi, gösterge paneli"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Intlayer Analytics Dokümantasyonu
28
+
29
+ `@intlayer/analytics`, ziyaretçilerinize **gerçekte hangi içeriğin gösterildiğini** (hangi sayfanın, hangi yerel ayarda (locale) ve çevrilmiş içeriğin hangi belirli parçasının) size bildiren isteğe bağlı bir yardımcı pakettir, böylece hedef kitlenizi anlayabilir ve **içerik üzerinde A/B testleri** yürütebilirsiniz.
30
+
31
+ ## İçindekiler
32
+
33
+ <TOC/>
34
+
35
+ ---
36
+
37
+ ## Neleri İzler
38
+
39
+ `@intlayer/analytics` üç tür anonim olayı toplu olarak işler (batch):
40
+
41
+ | Olay | Nerede yakalanır | Size ne anlatır |
42
+ | ------------------ | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
43
+ | `page_view` | Sağlayıcı düzeyinde (`IntlayerProvider`) | Bir oturumun (session) ilk yüklemede, rota değişikliğinde veya yerel ayar değişiminde hangi sayfayı ve yereli görüntülediği. |
44
+ | `content_exposure` | Düğüm düzeyinde (`useIntlayer` / eklentiler) | Hangi sözlük anahtarının / anahtar yolunun gerçekten çözümlenip görüntülendiği — ve, bir deneyin parçasıysa, hangi **varyantın (variant)**. |
45
+ | `conversion` | `useConversion()` çağırdığınız her yerde | Oturumun maruz kaldığı A/B varyantına atfedilen (attributed) bir ulaşılan hedef (kayıt, tıklama, satın alma...). |
46
+
47
+ Olaylar bellekte toplanır ve **yaklaşık her 20 saniyede bir tek bir toplu istek (batch request)** olarak gönderilir — asla her tuş vuruşunda veya oluşturmada (render) değil — bu nedenle analitik, ilk oluşturma süresini asla etkilemez veya her etkileşim başına bir istek eklemez.
48
+
49
+ ## İçerikte A/B Testini Nasıl Destekler
50
+
51
+ Intlayer zaten içerik [Varyantları (Variants)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dynamic_dictionaries/index.md) (örneğin bir `control` ve bir `black_friday` varyantına sahip bir `hero-banner` sözlüğü) bildirmenize izin verir. `@intlayer/analytics` bu döngüyü tamamlar:
52
+
53
+ 1. `getVariant(experimentKey, variants)` her anonim oturumu deterministik olarak bir varyanta atar — oturum kimliğinin ve deney anahtarının (experiment key) saf bir işlevidir (pure function), bu nedenle atama **tüm oturum boyunca kararlıdır** ve ilk oluşturmadan önce **sunucu gidiş-dönüşü (server round-trip) gerektirmez** (titreme yok, düzen kayması (layout shift) yok).
54
+ 2. Her `content_exposure` olayı gösterilen `variant` bilgisini taşır.
55
+ 3. `useConversion()`, bir hedefi (örneğin `"cta_click"`) o varyanta atfetmenize (attribute) olanak tanır.
56
+ 4. Gösterge panelindeki deney sonuçları (experiment results) uç noktası, istatistiksel anlamlılık (z-testi) dahil olmak üzere varyant başına dönüşüm oranlarını (conversion rates) karşılaştırır.
57
+
58
+ ## Kurulum
59
+
60
+ `@intlayer/analytics` **eş düzey, isteğe bağlı (peer, optional)** bir bağımlılıktır — bir çerçeve (framework) paketi tarafından asla otomatik olarak kurulmaz. `intlayer`'ın yanına ekleyin:
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
+ Kurmazsanız, her entegrasyon noktası etkisiz bir işlem (no-op) olarak çözülür — aşağıdaki [Kurulmadığında sıfır maliyet](#kurulmadiginda-sifir-maliyet) bölümüne bakın.
79
+
80
+ ## Yapılandırma
81
+
82
+ Analytics, **mevcut `editor` yapılandırma bloğunu yeniden kullanır** — doldurulacak ayrı bir `analytics` yapılandırma şeması yoktur:
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", // Analytics veri alma uç noktası (ingestion endpoint) olarak da kullanılır
90
+ clientId: "your-client-id", // Analytics proje anahtarı olarak da kullanılır
91
+ clientSecret: "your-client-secret",
92
+ },
93
+ };
94
+
95
+ export default config;
96
+ ```
97
+
98
+ - `editor.backendURL` — analitik olaylarının gönderildiği temel URL (`POST {backendURL}/api/analytics/events`).
99
+ - `editor.clientId` — yutulan her olaya atfedilen genel proje anahtarı. Aynı zamanda bir **etkinleştirme anahtarı (enable switch)** işlevi görür: `clientId` yapılandırılana kadar analizler tamamen devre dışı bırakılır (ve ölü kod olarak atılır (tree-shaken), aşağıya bakın).
100
+
101
+ Intlayer'ı kendi başınıza barındırıyorsanız (self-host), analiz otomatik olarak `editor.backendURL`'yi paylaştığı için kendi örneğinize (instance) işaret eder.
102
+
103
+ ## Çerçeve (Framework) Desteği
104
+
105
+ Analytics, `react-intlayer`'dan paylaşılan `IntlayerProvider`'a bağlanmıştır, bu nedenle bugün bu sağlayıcının kullanıldığı her yerde mevcuttur:
106
+
107
+ | Çerçeve (Framework) | Durum |
108
+ | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
109
+ | React | ✅ Mevcut |
110
+ | Next.js (`next-intlayer`) | ✅ Mevcut (`react-intlayer` aracılığıyla) |
111
+ | React Native / Expo (`react-native-intlayer`) | ✅ Mevcut (`react-intlayer` aracılığıyla) |
112
+ | Vue, Svelte, Angular, Solid, Preact, Lit, Astro, Vanilla | 🚧 Planlandı — `@intlayer/editor` yayım desenini izleyen, aynı istemci, sağlayıcı düzeyinde bağlamalar (bindings) |
113
+
114
+ ## Kullanım
115
+
116
+ ### Otomatik sağlayıcı (provider) düzeyinde izleme
117
+
118
+ Kod değişikliği gerekmez. `@intlayer/analytics` kurulduktan ve `editor.clientId` yapılandırıldıktan sonra `IntlayerProvider` otomatik olarak:
119
+
120
+ - mount edildiğinde (bağlandığında) analiz istemcisini başlatır,
121
+ - ilk yüklemede bir `page_view` kaydeder,
122
+ - her yerel ayar değişikliğinde bir `page_view` kaydeder,
123
+ - ~20s boşaltma (flush) döngüsünü başlatır ve unmount / sekme kapatıldığında (tab close) kalan tüm olayları boşaltır (`navigator.sendBeacon` aracılığıyla, `fetch(..., { keepalive: true })` işlevine geri dönerek (fallback)).
124
+
125
+ ### Otomatik düğüm (node) düzeyinde izleme
126
+
127
+ `useIntlayer` görüntüleme için bir içerik parçasını her çözümlediğinde, yorumlayıcı (interpreter) o tam `dictionaryKey` + anahtar yolu (key path) + yerel ayar (locale) için bir `content_exposure` olayı bildirir — yine, hiçbir kod değişikliği gerekmez. Aynı düğümün bir boşaltma penceresi (flush window) içindeki tekrarlanan gösterimleri bir `count` (sayım) ile tek bir olayda birleştirilir (coalesced), bu nedenle 50 kez yeniden oluşturulan (re-render) bir liste 50 olay göndermez.
128
+
129
+ ### A/B testleri için dönüşümleri izleme
130
+
131
+ Bir oturumun (session) gördüğü varyanta bir hedef atfetmek için `useConversion()` kullanın:
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
+ Başlayın
150
+ </button>
151
+ );
152
+ };
153
+ ```
154
+
155
+ ### Bir varyantı istemci tarafında çözümleme (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
+ ## Gizlilik ve Performans
168
+
169
+ - **Tasarım gereği anonim**: Oturumlar dönen (rotating) bir id ile tanımlanır; arka uç (backend) yalnızca o kimliğin bir **SHA-256 karmasını (hash)** saklar — asla ham id'yi ve asla bir IP adresini saklamaz.
170
+ - **Konum kabadır (coarse)**: Yalnızca CDN coğrafi konum başlıklarından (geolocation headers) (`cf-ipcountry`, `x-vercel-ip-country`, ...) elde edilen bir ülke kodu — hiçbir IP okunmaz veya saklanmaz.
171
+ - **URL'ler arama parametrelerini varsayılan olarak hariç tutar**, bu nedenle sorgu dizeleri (query strings) asla yakalanmaz.
172
+ - **Örnekleme (Sampling)**: `sampleRate`, trafiği yüksek uygulamalarda içerik gösterimi olaylarının yalnızca bir kısmını saklamanıza olanak tanır.
173
+ - **Toplu İşleme (Batched)**: Yaklaşık her 20 saniyede bir istek (`flushInterval`) veya arabellek (buffer) dolarsa daha erken (`maxBufferSize`) — hiçbir zaman olay başına bir istek değil.
174
+
175
+ ### Kurulmadığında sıfır maliyet (Zero-cost when not installed)
176
+
177
+ `@intlayer/analytics`, `@intlayer/editor` ile tamamen aynı isteğe bağlı bağımlılık desenini izler:
178
+
179
+ - Her entegrasyon noktası, paketi **`try/catch` içine sarılmış dinamik bir `import()`** aracılığıyla yükler — `@intlayer/analytics`'i hiç kurmayan bir uygulama hiçbir zaman paket boyutu veya çalışma zamanı (runtime) maliyeti ödemez ve hiçbir zaman bir hata görmez;
180
+ - `editor.clientId` yapılandırılmadığında `@intlayer/config` tarafından otomatik olarak `'false'` olarak ayarlanan derleme zamanı (compile-time) ortam değişkeni (`INTLAYER_ANALYTICS_ENABLED`), paketleyicilerin (bundlers) tüm entegrasyonu **ölü kod olarak elemesini (dead-code-eliminate)** sağlar;
181
+ - Analytics, Intlayer düzenleyicisi (editor)/CMS önizleme (preview) iframe'i içinde devre dışı bırakılır, böylece düzenleyici oturumları (editor sessions) hiçbir zaman gerçek trafik olarak sayılmaz.
182
+
183
+ ## Gösterge Paneli (Dashboard): Analytics sayfası
184
+
185
+ Projeniz olayları topladıktan sonra, [Intlayer gösterge paneli (dashboard)](https://app.intlayer.org/analytics) içindeki **Analytics** sayfası (bir proje seçildikten sonra kenar çubuğunda (sidebar) görünür) şunları gösterir:
186
+
187
+ - **Aktif kullanıcılar** — seçilen hareketli penceredeki (7 / 30 / 90 gün) benzersiz (distinct) ziyaretçiler.
188
+ - **Bugünkü kullanıcılar** ve **son 7 gündeki kullanıcılar**.
189
+ - Seçili pencere boyunca **Sayfa görüntülemeleri (Page views)**.
190
+ - Günlük tekil ziyaretçilerin bir **gelişim grafiği (evolution graph)**.
191
+ - Hedef kitlenizi yerel ayar ve ülkeye göre sıralayan **Yerel Ayarlar (Locales)** ve **Konum (Location)** döküm sekmeleri.
192
+
193
+ ## Arka Uç API Referansı (Backend API reference)
194
+
195
+ Tüm okuma uç noktaları (read endpoints) kimlik doğrulama gerektirir; veri alımı (ingestion) geneldir (public) ve gövdedeki `clientId` tarafından ilişkilendirilir (attributed).
196
+
197
+ | Yöntem | Uç Nokta (Endpoint) | Açıklama |
198
+ | ------ | ------------------------------------------- | ----------------------------------------------------------------------------------- |
199
+ | `POST` | `/api/analytics/events` | Bir dizi olayı içeri al (genel, gövdede `clientId` tarafından atfedilir). |
200
+ | `GET` | `/api/analytics/overview` | Kimliği doğrulanmış proje için sayfa/yerel ayar toplamları. |
201
+ | `GET` | `/api/analytics/audience?days=30` | Tekil ziyaretçiler, sayfa görünümleri, günlük dizi, yerel + ülke dökümleri. |
202
+ | `GET` | `/api/analytics/content-stats` | İçerik başına gösterim toplamları (sözlük anahtarı / yolu / yerele göre gruplanır). |
203
+ | `GET` | `/api/analytics/experiments/:experimentKey` | Bir A/B deneyi için varyant başına dönüşüm oranları ve istatistiksel anlamlılık. |
204
+
205
+ Bunları [CMS SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_CMS.md) ile programatik olarak da çağırabilirsiniz:
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
+ ## Faydalı bağlantılar (Useful links)
217
+
218
+ - [Dinamik Sözlükler - Koleksiyonlar ve Varyantlar (Dynamic Dictionaries)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dynamic_dictionaries/index.md)
219
+ - [Intlayer CMS - CMS SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_CMS.md)
220
+ - [Intlayer Görsel Düzenleyici (Visual Editor)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_visual_editor.md)
221
+ - [Yapılandırma Referansı (Configuration Reference)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md)
222
+ - [Kendi Başına Barındırma (Self-Hosting) Kılavuzu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/self_hosting.md)
@@ -75,11 +75,30 @@ v7'de, `fill` komutunun davranışı güncellenmiştir:
75
75
 
76
76
  Başka bir dosyaya yazmak için bir yol seçeneği kullanırken, doldurma mekanizması içerik deklarasyon dosyaları arasında _ana-köle_ ilişkisi aracılığıyla çalışır. Ana (master) dosya gerçeğin kaynağı olarak hizmet eder ve güncellendiğinde, Intlayer bu değişiklikleri otomatik olarak yol tarafından belirtilen türetilmiş (doldurulmuş) deklarasyon dosyalarına uygular.
77
77
 
78
- # Otomatik Doldurma İçerik Beyan Dosyası Çevirileri
78
+ ### Locale Başına Özelleştirme
79
79
 
80
- **Otomatik doldurma içerik beyan dosyaları**, geliştirme akışınızı hızlandırmanın bir yoludur.
80
+ Bir nesne kullanarak her locale için davranışı özelleştirebilirsiniz:
81
81
 
82
- Otomatik doldurma mekanizması, içerik beyan dosyaları arasında bir _ana-uydu_ ilişkisi üzerinden çalışır. Ana (master) dosya güncellendiğinde, Intlayer bu değişiklikleri türetilmiş (otomatik doldurulmuş) beyan dosyalarına otomatik olarak uygular.
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], // İngilizce için mevcut dosyayı doldur ve düzenle, Fransızca için ayrı dosya oluştur, İspanyolca için doldurmayı devre dışı bırak önerilir - t fonksiyonunuzda '{ en: string; xxx }' türünde 'pl' özelliğinin eksik olmasını önlemek için
89
+ },
90
+ },
91
+ dictionary: {
92
+ fill: {
93
+ en: true, // İngilizce için mevcut dosyayı doldur ve düzenle
94
+ fr: "./translations/fr.json", // Fransızca için ayrı dosya oluştur
95
+ es: false, // İspanyolca için doldurmayı devre dışı bırak
96
+ },
97
+ },
98
+ };
99
+ ```
100
+
101
+ Bu, aynı proje içinde farklı locale'ler için farklı doldurma davranışlarına sahip olmanızı sağlar.
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: "Bu bir içerik örneğidir",
111
+ contentExample: "This is an example of content",
93
112
  },
94
113
  } satisfies Dictionary;
95
114
 
96
115
  export default exampleContent;
97
116
  ```
98
117
 
99
- İşte `autoFill` talimatını kullanan bir [her dil için içerik beyan dosyası](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/per_locale_file.md).
118
+ `fill` talimatını kullanan [locale başına içerik bildirim dosyası](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/per_locale_file.md).
100
119
 
101
- Sonra, aşağıdaki komutu çalıştırdığınızda:
120
+ Daha sonra, aşağıdaki komutu çalıştırdığınızda:
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, ana dosyada henüz beyan edilmemiş tüm yerelleri doldurarak, türetilmiş beyan dosyasını `src/components/example/example.content.json` konumunda otomatik olarak oluşturacaktır.
138
+ Intlayer, `src/components/example/example.content.json` adresinde türetilmiş bildirim dosyasını otomatik olarak oluşturacak ve ana dosyada zaten bildirilmemiş olan tüm locale'leri dolduracaktır.
120
139
 
121
140
  ```json5 fileName="src/components/example/example.content.json"
122
141
  {
@@ -133,7 +152,7 @@ Intlayer, ana dosyada henüz beyan edilmemiş tüm yerelleri doldurarak, türeti
133
152
  }
134
153
  ```
135
154
 
136
- Daha sonra, her iki beyan dosyası tek bir sözlükte birleştirilecek ve standart `useIntlayer("example")` hook'u (react) / composable (vue) kullanılarak erişilebilir olacaktır.
155
+ Bundan sonra, her iki bildirim dosyası da standart `useIntlayer("example")` hook'u (react) / composable (vue) kullanılarak erişilebilen tek bir sözlükte birleştirilecektir.
137
156
 
138
157
  ## Genel Konfigürasyon
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: Yapılandırma (Configuration)
5
5
  description: Uygulamanız için Intlayer'ı nasıl yapılandıracağınızı öğrenin. Intlayer'ı ihtiyaçlarınıza göre özelleştirmek için çeşitli ayarları ve seçenekleri anlayın.
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` üç durumlu hale getirildi: ayarlanmamış (auto), `true`, `false`"
17
20
  - version: 9.0.0
18
21
  date: 2026-07-11
19
22
  changes: "`analytics` yapılandırması eklendi"
@@ -235,6 +238,19 @@ const config: IntlayerConfig = {
235
238
  */
236
239
  mode: "prefix-no-default",
237
240
 
241
+ /**
242
+ * Intlayer yerel ayar yönlendirme proxy'sini (middleware) etkinleştirir.
243
+ * dev, preview ve SSR ortamlarında yerel ayar tespiti, yönlendirme ve yeniden yazmayı yönetir.
244
+ * - ayarlanmamış (auto): dev ve preview sunucuları, çerezlerde ve başlıklarda saklanan
245
+ * yerel ayarı yok sayarak yönlendirmeyi URL odaklı tutar. Önekler yine çözümlenir,
246
+ * yerel ayar yine kalıcı hale getirilir ve Accept-Language tespiti yine geçerlidir.
247
+ * Üretimde `true` gibi davranır.
248
+ * - true: her ortamda tam davranış.
249
+ * - false: yerel ayar yönlendirmesi yok.
250
+ * Varsayılan: undefined (auto)
251
+ */
252
+ enableProxy: undefined,
253
+
238
254
  /**
239
255
  * Kullanıcının seçtiği dilin nerede saklanacağı.
240
256
  * Seçenekler: 'cookie', 'localStorage', 'sessionStorage', 'header' veya bunların bir dizisi.
@@ -713,13 +729,14 @@ Analitik kesinlikle opt-in'dir: `analytics.enabled` açıkça `true` olarak ayar
713
729
 
714
730
  URL yapısı, dil saklama ve ara yazılım yönetimi dahil olmak üzere yönlendirme davranışını kontrol eden ayarlar.
715
731
 
716
- | Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
717
- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
718
- | `mode` | Dil yönetimi için URL yönlendirme modu. | `'prefix-no-default'` &#124; <br/> `'prefix-all'` &#124; <br/> `'no-prefix'` &#124; <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) veya `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: dil başka yollarla yönetilir. `'search-params'`: `/dashboard?locale=fr` | Tanımlama bilgisi (cookie) veya dil saklama yönetimini etkilemez. |
719
- | `storage` | İstemcide dilin saklanması için yapılandırma. | `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 }]` | Aşağıdaki Saklama Seçenekleri tablosuna bakın. |
720
- | `basePath` | Uygulama URL'leri için temel yol. | `string` | `''` | `'/my-app'` | Uygulama `https://example.com/my-app` adresindeyse, basePath `'/my-app'` olur ve URL'ler `https://example.com/my-app/en` şekline dönüşür. |
721
- | `rewrite` | Belirli yollar için varsayılan yönlendirme modunu geçersiz kılan özel URL yeniden yazma kuralları. Dinamik `[param]` parametrelerini destekler. | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | Aşağıdaki örneğe bakın | Yeniden yazma kuralları `mode` üzerinde önceliğe sahiptir.<br/>• Next.js ve Vite ile çalışır.<br/>• `getLocalizedUrl()` eşleşen kuralları otomatik olarak uygular.<br/>• Şuna bakın: [Özel URL Yeniden Yazmaları](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md). |
722
- | `domains` | Alan adı tabanlı yönlendirme için dilleri alan adı ana bilgisayar adlarıyla eşleştirir. Ayarlandığında, o dilin URL'leri bu alan adını temel (mutlak URL) olarak kullanır ve yola dil öneki eklenmez. | `Partial<Record<Locale, string>>` | `undefined` | `{ zh: 'intlayer.zh', fr: 'intlayer.org' }` | • Ana bilgisayar adına dahil edilmediğinde varsayılan protokol `https://`'dir.<br/>• Alan adının kendisi dili tanımladığı için `/zh/` öneki eklenmez.<br/>• `getLocalizedUrl('/', 'zh')`, `https://intlayer.zh/` döndürür. |
732
+ | Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
733
+ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
734
+ | `mode` | Dil yönetimi için URL yönlendirme modu. | `'prefix-no-default'` &#124; <br/> `'prefix-all'` &#124; <br/> `'no-prefix'` &#124; <br/> `'search-params'` | `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) veya `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: dil başka yollarla yönetilir. `'search-params'`: `/dashboard?locale=fr` | Tanımlama bilgisi (cookie) veya dil saklama yönetimini etkilemez. |
735
+ | `enableProxy` | Intlayer yerel ayar yönlendirme proxy'sini (middleware) etkinleştirir. | `boolean` &#124; <br/> `undefined` | `undefined` (auto) | `true` | Ayarlanmamış (auto): dev ve preview sunucuları çerezlerde/başlıklarda saklanan yerel ayarı yönlendirme kaynağı olarak yok sayar; önekler, kalıcılık ve `Accept-Language` tespiti yine geçerlidir. Üretimde `true` gibi davranır.<br/>• `true`: her yerde tam davranış.<br/>• `false`: yerel ayar yönlendirmesi yok. Next.js’te `intlayerProxy` middleware’i devre dışı geçiş haline gelir. |
736
+ | `storage` | İstemcide dilin saklanması için yapılandırma. | `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 }]` | Aşağıdaki Saklama Seçenekleri tablosuna bakın. |
737
+ | `basePath` | Uygulama URL'leri için temel yol. | `string` | `''` | `'/my-app'` | Uygulama `https://example.com/my-app` adresindeyse, basePath `'/my-app'` olur ve URL'ler `https://example.com/my-app/en` şekline dönüşür. |
738
+ | `rewrite` | Belirli yollar için varsayılan yönlendirme modunu geçersiz kılan özel URL yeniden yazma kuralları. Dinamik `[param]` parametrelerini destekler. | `Record<string, StrictModeLocaleMap<string>>` | `undefined` | Aşağıdaki örneğe bakın | • Yeniden yazma kuralları `mode` üzerinde önceliğe sahiptir.<br/>• Next.js ve Vite ile çalışır.<br/>• `getLocalizedUrl()` eşleşen kuralları otomatik olarak uygular.<br/>• Şuna bakın: [Özel URL Yeniden Yazmaları](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/custom_url_rewrites.md). |
739
+ | `domains` | Alan adı tabanlı yönlendirme için dilleri alan adı ana bilgisayar adlarıyla eşleştirir. Ayarlandığında, o dilin URL'leri bu alan adını temel (mutlak URL) olarak kullanır ve yola dil öneki eklenmez. | `Partial<Record<Locale, string>>` | `undefined` | `{ zh: 'intlayer.zh', fr: 'intlayer.org' }` | • Ana bilgisayar adına dahil edilmediğinde varsayılan protokol `https://`'dir.<br/>• Alan adının kendisi dili tanımladığı için `/zh/` öneki eklenmez.<br/>• `getLocalizedUrl('/', 'zh')`, `https://intlayer.zh/` döndürür. |
723
740
 
724
741
  **`rewrite` Örneği**:
725
742
 
@@ -25,6 +25,8 @@ author: aymericzip
25
25
 
26
26
  # Dosya İçeriği / Intlayer'da Dosyaları Gömme
27
27
 
28
+ Intlayer'da, `file` işlevi dış dosya içeriğini bir sözlüğe gömmeyi sağlar. Bu yaklaşım, Intlayer'ın kaynak dosyayı tanımasını sağlayarak Intlayer Visual Editor ve CMS ile kusursuz bir entegrasyon sağlar.
29
+
28
30
  ## Dosya Gömme Nasıl Çalışır
29
31
 
30
32
  Intlayer'da `file` fonksiyonu, harici dosya içeriğini bir sözlüğe gömmeyi sağlar. Bu yaklaşım, Intlayer'ın kaynak dosyayı tanımasını sağlar ve Intlayer Görsel Düzenleyici ve CMS ile sorunsuz entegrasyonu sağlar. Doğrudan `import`, `require` veya `fs` dosya okuma yöntemlerinden farklı olarak, `file` kullanmak dosyayı sözlükle ilişkilendirir ve Intlayer'ın dosya düzenlendiğinde içeriği dinamik olarak takip etmesine ve güncellemesine izin verir.
@@ -68,6 +68,53 @@ export default firstDictionary;
68
68
  }
69
69
  ```
70
70
 
71
+ ### Nest ile Referanslama
72
+
73
+ Şimdi, yukarıdaki içeriğe referans vermek için `nest` fonksiyonunu kullanan başka bir içerik modülü oluşturun. Tüm içeriğe veya belirli bir iç içe değere referans verebilirsiniz:
74
+
75
+ ```typescript fileName="secondDictionary.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
76
+ import { nest, type Dictionary } from "intlayer";
77
+
78
+ const myNestingContent = {
79
+ key: "key_of_my_second_dictionary",
80
+ content: {
81
+ // Tüm sözlüğe referans verir:
82
+ fullNestedContent: nest("key_of_my_first_dictionary"),
83
+ // Belirli bir iç içe değere referans verir:
84
+ partialNestedContent: nest(
85
+ "key_of_my_first_dictionary",
86
+ "subContent.contentNumber"
87
+ ),
88
+ },
89
+ } satisfies Dictionary;
90
+
91
+ export default myNestingContent;
92
+ ```
93
+
94
+ ```json fileName="secondDictionary.content.json" contentDeclarationFormat="json"
95
+ {
96
+ "$schema": "https://intlayer.org/schema.json",
97
+ "key": "key_of_my_second_dictionary",
98
+ "content": {
99
+ "fullNestedContent": {
100
+ "nodeType": "nested",
101
+ "nested": {
102
+ "dictionaryKey": "key_of_my_first_dictionary"
103
+ }
104
+ },
105
+ "partialNestedContent": {
106
+ "nodeType": "nested",
107
+ "nested": {
108
+ "dictionaryKey": "key_of_my_first_dictionary",
109
+ "path": "subContent.contentNumber"
110
+ }
111
+ }
112
+ }
113
+ }
114
+ ```
115
+
116
+ İkinci parametre olarak, bu içerik içinde iç içe bir değere giden yolu belirtebilirsiniz. Yol sağlanmadığında, referans verilen sözlüğün tüm içeriği döndürülür.
117
+
71
118
  ## İç İçe Yerleştirmeyi Ayarlama
72
119
 
73
120
  <Tabs group="framework">
@@ -262,36 +309,6 @@ document.getElementById("nested")!.textContent = content.partialNestedContent;
262
309
  </Tab>
263
310
  </Tabs>
264
311
 
265
- ## React Intlayer ile İç İçe Yerleştirmeyi Kullanma
266
-
267
- Bir React bileşeninde iç içe yerleştirilmiş içeriği kullanmak için, `react-intlayer` paketinden `useIntlayer` hook'unu kullanın. Bu hook, belirtilen anahtara göre doğru içeriği alır. İşte nasıl kullanılacağına dair bir örnek:
268
-
269
- ```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
270
- import type { FC } from "react";
271
- import { useIntlayer } from "react-intlayer";
272
-
273
- const NestComponent: FC = () => {
274
- const { fullNestedContent, partialNestedContent } = useIntlayer(
275
- "key_of_my_second_dictionary"
276
- );
277
-
278
- return (
279
- <div>
280
- <p>
281
- Tam İç İçe Yerleştirilmiş İçerik: {JSON.stringify(fullNestedContent)}
282
- {/* Çıktı: {"content": "content", "subContent": {"contentNumber": 0, "contentString": "string"}} */}
283
- </p>
284
- <p>
285
- Kısmi İç İçe Yerleştirilmiş Değer: {partialNestedContent}
286
- {/* Çıktı: 0 */}
287
- </p>
288
- </div>
289
- );
290
- };
291
-
292
- export default NestComponent;
293
- ```
294
-
295
312
  ## Ek Kaynaklar
296
313
 
297
314
  Yapılandırma ve kullanım hakkında daha detaylı bilgi için aşağıdaki kaynaklara başvurun: