@intlayer/docs 9.1.3 → 9.3.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 (482) hide show
  1. package/blog/ar/index.md +1 -1
  2. package/blog/ar/rag_powered_documentation_assistant.md +7 -0
  3. package/blog/de/index.md +1 -1
  4. package/blog/de/rag_powered_documentation_assistant.md +6 -0
  5. package/blog/en/index.md +1 -1
  6. package/blog/en-GB/index.md +1 -1
  7. package/blog/en-GB/rag_powered_documentation_assistant.md +6 -0
  8. package/blog/es/index.md +1 -1
  9. package/blog/es/rag_powered_documentation_assistant.md +7 -0
  10. package/blog/fr/i18n_meaning.md +7 -1
  11. package/blog/fr/index.md +1 -1
  12. package/blog/fr/list_i18n_technologies/frameworks/angular.md +5 -1
  13. package/blog/fr/rag_powered_documentation_assistant.md +6 -0
  14. package/blog/hi/index.md +1 -1
  15. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +119 -42
  16. package/blog/hi/rag_powered_documentation_assistant.md +7 -0
  17. package/blog/id/index.md +1 -1
  18. package/blog/id/rag_powered_documentation_assistant.md +6 -0
  19. package/blog/it/index.md +1 -1
  20. package/blog/it/rag_powered_documentation_assistant.md +6 -0
  21. package/blog/ja/index.md +1 -1
  22. package/blog/ja/rag_powered_documentation_assistant.md +7 -0
  23. package/blog/ko/index.md +1 -1
  24. package/blog/ko/list_i18n_technologies/frameworks/react.md +7 -7
  25. package/blog/ko/rag_powered_documentation_assistant.md +6 -0
  26. package/blog/pl/index.md +1 -1
  27. package/blog/pl/rag_powered_documentation_assistant.md +6 -0
  28. package/blog/pt/index.md +1 -1
  29. package/blog/pt/rag_powered_documentation_assistant.md +6 -0
  30. package/blog/ru/index.md +1 -1
  31. package/blog/ru/rag_powered_documentation_assistant.md +7 -0
  32. package/blog/tr/intlayer_with_react-intl.md +3 -1
  33. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +175 -42
  34. package/blog/tr/rag_powered_documentation_assistant.md +6 -0
  35. package/blog/uk/index.md +1 -1
  36. package/blog/uk/rag_powered_documentation_assistant.md +6 -0
  37. package/blog/vi/index.md +1 -1
  38. package/blog/vi/rag_powered_documentation_assistant.md +6 -0
  39. package/blog/zh/index.md +1 -1
  40. package/blog/zh/intlayer_with_i18next.md +87 -28
  41. package/blog/zh/intlayer_with_next-i18next.md +86 -29
  42. package/blog/zh/intlayer_with_next-intl.md +88 -28
  43. package/blog/zh/intlayer_with_react-i18next.md +87 -28
  44. package/blog/zh/intlayer_with_react-intl.md +88 -27
  45. package/blog/zh/intlayer_with_vue-i18n.md +117 -8
  46. package/blog/zh/rag_powered_documentation_assistant.md +6 -0
  47. package/dist/cjs/common.cjs +24 -1
  48. package/dist/cjs/common.cjs.map +1 -1
  49. package/dist/cjs/generated/blog.entry.cjs +58 -31
  50. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  51. package/dist/cjs/generated/docs.entry.cjs +265 -218
  52. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  53. package/dist/cjs/generated/frequentQuestions.entry.cjs +48 -21
  54. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  55. package/dist/cjs/generated/legal.entry.cjs +33 -6
  56. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  57. package/dist/esm/common.mjs +24 -1
  58. package/dist/esm/common.mjs.map +1 -1
  59. package/dist/esm/generated/blog.entry.mjs +58 -31
  60. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  61. package/dist/esm/generated/docs.entry.mjs +265 -218
  62. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  63. package/dist/esm/generated/frequentQuestions.entry.mjs +48 -21
  64. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  65. package/dist/esm/generated/legal.entry.mjs +33 -6
  66. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  67. package/dist/types/common.d.ts.map +1 -1
  68. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  69. package/dist/types/generated/docs.entry.d.ts +1 -0
  70. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  71. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  72. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  73. package/docs/ar/analytics.md +222 -0
  74. package/docs/ar/autoFill.md +28 -9
  75. package/docs/ar/bundle_optimization.md +58 -25
  76. package/docs/ar/configuration.md +25 -8
  77. package/docs/ar/dictionary/file.md +3 -1
  78. package/docs/ar/dictionary/nesting.md +47 -30
  79. package/docs/ar/formatters.md +148 -193
  80. package/docs/ar/intlayer_CMS.md +152 -0
  81. package/docs/ar/intlayer_with_angular_21.md +9 -9
  82. package/docs/ar/intlayer_with_nextjs_14.md +1 -28
  83. package/docs/ar/intlayer_with_nextjs_15.md +1 -33
  84. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +40 -83
  85. package/docs/ar/intlayer_with_solid_start.md +1078 -0
  86. package/docs/ar/intlayer_with_vite+vue.md +1 -3
  87. package/docs/ar/live-sync.md +4 -0
  88. package/docs/ar/packages/intlayer/getLocalizedUrl.md +26 -24
  89. package/docs/ar/packages/intlayer/getMultilingualUrls.md +4 -18
  90. package/docs/ar/packages/react-intlayer/useDictionary.md +4 -21
  91. package/docs/ar/packages/react-intlayer/useIntlayer.md +2 -2
  92. package/docs/ar/packages/vite-intlayer/exports.md +15 -0
  93. package/docs/ar/packages/vite-intlayer/intlayer.md +121 -6
  94. package/docs/ar/packages/vite-intlayer/intlayerPrune.md +70 -3
  95. package/docs/ar/releases/v9.md +0 -37
  96. package/docs/ar/self_hosting.md +46 -49
  97. package/docs/bn/bundle_optimization.md +58 -25
  98. package/docs/bn/configuration.md +25 -8
  99. package/docs/bn/intlayer_with_angular_21.md +9 -9
  100. package/docs/cs/bundle_optimization.md +58 -25
  101. package/docs/cs/configuration.md +25 -8
  102. package/docs/cs/intlayer_with_angular_21.md +9 -9
  103. package/docs/de/analytics.md +222 -0
  104. package/docs/de/autoFill.md +28 -9
  105. package/docs/de/bundle_optimization.md +58 -25
  106. package/docs/de/configuration.md +25 -8
  107. package/docs/de/dictionary/file.md +3 -1
  108. package/docs/de/dictionary/nesting.md +47 -31
  109. package/docs/de/formatters.md +208 -334
  110. package/docs/de/intlayer_CMS.md +66 -15
  111. package/docs/de/intlayer_with_angular_21.md +9 -9
  112. package/docs/de/intlayer_with_nestjs.md +11 -7
  113. package/docs/de/intlayer_with_nextjs_14.md +1 -28
  114. package/docs/de/intlayer_with_nextjs_15.md +1 -33
  115. package/docs/de/intlayer_with_solid_start.md +1078 -0
  116. package/docs/de/intlayer_with_vite+vue.md +1 -3
  117. package/docs/de/live-sync.md +4 -0
  118. package/docs/de/packages/intlayer/getLocalizedUrl.md +33 -25
  119. package/docs/de/packages/intlayer/getMultilingualUrls.md +4 -18
  120. package/docs/de/packages/react-intlayer/useDictionary.md +2 -5
  121. package/docs/de/packages/vite-intlayer/exports.md +15 -0
  122. package/docs/de/packages/vite-intlayer/intlayer.md +121 -6
  123. package/docs/de/packages/vite-intlayer/intlayerPrune.md +77 -4
  124. package/docs/de/releases/v9.md +0 -15
  125. package/docs/de/self_hosting.md +46 -50
  126. package/docs/en/bundle_optimization.md +51 -23
  127. package/docs/en/cli/doc-review.md +13 -2
  128. package/docs/en/configuration.md +24 -15
  129. package/docs/en/intlayer_with_angular_21.md +9 -9
  130. package/docs/en/intlayer_with_solid_start.md +1091 -0
  131. package/docs/en/intlayer_with_vite+solid.md +12 -0
  132. package/docs/en/live-sync.md +4 -0
  133. package/docs/en-GB/analytics.md +222 -0
  134. package/docs/en-GB/autoFill.md +26 -7
  135. package/docs/en-GB/bundle_optimization.md +58 -25
  136. package/docs/en-GB/configuration.md +25 -8
  137. package/docs/en-GB/dictionary/file.md +2 -0
  138. package/docs/en-GB/dictionary/nesting.md +64 -205
  139. package/docs/en-GB/formatters.md +146 -181
  140. package/docs/en-GB/intlayer_CMS.md +152 -0
  141. package/docs/en-GB/intlayer_with_angular_21.md +9 -9
  142. package/docs/en-GB/intlayer_with_nestjs.md +6 -2
  143. package/docs/en-GB/intlayer_with_nextjs_14.md +0 -27
  144. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -33
  145. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +40 -82
  146. package/docs/en-GB/intlayer_with_solid_start.md +1078 -0
  147. package/docs/en-GB/intlayer_with_vite+vue.md +1 -3
  148. package/docs/en-GB/live-sync.md +4 -0
  149. package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +30 -22
  150. package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +16 -48
  151. package/docs/en-GB/packages/vite-intlayer/exports.md +15 -0
  152. package/docs/en-GB/packages/vite-intlayer/intlayer.md +121 -6
  153. package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +77 -4
  154. package/docs/en-GB/self_hosting.md +60 -49
  155. package/docs/es/analytics.md +222 -0
  156. package/docs/es/autoFill.md +28 -9
  157. package/docs/es/bundle_optimization.md +58 -25
  158. package/docs/es/configuration.md +24 -7
  159. package/docs/es/dictionary/file.md +3 -1
  160. package/docs/es/dictionary/nesting.md +47 -30
  161. package/docs/es/formatters.md +114 -168
  162. package/docs/es/intlayer_CMS.md +35 -10
  163. package/docs/es/intlayer_with_angular_21.md +9 -9
  164. package/docs/es/intlayer_with_nextjs_14.md +1 -28
  165. package/docs/es/intlayer_with_nextjs_15.md +1 -33
  166. package/docs/es/intlayer_with_solid_start.md +1078 -0
  167. package/docs/es/live-sync.md +4 -0
  168. package/docs/es/packages/intlayer/getLocalizedUrl.md +31 -23
  169. package/docs/es/packages/intlayer/getMultilingualUrls.md +4 -18
  170. package/docs/es/packages/vite-intlayer/exports.md +15 -0
  171. package/docs/es/packages/vite-intlayer/intlayer.md +121 -6
  172. package/docs/es/packages/vite-intlayer/intlayerPrune.md +69 -2
  173. package/docs/es/releases/v9.md +0 -15
  174. package/docs/es/self_hosting.md +46 -49
  175. package/docs/fr/analytics.md +222 -0
  176. package/docs/fr/autoFill.md +27 -8
  177. package/docs/fr/bundle_optimization.md +58 -25
  178. package/docs/fr/configuration.md +25 -8
  179. package/docs/fr/dictionary/file.md +2 -0
  180. package/docs/fr/dictionary/nesting.md +37 -184
  181. package/docs/fr/formatters.md +95 -236
  182. package/docs/fr/intlayer_CMS.md +66 -15
  183. package/docs/fr/intlayer_with_angular_21.md +9 -9
  184. package/docs/fr/intlayer_with_nextjs_14.md +1 -28
  185. package/docs/fr/intlayer_with_nextjs_15.md +1 -33
  186. package/docs/fr/intlayer_with_solid_start.md +1078 -0
  187. package/docs/fr/live-sync.md +4 -0
  188. package/docs/fr/packages/intlayer/getLocalizedUrl.md +37 -27
  189. package/docs/fr/packages/intlayer/getMultilingualUrls.md +18 -20
  190. package/docs/fr/packages/vite-intlayer/exports.md +15 -0
  191. package/docs/fr/packages/vite-intlayer/intlayer.md +121 -6
  192. package/docs/fr/packages/vite-intlayer/intlayerPrune.md +77 -4
  193. package/docs/fr/releases/v9.md +0 -15
  194. package/docs/fr/self_hosting.md +46 -49
  195. package/docs/hi/analytics.md +222 -0
  196. package/docs/hi/autoFill.md +28 -9
  197. package/docs/hi/bundle_optimization.md +58 -25
  198. package/docs/hi/configuration.md +25 -8
  199. package/docs/hi/dictionary/file.md +3 -1
  200. package/docs/hi/dictionary/nesting.md +47 -30
  201. package/docs/hi/formatters.md +233 -334
  202. package/docs/hi/how_works_intlayer.md +3 -1
  203. package/docs/hi/intlayer_CMS.md +152 -0
  204. package/docs/hi/intlayer_with_angular_21.md +9 -9
  205. package/docs/hi/intlayer_with_nestjs.md +11 -7
  206. package/docs/hi/intlayer_with_nextjs_14.md +1 -28
  207. package/docs/hi/intlayer_with_nextjs_15.md +1 -33
  208. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +40 -83
  209. package/docs/hi/intlayer_with_solid_start.md +1077 -0
  210. package/docs/hi/intlayer_with_vite+preact.md +56 -49
  211. package/docs/hi/intlayer_with_vite+react.md +48 -41
  212. package/docs/hi/intlayer_with_vite+solid.md +32 -41
  213. package/docs/hi/intlayer_with_vite+vue.md +49 -44
  214. package/docs/hi/live-sync.md +4 -0
  215. package/docs/hi/packages/intlayer/getLocalizedUrl.md +26 -24
  216. package/docs/hi/packages/intlayer/getMultilingualUrls.md +4 -18
  217. package/docs/hi/packages/next-intlayer/t.md +33 -1
  218. package/docs/hi/packages/react-intlayer/useDictionary.md +4 -21
  219. package/docs/hi/packages/vite-intlayer/exports.md +15 -0
  220. package/docs/hi/packages/vite-intlayer/intlayer.md +121 -6
  221. package/docs/hi/packages/vite-intlayer/intlayerPrune.md +78 -5
  222. package/docs/hi/plugins/sync-json.md +9 -9
  223. package/docs/hi/releases/v9.md +0 -15
  224. package/docs/hi/self_hosting.md +38 -51
  225. package/docs/id/analytics.md +223 -0
  226. package/docs/id/bundle_optimization.md +58 -25
  227. package/docs/id/configuration.md +25 -8
  228. package/docs/id/dictionary/nesting.md +37 -184
  229. package/docs/id/formatters.md +208 -305
  230. package/docs/id/intlayer_CMS.md +164 -0
  231. package/docs/id/intlayer_with_angular_21.md +9 -9
  232. package/docs/id/intlayer_with_nextjs_14.md +1 -26
  233. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +70 -63
  234. package/docs/id/intlayer_with_solid_start.md +1078 -0
  235. package/docs/id/live-sync.md +4 -0
  236. package/docs/id/packages/intlayer/getMultilingualUrls.md +4 -18
  237. package/docs/id/packages/react-intlayer/useIntlayer.md +2 -2
  238. package/docs/id/packages/vite-intlayer/exports.md +15 -0
  239. package/docs/id/packages/vite-intlayer/intlayer.md +121 -6
  240. package/docs/id/packages/vite-intlayer/intlayerPrune.md +78 -5
  241. package/docs/id/releases/v9.md +12 -0
  242. package/docs/id/self_hosting.md +61 -50
  243. package/docs/it/analytics.md +222 -0
  244. package/docs/it/autoFill.md +27 -8
  245. package/docs/it/bundle_optimization.md +58 -25
  246. package/docs/it/configuration.md +25 -8
  247. package/docs/it/dictionary/file.md +3 -1
  248. package/docs/it/dictionary/nesting.md +47 -30
  249. package/docs/it/formatters.md +114 -168
  250. package/docs/it/intlayer_CMS.md +66 -15
  251. package/docs/it/intlayer_with_angular_21.md +9 -9
  252. package/docs/it/intlayer_with_nestjs.md +11 -7
  253. package/docs/it/intlayer_with_nextjs_14.md +1 -28
  254. package/docs/it/intlayer_with_nextjs_15.md +1 -33
  255. package/docs/it/intlayer_with_solid_start.md +1078 -0
  256. package/docs/it/intlayer_with_vite+vue.md +1 -3
  257. package/docs/it/live-sync.md +4 -0
  258. package/docs/it/packages/intlayer/getLocalizedUrl.md +34 -26
  259. package/docs/it/packages/intlayer/getMultilingualUrls.md +4 -18
  260. package/docs/it/packages/react-intlayer/useDictionary.md +4 -21
  261. package/docs/it/packages/vite-intlayer/exports.md +15 -0
  262. package/docs/it/packages/vite-intlayer/intlayer.md +121 -6
  263. package/docs/it/packages/vite-intlayer/intlayerPrune.md +77 -4
  264. package/docs/it/releases/v9.md +0 -15
  265. package/docs/it/self_hosting.md +60 -49
  266. package/docs/ja/analytics.md +222 -0
  267. package/docs/ja/autoFill.md +28 -9
  268. package/docs/ja/bundle_optimization.md +58 -25
  269. package/docs/ja/configuration.md +25 -8
  270. package/docs/ja/dictionary/content_file.md +15 -7
  271. package/docs/ja/dictionary/file.md +3 -1
  272. package/docs/ja/dictionary/nesting.md +47 -30
  273. package/docs/ja/formatters.md +133 -187
  274. package/docs/ja/intlayer_visual_editor.md +3 -1
  275. package/docs/ja/intlayer_with_angular_21.md +6 -6
  276. package/docs/ja/intlayer_with_nestjs.md +2 -12
  277. package/docs/ja/intlayer_with_nextjs_14.md +1 -28
  278. package/docs/ja/intlayer_with_nextjs_15.md +1 -33
  279. package/docs/ja/intlayer_with_react_router_v7.md +456 -20
  280. package/docs/ja/intlayer_with_solid_start.md +1078 -0
  281. package/docs/ja/intlayer_with_vite+preact.md +73 -41
  282. package/docs/ja/intlayer_with_vite+vue.md +1 -3
  283. package/docs/ja/live-sync.md +4 -0
  284. package/docs/ja/mcp_server.md +3 -9
  285. package/docs/ja/packages/intlayer/getLocalizedUrl.md +26 -24
  286. package/docs/ja/packages/intlayer/getMultilingualUrls.md +3 -17
  287. package/docs/ja/packages/vite-intlayer/exports.md +15 -0
  288. package/docs/ja/packages/vite-intlayer/intlayer.md +121 -6
  289. package/docs/ja/packages/vite-intlayer/intlayerPrune.md +79 -6
  290. package/docs/ja/releases/v9.md +12 -0
  291. package/docs/ja/self_hosting.md +46 -50
  292. package/docs/ko/analytics.md +222 -0
  293. package/docs/ko/autoFill.md +28 -9
  294. package/docs/ko/bundle_optimization.md +58 -25
  295. package/docs/ko/configuration.md +25 -8
  296. package/docs/ko/dictionary/file.md +3 -1
  297. package/docs/ko/dictionary/nesting.md +47 -30
  298. package/docs/ko/formatters.md +133 -187
  299. package/docs/ko/intlayer_with_angular_21.md +9 -9
  300. package/docs/ko/intlayer_with_lynx+react.md +133 -39
  301. package/docs/ko/intlayer_with_nextjs_14.md +1 -28
  302. package/docs/ko/intlayer_with_nextjs_15.md +1 -33
  303. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +40 -188
  304. package/docs/ko/intlayer_with_solid_start.md +1078 -0
  305. package/docs/ko/intlayer_with_vite+preact.md +57 -23
  306. package/docs/ko/intlayer_with_vite+vue.md +1 -3
  307. package/docs/ko/live-sync.md +4 -0
  308. package/docs/ko/packages/intlayer/getLocalizedUrl.md +26 -24
  309. package/docs/ko/packages/intlayer/getMultilingualUrls.md +4 -18
  310. package/docs/ko/packages/vite-intlayer/exports.md +15 -0
  311. package/docs/ko/packages/vite-intlayer/intlayer.md +121 -6
  312. package/docs/ko/packages/vite-intlayer/intlayerPrune.md +79 -6
  313. package/docs/ko/releases/v9.md +12 -0
  314. package/docs/ko/self_hosting.md +60 -49
  315. package/docs/nl/bundle_optimization.md +58 -25
  316. package/docs/nl/configuration.md +25 -8
  317. package/docs/nl/intlayer_with_angular_21.md +9 -9
  318. package/docs/pl/analytics.md +220 -0
  319. package/docs/pl/bundle_optimization.md +58 -25
  320. package/docs/pl/configuration.md +25 -8
  321. package/docs/pl/dictionary/nesting.md +47 -30
  322. package/docs/pl/formatters.md +208 -305
  323. package/docs/pl/intlayer_CMS.md +152 -0
  324. package/docs/pl/intlayer_with_angular_21.md +9 -9
  325. package/docs/pl/intlayer_with_nextjs_14.md +1 -26
  326. package/docs/pl/intlayer_with_solid_start.md +1078 -0
  327. package/docs/pl/live-sync.md +4 -0
  328. package/docs/pl/packages/intlayer/getMultilingualUrls.md +4 -18
  329. package/docs/pl/packages/react-intlayer/useDictionary.md +2 -19
  330. package/docs/pl/packages/vite-intlayer/exports.md +15 -0
  331. package/docs/pl/packages/vite-intlayer/intlayer.md +121 -6
  332. package/docs/pl/packages/vite-intlayer/intlayerPrune.md +77 -4
  333. package/docs/pl/releases/v9.md +0 -15
  334. package/docs/pl/self_hosting.md +60 -49
  335. package/docs/pt/analytics.md +222 -0
  336. package/docs/pt/bundle_optimization.md +58 -24
  337. package/docs/pt/configuration.md +25 -8
  338. package/docs/pt/dictionary/file.md +3 -1
  339. package/docs/pt/dictionary/nesting.md +47 -30
  340. package/docs/pt/formatters.md +112 -168
  341. package/docs/pt/intlayer_CMS.md +66 -15
  342. package/docs/pt/intlayer_with_angular_21.md +9 -9
  343. package/docs/pt/intlayer_with_astro_lit.md +26 -1
  344. package/docs/pt/intlayer_with_nextjs_14.md +1 -28
  345. package/docs/pt/intlayer_with_nextjs_15.md +1 -33
  346. package/docs/pt/intlayer_with_solid_start.md +1078 -0
  347. package/docs/pt/intlayer_with_vite+vue.md +1 -3
  348. package/docs/pt/live-sync.md +4 -0
  349. package/docs/pt/packages/intlayer/getLocalizedUrl.md +34 -26
  350. package/docs/pt/packages/intlayer/getMultilingualUrls.md +4 -18
  351. package/docs/pt/packages/vite-intlayer/exports.md +15 -0
  352. package/docs/pt/packages/vite-intlayer/intlayer.md +121 -6
  353. package/docs/pt/packages/vite-intlayer/intlayerPrune.md +78 -6
  354. package/docs/pt/releases/v9.md +0 -15
  355. package/docs/pt/self_hosting.md +60 -49
  356. package/docs/ru/analytics.md +222 -0
  357. package/docs/ru/autoFill.md +27 -8
  358. package/docs/ru/bundle_optimization.md +58 -25
  359. package/docs/ru/configuration.md +25 -8
  360. package/docs/ru/dictionary/file.md +3 -1
  361. package/docs/ru/dictionary/nesting.md +64 -205
  362. package/docs/ru/formatters.md +108 -128
  363. package/docs/ru/intlayer_with_angular_21.md +9 -9
  364. package/docs/ru/intlayer_with_nextjs_14.md +1 -28
  365. package/docs/ru/intlayer_with_nextjs_15.md +1 -33
  366. package/docs/ru/intlayer_with_solid_start.md +1078 -0
  367. package/docs/ru/intlayer_with_vite+vue.md +1 -3
  368. package/docs/ru/live-sync.md +4 -0
  369. package/docs/ru/packages/intlayer/getLocalizedUrl.md +34 -26
  370. package/docs/ru/packages/intlayer/getMultilingualUrls.md +4 -18
  371. package/docs/ru/packages/react-intlayer/useDictionary.md +4 -21
  372. package/docs/ru/packages/vite-intlayer/exports.md +15 -0
  373. package/docs/ru/packages/vite-intlayer/intlayer.md +121 -6
  374. package/docs/ru/packages/vite-intlayer/intlayerPrune.md +77 -4
  375. package/docs/ru/releases/v9.md +0 -15
  376. package/docs/ru/self_hosting.md +60 -49
  377. package/docs/tr/analytics.md +222 -0
  378. package/docs/tr/autoFill.md +28 -9
  379. package/docs/tr/bundle_optimization.md +58 -25
  380. package/docs/tr/configuration.md +25 -8
  381. package/docs/tr/dictionary/file.md +2 -0
  382. package/docs/tr/dictionary/nesting.md +47 -30
  383. package/docs/tr/formatters.md +144 -190
  384. package/docs/tr/intlayer_CMS.md +152 -0
  385. package/docs/tr/intlayer_with_angular_21.md +9 -9
  386. package/docs/tr/intlayer_with_nestjs.md +2 -12
  387. package/docs/tr/intlayer_with_nextjs_15.md +1 -33
  388. package/docs/tr/intlayer_with_solid_start.md +1078 -0
  389. package/docs/tr/intlayer_with_vite+vue.md +1 -3
  390. package/docs/tr/live-sync.md +4 -0
  391. package/docs/tr/packages/intlayer/getMultilingualUrls.md +4 -18
  392. package/docs/tr/packages/vite-intlayer/exports.md +15 -0
  393. package/docs/tr/packages/vite-intlayer/intlayer.md +121 -6
  394. package/docs/tr/packages/vite-intlayer/intlayerPrune.md +77 -4
  395. package/docs/tr/self_hosting.md +47 -50
  396. package/docs/uk/analytics.md +222 -0
  397. package/docs/uk/bundle_optimization.md +58 -25
  398. package/docs/uk/configuration.md +25 -8
  399. package/docs/uk/dictionary/nesting.md +47 -30
  400. package/docs/uk/formatters.md +128 -185
  401. package/docs/uk/intlayer_CMS.md +152 -0
  402. package/docs/uk/intlayer_with_angular_21.md +9 -9
  403. package/docs/uk/intlayer_with_nextjs_14.md +1 -26
  404. package/docs/uk/intlayer_with_solid_start.md +1078 -0
  405. package/docs/uk/live-sync.md +4 -0
  406. package/docs/uk/packages/react-intlayer/useDictionary.md +2 -19
  407. package/docs/uk/packages/vite-intlayer/exports.md +15 -0
  408. package/docs/uk/packages/vite-intlayer/intlayer.md +121 -6
  409. package/docs/uk/packages/vite-intlayer/intlayerPrune.md +77 -4
  410. package/docs/uk/releases/v9.md +0 -15
  411. package/docs/uk/self_hosting.md +60 -50
  412. package/docs/ur/bundle_optimization.md +58 -25
  413. package/docs/ur/configuration.md +25 -8
  414. package/docs/ur/intlayer_with_angular_21.md +9 -9
  415. package/docs/vi/analytics.md +222 -0
  416. package/docs/vi/bundle_optimization.md +58 -25
  417. package/docs/vi/configuration.md +24 -8
  418. package/docs/vi/dictionary/nesting.md +37 -184
  419. package/docs/vi/formatters.md +208 -309
  420. package/docs/vi/intlayer_CMS.md +164 -0
  421. package/docs/vi/intlayer_with_angular_21.md +9 -9
  422. package/docs/vi/intlayer_with_nextjs_14.md +0 -25
  423. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +70 -63
  424. package/docs/vi/intlayer_with_solid_start.md +1078 -0
  425. package/docs/vi/live-sync.md +4 -0
  426. package/docs/vi/packages/intlayer/getMultilingualUrls.md +4 -18
  427. package/docs/vi/packages/react-intlayer/useIntlayer.md +2 -2
  428. package/docs/vi/packages/vite-intlayer/exports.md +15 -0
  429. package/docs/vi/packages/vite-intlayer/intlayer.md +121 -6
  430. package/docs/vi/packages/vite-intlayer/intlayerPrune.md +77 -4
  431. package/docs/vi/plugins/sync-json.md +6 -6
  432. package/docs/vi/releases/v9.md +12 -0
  433. package/docs/vi/self_hosting.md +61 -50
  434. package/docs/zh/CI_CD.md +4 -0
  435. package/docs/zh/analytics.md +222 -0
  436. package/docs/zh/autoFill.md +28 -9
  437. package/docs/zh/bundle_optimization.md +58 -25
  438. package/docs/zh/configuration.md +24 -8
  439. package/docs/zh/dictionary/file.md +2 -0
  440. package/docs/zh/dictionary/nesting.md +47 -30
  441. package/docs/zh/formatters.md +140 -188
  442. package/docs/zh/intlayer_CMS.md +164 -0
  443. package/docs/zh/intlayer_with_analog.md +193 -3
  444. package/docs/zh/intlayer_with_angular_19.md +272 -3
  445. package/docs/zh/intlayer_with_angular_21.md +7 -7
  446. package/docs/zh/intlayer_with_create_react_app.md +348 -26
  447. package/docs/zh/intlayer_with_lynx+react.md +263 -4
  448. package/docs/zh/intlayer_with_nextjs_14.md +1 -28
  449. package/docs/zh/intlayer_with_nextjs_15.md +1 -33
  450. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +558 -1
  451. package/docs/zh/intlayer_with_nuxt.md +182 -7
  452. package/docs/zh/intlayer_with_react_router_v7.md +183 -25
  453. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +306 -42
  454. package/docs/zh/intlayer_with_solid_start.md +1077 -0
  455. package/docs/zh/intlayer_with_storybook.md +260 -3
  456. package/docs/zh/intlayer_with_svelte_kit.md +428 -48
  457. package/docs/zh/intlayer_with_tanstack+solid.md +713 -13
  458. package/docs/zh/intlayer_with_tanstack.md +731 -20
  459. package/docs/zh/intlayer_with_vanilla.md +314 -4
  460. package/docs/zh/intlayer_with_vite+lit.md +465 -4
  461. package/docs/zh/intlayer_with_vite+preact.md +422 -116
  462. package/docs/zh/intlayer_with_vite+react.md +324 -45
  463. package/docs/zh/intlayer_with_vite+react_compiler.md +228 -13
  464. package/docs/zh/intlayer_with_vite+solid.md +462 -32
  465. package/docs/zh/intlayer_with_vite+vanilla.md +497 -4
  466. package/docs/zh/live-sync.md +4 -0
  467. package/docs/zh/mcp_server.md +3 -9
  468. package/docs/zh/packages/intlayer/getLocalizedUrl.md +26 -24
  469. package/docs/zh/packages/intlayer/getMultilingualUrls.md +4 -18
  470. package/docs/zh/packages/vite-intlayer/exports.md +29 -0
  471. package/docs/zh/packages/vite-intlayer/intlayer.md +121 -6
  472. package/docs/zh/packages/vite-intlayer/intlayerPrune.md +79 -6
  473. package/docs/zh/releases/v9.md +12 -0
  474. package/docs/zh/self_hosting.md +60 -50
  475. package/docs/zh-TW/bundle_optimization.md +58 -25
  476. package/docs/zh-TW/intlayer_with_angular_21.md +7 -7
  477. package/package.json +7 -7
  478. package/src/common.ts +39 -2
  479. package/src/generated/blog.entry.ts +66 -34
  480. package/src/generated/docs.entry.ts +273 -221
  481. package/src/generated/frequentQuestions.entry.ts +56 -24
  482. package/src/generated/legal.entry.ts +41 -9
package/blog/ru/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Блог
5
5
  description: Узнайте о всех темах, связанных с Intlayer, интернационализацией и другими
@@ -313,6 +313,13 @@ RAG, один из самых простых и мощных способов с
313
313
  </Step>
314
314
 
315
315
  </Steps>
316
+
317
+ ## Упростите сложность с Sanity
318
+
319
+ Sanity стоит упомянуть здесь как вариант CMS, на который указывает статья. В то время как файлы Markdown требуют произвольного разделения токенов — с компромиссами размера блока и перекрытия, которые описывает статья — Content Lake Sanity хранит документацию как типизированные JSON-документы, определённые схемой. Каждое поле, заголовок и блок контента уже являются семантической единицей, что означает, что RAG-поиск работает на значимых границах, а не на приблизительных подсчётах токенов.
320
+
321
+ Язык запросов GROQ в Sanity позволяет получить ровно те поля документа, которые релевантны для запроса пользователя — название, текст, связанные разделы — без загрузки всего документа. MCP-сервер подключает Content Lake напрямую к AI-агентам, поэтому структурированный контент, который питает ваш документационный сайт, также питает ваш RAG-pipeline без отдельного этапа приёма данных.
322
+
316
323
  ## Заключение
317
324
 
318
325
  RAG — один из самых простых и мощных способов сделать LLM практичными. Комбинируя **поиск + генерацию**, вы можете превратить статичную документацию в **умного помощника** и одновременно получить постоянный поток информации о продукте.
@@ -29,7 +29,9 @@ history:
29
29
  author: aymericzip
30
30
  ---
31
31
 
32
- # React-intl JSON çevirilerinizi Intlayer kullanarak nasıl otomatikleştirirsiniz
32
+ # Intlayer kullanarak react-intl JSON çevirilerinizi nasıl otomatikleştirilebilir
33
+
34
+ <iframe title="How to automate your react-intl JSON translations using Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=https://intlayer.org&amp;controls=0&amp;rel=1"/>
33
35
 
34
36
  ## İçindekiler
35
37
 
@@ -73,14 +73,20 @@ Bu rehber, **Next.js** için yaygın olarak kullanılan üç i18n seçeneğini k
73
73
 
74
74
  ---
75
75
 
76
- ## Derinlemesine karşılaştırma
76
+ ## Giriş
77
77
 
78
- ### 1) Mimari ve ölçeklenebilirlik
78
+ Next.js, uluslararasılaştırılmış routing (örneğin, locale segmentleri) için yerleşik destek sağlar. Ancak bu özellik kendi başına çeviriler yapmaz. Yine de kullanıcılarınıza yerelleştirilmiş içerik sunmak için bir kütüphaneye ihtiyacınız vardır.
79
79
 
80
- - **next-intl / next-i18next**: Yerel başına **merkezi kataloglara** varsayılan (i18next'te **ad alanları** artı). Başlangıçta iyi çalışır, ancak artan bağlantı ve anahtar karmaşasıyla genellikle büyük bir paylaşılan yüzey alanı haline gelir.
81
- - **Intlayer**: **Bileşen başına** (veya özellik başına) sözlükleri **hizmet ettikleri kodla birlikte** teşvik eder. Bu, bilişsel yükü azaltır, UI parçalarının çoğaltılmasını/migrasyonunu kolaylaştırır ve ekip arası çatışmaları azaltır. Kullanılmayan içerik doğal olarak daha kolay tespit edilir ve temizlenir.
80
+ Birçok i18n kütüphanesi mevcuttur, ancak günümüzde Next.js dünyasında üçü popüler hale gelmektedir: next-i18next, next-intl ve Intlayer.
82
81
 
83
- **Neden önemli:** Büyük kod tabanlarında veya tasarım sistemi kurulumlarında, **modüler içerik** monolitik kataloglardan daha iyi ölçeklenir.
82
+ ---
83
+
84
+ ## Mimari & ölçeklenebilirlik
85
+
86
+ - **next-intl / next-i18next**: Varsayılan olarak dile göre **merkezi katologlar** kullanır (plus i18next'te **namespaces**). Başlangıçta iyi çalışır, ancak artan coupling ve key churn ile büyük bir paylaşılan surface area haline gelebilir.
87
+ - **Intlayer**: **bileşen başına** (veya özellik başına) sözlükleri **hizmet ettikleri kod ile birlikte** yerleştirmeyi teşvik eder. Bu, bilişsel yükü azaltır, UI parçalarının çoğaltılmasını/göç edilmesini kolaylaştırır ve takımlar arası çatışmaları azaltır. Kullanılmayan içerik doğal olarak tanımlanması ve kaldırılması daha kolaydır.
88
+
89
+ **Neden önemli:** Büyük codebases veya design-system kurulumlarında, **modüler içerik** monolitik kataloğlardan daha iyi ölçeklenir.
84
90
 
85
91
  ---
86
92
 
@@ -153,40 +159,132 @@ Kütüphanenin fallback'leri nasıl işlediği de önemlidir. Uygulamanın varsa
153
159
 
154
160
  ---
155
161
 
156
- ### 2) TypeScript ve güvenlik
162
+ ## TypeScript & güvenlik
163
+
164
+ <Columns>
165
+ <Column>
166
+
167
+ **next-i18next**
168
+
169
+ - Hook'lar için temel typings. **katı anahtar typing ekstra araç/yapılandırma gerektirir**.
157
170
 
158
- - **next-intl**: Sağlam TypeScript desteği, ancak **anahtarlar varsayılan olarak katı şekilde yazılmaz**; güvenliği manuel olarak sürdüreceksiniz.
159
- - **next-i18next**: Hook'lar için temel yazımlar; **katı anahtar yazımı ekstra araç/yapılandırma gerektirir**.
160
- - **Intlayer**: İçeriğinizden **katı türler oluşturur**. **IDE otomatik tamamlama** ve **derleme zamanı hataları** dağıtım öncesi yazım hatalarını ve eksik anahtarları yakalar.
171
+ </Column>
172
+ <Column>
173
+
174
+ **next-intl**
161
175
 
162
- **Neden önemli:** Güçlü yazım, başarısızlıkları **sol** (CI/derleme) yerine **sağ** (çalışma zamanı) kaydırır.
176
+ - Sağlam TypeScript desteği, ancak **anahtarlar varsayılan olarak katı şekilde yazılmaz**. güvenlik desenlerini manuel olarak korumanız gerekecektir.
177
+
178
+ </Column>
179
+ <Column>
180
+
181
+ **intlayer**
182
+
183
+ - **İçeriğinizden katı türler oluşturur**. **IDE otomatik tamamlama** ve **derleme zamanı hataları** yazım hatalarını ve eksik anahtarları deploy'dan önce yakalar.
184
+
185
+ </Column>
186
+
187
+ </Columns>
188
+
189
+ **Neden önemli:** Güçlü typing hataları **sola** (CI/build) kaydırır, **sağa** (runtime) değil.
163
190
 
164
191
  ---
165
192
 
166
- ### 3) Eksik çeviri işleme
193
+ ## Eksik çeviri işleme
194
+
195
+ <Columns>
196
+ <Column>
197
+
198
+ **next-i18next**
199
+
200
+ - **Runtime fallbacks** kullanır. Build başarısız olmaz.
201
+
202
+ </Column>
203
+ <Column>
204
+
205
+ **next-intl**
206
+
207
+ - **Runtime fallbacks** kullanır. Build başarısız olmaz.
167
208
 
168
- - **next-intl / next-i18next**: **Çalışma zamanı geri dönüşlerine** güvenir (örneğin, anahtarı göster veya varsayılan yerel). Derleme başarısız olmaz.
169
- - **Intlayer**: **Derleme zamanı algılama** ile eksik yerel veya anahtarlar için **uyarılar/hatalar**.
209
+ </Column>
210
+ <Column>
170
211
 
171
- **Neden önemli:** Derleme sırasında boşlukları yakalamak, üretimde "gizemli dizeler"i önler ve katı sürüm kapılarıyla uyumlu hale getirir.
212
+ **intlayer**
213
+
214
+ - Eksik locale'ler veya anahtarlar için **build-time detection** ile **uyarılar/hatalar** verir.
215
+
216
+ </Column>
217
+
218
+ </Columns>
219
+
220
+ **Neden önemlidir:** Build sırasındaki boşlukları yakalamak, üretimde 'undefined' stringleri önler.
172
221
 
173
222
  ---
174
223
 
175
- ### 4) Yönlendirme, ara yazılım ve URL stratejisi
224
+ ## Yönlendirme, middleware & URL stratejisi
176
225
 
177
- - Üçü de App Router'da **Next.js yerelleştirilmiş yönlendirme** ile çalışır.
178
- - **Intlayer**, **i18n ara yazılımı** (üstbilgi/çerezler aracılığıyla yerel algılama) ve yerelleştirilmiş URL'ler ve `<link rel="alternate" hreflang="…">` etiketleri oluşturmak için **yardımcılarla** daha da ileri gider.
226
+ <Columns>
227
+ <Column>
228
+
229
+ **next-i18next**
230
+
231
+ - Yerelleştirilmiş yönlendirmeye izin verir. Ancak middleware yerleşik değildir.
232
+
233
+ </Column>
234
+ <Column>
235
+
236
+ **next-intl**
179
237
 
180
- **Neden önemli:** Daha az özel yapıştırıcı katman; yerel genelinde **tutarlı UX** ve **temiz SEO**.
238
+ - Yerelleştirilmiş yönlendirmeye izin verir.
239
+ - Middleware sağlar.
240
+
241
+ </Column>
242
+ <Column>
243
+
244
+ **intlayer**
245
+
246
+ - Yerelleştirilmiş yönlendirmeye izin verir.
247
+ - Middleware sağlar.
248
+
249
+ </Column>
250
+
251
+ </Columns>
252
+
253
+ **Neden önemli:** SEO ve keşif için, ayrıca kullanıcı deneyimi için yardımcı olur.
181
254
 
182
255
  ---
183
256
 
184
- ### 5) Sunucu Bileşenleri (RSC) uyumu
257
+ ## Server Components (RSC) hizalaması
185
258
 
186
- - **Hepsi** Next.js 13+'yı destekler.
187
- - **Intlayer**, RSC için tasarlanmış tutarlı API ve sağlayıcılarla **sunucu/istemci sınırını** yumuşatır, böylece formatlayıcıları veya t-fonksiyonlarını bileşen ağaçları aracılığıyla taşımazsınız.
259
+ <Columns>
260
+ <Column>
261
+
262
+ **next-i18next**
188
263
 
189
- **Neden önemli:** Hibrit ağaçlarda daha temiz zihinsel model ve daha az durum.
264
+ - Sayfa ve layout server bileşenlerini destekler.
265
+ - Alt server bileşenleri için senkron API sağlamaz.
266
+
267
+ </Column>
268
+ <Column>
269
+
270
+ **next-intl**
271
+
272
+ - Sayfa ve layout server bileşenlerini destekler.
273
+ - Alt server bileşenleri için senkron API sağlamaz.
274
+
275
+ </Column>
276
+ <Column>
277
+
278
+ **intlayer**
279
+
280
+ - Sayfa ve layout server bileşenlerini destekler.
281
+ - Alt server bileşenleri için senkron API sağlar.
282
+
283
+ </Column>
284
+
285
+ </Columns>
286
+
287
+ **Neden önemlidir:** Server component desteği Next.js 13+ sürümünün önemli bir özelliğidir ve performans için yardımcıdır. Ebeveyn server bileşenlerinden çocuk server bileşenlerine locale veya `t` fonksiyonunu props olarak geçirmek, bileşenlerinizi daha az yeniden kullanılabilir hale getirir.
190
288
 
191
289
  ---
192
290
 
@@ -297,14 +395,10 @@ Uygulama yapısı, codebase'iniz için iyi bir bakım alabilirliği sağlamak a
297
395
  </Tab>
298
396
  </Tabs>
299
397
 
300
- ### 6) Performans ve yükleme davranışı
301
-
302
- - **next-intl / next-i18next**: **Ad alanları** ve **rota düzeyinde bölmeler** aracılığıyla kısmi kontrol; disiplin kayarsa kullanılmayan dizeleri paketleme riski.
303
- - **Intlayer**: **Derleme zamanında ağaç sallar** ve **sözlük/yere göre tembel yükler**. Kullanılmayan içerik gönderilmez.
398
+ #### Karşılaştırma
304
399
 
305
- **Neden önemli:** Özellikle çok yerel sitelerde daha küçük paketler ve daha hızlı başlatma.
306
-
307
- ---
400
+ - **next-intl / next-i18next**: Merkezi kataloglar (JSON; namespaces/messages). Net yapı, çeviri platformlarıyla iyi entegrasyon sağlar, ancak uygulamalar büyüdükçe dosyalar arası daha fazla düzenlemeye yol açabilir.
401
+ - **Intlayer**: Bileşenlerle birlikte bulunan `.content.{ts|js|json}` sözlükleri. Bileşen yeniden kullanımını ve yerel akıl yürütmeyi kolaylaştırır; dosya ekler ve derleme zamanı araçlarına bağlıdır.
308
402
 
309
403
  #### Kurulum ve İçerik Yükleme
310
404
 
@@ -658,14 +752,15 @@ export default LandingPage;
658
752
  </Tab>
659
753
  </Tabs>
660
754
 
661
- ### 7) DX, araçlar ve bakım
755
+ #### Karşılaştırma
662
756
 
663
- - **next-intl / next-i18next**: Genellikle çeviriler ve düzenleme iş akışları için harici platformları bağlayacaksınız.
664
- - **Intlayer**: **Ücretsiz Görsel Düzenleyici** ve **isteğe bağlı CMS** (Git dostu veya dışa aktarılmış) gönderir. Artı içerik yazımı için **VSCode uzantısı** ve kendi sağlayıcı anahtarlarınızı kullanarak **AI destekli çeviriler**.
757
+ Üçü de yerel başına içerik yükleme ve sağlayıcıları destekler.
665
758
 
666
- **Neden önemli:** Operasyon maliyetini düşürür ve geliştiriciler ile içerik yazarları arasındaki döngüyü kısaltır.
759
+ - **next-intl/next-i18next** ile, tipik olarak seçili mesajları/namespace'leri rota başına yükler ve sağlayıcıları gerekli yerlere yerleştirirsiniz.
667
760
 
668
- ---
761
+ - **Intlayer** ile, kullanımı çıkarmak için derleme zamanı analizini ekler, bu da manuel bağlantıları azaltabilir ve tek bir kök sağlayıcı kullanılmasını sağlayabilir.
762
+
763
+ Ekip tercihine göre açık kontrol ile otomasyon arasında seçim yapın.
669
764
 
670
765
  ### İstemci bileşeninde kullanım
671
766
 
@@ -831,11 +926,20 @@ const ClientComponentExample = () => {
831
926
  </Tab>
832
927
  </Tabs>
833
928
 
834
- ## Hangisini ne zaman seçmeli?
929
+ #### Karşılaştırma
930
+
931
+ - **Sayı biçimlendirme**
932
+ - **next-i18next**: `useNumber` yok; `Intl.NumberFormat` kullanın (veya i18next-icu).
933
+ - **next-intl**: `useFormatter().number(value)`.
934
+ - **Intlayer**: `useNumber()` built-in.
935
+
936
+ - **Anahtarlar**
937
+ - İç içe geçmiş bir yapı tutun (`about.counter.label`) ve hook'unuzu buna göre kapsamlandırın (`useTranslation("about")` + `t("counter.label")` veya `useTranslations("about.counter")` + `t("label")`).
835
938
 
836
- - **next-intl**'i seçin eğer **minimal** bir çözüm istiyorsanız, merkezi kataloglarla rahatınız ve uygulamanız **küçük ila orta boy**.
837
- - **next-i18next**'i seçin eğer **i18next'in eklenti ekosistemine** ihtiyacınız varsa (örneğin, eklentiler aracılığıyla gelişmiş ICU kuralları) ve ekibiniz zaten i18next'i biliyorsa, esnekliği için **daha fazla yapılandırma** kabul ederek.
838
- - **Intlayer**'ı seçin eğer **bileşen kapsamlı içerik**, **katı TypeScript**, **derleme zamanı garantileri**, **ağaç sallama** ve **pil dahil** yönlendirme/SEO/düzenleyici araçlarını takdir ediyorsanız - özellikle **Next.js App Router**, tasarım sistemleri ve **büyük, modüler kod tabanları** için.
939
+ - **Dosya konumları**
940
+ - **next-i18next** `public/locales/{lng}/{ns}.json` içinde JSON bekler.
941
+ - **next-intl** esnek; mesajları nasıl yapılandırdığınıza göre yükleyin.
942
+ - **Intlayer** içeriği TS/JS sözlüklerinde depolar ve anahtara göre çözer.
839
943
 
840
944
  ---
841
945
 
@@ -951,7 +1055,7 @@ const ServerComponent = ({ count }: ServerComponentProps) => {
951
1055
  Geliştiriciler genellikle sayfalarını yerel ayarlar arasında düzgün şekilde referans vermeyi unuturlar.
952
1056
 
953
1057
  <Tabs defaultTab="next-intl" group='techno'>
954
-
1058
+
955
1059
  <Tab label="next-i18next" value="next-i18next">
956
1060
 
957
1061
  ```ts fileName="i18n.config.ts"
@@ -1302,11 +1406,39 @@ Middleware'in kurulumu `intlayer.config.ts` dosyasında merkezileştirilmiştir.
1302
1406
  </Tab>
1303
1407
  </Tabs>
1304
1408
 
1305
- ## `next-intl` ve `next-i18next` ile birlikte çalışabilirlik
1409
+ ### Kurulum kontrol listesi ve en iyi uygulamalar
1410
+
1411
+ <Tabs defaultTab="next-intl" group='techno'>
1412
+ <Tab label="next-i18next" value="next-i18next">
1413
+
1414
+ - `src/app/[locale]/layout.tsx` dosyasında kök `<html>` öğesinde `lang` ve `dir` özniteliklerinin ayarlandığından emin olun.
1415
+ - Çevirileri ad alanlarına (örneğin `common.json`, `about.json`) `src/locales/<locale>/` altında bölün.
1416
+ - İstemci bileşenlerinde `useTranslation('<ns>')` kullanarak ve `I18nProvider` kapsamını aynı ad alanlarıyla ayarlayarak yalnızca gerekli ad alanlarını yükleyin.
1417
+ - Mümkün olduğunda sayfaları statik tutun: sayfalar üzerinde `export const dynamic = 'force-static'` olarak dışa aktarın; `dynamicParams = false` olarak ayarlayın ve `generateStaticParams` uygulayın.
1418
+ - Önceden hesaplanmış dizeler veya `t` işlevi ve `locale` geçirerek istemci sınırları altında eşzamanlı sunucu bileşenlerini kullanın.
1419
+ - SEO için, meta verilerde `alternates.languages` ayarlayın, `sitemap.ts` içinde yerelleştirilmiş URL'leri listeleyin ve `robots.ts` içinde yinelenen yerelleştirilmiş rotaları devre dışı bırakın.
1420
+ - Yerel ayara duyarlı biçimlendiricileri (örneğin `Intl.NumberFormat(locale)`) tercih edin ve React < 19 kullanırken bunları istemci üzerinde hafızaya alın.
1306
1421
 
1307
- `intlayer`, `next-intl` ve `next-i18next` ad alanlarınızı yönetmenize de yardımcı olabilir.
1422
+ </Tab>
1423
+ <Tab label="next-intl" value="next-intl">
1308
1424
 
1309
- `intlayer` kullanarak, içeriğinizi favori i18n kütüphanenizin formatında beyan edebilirsiniz ve intlayer ad alanlarınızı istediğiniz konumda oluşturacaktır (örnek: `/messages/{{locale}}/{{namespace}}.json`).
1425
+ - **HTML `lang` ve `dir` özniteliklerini ayarlayın**: `src/app/[locale]/layout.tsx` içinde, `dir` özniteliğini `getLocaleDirection(locale)` aracılığıyla hesaplayın ve `<html lang={locale} dir={dir}>` olarak ayarlayın.
1426
+ - **İletileri ad alanlarına göre bölün**: JSON'u locale ve ad alanına göre düzenleyin (örneğin `common.json`, `about.json`).
1427
+ - **İstemci yükünü en aza indirin**: Sayfalarda, yalnızca gerekli ad alanlarını `NextIntlClientProvider` öğesine gönderin (örneğin `pick(messages, ['common', 'about'])`).
1428
+ - **Statik sayfaları tercih edin**: `export const dynamic = 'force-static'` olarak dışa aktarın ve tüm `locales` için statik parametreler oluşturun.
1429
+ - **Eşzamanlı sunucu bileşenleri**: Sunucu bileşenlerini önceden hesaplanmış dizeler (çevrilmiş etiketler, biçimlendirilmiş sayılar) geçirerek eşzamanlı tutun; async çağrıları veya seri hale getirilemeyen işlevleri kullanmayın.
1430
+
1431
+ </Tab>
1432
+ <Tab label="intlayer" value="intlayer">
1433
+
1434
+ - **Modüler içerik**: `.content.{ts|js|json}` dosyalarını kullanarak içerik sözlüklerini bileşenlerle birlikte konumlandırın.
1435
+ - **Tür güvenliği**: Derleme zamanı içerik doğrulaması için TypeScript entegrasyonundan yararlanın.
1436
+ - **Derleme zamanı optimizasyonu**: Otomatik tree-shaking ve bundle optimizasyonu için Intlayer'ın derleme araçlarını kullanın.
1437
+ - **Entegre araçlar**: Yerleşik yönlendirme, SEO yardımcıları ve görsel editör desteğinden yararlanın.
1438
+
1439
+ </Tab>
1440
+
1441
+ </Tabs>
1310
1442
 
1311
1443
  ---
1312
1444
 
@@ -1336,6 +1468,7 @@ Basit değil. Her seçeneğin avantaj ve dezavantajları var. İşte benim gör
1336
1468
  - modern Next.js için oluşturulmuş, modüler içerik, tip güvenliği, araçlar ve daha az boilerplate ile. **Bileşen kapsamlı içerik**, **kesin TypeScript**, **derleme zamanı garantileri**, **tree-shaking** ve **pil dahil** yönlendirme/SEO/editör araçlarını değer veriyorsanız - özellikle **Next.js App Router**, tasarım sistemleri ve **büyük, modüler kod tabanları** için.
1337
1469
 
1338
1470
  </Column>
1471
+
1339
1472
  </Columns>
1340
1473
 
1341
1474
  Minimal kurulumu tercih ederseniz ve bazı manuel bağlantıları kabul ederseniz, next-intl iyi bir seçimdir. Tüm özelliklere ihtiyacınız varsa ve karmaşıklığa aldırmıyorsanız, next-i18next işe yarar. Ancak modern, ölçeklenebilir, modüler bir çözüm istiyorsanız ve dahili araçlarla, Intlayer bunu size kutusundan çıkar halde sağlamayı amaçlar.
@@ -254,6 +254,12 @@ Gpt-5 ile denedik, ama gecikme çok yüksekti (bazen 15 saniyeye kadar bir yanı
254
254
 
255
255
  </Steps>
256
256
 
257
+ ## Sanity ile Karmaşıklığı Atlayın
258
+
259
+ Sanity, makalenin işaret ettiği CMS seçeneği olarak burada adlandırılmaya değer. Markdown dosyalarının keyfi token bölümlere ihtiyaç duyduğu durumlarda — makalenin açıkladığı chunk boyutu ve overlap dengeleri ile — Sanity'nin Content Lake, belgeleri yazılı, şema tarafından tanımlanmış JSON belgeleri olarak depolar. Her alan, başlık ve içerik bloğu zaten bir anlamsal birimdir; bu da RAG alımının yaklaşık token sayıları yerine anlamlı sınırlar üzerinde çalışması anlamına gelir.
260
+
261
+ Sanity'nin GROQ sorgu dili, bir kullanıcı sorgusuna uygun belge alanlarını — başlık, gövde, ilgili bölümler — tam olarak almanızı sağlar; bu, tüm belgeyi getirmeye gerek yoktur. MCP sunucusu, Content Lake'i doğrudan AI ajanlarına bağlar; bu nedenle docs sitenizi güçlendiren aynı yapılandırılmış içerik, ayrı bir ingestion adımı olmaksızın RAG pipeline'ınızı da besler.
262
+
257
263
  ## Sonuç
258
264
 
259
265
  RAG, LLM'leri pratik hale getirmenin en basit, en güçlü yollarından biridir. **Retrieval + generation** birleştirerek, statik dokümanları **akıllı bir asistana** dönüştürebilir ve aynı zamanda sürekli ürün içgörüleri akışı elde edebilirsiniz.
package/blog/uk/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Блог
5
5
  description: Дізнайтеся про всі теми, пов'язані з Intlayer, інтернаціоналізацією та іншим
@@ -317,6 +317,12 @@ RAG, це один із найпростіших і найпотужніших
317
317
  </Step>
318
318
 
319
319
  </Steps>
320
+ ## Пропустіть складність за допомогою Sanity
321
+
322
+ Sanity варто згадати тут як варіант CMS, на який вказує стаття. Там де файли Markdown потребують довільного розділення токенів — з компромісами розміру chunk'а та перекриття, які описує стаття — Content Lake від Sanity зберігає документацію як типізовані, схемою визначені JSON-документи. Кожне поле, заголовок і блок контенту вже є семантичною одиницею, що означає, що RAG-пошук працює на змістовних межах замість приблизних підрахунків токенів.
323
+
324
+ GROQ-мова запитів від Sanity дозволяє отримати саме ті поля документа, які відповідають запиту користувача — заголовок, основний текст, пов'язані розділи — без завантаження всього документа. MCP-сервер підключає Content Lake безпосередньо до AI-агентів, тому той самий структурований контент, який живить ваш сайт документації, також живить вашу RAG-конвеєр без окремого кроку ingestion.
325
+
320
326
  ## Висновок
321
327
 
322
328
  RAG — це один з найпростіших і найпотужніших способів зробити LLM практичними. Комбінуючи **retrieval + generation**, ви можете перетворити статичну документацію на **розумного помічника** і водночас отримати постійний потік інсайтів про продукт.
package/blog/vi/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: Blog
5
5
  description: Khám phá tất cả các chủ đề liên quan đến Intlayer, quốc tế hóa và các chủ đề khác
@@ -317,6 +317,12 @@ Và nếu bạn cũng đang thử nghiệm với RAG, tôi rất muốn nghe cá
317
317
  </Step>
318
318
 
319
319
  </Steps>
320
+ ## Bỏ Qua Độ Phức Tạp với Sanity
321
+
322
+ Sanity đáng được nhắc đến ở đây như một tùy chọn CMS mà bài viết hướng tới. Trong khi các tệp Markdown yêu cầu chia tách token tùy ý — với những sự đánh đổi giữa kích thước chunk và overlap mà bài viết mô tả — Content Lake của Sanity lưu trữ tài liệu dưới dạng các tài liệu JSON được định nghĩa theo schema và có kiểu dữ liệu. Mỗi trường, tiêu đề và khối nội dung đã là một đơn vị ngữ nghĩa, điều này có nghĩa là việc truy xuất RAG hoạt động trên các ranh giới có ý nghĩa thay vì các số lượng token xấp xỉ.
323
+
324
+ Ngôn ngữ truy vấn GROQ của Sanity cho phép bạn truy xuất chính xác các trường tài liệu liên quan đến truy vấn của người dùng — tiêu đề, nội dung, các phần liên quan — mà không cần tải toàn bộ tài liệu. MCP server kết nối Content Lake trực tiếp với các AI agent, vì vậy cùng một nội dung có cấu trúc làm nên trang tài liệu của bạn cũng cấp nuôi cho pipeline RAG của bạn mà không cần một bước nhập dữ liệu riêng biệt.
325
+
320
326
  ## Kết luận
321
327
 
322
328
  RAG là một trong những cách đơn giản nhất và mạnh mẽ nhất để làm cho các LLM trở nên thực tế. Bằng cách kết hợp **retrieval + generation**, bạn có thể biến các tài liệu tĩnh thành một **trợ lý thông minh** và cùng lúc đó, thu được một luồng thông tin sản phẩm liên tục.
package/blog/zh/index.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- createdAt: 2024-24-12
2
+ createdAt: 2024-12-24
3
3
  updatedAt: 2025-06-29
4
4
  title: 博客
5
5
  description: 了解所有与 Intlayer、国际化和其他相关的主题
@@ -61,11 +61,62 @@ author: aymericzip
61
61
 
62
62
  <TOC/>
63
63
 
64
- ### 第2步:实现 Intlayer 插件以封装 JSON
64
+ ## 分步指南:使用 i18next 设置 Intlayer
65
65
 
66
- 创建一个 Intlayer 配置文件以定义支持的语言环境:
66
+ <Steps>
67
+
68
+ <Step number={1} title="安装依赖项">
69
+
70
+ 安装必要的包:
71
+
72
+ ```bash packageManager="npm"
73
+ npx intlayer init --interactive
74
+ ```
67
75
 
68
- **如果您还想导出用于 i18next 的 JSON 字典**,请添加 `syncJSON` 插件:
76
+ ```bash packageManager="pnpm"
77
+ pnpm dlx intlayer@canary init --interactive
78
+ ```
79
+
80
+ ```bash packageManager="yarn"
81
+ yarn dlx intlayer@canary init --interactive
82
+ ```
83
+
84
+ ```bash packageManager="bun"
85
+ bunx intlayer@canary init --interactive
86
+ ```
87
+
88
+ > `--interactive` 标志是可选的。如果你是 AI 代理,请使用 `intlayer-cli init`。
89
+
90
+ > 此命令将检测你的环境并安装所需的包。例如:
91
+
92
+ ```bash packageManager="npm"
93
+ npm install intlayer @intlayer/sync-json-plugin --save-dev
94
+ ```
95
+
96
+ ```bash packageManager="pnpm"
97
+ pnpm add intlayer @intlayer/sync-json-plugin --save-dev
98
+ ```
99
+
100
+ ```bash packageManager="yarn"
101
+ yarn add intlayer @intlayer/sync-json-plugin --dev
102
+ ```
103
+
104
+ ```bash packageManager="bun"
105
+ bun add intlayer @intlayer/sync-json-plugin --dev
106
+ ```
107
+
108
+ **包描述:**
109
+
110
+ - **intlayer**: 国际化管理、内容声明和构建的核心库
111
+ - **@intlayer/sync-json-plugin**: 将 Intlayer 内容声明导出为 i18next 兼容 JSON 格式的插件
112
+
113
+ </Step>
114
+
115
+ <Step number={2} title="实现 Intlayer 插件来包装 JSON">
116
+
117
+ 创建一个 Intlayer 配置文件来定义你支持的语言:
118
+
119
+ **如果你还想为 i18next 导出 JSON 字典**,添加 `syncJSON` 插件:
69
120
 
70
121
  ```typescript fileName="intlayer.config.ts"
71
122
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -86,24 +137,32 @@ const config: IntlayerConfig = {
86
137
  export default config;
87
138
  ```
88
139
 
89
- `syncJSON` 插件会自动包装 JSON。它会读取和写入 JSON 文件,而不会改变内容结构。
140
+ `syncJSON` 插件将自动包装 JSON。它将读取和写入 JSON 文件,而不改变内容架构。
90
141
 
91
- 如果你想让 JSON 与 intlayer 内容声明文件(`.content` 文件)共存,Intlayer 会按以下方式处理:
142
+ 如果你想让 JSON 与 Intlayer 内容声明文件(`.content` 文件)共存,Intlayer 将按以下方式处理:
92
143
 
93
- 1. 加载 JSON 和内容声明文件,并将它们转换为 intlayer 字典。
94
- 2. 如果 JSON 和内容声明文件之间存在冲突,Intlayer 会合并所有字典。具体合并方式取决于插件的优先级以及内容声明文件的优先级(所有这些都是可配置的)。
144
+ 1. 加载 JSON 和内容声明文件,并将它们转换为 Intlayer 字典。
145
+ 2. 如果 JSON 和内容声明文件之间存在冲突,Intlayer 将合并所有字典。这取决于插件的优先级和内容声明文件的优先级(都可以配置)。
95
146
 
96
- 如果通过 CLI 翻译 JSON 或使用 CMS 进行更改,Intlayer 会使用新的翻译更新 JSON 文件。
147
+ 如果使用 CLI 翻译 JSON 或使用 CMS 进行更改,Intlayer 将使用新的翻译更新 JSON 文件。
97
148
 
98
- 要查看更多关于 `syncJSON` 插件的详细信息,请参阅 [syncJSON 插件文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/plugins/sync-json.md)。
149
+ 要了解有关 `syncJSON` 插件的更多详细信息,请参阅 [syncJSON 插件文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/plugins/sync-json.md)。
99
150
 
100
- <Steps>
151
+ </Step>
152
+
153
+ <Step number={3} title="设置 AI 提供商">
101
154
 
102
- <Step number={1} title="实现按组件的 JSON 翻译" isOptional={true}>
155
+ Intlayer 为你的 i18next 工作流解锁了一套高级自动化和开发者友好的功能。
103
156
 
104
- 默认情况下,Intlayer 会加载、合并并同步 JSON 文件和内容声明文件。更多详情请参阅 [内容声明文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)。但如果你愿意,也可以使用 Intlayer 插件,在代码库中的任意位置实现按组件管理本地化的 JSON。
157
+ - **自动检测和填充缺失翻译**:Intlayer 扫描你的 JSON 字典,查找未翻译或缺失的键,仅翻译这些,因此你的 JSON 99% 保持不变。
158
+ - **大型 JSON 文件的分块翻译**:当你的翻译文件非常大时,Intlayer 自动将处理分成可管理的块,独立翻译它们以避免 API 限制和内存问题。
159
+ - **命名空间并行化**:如果你有数百个命名空间(或文件),Intlayer 并行化翻译任务,有效地加快你的 CI/CD 或批量翻译操作。
160
+ - **灵活的 AI 提供商支持**:选择你首选的 AI 提供商(例如 OpenAI、Claude、Gemini),只需配置凭据。使用你自己的 API 密钥,并根据需要切换提供商。
161
+ - **弹性 AI 响应处理**:Intlayer 可以处理你的 AI 提供商将文本作为字符串或对象返回的边界情况,甚至在格式不一致时自动重试。
162
+ - **CLI 和 CI/CD 就绪**:直接在你的测试或管道中运行 Intlayer 的检查和自动填充,使你的本地化过程健壮且自动化。
163
+ - **集成到你现有的设置之上**:你不需要改变你的 i18next 或 Next.js 基础。Intlayer 作为插件添加到你的当前设置中,为你提供所有这些好处,同时实现最小迁移。
105
164
 
106
- 为此,你可以使用 `loadJSON` 插件。
165
+ 以下是如何设置 AI 提供商的示例:
107
166
 
108
167
  ```ts fileName="intlayer.config.ts"
109
168
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -114,23 +173,14 @@ const config: IntlayerConfig = {
114
173
  locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
115
174
  defaultLocale: Locales.ENGLISH,
116
175
  },
117
-
118
- // 保持当前的 JSON 文件与 Intlayer 字典同步
176
+ ai: {
177
+ provider: "openai",
178
+ model: "gpt-5-mini",
179
+ apiKey: process.env.OPENAI_API_KEY,
180
+ },
119
181
  plugins: [
120
- /**
121
- * 将加载 src 目录中所有匹配模式 {key}.i18n.json 的 JSON 文件
122
- */
123
- loadJSON({
124
- source: ({ key }) => `./src/**/${key}.i18n.json`,
125
- locale: Locales.ENGLISH,
126
- priority: 1, // 确保这些 JSON 文件优先于 `./locales/en/${key}.json` 中的文件
127
- }),
128
- /**
129
- * 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
130
- */
131
182
  syncJSON({
132
183
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
133
- priority: 0,
134
184
  }),
135
185
  ],
136
186
  };
@@ -138,7 +188,16 @@ const config: IntlayerConfig = {
138
188
  export default config;
139
189
  ```
140
190
 
141
- 这将加载 `src` 目录中所有匹配 `{key}.i18n.json` 模式的 JSON 文件,并将它们作为 Intlayer 字典加载。
191
+ 然后你可以执行以下命令来填充你的翻译:
192
+
193
+ ```bash
194
+ npx intlayer fill
195
+ ```
196
+
197
+ 这将使用你配置的 AI 提供商填充你的翻译。
198
+
199
+ > 在 [Intlayer AI 配置文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md#ai-configuration) 中查看所有可用的 AI 提供商。
200
+ > 在 [Intlayer CLI 文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/index.md) 中查看所有可用的命令。
142
201
 
143
202
  ---
144
203