@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
@@ -30,9 +30,7 @@ history:
30
30
  author: aymericzip
31
31
  ---
32
32
 
33
- # Intlayer ile Vite and Vue çevirin | Uluslararasılaştırma (i18n)
34
-
35
- GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-vite-vue-template)'na bakın.
33
+ # Intlayer kullanarak Vite ve Vue web sitenizi çevirme | Uluslararasılaştırma (i18n)
36
34
 
37
35
  ## İçindekiler
38
36
 
@@ -13,6 +13,10 @@ keywords:
13
13
  - Intlayer
14
14
  - Next.js
15
15
  - Vite
16
+ slugs:
17
+ - doc
18
+ - concept
19
+ - live-sync
16
20
  history:
17
21
  - version: 9.0.0
18
22
  date: 2026-07-08
@@ -49,26 +49,12 @@ author: aymericzip
49
49
 
50
50
  ## Parametreler
51
51
 
52
- ## Parametreler
52
+ ### Gerekli Parametreler
53
53
 
54
54
  - `url: string`
55
- - **Açıklama**: Yerel ayarlarla öneklendirilecek orijinal URL dizesi.
56
- - **Tür**: `string`
57
-
58
- - `locales: Locales[]`
59
- - **Açıklama**: İsteğe bağlı desteklenen yerel ayarlar dizisi. Varsayılan olarak projede yapılandırılan yerel ayarları kullanır.
60
- - **Tür**: `Locales[]`
61
- - **Varsayılan**: `localesDefault`
62
-
63
- - `defaultLocale: Locales`
64
- - **Açıklama**: Uygulamanın varsayılan yerel ayarı. Varsayılan olarak projede yapılandırılan varsayılan yerel ayarı kullanır.
65
- - **Tür**: `Locales`
66
- - **Varsayılan**: `defaultLocaleDefault`
67
-
68
- - `prefixDefault: boolean`
69
- - **Açıklama**: Varsayılan yerel ayarı öneklendirip öneklendirmeyeceğinizi belirtir. Varsayılan olarak projede yapılandırılan değeri kullanır.
70
- - **Tür**: `boolean`
71
- - **Varsayılan**: `prefixDefaultDefault`
55
+ - **Description**: Locale'ler ile ön ek eklenecek orijinal URL string'i.
56
+ - **Type**: `string`
57
+ - **Required**: Yes
72
58
 
73
59
  ### İsteğe Bağlı Parametreler
74
60
 
@@ -48,3 +48,18 @@ import "vite-intlayer";
48
48
  | `intlayerProxy` | Yerel tespiti ve yönlendirmeyi işlemek için geliştirme middleware eklentisi. | - |
49
49
  | `intlayerMiddleware` | (**Kullanımdan Kaldırıldı**) `intlayerProxy` için takma ad. | - |
50
50
  | `intlayerPrune` | Derleme sırasında kullanılmayan sözlükleri tree-shake yapmak ve budamak için eklenti. | [intlayerPrune](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerPrune.md) |
51
+
52
+ ### Utilities
53
+
54
+ | Export | Description | Related Doc |
55
+ | ---------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
56
+ | `createIntlayerProxyHandler` | Framework-agnostic Node.js `(req, res, next)` middleware'i locale-routing logic'i ile döndürür. | [intlayerProxy](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerProxy.md) |
57
+
58
+ ### Türler
59
+
60
+ | Export | Açıklama |
61
+ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
62
+ | `IntlayerPluginOptions` | `intlayer()` tarafından kabul edilen seçenekler. `GetConfigurationOptions` öğesini `compatCallers` ve `proxy` ile genişletir. |
63
+ | `IntlayerProxyPluginOptions` | `intlayerProxy()` ve `createIntlayerProxyHandler()` tarafından kabul edilen seçenekler. `ignore` ve `configOptions` öğelerini içerir. |
64
+ | `IntlayerCompilerOptions` | `intlayerCompiler()` tarafından kabul edilen seçenekler. `configOptions` ve `compilerConfig` öğelerini içerir. |
65
+ | `CompatCallerConfig` | `@intlayer/babel` öğesinden yeniden dışa aktarılan. Alan kullanımı analizi için compat-adapter çağrı deseni tanımlar. |
@@ -39,11 +39,126 @@ export default defineConfig({
39
39
  });
40
40
  ```
41
41
 
42
- ## Açıklama
42
+ ## Seçenekler
43
43
 
44
- Eklenti şu görevleri yerine getirir:
44
+ ```ts
45
+ import type { IntlayerPluginOptions } from "vite-intlayer";
46
+ ```
47
+
48
+ `IntlayerPluginOptions`, `GetConfigurationOptions` (bkz. `@intlayer/config`) öğesini aşağıdaki ek alanlarla genişletir:
49
+
50
+ | Seçenek | Tür | Varsayılan | Açıklama |
51
+ | --------------- | ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
52
+ | `compatCallers` | `CompatCallerConfig[]` | `[]` | Compat-adapter paketleri için ek çağrı desenleri (örn. `@intlayer/react-i18next`). Derleme zamanında alan kullanımı analizine iletilir. |
53
+ | `proxy` | `{ ignore?: (req) => boolean }` | `undefined` | Paketlenmiş yerel ayar yönlendirme proxy'sine iletilen seçenekler. Belirli yolları (örn. API rotaları) yerel ayar yönlendirmesinden hariç tutmak için `ignore` kullanın. |
54
+
55
+ Diğer tüm seçenekler (`override`, `configFile`, …) doğrudan `getConfiguration()` öğesine iletilir.
56
+
57
+ ### Örnekler
58
+
59
+ #### Yerel yönlendirmeden API rotalarını yoksay
60
+
61
+ ```ts
62
+ // vite.config.ts
63
+ import { defineConfig } from "vite";
64
+ import { intlayer } from "vite-intlayer";
65
+
66
+ export default defineConfig({
67
+ plugins: [
68
+ intlayer({
69
+ proxy: {
70
+ ignore: (req) => req.url?.startsWith("/api"),
71
+ },
72
+ }),
73
+ ],
74
+ });
75
+ ```
76
+
77
+ #### Özel bir config dosya yolu ile
78
+
79
+ ```ts
80
+ export default defineConfig({
81
+ plugins: [
82
+ intlayer({
83
+ configFile: "./config/intlayer.config.ts",
84
+ }),
85
+ ],
86
+ });
87
+ ```
88
+
89
+ #### compat-adapter çağırıcıları ile
90
+
91
+ ```ts
92
+ import { intlayer } from "vite-intlayer";
93
+ import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";
94
+
95
+ export default defineConfig({
96
+ plugins: [
97
+ intlayer({
98
+ compatCallers: [reactI18nextCallerConfig],
99
+ }),
100
+ ],
101
+ });
102
+ ```
103
+
104
+ ## Eklentinin ne yaptığı
105
+
106
+ ### 1. Sözlük hazırlığı
107
+
108
+ Build başlamadan önce (ve geliştirme ortamında saatte bir), `intlayer` tüm `.content.ts` dosyalarını `.intlayer/` klasöründe depolanan optimize edilmiş JSON sözlüklerine derlemek için `prepareIntlayer` işlevini çağırır.
109
+
110
+ ### 2. Module aliases
111
+
112
+ Plugin, `import { myDict } from 'intlayer/dictionaries/my-dict'` ifadesinin diskte derlenen JSON dosyasına çözümlenmesi için Vite resolve aliases'lerini ekler. SSR buildleri, tüm `@intlayer/*` paketlerinin alias'lar uygulanarak birlikte paketlenmesini sağlamak için `ssr.noExternal` kullanır.
113
+
114
+ ### 3. Dev-server watcher
115
+
116
+ Geliştirme modunda bir `chokidar` watcher başlatılır. Bir `.content.ts` dosyası değiştiğinde sözlükler yeniden derlenir ve Vite'in HMR güncellemeleri tarayıcıya yayınlar.
117
+
118
+ ### 4. Bundled locale-routing proxy (v9+)
119
+
120
+ Intlayer v9'dan beri `intlayerProxy` middleware'i `intlayer()` içinde otomatik olarak kaydedilir. Şunları işler:
121
+
122
+ - URL ön eki, çerezler ve `Accept-Language` başlığından yerel ayar algılaması.
123
+ - Algılanan yerel ayar geçerli URL ile eşleşmediğinde 301 yönlendirmeleri.
124
+ - Framework'ün doğru `[locale]` rota parametresini görmesi için iç URL yeniden yazmaları.
125
+
126
+ Proxy, Intlayer yapılandırmanızda `routing.enableProxy` (varsayılan `true`) tarafından kontrol edilir. Tamamen devre dışı bırakmak için:
127
+
128
+ ```ts
129
+ // intlayer.config.ts
130
+ import { defineConfig } from "intlayer";
131
+
132
+ export default defineConfig({
133
+ routing: { enableProxy: false },
134
+ });
135
+ ```
136
+
137
+ Ayrı bir `intlayerProxy()` çağrısı olmadan proxy davranışını özelleştirmek için ana eklentiye `proxy` seçeneklerini geçin:
138
+
139
+ ```ts
140
+ intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });
141
+ ```
142
+
143
+ Tam yönlendirme davranışı referansı için [intlayerProxy belgelerine](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerProxy.md) bakın.
144
+
145
+ ### 5. Bundled compiler (v9+)
146
+
147
+ `compiler.enabled` değeri `true` **ve** Intlayer config dosyanızda `compiler.output` ayarlandığında, `intlayer()` otomatik olarak `intlayerCompiler` kaydeder. Compiler, bileşen dosyalarının içinde doğrudan yazılan satır içi içerik bildirimleri çıkarır ve bunları dönüştürme zamanında sözlüklere yazar. [intlayerCompiler dokumentasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerCompiler.md) sayfasına bakın.
148
+
149
+ ### 6. Build optimisasyonları
150
+
151
+ Bir üretim derlemesi sırasında eklenti şunları ekler:
152
+
153
+ - **intlayerOptimize** – `useIntlayer('key')` → `useDictionary(hash)` yeniden yazılıp doğrudan JSON içe aktarımlarını enjekte eden Babel dönüşümü.
154
+ - **intlayerPrune** – sözlük JSON'undan kullanılmayan içerik alanlarını kaldırır.
155
+ - **intlayerMinify** – sözlük JSON'unu sıkıştırır ve isteğe bağlı olarak alan adlarını karıştırır.
156
+
157
+ Bunlar geliştirme modunda etkin değildir.
158
+
159
+ ## Kullanım Dışı Bırakılan Takma Adlar
45
160
 
46
- 1. **Sözlükleri Hazırlama**: Yapı veya geliştirme sürecinin başında sözlükleri optimize edilmiş dosyalara derler.
47
- 2. **İzleme Modu**: Geliştirme modunda, sözlük dosyalarındaki değişiklikleri izler ve bunları otomatik olarak yeniden derler.
48
- 3. **Aliaslar**: Uygulamanızda sözlüklere erişim için aliaslar sağlar.
49
- 4. **Tree-shaking**: Kullanılmayan çevirilerin `intlayerPrune` eklentisi aracılığıyla tree-shaking ile kaldırılmasını destekler.
161
+ | Kullanım Dışı Bırakılan Export | Değiştirme |
162
+ | ------------------------------ | ---------- |
163
+ | `intlayerPlugin` | `intlayer` |
164
+ | `intLayerPlugin` | `intlayer` |
@@ -30,16 +30,89 @@ author: aymericzip
30
30
 
31
31
  ## Kullanım
32
32
 
33
+ ### `intlayer()` kapsamında (önerilen)
34
+
35
+ Intlayer yapılandırmanız aracılığıyla pruning'i etkinleştirin ve ana plugin her şeyi işler:
36
+
37
+ ```ts
38
+ // intlayer.config.ts
39
+ import { defineConfig } from "intlayer";
40
+
41
+ export default defineConfig({
42
+ build: {
43
+ optimize: true, // pruning ve minify'ı etkinleştirir
44
+ },
45
+ });
46
+ ```
47
+
48
+ ```ts
49
+ // vite.config.ts
50
+ import { defineConfig } from "vite";
51
+ import { intlayer } from "vite-intlayer";
52
+
53
+ export default defineConfig({
54
+ plugins: [intlayer()],
55
+ });
56
+ ```
57
+
58
+ ### Standalone
59
+
60
+ Plugin stack'ini manuel olarak oluşturuyorsanız, `intlayerPrune` ve `intlayerMinify` bir `PruneContext` nesnesini paylaşır ve bu nesne bir kez oluşturulup her ikisine de geçirilmelidir:
61
+
33
62
  ```ts
34
63
  // vite.config.ts
35
64
  import { defineConfig } from "vite";
36
- import { intlayer, intlayerPrune } from "vite-intlayer";
65
+ import { intlayerPrune, intlayerMinify } from "vite-intlayer";
66
+ import { createPruneContext } from "@intlayer/babel";
67
+ import { getConfiguration } from "@intlayer/config/node";
68
+
69
+ const intlayerConfig = getConfiguration();
70
+ const pruneContext = createPruneContext();
37
71
 
38
72
  export default defineConfig({
39
- plugins: [intlayer(), intlayerPrune()],
73
+ plugins: [
74
+ intlayerPrune(intlayerConfig, pruneContext),
75
+ intlayerMinify(intlayerConfig, pruneContext), // isteğe bağlı, aynı context'ten okur
76
+ ],
40
77
  });
41
78
  ```
42
79
 
43
- ## Açıklama
80
+ ## Nasıl çalışır
81
+
82
+ ### 1. Kullanım analizi (buildStart)
83
+
84
+ `buildStart` sırasında, `intlayerOptimize` eklentisi (aynı zamanda `intlayer()`'ın bir parçası) `build.filesList`'de listelenen her bileşen kaynak dosyasını tarar. Her `useIntlayer('key')` veya `getIntlayer('key')` çağrısı için, hangi alanların erişildiğini tam olarak kaydeder, örneğin:
85
+
86
+ ```ts
87
+ const { title, description } = useIntlayer("myDict");
88
+ // kaydeder: myDict → { title, description }
89
+ ```
90
+
91
+ Bu, herhangi bir `transform` çağrısı çalışmadan önce `pruneContext.fieldUsageMap`'i oluşturur.
92
+
93
+ ### 2. JSON budama (transform, enforce: 'pre')
94
+
95
+ Vite derlenmiş bir sözlük JSON dosyasını işlediğinde, `intlayerPrune` bunu Vite'nin yerleşik JSON → ESM dönüştürmesinden önce ele geçirir. `pruneContext`'ten alan kullanım haritasını okur ve kaydedilen kullanım setinde olmayan herhangi bir içerik alanını kaldırır.
96
+
97
+ İki içerik şekli desteklenir:
98
+
99
+ - **Statik sözlükler** — `{ nodeType: "translation", translation: { en: {...}, fr: {...} } }`. Alanlar `translation` içinde yerel başına budanır.
100
+ - **Dinamik (yerel başına) sözlükler** — düz `{ fieldA: ..., fieldB: ... }`. Alanlar en üst düzeyde budanır.
101
+
102
+ ### 3. Edge cases
103
+
104
+ Bir sözlüğün içerik yapısı tanınamazsa (örneğin, olağandışı iç içe bir şekil), `pruneContext.dictionariesWithEdgeCases` öğesine eklenir ve **değiştirilmez bırakılır**. Bir uyarı günlüğe kaydedilir. `intlayerMinify` bu sözlükleri de atlar.
105
+
106
+ ### 4. Field-rename map
107
+
108
+ Budama başarılı olduğunda, `intlayerPrune` ayrıca `pruneContext.dictionaryKeyToFieldRenameMap` — orijinal alan adlarından kısa takma adlara eşleme yazar. `intlayerMinify` çıktı JSON'daki alanları yeniden adlandırmak için bu haritayı okur ve `intlayerOptimize`'ın Babel rename geçişi kaynak dosyalardaki property erişimlerini buna göre günceller.
109
+
110
+ ## Aktivasyon koşulları
111
+
112
+ `intlayerPrune` **yalnızca** aşağıdakilerin hepsi doğru olduğunda etkin olur:
113
+
114
+ 1. Vite komutu `build` olur.
115
+ 2. `build.optimize` `true` olur (veya `undefined`, derlemeler için varsayılan olarak `true` olur).
116
+ 3. `build.purge` Intlayer yapılandırmanızda `true` olur.
44
117
 
45
- Eklenti, kaynak kodunuzu analiz ederek hangi sözlük anahtarlarının gerçekten kullanıldığını belirler. Ardından paketlenen sözlük dosyalarından kullanılmayan içeriği kaldırır. Bu, yalnızca belirli sayfalar veya bileşenlerde bir alt kümesi kullanılan birçok sözlüğe sahip büyük projeler için özellikle faydalıdır.
118
+ `editor.enabled` `true` olduğunda otomatik olarak **devre dışı bırakılır** çünkü düzenleyici tam sözlük içeriğine ihtiyaç duyar.
@@ -80,6 +80,18 @@ Yığın çalışmaya başladıktan sonra **http://localhost:3000** adresini aç
80
80
 
81
81
  ---
82
82
 
83
+ ## İlk çalıştırma kurulumu
84
+
85
+ Yeni bir instance'ta (boş veritabanı), dashboard'u açmak sizi **`/init`** sayfasına yönlendirir:
86
+
87
+ 1. İlk hesabı oluşturun. Kullanıcılar koleksiyonu boş olduğundan, bu hesap otomatik olarak **super admin** olarak yükseltilir.
88
+ 2. Bir doğrulama e-postası gönderilir (Resend aracılığıyla). E-posta doğrulaması **zorunludur** — bu nedenle `RESEND_API_KEY` başlamadan önce ayarlanmalıdır.
89
+ 3. E-postadaki bağlantıyı tıklayın, ardından oturum açın.
90
+
91
+ Bir admin mevcut olduğunda, `/init` standart oturum açma sayfasına yönlendirilir.
92
+
93
+ ---
94
+
83
95
  ## Servisler
84
96
 
85
97
  | Servis | Görüntü | Ana Bilgisayar Bağlantı Noktası(ları) | Amaç |
@@ -97,9 +109,18 @@ Dahili bağlantı noktaları (mongo, redis) varsayılan olarak ana bilgisayara a
97
109
 
98
110
  ---
99
111
 
100
- ## Ortam Değişkenleri
112
+ ## Ortam değişkenleri
101
113
 
102
- Yükleyici, kullanıma hazır bir `.env` dosyası oluşturur. Aşağıdaki tablo her değişkeni açıklar.
114
+ ### Gerekli
115
+
116
+ | Variable | Example | Description |
117
+ | ---------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
118
+ | `DB_ID` | `intlayer` | MongoDB Atlas kullanıcısı |
119
+ | `DB_MDP` | _(şifreniz)_ | MongoDB Atlas şifresi |
120
+ | `DB_CLUSTER` | `cluster0.xxxxx.mongodb.net` | MongoDB Atlas cluster host'u (`mongodb+srv://` URI'de kullanılır) |
121
+ | `BETTER_AUTH_SECRET` | _(generated)_ | Session imzalama için 32-byte secret |
122
+ | `S3_SECRET_ACCESS_KEY` | _(generated)_ | Bundled MinIO için secret |
123
+ | `RESEND_API_KEY` | _(your key)_ | Resend aracılığıyla işlemsel e-posta. Global SMTP mailer'ı yapılandırmadığınız sürece ilk çalıştırma kurulumu için gereklidir (bkz. [Global mailer](#global-mailer)) |
103
124
 
104
125
  ### Gerekli (otomatik oluşturulur veya istenir)
105
126
 
@@ -141,6 +162,26 @@ Yükleyici, kullanıma hazır bir `.env` dosyası oluşturur. Aşağıdaki tablo
141
162
 
142
163
  ---
143
164
 
165
+ ### Global mailer
166
+
167
+ Varsayılan olarak, tüm işlemsel e-postalar Resend üzerinden `RESEND_API_KEY` kullanılarak gönderilir. Self-hosted dağıtımlar bunun yerine **tüm** e-postaları — şifre sıfırlamaları ve magic linkler gibi organizasyon dışı e-postalar dahil — ortam değişkenleriyle yapılandırılmış global bir mailer üzerinden yönlendirebilir.
168
+
169
+ Etkinleştirmek için `MAIL_PROVIDER` ayarlayın. Ayarlanmadığında, varsayılan Resend mailer kullanılır.
170
+
171
+ | Değişken | Örnek | Açıklama |
172
+ | -------------------- | ------------------------------ | --------------------------------------------------------------------------------- |
173
+ | `MAIL_PROVIDER` | `smtp` | Global transport: `smtp` veya `resend`. Varsayılanları kullanmak için ayarlamayın |
174
+ | `MAIL_FROM` | `Intlayer <no-reply@acme.com>` | Gönderen başlığı. Düz bir adres veya `Name <email>` formatını kabul eder |
175
+ | `MAIL_SMTP_HOST` | `smtp.acme.com` | SMTP host (`MAIL_PROVIDER=smtp` olduğunda gerekli) |
176
+ | `MAIL_SMTP_PORT` | `587` | SMTP port (varsayılan `587`) |
177
+ | `MAIL_SMTP_SECURE` | `false` | Implicit TLS. Port `465` için `true` olarak ayarlayın |
178
+ | `MAIL_SMTP_USER` | _(your user)_ | SMTP kullanıcı adı (isteğe bağlı; kimliği doğrulanmamış relayler için atlayın) |
179
+ | `MAIL_SMTP_PASSWORD` | _(your password)_ | SMTP şifresi |
180
+
181
+ > Öncelik: bir organizasyonun kendi mailer'ı (**Organization** panosundan yapılandırılmış) global mailer'dan daha yüksek önceliğe sahiptir ve bu da varsayılan Resend anahtarından daha yüksek önceliğe sahiptir.
182
+
183
+ ---
184
+
144
185
  ## Intlayer projenizi bağlama
145
186
 
146
187
  Yığın çalışmaya başladıktan sonra, projenizi `intlayer.org` yerine kendi barındırılan backend ve kontrol paneline yönlendirin.
@@ -259,47 +300,11 @@ docker run --rm \
259
300
 
260
301
  ---
261
302
 
262
- ## Ters Proxy Kullanımı (Nginx / Caddy)
263
-
264
- Üretim dağıtımları için, uygulama ve backend kapsayıcılarının önüne doğrudan açmak yerine bir ters proxy yerleştirin.
303
+ ## Sınırlamalar
265
304
 
266
- ### Nginx örneği
267
-
268
- ```nginx
269
- server {
270
- listen 80;
271
- server_name cms.example.com;
272
-
273
- location / {
274
- proxy_pass http://localhost:3000;
275
- proxy_set_header Host $host;
276
- proxy_set_header X-Real-IP $remote_addr;
277
- }
278
- }
279
-
280
- server {
281
- listen 80;
282
- server_name api.example.com;
283
-
284
- location / {
285
- proxy_pass http://localhost:3100;
286
- proxy_set_header Host $host;
287
- proxy_set_header X-Real-IP $remote_addr;
288
- }
289
- }
290
- ```
291
-
292
- Aşağıdaki `.env` değişkenlerini genel alan adlarınızla eşleşecek şekilde güncelleyin:
293
-
294
- ```sh
295
- BACKEND_URL=https://api.example.com
296
- APP_URL=https://cms.example.com
297
- DOMAIN=example.com
298
- VITE_BACKEND_URL=https://api.example.com
299
- VITE_DOMAIN=example.com
300
- ```
301
-
302
- > `VITE_*` değişkenleri oluşturma zamanında kontrol paneli görüntüsüne gömülür. Görüntü oluşturulduktan sonra bunları değiştirirseniz, `app` görüntüsünü yeniden oluşturmanız (`docker compose build app`) veya çalışma zamanı yapılandırma enjeksiyonu kullanmanız gerekir.
305
+ - **MongoDB harici (Atlas) olmalıdır.** Backend yalnızca `mongodb+srv://` üzerinden bağlanır (`DB_ID` / `DB_MDP` / `DB_CLUSTER` öğesinden oluşturulur), bu nedenle düz `mongodb://host:27017` — konteyner'ın kendi paketlenmiş `mongod` dahil — kullanılamaz. Bir MongoDB Atlas kümesi sağlayın.
306
+ - **Özel alan adı yok.** Tüm tarayıcıya yönelik `VITE_*` URL'leri derleme zamanında uygulamaya satır içine alınır ve yayınlanan görüntü `localhost` değerleriyle gemi. Pano şu adreste erişilmelidir: `http://localhost:3000`; bunu genel bir alan adında sunmak, görüntüyü hedef URL'ler ile yeniden oluşturmayı gerektiriyor ve kutudan hemen çıkar desteklenmiyor.
307
+ - **E-posta çalışan bir postacı gerektirir.** İlk çalıştırma kurulumu e-posta doğrulamasını uygular, bu nedenle `RESEND_API_KEY` veya bir [global SMTP postacısı](#global-mailer) (`MAIL_PROVIDER=smtp` + `MAIL_SMTP_*`) yapılandırılmalıdır. İlk yönetici oturum açtıktan sonra, her kuruluş panodan kendi SMTP veya Resend postacısını da yapılandırabilir.
303
308
 
304
309
  ---
305
310
 
@@ -324,14 +329,6 @@ docker compose build app
324
329
  docker compose up -d app
325
330
  ```
326
331
 
327
- ### E-posta Gönderilmiyor
328
-
329
- Varsayılan olarak, tüm giden e-postalar Mailpit tarafından yakalanır. Gönderilen mesajları görmek için `http://localhost:8025` adresini açın. Gerçek e-posta göndermek için `.env` dosyasında `MAIL_PROVIDER=resend` ve `RESEND_API_KEY=<anahtarınız>` ayarlayın, ardından backend'i yeniden başlatın:
330
-
331
- ```sh
332
- docker compose restart backend
333
- ```
334
-
335
332
  ### MinIO Kovası Eksik
336
333
 
337
334
  Eğer `minio-init` tek seferlik servisi çalışmadıysa (veya MinIO hazır olmadan önce çalıştıysa), kovayı manuel olarak oluşturun: