@intlayer/docs 5.8.1 → 6.0.0-canary.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 (378) hide show
  1. package/blog/ar/rag_powered_documentation_assistant.md +282 -0
  2. package/blog/de/rag_powered_documentation_assistant.md +282 -0
  3. package/blog/en/rag_powered_documentation_assistant.md +289 -0
  4. package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
  5. package/blog/es/rag_powered_documentation_assistant.md +308 -0
  6. package/blog/fr/rag_powered_documentation_assistant.md +308 -0
  7. package/blog/hi/rag_powered_documentation_assistant.md +284 -0
  8. package/blog/it/rag_powered_documentation_assistant.md +284 -0
  9. package/blog/ja/rag_powered_documentation_assistant.md +284 -0
  10. package/blog/ko/rag_powered_documentation_assistant.md +283 -0
  11. package/blog/pt/rag_powered_documentation_assistant.md +284 -0
  12. package/blog/ru/rag_powered_documentation_assistant.md +284 -0
  13. package/blog/tr/index.md +69 -0
  14. package/blog/tr/internationalization_and_SEO.md +273 -0
  15. package/blog/tr/intlayer_with_i18next.md +162 -0
  16. package/blog/tr/intlayer_with_next-i18next.md +367 -0
  17. package/blog/tr/intlayer_with_next-intl.md +392 -0
  18. package/blog/tr/intlayer_with_react-i18next.md +346 -0
  19. package/blog/tr/intlayer_with_react-intl.md +345 -0
  20. package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
  21. package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
  22. package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
  23. package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
  24. package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
  25. package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
  26. package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
  27. package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
  28. package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
  29. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
  30. package/blog/tr/rag_powered_documentation_assistant.md +284 -0
  31. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
  32. package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
  33. package/blog/tr/what_is_internationalization.md +166 -0
  34. package/blog/zh/rag_powered_documentation_assistant.md +284 -0
  35. package/dist/cjs/generated/blog.entry.cjs +212 -0
  36. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  37. package/dist/cjs/generated/docs.entry.cjs +660 -132
  38. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  39. package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
  40. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  41. package/dist/cjs/generated/legal.entry.cjs +6 -0
  42. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  43. package/dist/esm/generated/blog.entry.mjs +212 -0
  44. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  45. package/dist/esm/generated/docs.entry.mjs +660 -132
  46. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  47. package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
  48. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  49. package/dist/esm/generated/legal.entry.mjs +6 -0
  50. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  51. package/dist/types/generated/blog.entry.d.ts +1 -0
  52. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  53. package/dist/types/generated/docs.entry.d.ts +5 -2
  54. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  55. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  56. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  57. package/docs/ar/autoFill.md +41 -40
  58. package/docs/ar/configuration.md +202 -199
  59. package/docs/ar/dictionary/content_file.md +1059 -0
  60. package/docs/ar/intlayer_CMS.md +4 -4
  61. package/docs/ar/intlayer_with_nestjs.md +271 -0
  62. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  63. package/docs/ar/intlayer_with_react_router_v7.md +533 -0
  64. package/docs/ar/intlayer_with_tanstack.md +465 -299
  65. package/docs/ar/intlayer_with_vite+preact.md +7 -7
  66. package/docs/ar/intlayer_with_vite+react.md +7 -7
  67. package/docs/ar/intlayer_with_vite+vue.md +9 -9
  68. package/docs/ar/packages/vite-intlayer/index.md +3 -3
  69. package/docs/ar/readme.md +261 -0
  70. package/docs/ar/testing.md +199 -0
  71. package/docs/de/autoFill.md +42 -19
  72. package/docs/de/configuration.md +155 -147
  73. package/docs/de/dictionary/content_file.md +1059 -0
  74. package/docs/de/intlayer_CMS.md +4 -5
  75. package/docs/de/intlayer_with_nestjs.md +270 -0
  76. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  77. package/docs/de/intlayer_with_react_router_v7.md +537 -0
  78. package/docs/de/intlayer_with_tanstack.md +469 -302
  79. package/docs/de/intlayer_with_vite+preact.md +7 -7
  80. package/docs/de/intlayer_with_vite+react.md +7 -7
  81. package/docs/de/intlayer_with_vite+vue.md +9 -9
  82. package/docs/de/packages/vite-intlayer/index.md +3 -3
  83. package/docs/de/readme.md +261 -0
  84. package/docs/de/testing.md +200 -0
  85. package/docs/en/CI_CD.md +4 -6
  86. package/docs/en/autoFill.md +25 -5
  87. package/docs/en/configuration.md +45 -54
  88. package/docs/en/dictionary/content_file.md +1054 -0
  89. package/docs/en/intlayer_CMS.md +8 -7
  90. package/docs/en/intlayer_cli.md +112 -5
  91. package/docs/en/intlayer_with_nestjs.md +268 -0
  92. package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
  93. package/docs/en/intlayer_with_react_router_v7.md +531 -0
  94. package/docs/en/intlayer_with_tanstack.md +463 -294
  95. package/docs/en/intlayer_with_vite+preact.md +8 -8
  96. package/docs/en/intlayer_with_vite+react.md +8 -8
  97. package/docs/en/intlayer_with_vite+vue.md +8 -8
  98. package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
  99. package/docs/en/packages/vite-intlayer/index.md +3 -3
  100. package/docs/en/readme.md +261 -0
  101. package/docs/en/testing.md +200 -0
  102. package/docs/en-GB/autoFill.md +29 -6
  103. package/docs/en-GB/configuration.md +79 -71
  104. package/docs/en-GB/dictionary/content_file.md +1084 -0
  105. package/docs/en-GB/intlayer_CMS.md +4 -5
  106. package/docs/en-GB/intlayer_with_nestjs.md +268 -0
  107. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  108. package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
  109. package/docs/en-GB/intlayer_with_tanstack.md +466 -299
  110. package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
  111. package/docs/en-GB/intlayer_with_vite+react.md +7 -7
  112. package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
  113. package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
  114. package/docs/en-GB/readme.md +261 -0
  115. package/docs/en-GB/testing.md +200 -0
  116. package/docs/es/autoFill.md +45 -23
  117. package/docs/es/configuration.md +171 -167
  118. package/docs/es/dictionary/content_file.md +1088 -0
  119. package/docs/es/intlayer_CMS.md +4 -5
  120. package/docs/es/intlayer_with_nestjs.md +268 -0
  121. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  122. package/docs/es/intlayer_with_react_router_v7.md +533 -0
  123. package/docs/es/intlayer_with_tanstack.md +469 -280
  124. package/docs/es/intlayer_with_vite+preact.md +7 -7
  125. package/docs/es/intlayer_with_vite+react.md +7 -7
  126. package/docs/es/intlayer_with_vite+vue.md +9 -9
  127. package/docs/es/packages/vite-intlayer/index.md +3 -3
  128. package/docs/es/readme.md +261 -0
  129. package/docs/es/testing.md +200 -0
  130. package/docs/fr/autoFill.md +47 -24
  131. package/docs/fr/configuration.md +213 -198
  132. package/docs/fr/dictionary/content_file.md +1054 -0
  133. package/docs/fr/intlayer_CMS.md +4 -5
  134. package/docs/fr/intlayer_with_nestjs.md +268 -0
  135. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  136. package/docs/fr/intlayer_with_react_router_v7.md +549 -0
  137. package/docs/fr/intlayer_with_tanstack.md +465 -279
  138. package/docs/fr/intlayer_with_vite+preact.md +7 -7
  139. package/docs/fr/intlayer_with_vite+react.md +7 -7
  140. package/docs/fr/intlayer_with_vite+vue.md +9 -9
  141. package/docs/fr/packages/vite-intlayer/index.md +3 -3
  142. package/docs/fr/readme.md +261 -0
  143. package/docs/fr/testing.md +200 -0
  144. package/docs/hi/autoFill.md +47 -25
  145. package/docs/hi/configuration.md +194 -189
  146. package/docs/hi/dictionary/content_file.md +1056 -0
  147. package/docs/hi/intlayer_CMS.md +4 -5
  148. package/docs/hi/intlayer_with_nestjs.md +269 -0
  149. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  150. package/docs/hi/intlayer_with_react_router_v7.md +533 -0
  151. package/docs/hi/intlayer_with_tanstack.md +467 -282
  152. package/docs/hi/intlayer_with_vite+preact.md +7 -7
  153. package/docs/hi/intlayer_with_vite+react.md +7 -7
  154. package/docs/hi/intlayer_with_vite+vue.md +9 -9
  155. package/docs/hi/packages/vite-intlayer/index.md +3 -3
  156. package/docs/hi/readme.md +261 -0
  157. package/docs/hi/testing.md +200 -0
  158. package/docs/it/autoFill.md +46 -24
  159. package/docs/it/configuration.md +169 -161
  160. package/docs/it/dictionary/content_file.md +1061 -0
  161. package/docs/it/intlayer_CMS.md +4 -5
  162. package/docs/it/intlayer_with_nestjs.md +268 -0
  163. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  164. package/docs/it/intlayer_with_react_router_v7.md +535 -0
  165. package/docs/it/intlayer_with_tanstack.md +467 -301
  166. package/docs/it/intlayer_with_vite+preact.md +7 -7
  167. package/docs/it/intlayer_with_vite+react.md +7 -7
  168. package/docs/it/intlayer_with_vite+vue.md +9 -9
  169. package/docs/it/packages/vite-intlayer/index.md +3 -3
  170. package/docs/it/readme.md +261 -0
  171. package/docs/it/testing.md +200 -0
  172. package/docs/ja/autoFill.md +45 -23
  173. package/docs/ja/configuration.md +243 -204
  174. package/docs/ja/dictionary/content_file.md +1064 -0
  175. package/docs/ja/intlayer_CMS.md +4 -5
  176. package/docs/ja/intlayer_with_nestjs.md +268 -0
  177. package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
  178. package/docs/ja/intlayer_with_react_router_v7.md +534 -0
  179. package/docs/ja/intlayer_with_tanstack.md +467 -303
  180. package/docs/ja/intlayer_with_vite+preact.md +7 -7
  181. package/docs/ja/intlayer_with_vite+react.md +7 -7
  182. package/docs/ja/intlayer_with_vite+vue.md +9 -9
  183. package/docs/ja/packages/vite-intlayer/index.md +3 -3
  184. package/docs/ja/readme.md +263 -0
  185. package/docs/ja/testing.md +200 -0
  186. package/docs/ko/autoFill.md +39 -16
  187. package/docs/ko/configuration.md +217 -197
  188. package/docs/ko/dictionary/content_file.md +1060 -0
  189. package/docs/ko/intlayer_CMS.md +4 -5
  190. package/docs/ko/intlayer_with_nestjs.md +268 -0
  191. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  192. package/docs/ko/intlayer_with_react_router_v7.md +540 -0
  193. package/docs/ko/intlayer_with_tanstack.md +466 -302
  194. package/docs/ko/intlayer_with_vite+preact.md +7 -7
  195. package/docs/ko/intlayer_with_vite+react.md +7 -7
  196. package/docs/ko/intlayer_with_vite+vue.md +9 -9
  197. package/docs/ko/packages/vite-intlayer/index.md +3 -3
  198. package/docs/ko/readme.md +261 -0
  199. package/docs/ko/testing.md +200 -0
  200. package/docs/pt/autoFill.md +39 -15
  201. package/docs/pt/configuration.md +165 -147
  202. package/docs/pt/dictionary/content_file.md +1062 -0
  203. package/docs/pt/intlayer_CMS.md +4 -5
  204. package/docs/pt/intlayer_with_nestjs.md +271 -0
  205. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  206. package/docs/pt/intlayer_with_react_router_v7.md +535 -0
  207. package/docs/pt/intlayer_with_tanstack.md +469 -300
  208. package/docs/pt/intlayer_with_vite+preact.md +7 -7
  209. package/docs/pt/intlayer_with_vite+react.md +7 -7
  210. package/docs/pt/intlayer_with_vite+vue.md +9 -9
  211. package/docs/pt/packages/vite-intlayer/index.md +3 -3
  212. package/docs/pt/readme.md +261 -0
  213. package/docs/pt/testing.md +200 -0
  214. package/docs/ru/autoFill.md +52 -30
  215. package/docs/ru/configuration.md +164 -117
  216. package/docs/ru/dictionary/content_file.md +1064 -0
  217. package/docs/ru/intlayer_CMS.md +4 -4
  218. package/docs/ru/intlayer_with_nestjs.md +270 -0
  219. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  220. package/docs/ru/intlayer_with_react_router_v7.md +534 -0
  221. package/docs/ru/intlayer_with_tanstack.md +470 -305
  222. package/docs/ru/intlayer_with_vite+preact.md +7 -7
  223. package/docs/ru/intlayer_with_vite+react.md +7 -7
  224. package/docs/ru/intlayer_with_vite+vue.md +9 -9
  225. package/docs/ru/packages/vite-intlayer/index.md +3 -3
  226. package/docs/ru/readme.md +261 -0
  227. package/docs/ru/testing.md +202 -0
  228. package/docs/tr/CI_CD.md +198 -0
  229. package/docs/tr/autoFill.md +201 -0
  230. package/docs/tr/configuration.md +585 -0
  231. package/docs/tr/dictionary/condition.md +243 -0
  232. package/docs/tr/dictionary/content_file.md +1055 -0
  233. package/docs/tr/dictionary/enumeration.md +251 -0
  234. package/docs/tr/dictionary/file.md +228 -0
  235. package/docs/tr/dictionary/function_fetching.md +218 -0
  236. package/docs/tr/dictionary/gender.md +279 -0
  237. package/docs/tr/dictionary/insertion.md +191 -0
  238. package/docs/tr/dictionary/markdown.md +385 -0
  239. package/docs/tr/dictionary/nesting.md +279 -0
  240. package/docs/tr/dictionary/translation.md +315 -0
  241. package/docs/tr/formatters.md +618 -0
  242. package/docs/tr/how_works_intlayer.md +254 -0
  243. package/docs/tr/index.md +168 -0
  244. package/docs/tr/interest_of_intlayer.md +288 -0
  245. package/docs/tr/intlayer_CMS.md +347 -0
  246. package/docs/tr/intlayer_cli.md +570 -0
  247. package/docs/tr/intlayer_visual_editor.md +269 -0
  248. package/docs/tr/intlayer_with_angular.md +694 -0
  249. package/docs/tr/intlayer_with_create_react_app.md +1218 -0
  250. package/docs/tr/intlayer_with_express.md +415 -0
  251. package/docs/tr/intlayer_with_lynx+react.md +511 -0
  252. package/docs/tr/intlayer_with_nestjs.md +268 -0
  253. package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
  254. package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
  255. package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
  256. package/docs/tr/intlayer_with_nuxt.md +773 -0
  257. package/docs/tr/intlayer_with_react_native+expo.md +660 -0
  258. package/docs/tr/intlayer_with_react_router_v7.md +531 -0
  259. package/docs/tr/intlayer_with_tanstack.md +452 -0
  260. package/docs/tr/intlayer_with_vite+preact.md +1673 -0
  261. package/docs/tr/intlayer_with_vite+react.md +1632 -0
  262. package/docs/tr/intlayer_with_vite+solid.md +288 -0
  263. package/docs/tr/intlayer_with_vite+svelte.md +288 -0
  264. package/docs/tr/intlayer_with_vite+vue.md +1042 -0
  265. package/docs/tr/introduction.md +209 -0
  266. package/docs/tr/locale_mapper.md +244 -0
  267. package/docs/tr/mcp_server.md +207 -0
  268. package/docs/tr/packages/@intlayer/api/index.md +58 -0
  269. package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
  270. package/docs/tr/packages/@intlayer/cli/index.md +47 -0
  271. package/docs/tr/packages/@intlayer/config/index.md +142 -0
  272. package/docs/tr/packages/@intlayer/core/index.md +51 -0
  273. package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
  274. package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
  275. package/docs/tr/packages/@intlayer/editor/index.md +47 -0
  276. package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
  277. package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
  278. package/docs/tr/packages/angular-intlayer/index.md +59 -0
  279. package/docs/tr/packages/express-intlayer/index.md +258 -0
  280. package/docs/tr/packages/express-intlayer/t.md +459 -0
  281. package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
  282. package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
  283. package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
  284. package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
  285. package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
  286. package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
  287. package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
  288. package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
  289. package/docs/tr/packages/intlayer/getTranslation.md +196 -0
  290. package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
  291. package/docs/tr/packages/intlayer/index.md +505 -0
  292. package/docs/tr/packages/intlayer-cli/index.md +71 -0
  293. package/docs/tr/packages/intlayer-editor/index.md +139 -0
  294. package/docs/tr/packages/lynx-intlayer/index.md +85 -0
  295. package/docs/tr/packages/next-intlayer/index.md +154 -0
  296. package/docs/tr/packages/next-intlayer/t.md +354 -0
  297. package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
  298. package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
  299. package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
  300. package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
  301. package/docs/tr/packages/preact-intlayer/index.md +55 -0
  302. package/docs/tr/packages/react-intlayer/index.md +148 -0
  303. package/docs/tr/packages/react-intlayer/t.md +304 -0
  304. package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
  305. package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
  306. package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
  307. package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
  308. package/docs/tr/packages/react-native-intlayer/index.md +85 -0
  309. package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
  310. package/docs/tr/packages/solid-intlayer/index.md +56 -0
  311. package/docs/tr/packages/svelte-intlayer/index.md +55 -0
  312. package/docs/tr/packages/vite-intlayer/index.md +82 -0
  313. package/docs/tr/packages/vue-intlayer/index.md +59 -0
  314. package/docs/tr/per_locale_file.md +321 -0
  315. package/docs/tr/readme.md +261 -0
  316. package/docs/tr/roadmap.md +338 -0
  317. package/docs/tr/testing.md +200 -0
  318. package/docs/tr/vs_code_extension.md +154 -0
  319. package/docs/zh/autoFill.md +40 -18
  320. package/docs/zh/configuration.md +245 -226
  321. package/docs/zh/dictionary/content_file.md +1064 -0
  322. package/docs/zh/intlayer_CMS.md +4 -5
  323. package/docs/zh/intlayer_with_nestjs.md +268 -0
  324. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  325. package/docs/zh/intlayer_with_react_router_v7.md +535 -0
  326. package/docs/zh/intlayer_with_tanstack.md +468 -278
  327. package/docs/zh/intlayer_with_vite+preact.md +7 -7
  328. package/docs/zh/intlayer_with_vite+react.md +7 -7
  329. package/docs/zh/intlayer_with_vite+vue.md +7 -7
  330. package/docs/zh/packages/vite-intlayer/index.md +3 -3
  331. package/docs/zh/readme.md +261 -0
  332. package/docs/zh/testing.md +198 -0
  333. package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
  334. package/frequent_questions/tr/array_as_content_declaration.md +72 -0
  335. package/frequent_questions/tr/build_dictionaries.md +59 -0
  336. package/frequent_questions/tr/build_error_CI_CD.md +75 -0
  337. package/frequent_questions/tr/customized_locale_list.md +65 -0
  338. package/frequent_questions/tr/domain_routing.md +114 -0
  339. package/frequent_questions/tr/esbuild_error.md +30 -0
  340. package/frequent_questions/tr/get_locale_cookie.md +142 -0
  341. package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
  342. package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
  343. package/frequent_questions/tr/static_rendering.md +45 -0
  344. package/frequent_questions/tr/translated_path_url.md +56 -0
  345. package/frequent_questions/tr/unknown_command.md +98 -0
  346. package/legal/tr/privacy_notice.md +83 -0
  347. package/legal/tr/terms_of_service.md +55 -0
  348. package/package.json +12 -12
  349. package/src/generated/blog.entry.ts +212 -0
  350. package/src/generated/docs.entry.ts +663 -135
  351. package/src/generated/frequentQuestions.entry.ts +85 -1
  352. package/src/generated/legal.entry.ts +7 -1
  353. package/docs/ar/dictionary/content_extention_customization.md +0 -100
  354. package/docs/ar/dictionary/get_started.md +0 -527
  355. package/docs/de/dictionary/content_extention_customization.md +0 -100
  356. package/docs/de/dictionary/get_started.md +0 -531
  357. package/docs/en/dictionary/content_extention_customization.md +0 -102
  358. package/docs/en/dictionary/get_started.md +0 -529
  359. package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
  360. package/docs/en-GB/dictionary/get_started.md +0 -591
  361. package/docs/es/dictionary/content_extention_customization.md +0 -100
  362. package/docs/es/dictionary/get_started.md +0 -527
  363. package/docs/fr/dictionary/content_extention_customization.md +0 -100
  364. package/docs/fr/dictionary/get_started.md +0 -527
  365. package/docs/hi/dictionary/content_extention_customization.md +0 -100
  366. package/docs/hi/dictionary/get_started.md +0 -527
  367. package/docs/it/dictionary/content_extention_customization.md +0 -113
  368. package/docs/it/dictionary/get_started.md +0 -573
  369. package/docs/ja/dictionary/content_extention_customization.md +0 -113
  370. package/docs/ja/dictionary/get_started.md +0 -576
  371. package/docs/ko/dictionary/content_extention_customization.md +0 -100
  372. package/docs/ko/dictionary/get_started.md +0 -530
  373. package/docs/pt/dictionary/content_extention_customization.md +0 -100
  374. package/docs/pt/dictionary/get_started.md +0 -532
  375. package/docs/ru/dictionary/content_extention_customization.md +0 -100
  376. package/docs/ru/dictionary/get_started.md +0 -575
  377. package/docs/zh/dictionary/content_extention_customization.md +0 -117
  378. package/docs/zh/dictionary/get_started.md +0 -533
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2025-06-29
3
+ updatedAt: 2025-09-16
4
4
  title: 配置
5
- description: 学习如何为您的应用程序配置Intlayer。了解可用于根据您的需要自定义Intlayer的各种设置和选项。
5
+ description: 了解如何为您的应用程序配置 Intlayer。了解各种设置和选项,以根据您的需求自定义 Intlayer
6
6
  keywords:
7
7
  - 配置
8
8
  - 设置
@@ -19,13 +19,13 @@ slugs:
19
19
 
20
20
  ## 概述
21
21
 
22
- Intlayer 配置文件允许自定义插件的各个方面,例如国际化、中间件和内容处理。本文件详细描述了配置中的每个属性。
22
+ Intlayer 配置文件允许自定义插件的各个方面,例如国际化、中间件和内容处理。本文档详细描述了配置中的每个属性。
23
23
 
24
24
  ---
25
25
 
26
26
  ## 配置文件支持
27
27
 
28
- Intlayer 支持 JSON、JS、MJS 和 TS 格式的配置文件:
28
+ Intlayer 支持 JSON、JS、MJS 和 TS 配置文件格式:
29
29
 
30
30
  - `intlayer.config.ts`
31
31
  - `intlayer.config.js`
@@ -36,30 +36,31 @@ Intlayer 支持 JSON、JS、MJS 和 TS 格式的配置文件:
36
36
 
37
37
  ---
38
38
 
39
- ## 配置文件示例
39
+ ## 示例配置文件
40
40
 
41
41
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
42
42
  import { Locales, type IntlayerConfig } from "intlayer";
43
43
 
44
44
  const config: IntlayerConfig = {
45
45
  internationalization: {
46
- locales: [Locales.ENGLISH],
46
+ locales: [Locales.ENGLISH], // 支持的语言列表
47
47
  },
48
48
  content: {
49
- contentDir: ["src", "../ui-library"],
49
+ autoFill: "./{{fileName}}.content.json", // 自动填充内容文件路径模板
50
+ contentDir: ["src", "../ui-library"], // 内容目录
50
51
  },
51
52
  middleware: {
52
- noPrefix: false,
53
+ noPrefix: false, // 是否禁用前缀
53
54
  },
54
55
  editor: {
55
- applicationURL: "https://example.com",
56
+ applicationURL: "https://example.com", // 编辑器应用程序 URL
56
57
  },
57
58
  ai: {
58
- apiKey: process.env.OPENAI_API_KEY,
59
- applicationContext: "This is a test application",
59
+ apiKey: process.env.OPENAI_API_KEY, // AI 接口密钥
60
+ applicationContext: "This is a test application", // 应用上下文描述
60
61
  },
61
62
  build: {
62
- importMode: "dynamic",
63
+ importMode: "dynamic", // 构建时的导入模式
63
64
  },
64
65
  };
65
66
 
@@ -70,6 +71,7 @@ export default config;
70
71
  const { Locales } = require("intlayer");
71
72
 
72
73
  /** @type {import('intlayer').IntlayerConfig} */
74
+ // 配置对象类型定义
73
75
  const config = {
74
76
  internationalization: {
75
77
  locales: [Locales.ENGLISH], // 支持的语言列表
@@ -84,11 +86,11 @@ const config = {
84
86
  applicationURL: "https://example.com", // 编辑器应用程序 URL
85
87
  },
86
88
  ai: {
87
- apiKey: process.env.OPENAI_API_KEY, // AI API 密钥
88
- applicationContext: "This is a test application", // 应用程序上下文
89
+ apiKey: process.env.OPENAI_API_KEY, // AI 接口密钥
90
+ applicationContext: "This is a test application", // 应用上下文描述
89
91
  },
90
92
  build: {
91
- importMode: "dynamic", // 启用动态导入
93
+ importMode: "dynamic", // 构建时的导入模式
92
94
  },
93
95
  };
94
96
 
@@ -101,10 +103,20 @@ module.exports = config;
101
103
  "locales": ["en"], // 支持的语言列表
102
104
  },
103
105
  "content": {
104
- "typesDir": "content/types", // 内容类型目录
106
+ "contentDir": ["src", "../ui-library"], // 内容目录
105
107
  },
106
108
  "middleware": {
107
- "noPrefix": false,
109
+ "noPrefix": false, // 是否禁用前缀
110
+ },
111
+ "editor": {
112
+ "applicationURL": "https://example.com", // 编辑器应用程序 URL
113
+ },
114
+ "ai": {
115
+ "apiKey": "XXXX",
116
+ "applicationContext": "这是一个测试应用",
117
+ },
118
+ "build": {
119
+ "importMode": "dynamic",
108
120
  },
109
121
  }
110
122
  ```
@@ -119,40 +131,37 @@ module.exports = config;
119
131
 
120
132
  ### 国际化配置
121
133
 
122
- 定义与国际化相关的设置,包括可用语言和应用程序的默认语言。
134
+ 定义与国际化相关的设置,包括可用的语言环境和应用的默认语言环境。
123
135
 
124
136
  #### 属性
125
137
 
126
- - **locales**:
127
-
128
- - _类型_: `string[]`
129
- - _默认值_: `['en']`
130
- - _描述_: 应用程序支持的语言列表。
131
- - _示例_: `['en', 'fr', 'es']`
132
-
133
- - **requiredLocales**:
134
- - _类型_: `string[]`
135
- - _默认值_: `[]`
136
- - _描述_: 应用程序中必需的语言列表。
137
- - _示例_: `[]`
138
- - _注意_: 如果为空,在 `strict` 模式下所有语言都是必需的。
139
- - _注意_: 确保必需的语言也在 `locales` 字段中定义。
140
- - **strictMode**:
138
+ - **locales**:
139
+ - _类型_:`string[]`
140
+ - _默认值_:`['en']`
141
+ - _描述_:应用中支持的语言环境列表。
142
+ - _示例_:`['en', 'fr', 'es']`
141
143
 
142
- - _类型_: `string`
143
- - _默认值_: `inclusive`
144
- - _描述_: 使用 TypeScript 确保国际化内容的强实现。
145
- - _注意_: 如果设置为 "strict",翻译函数 `t` 将要求每个声明的语言都被定义。如果缺少某个语言,或者某个语言未在配置中声明,将抛出错误。
146
- - _注意_: 如果设置为 "inclusive",翻译函数 `t` 将要求每个声明的语言都被定义。如果缺少某个语言,将发出警告。但如果某个语言未在配置中声明但存在,也会接受。
147
- - _注意_: 如果设置为 "loose",翻译函数 `t` 将接受任何现有的语言。
144
+ - **requiredLocales**:
145
+ - _类型_:`string[]`
146
+ - _默认值_:`[]`
147
+ - _描述_:应用中必需的语言环境列表。
148
+ - _示例_:`[]`
149
+ - _注意_:如果为空,则在 `strict` 模式下所有语言环境都是必需的。
150
+ - _注意_:确保必需的语言环境也在 `locales` 字段中定义。
151
+ - **strictMode**:
152
+ - _类型_:`string`
153
+ - _默认值_:`inclusive`
154
+ - _描述_:确保使用 TypeScript 强化国际化内容的实现。
155
+ - _注意_:如果设置为 "strict",翻译函数 `t` 将要求每个声明的语言环境都必须定义。如果缺少某个语言环境,或者配置中未声明某个语言环境,将抛出错误。
156
+ - _注意_:如果设置为 "inclusive",翻译函数 `t` 将要求每个声明的语言环境都必须定义。如果缺少某个语言环境,将发出警告。但如果配置中未声明某个语言环境但该语言环境存在,则接受。
157
+ - _注意_: 如果设置为 "loose",翻译函数 `t` 将接受任何存在的语言环境。
148
158
 
149
159
  - **defaultLocale**:
150
-
151
160
  - _类型_: `string`
152
161
  - _默认值_: `'en'`
153
162
  - _描述_: 当请求的语言环境未找到时,使用的默认语言环境作为回退。
154
163
  - _示例_: `'en'`
155
- - _注意_: URL、cookie 或请求头中未指定语言环境时,使用此项来确定语言环境。
164
+ - _注意_: 用于在 URL、cookie 或请求头中未指定语言环境时确定语言环境。
156
165
 
157
166
  ---
158
167
 
@@ -163,174 +172,172 @@ module.exports = config;
163
172
  #### 属性
164
173
 
165
174
  - **applicationURL**:
166
-
167
175
  - _类型_: `string`
168
176
  - _默认值_: `http://localhost:3000`
169
- - _描述_: 应用程序的 URL。用于限制编辑器的来源以确保安全。
177
+ - _描述_: 应用程序的 URL。用于出于安全原因限制编辑器的来源。
170
178
  - _示例_:
171
179
  - `'http://localhost:3000'`
172
180
  - `'https://example.com'`
173
- - `process.env.INTLAYER_EDITOR_URL`
174
- - _注意_: 应用程序的 URL。用于限制编辑器的来源以确保安全。如果设置为 `'*'`,编辑器可以从任何来源访问。
181
+ - `process.env.INTLAYER_EDITOR_URL`
182
+ - _注意_: 应用程序的 URL。用于出于安全原因限制编辑器的来源。如果设置为 `'*'`,则编辑器可从任何来源访问。
175
183
 
176
184
  - **port**:
177
-
178
185
  - _类型_: `number`
179
186
  - _默认值_: `8000`
180
187
  - _描述_: 可视化编辑器服务器使用的端口。
181
188
 
182
189
  - **editorURL**:
183
-
184
190
  - _类型_: `string`
185
191
  - _默认值_: `'http://localhost:8000'`
186
- - _描述_: 编辑器服务器的 URL。用于限制编辑器的来源以确保安全。
192
+ - _描述_: 编辑器服务器的 URL。用于出于安全原因限制编辑器的来源。
187
193
  - `'http://localhost:3000'`
188
194
  - `'https://example.com'`
189
195
  - `process.env.INTLAYER_EDITOR_URL`
190
- - _注意_: 从应用程序访问的编辑器服务器的 URL。用于限制可以与应用程序交互的来源以确保安全。如果设置为 `'*'`,则编辑器可从任何来源访问。如果更改了端口或编辑器托管在不同域上,应设置此项。
191
-
192
- - **cmsURL**:
193
-
194
- - _类型_: `string`
195
- - _默认值_: `'https://intlayer.org'`
196
- - _描述_: Intlayer CMS 的 URL。
197
- - _示例_: `'https://intlayer.org'`
198
- - _注意_: Intlayer CMS 的 URL。
199
-
200
- - **backendURL**:
196
+ - _注意_:应用程序访问的编辑器服务器的 URL。用于限制可以与应用程序交互的来源以确保安全。如果设置为 `'*'`,编辑器可以从任何来源访问。如果端口更改或编辑器托管在不同域名上,应设置此项。
201
197
 
202
- - _类型_: `string`
203
- - _默认值_: `https://back.intlayer.org`
204
- - _描述_: 后端服务器的 URL。
205
- - _示例_: `http://localhost:4000`
198
+ - **cmsURL**:
199
+ - _类型_:`string`
200
+ - _默认值_:`'https://intlayer.org'`
201
+ - _描述_:Intlayer CMS 的 URL。
202
+ - _示例_:`'https://intlayer.org'`
203
+ - _注意_:Intlayer CMS 的 URL。
206
204
 
207
- - **enabled**:
205
+ - **backendURL**:
206
+ - _类型_:`string`
207
+ - _默认值_:`https://back.intlayer.org`
208
+ - _描述_:后端服务器的 URL。
209
+ - _示例_:`http://localhost:4000`
208
210
 
209
- - _类型_: `boolean`
210
- - _默认值_: `true`
211
- - _描述_: 指示应用程序是否与可视化编辑器交互。
212
- - _示例_: `process.env.NODE_ENV !== 'production'`
213
- - _注意_: 如果为 true,编辑器将能够与应用程序交互。如果为 false,编辑器将无法与应用程序交互。在任何情况下,编辑器只能由可视化编辑器启用。为特定环境禁用编辑器是一种增强安全性的方式。
211
+ - **enabled**:
212
+ - _类型_:`boolean`
213
+ - _默认值_:`true`
214
+ - _描述_:指示应用程序是否与可视化编辑器交互。
215
+ - _示例_:`process.env.NODE_ENV !== 'production'`
216
+ - _注意_:如果为 true,编辑器将能够与应用程序交互。如果为 false,编辑器将无法与应用程序交互。无论如何,编辑器只能由可视化编辑器启用。在特定环境中禁用编辑器是一种加强安全性的方式。
214
217
 
215
218
  - **clientId**:
216
-
217
- - _类型_: `string` | `undefined`
218
- - _默认值_: `undefined`
219
+ - _类型_:`string` | `undefined`
220
+ - _默认值_:`undefined`
219
221
  - _描述_: clientId 和 clientSecret 允许 intlayer 包使用 oAuth2 认证与后端进行身份验证。访问令牌用于验证与项目相关的用户。要获取访问令牌,请访问 https://intlayer.org/dashboard/project 并创建一个账户。
220
222
  - _示例_: `true`
221
- - _注意_: 重要:clientId 和 clientSecret 应该保密,不应公开共享。请确保将它们保存在安全的位置,例如环境变量中。
223
+ - _注意_: 重要提示:clientId 和 clientSecret 应保持机密,不得公开共享。请确保将它们保存在安全的位置,例如环境变量中。
222
224
 
223
225
  - **clientSecret**:
224
-
225
226
  - _类型_: `string` | `undefined`
226
227
  - _默认值_: `undefined`
227
228
  - _描述_: clientId 和 clientSecret 允许 intlayer 包使用 oAuth2 认证与后端进行身份验证。访问令牌用于验证与项目相关的用户。要获取访问令牌,请访问 https://intlayer.org/dashboard/project 并创建一个账户。
228
229
  - _示例_: `true`
229
- - _注意_: 重要提示:clientId 和 clientSecret 应保密,不得公开分享。请确保将它们保存在安全的位置,例如环境变量中。
230
+ - _注意_: 重要提示:clientId 和 clientSecret 应保持机密,不得公开共享。请确保将它们保存在安全的位置,例如环境变量中。
230
231
 
231
- - **hotReload**:
232
+ - **dictionaryPriorityStrategy**:
233
+ - _类型_: `string`
234
+ - _默认值_: `'local_first'`
235
+ - _描述_: 当本地和远程词典同时存在时,优先使用词典的策略。如果设置为 `'distant_first'`,应用程序将优先使用远程词典而非本地词典。如果设置为 `'local_first'`,应用程序将优先使用本地词典而非远程词典。
236
+ - _示例_: `'distant_first'`
232
237
 
238
+ - **liveSync**:
233
239
  - _类型_: `boolean`
234
240
  - _默认值_: `false`
235
- - _描述_: 指示应用程序在检测到更改时是否应热加载语言配置。
241
+ - _描述_: 指示当检测到 CMS / 可视化编辑器 / 后端内容发生变化时,应用服务器是否应热重载应用内容。
236
242
  - _示例_: `true`
237
- - _注意_: 例如,当添加或更新新的词典时,应用程序将更新页面中显示的内容。
238
- - _注意_: 由于热重载需要与服务器保持持续连接,因此仅对 `enterprise` 计划的客户端可用。
243
+ - _备注_: 例如,当添加或更新新的词典时,应用程序会更新页面中显示的内容。
244
+ - _注意_: 实时同步需要将应用内容外部化到另一个服务器。这意味着它可能会稍微影响应用的性能。为限制这种影响,我们建议将应用和实时同步服务器托管在同一台机器上。此外,实时同步与 `optimize` 的组合可能会对实时同步服务器产生大量请求。根据您的基础设施,我们建议测试这两种选项及其组合。
239
245
 
240
- - **dictionaryPriorityStrategy**:
246
+ - **liveSyncPort**:
247
+ - _类型_: `number`
248
+ - _默认值_: `4000`
249
+ - _描述_: 实时同步服务器的端口。
250
+ - _示例_: `4000`
251
+ - _注意_: 实时同步服务器的端口。
252
+
253
+ - **liveSyncURL**:
241
254
  - _类型_: `string`
242
- - _默认值_: `'local_first'`
243
- - _描述_: 当本地词典和远程词典同时存在时,优先使用词典的策略。如果设置为 `'distant_first'`,应用程序将优先使用远程词典;如果设置为 `'local_first'`,应用程序将优先使用本地词典。
244
- - _示例_: `'distant_first'`
255
+ - _默认值_: `'http://localhost:{liveSyncPort}'`
256
+ - _描述_: 实时同步服务器的 URL。
257
+ - _示例_: `'https://example.com'`
258
+ - _备注_: 默认指向 localhost,但在远程实时同步服务器的情况下可以更改为任何 URL。
245
259
 
246
260
  ### 中间件配置
247
261
 
248
- 控制中间件行为的设置,包括应用程序如何处理 Cookie、头信息和用于语言环境管理的 URL 前缀。
262
+ 控制中间件行为的设置,包括应用如何处理 cookie、头信息以及用于区域管理的 URL 前缀。
249
263
 
250
264
  #### 属性
251
265
 
252
266
  - **headerName**:
253
-
254
267
  - _类型_: `string`
255
268
  - _默认值_: `'x-intlayer-locale'`
256
- - _描述_: 用于确定语言环境的 HTTP 头名称。
269
+ - _描述_: 用于确定区域的 HTTP 头名称。
257
270
  - _示例_: `'x-custom-locale'`
258
- - _注意_: 这对于基于 API 的语言环境确定非常有用。
271
+ - _备注_: 这对于基于 API 的区域确定非常有用。
259
272
 
260
273
  - **cookieName**:
261
-
262
274
  - _类型_: `string`
263
275
  - _默认值_: `'intlayer-locale'`
264
- - _描述_: 用于存储语言环境的 Cookie 名称。
276
+ - _描述_: 用于存储区域的 cookie 名称。
265
277
  - _示例_: `'custom-locale'`
266
- - _注意_: 用于在会话之间保持语言环境。
278
+ - _说明_: 用于在会话之间保持语言环境。
267
279
 
268
280
  - **prefixDefault**:
269
-
270
281
  - _类型_: `boolean`
271
282
  - _默认值_: `false`
272
- - _描述_: 是否在 URL 中包含默认语言环境。
283
+ - _说明_: 是否在 URL 中包含默认语言环境。
273
284
  - _示例_: `true`
274
- - _注意_:
275
- - 如果 `true` 且 `defaultLocale = 'en'`: path = `/en/dashboard` 或 `/fr/dashboard`
276
- - 如果 `false` 且 `defaultLocale = 'en'`: path = `/dashboard` 或 `/fr/dashboard`
285
+ - _说明_:
286
+ - 如果为 `true` 且 `defaultLocale = 'en'`:路径为 `/en/dashboard` 或 `/fr/dashboard`
287
+ - 如果为 `false` 且 `defaultLocale = 'en'`:路径为 `/dashboard` 或 `/fr/dashboard`
277
288
 
278
289
  - **basePath**:
279
-
280
290
  - _类型_: `string`
281
291
  - _默认值_: `''`
282
- - _描述_: 应用程序 URL 的基础路径。
292
+ - _说明_: 应用程序 URL 的基础路径。
283
293
  - _示例_: `'/my-app'`
284
- - _注意_:
285
- - 如果应用程序托管在 `https://example.com/my-app`
286
- - 基础路径是 `'/my-app'`
294
+ - _说明_:
295
+ - 如果应用托管在 `https://example.com/my-app`
296
+ - 基础路径为 `'/my-app'`
287
297
  - URL 将是 `https://example.com/my-app/en`
288
- - 如果基础路径未设置,URL 将是 `https://example.com/en`
289
-
290
- - **serverSetCookie**:
298
+ - 如果未设置基础路径,URL 将是 `https://example.com/en`
291
299
 
292
- - _类型_: `string`
293
- - _默认值_: `'always'`
294
- - _描述_: 在服务器上设置语言环境 Cookie 的规则。
295
- - _选项_: `'always'`, `'never'`
296
- - _示例_: `'never'`
297
- - _注意_: 控制是否在每个请求上设置语言环境 Cookie 或从不设置。
298
-
299
- - **noPrefix**:
300
+ - **serverSetCookie**:
301
+ - _类型_:`string`
302
+ - _默认值_:`'always'`
303
+ - _描述_:服务器端设置语言环境 Cookie 的规则。
304
+ - _选项_:`'always'`,`'never'`
305
+ - _示例_:`'never'`
306
+ - _说明_:控制是否在每次请求时设置语言环境 Cookie,或者从不设置。
300
307
 
301
- - _类型_: `boolean`
302
- - _默认值_: `false`
303
- - _描述_: 是否从 URL 中省略语言环境前缀。
304
- - _示例_: `true`
305
- - _注意_:
306
- - 如果 `true`: URL 中没有前缀
307
- - 如果 `false`: URL 中有前缀
308
- - 使用 `basePath = '/my-app'` 的示例:
309
- - 如果 `noPrefix = false`: URL 将是 `https://example.com/my-app/en`
310
- - 如果 `noPrefix = true`: URL 将是 `https://example.com`
308
+ - **noPrefix**:
309
+ - _类型_:`boolean`
310
+ - _默认值_:`false`
311
+ - _描述_:是否在 URL 中省略语言环境前缀。
312
+ - _示例_:`true`
313
+ - _说明_:
314
+ - 如果为 `true`:URL 中无前缀
315
+ - 如果为 `false`:URL 中有前缀
316
+ - `basePath = '/my-app'` 为例:
317
+ - 如果 `noPrefix = false`:URL 将是 `https://example.com/my-app/en`
318
+ - 如果 `noPrefix = true`:URL 将是 `https://example.com`
311
319
 
312
320
  - **detectLocaleOnPrefetchNoPrefix**:
313
-
314
321
  - _类型_: `boolean`
315
322
  - _默认值_: `false`
316
323
  - _描述_: 控制是否在 Next.js 预取请求期间进行语言环境检测。
317
324
  - _示例_: `true`
318
- - _注意_: 此设置影响 Next.js 处理语言环境预取的方式:
319
- - **示例场景:**
320
- - 用户的浏览器语言是 `'fr'`
321
- - 当前页面是 `/fr/about`
325
+ - _说明_: 此设置影响 Next.js 如何处理语言环境预取:
326
+ - **示例场景:**
327
+ - 用户浏览器语言为 `'fr'`
328
+ - 当前页面为 `/fr/about`
322
329
  - 链接预取 `/about`
323
- - **使用 `detectLocaleOnPrefetchNoPrefix: true`:**
330
+ - **当 `detectLocaleOnPrefetchNoPrefix: true` 时:**
324
331
  - 预取从浏览器检测到 `'fr'` 语言环境
325
332
  - 将预取重定向到 `/fr/about`
326
- - **使用 `detectLocaleOnPrefetchNoPrefix: false` (默认):**
333
+ - **当 `detectLocaleOnPrefetchNoPrefix: false`(默认)时:**
327
334
  - 预取使用默认语言环境
328
- - 将预取重定向到 `/en/about` (假设 `'en'` 是默认值)
329
- - **何时使用 `true`:**
330
- - 您的应用程序使用非本地化的内部链接 (例如 `<a href="/about">`)
331
- - 您希望在常规请求和预取请求之间保持一致的语言环境检测行为
332
- - **何时使用 `false` (默认):**
333
- - 您的应用程序使用带语言环境前缀的链接 (例如 `<a href="/fr/about">`)
335
+ - 将预取重定向到 `/en/about`(假设 `'en'` 是默认语言)
336
+ - **何时使用 `true`:**
337
+ - 您的应用使用非本地化的内部链接(例如 `<a href="/about">`)
338
+ - 您希望常规请求和预取请求之间的语言检测行为保持一致
339
+ - **何时使用 `false`(默认值):**
340
+ - 您的应用使用带语言前缀的链接(例如 `<a href="/fr/about">`)
334
341
  - 您希望优化预取性能
335
342
  - 您希望避免潜在的重定向循环
336
343
 
@@ -338,101 +345,100 @@ module.exports = config;
338
345
 
339
346
  ### 内容配置
340
347
 
341
- 与应用程序中的内容处理相关的设置,包括目录名称、文件扩展名和派生配置。
348
+ 与应用内内容处理相关的设置,包括目录名称、文件扩展名及派生配置。
342
349
 
343
350
  #### 属性
344
351
 
345
- - **watch**:
352
+ - **autoFill**:
353
+ - _类型_:`boolean | string | { [key in Locales]?: string }`
354
+ - _默认值_:`undefined`
355
+ - _描述_:指示内容应如何使用 AI 自动填充。可以在 `intlayer.config.ts` 文件中全局声明。
356
+ - _示例_:true
357
+ - _示例_:'./{{fileName}}.content.json'
358
+ - _示例_:{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }
359
+ - _备注_:自动填充配置。它可以是:
360
+ - boolean:为所有语言启用自动填充
361
+ - string:单个文件路径或带变量的模板路径
362
+ - object:每个语言的文件路径
346
363
 
347
- - _类型_: `boolean`
348
- - _默认值_: `process.env.NODE_ENV === 'development'`
349
- - _描述_: 指示 Intlayer 是否应监视应用程序中的内容声明文件的更改以重新构建相关字典。
364
+ - **watch**:
365
+ - _类型_:`boolean`
366
+ - _默认值_:`process.env.NODE_ENV === 'development'`
367
+ - _描述_:指示 Intlayer 是否应监视应用中内容声明文件的更改,以重建相关字典。
350
368
 
351
369
  - **fileExtensions**:
352
-
353
- - _类型_: `string[]`
370
+ - _类型_:`string[]`
354
371
  - _默认值_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
355
372
  - _描述_: 构建字典时要查找的文件扩展名。
356
373
  - _示例_: `['.data.ts', '.data.js', '.data.json']`
357
- - _注意_: 自定义文件扩展名可以帮助避免冲突。
374
+ - _备注_: 自定义文件扩展名可以帮助避免冲突。
358
375
 
359
376
  - **baseDir**:
360
-
361
377
  - _类型_: `string`
362
378
  - _默认值_: `process.cwd()`
363
379
  - _描述_: 项目的基础目录。
364
380
  - _示例_: `'/path/to/project'`
365
- - _注意_: 用于解析所有与 Intlayer 相关的目录。
381
+ - _备注_: 用于解析所有与 Intlayer 相关的目录。
366
382
 
367
383
  - **dictionaryOutput**:
368
-
369
384
  - _类型_: `string[]`
370
385
  - _默认值_: `['intlayer']`
371
- - _描述_: 要使用的字典输出类型,例如 `'intlayer'` 或 `'i18next'`。
386
+ - _描述_: 使用的字典输出类型,例如 `'intlayer'` 或 `'i18next'`。
372
387
 
373
388
  - **contentDir**:
374
-
375
389
  - _类型_: `string[]`
376
- - _默认值_: `['src']`
390
+ - _默认值_: `['.']`
377
391
  - _示例_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
378
392
  - _描述_: 存储内容的目录路径。
379
393
 
380
394
  - **dictionariesDir**:
381
-
382
395
  - _类型_: `string`
383
- - _默认值_: `'.intlayer/dictionaries'`
384
- - _描述_: 用于存储中间或输出结果的目录路径。
396
+ - _默认_: `'.intlayer/dictionaries'`
397
+ - _描述_: 用于存储中间结果或输出结果的目录路径。
385
398
 
386
399
  - **moduleAugmentationDir**:
387
-
388
400
  - _类型_: `string`
389
- - _默认值_: `'.intlayer/types'`
390
- - _描述_: 模块增强目录,允许更好的 IDE 建议和类型检查。
401
+ - _默认_: `'.intlayer/types'`
402
+ - _描述_: 模块增强目录,允许更好的 IDE 提示和类型检查。
391
403
  - _示例_: `'intlayer-types'`
392
- - _注意_: 请确保将其包含在 `tsconfig.json` 中。
404
+ - _注意_: 确保在 `tsconfig.json` 中包含此目录。
393
405
 
394
406
  - **unmergedDictionariesDir**:
395
-
396
407
  - _类型_: `string`
397
- - _默认值_: `'.intlayer/unmerged_dictionary'`
408
+ - _默认_: `'.intlayer/unmerged_dictionary'`
398
409
  - _描述_: 用于存储未合并字典的目录。
399
410
  - _示例_: `'translations'`
400
411
 
401
412
  - **dictionariesDir**:
402
-
403
413
  - _类型_: `string`
404
414
  - _默认值_: `'.intlayer/dictionary'`
405
- - _描述_: 用于存储本地化字典的目录。
415
+ - _描述_: 用于存储本地化词典的目录。
406
416
  - _示例_: `'translations'`
407
417
 
408
418
  - **i18nextResourcesDir**:
409
- - **i18nextResourcesDir**:
410
-
411
419
  - _类型_: `string`
412
420
  - _默认值_: `'i18next_dictionary'`
413
- - _描述_: 用于存储 i18n 字典的目录。
421
+ - _描述_: 用于存储 i18n 词典的目录。
414
422
  - _示例_: `'translations'`
415
- - _注意_: 确保此目录已为 i18next 输出类型配置。
423
+ - _注意_: 确保该目录已为 i18next 输出类型进行配置。
416
424
 
417
425
  - **typesDir**:
418
-
419
426
  - _类型_: `string`
420
427
  - _默认值_: `'types'`
421
- - _描述_: 用于存储字典类型的目录。
428
+ - _描述_: 用于存储词典类型的目录。
422
429
  - _示例_: `'intlayer-types'`
423
430
 
424
431
  - **mainDir**:
425
-
426
432
  - _类型_: `string`
427
433
  - _默认值_: `'main'`
428
- - _描述_: 存储主应用程序文件的目录。
434
+ - _描述_: 存放主应用程序文件的目录。
429
435
  - _示例_: `'intlayer-main'`
430
436
 
431
437
  - **excludedPath**:
432
438
  - _类型_: `string[]`
433
439
  - _默认值_: `['node_modules']`
434
- - _描述_: 从内容搜索中排除的目录。
435
- - _注意_: 此设置尚未使用,但计划在未来实现。
440
+ - _描述_: 排除内容搜索的目录。
441
+ - _备注_: 此设置尚未使用,但计划在未来实现。
436
442
 
437
443
  ### 日志配置
438
444
 
@@ -441,30 +447,30 @@ module.exports = config;
441
447
  #### 属性
442
448
 
443
449
  - **mode**:
444
-
445
450
  - _类型_: `string`
446
451
  - _默认值_: `default`
447
452
  - _描述_: 指示日志记录器的模式。
448
- - _选项_: `default`, `verbose`, `disabled`
453
+ - _选项_: `default`,`verbose`,`disabled`
449
454
  - _示例_: `default`
450
- - _注意_: 日志记录器的模式。详细模式将记录更多信息,但可用于调试目的。禁用模式将禁用日志记录器。
455
+ - _备注_: 日志记录器的模式。详细模式将记录更多信息,可用于调试。禁用模式将关闭日志记录器。
451
456
 
452
457
  - **prefix**:
453
-
454
458
  - _类型_: `string`
455
459
  - _默认值_: `'[intlayer] '`
456
460
  - _描述_: 日志记录器的前缀。
457
461
  - _示例_: `'[my custom prefix] '`
458
- - _注意_: 日志记录器的前缀。
462
+ - _注释_: 日志器的前缀。
459
463
 
460
464
  ### AI 配置
461
465
 
462
466
  控制 Intlayer AI 功能的设置,包括提供商、模型和 API 密钥。
463
- 如果您已使用访问密钥在 [Intlayer Dashboard](https://intlayer.org/dashboard/project) 上注册,则此配置是可选的。Intlayer 将自动为您的需求管理最有效和最具成本效益的 AI 解决方案。使用默认选项可确保更好的长期可维护性,因为 Intlayer 会不断更新以使用最相关的模型。
464
467
 
465
- 如果您更喜欢使用自己的 API 密钥或特定模型,可以定义自定义 AI 配置。
466
- 此 AI 配置将在整个 Intlayer 环境中全局使用。CLI 命令将使用这些设置作为命令(例如 `fill`)的默认值,以及 SDK、可视化编辑器和 CMS。您可以使用命令参数为特定用例覆盖这些默认值。
467
- Intlayer 支持多个 AI 提供商,以增强灵活性和选择性。目前支持的提供商有:
468
+ 如果您已使用访问密钥在[Intlayer 控制面板](https://intlayer.org/dashboard/project)注册,则此配置是可选的。Intlayer 会自动管理最有效且具有成本效益的 AI 解决方案以满足您的需求。使用默认选项可确保更好的长期可维护性,因为 Intlayer 会持续更新以使用最相关的模型。
469
+
470
+ 如果您希望使用自己的 API 密钥或特定模型,可以定义自定义的 AI 配置。
471
+ 此 AI 配置将在整个 Intlayer 环境中全局使用。CLI 命令将使用这些设置作为命令的默认值(例如 `fill`),同时 SDK、可视化编辑器和 CMS 也会使用这些默认值。您可以通过命令参数覆盖这些默认值以满足特定用例。
472
+
473
+ Intlayer 支持多个 AI 提供商,以增强灵活性和选择。目前支持的提供商有:
468
474
 
469
475
  - **OpenAI**(默认)
470
476
  - **Anthropic Claude**
@@ -476,93 +482,106 @@ Intlayer 支持多个 AI 提供商,以增强灵活性和选择性。目前支
476
482
  #### 属性
477
483
 
478
484
  - **provider**:
479
-
480
485
  - _类型_:`string`
481
486
  - _默认值_:`'openai'`
482
487
  - _描述_:用于 Intlayer AI 功能的提供商。
483
488
  - _选项_:`'openai'`、`'anthropic'`、`'mistral'`、`'deepseek'`、`'gemini'`
484
489
  - _示例_:`'anthropic'`
485
- - _注意_:不同的提供商可能需要不同的 API 密钥,并具有不同的定价模型。
490
+ - _注意_: 不同的提供商可能需要不同的 API 密钥,并且有不同的定价模型。
486
491
 
487
- - **model**:
488
-
489
- - _类型_:`string`
490
- - _默认值_:无
491
- - _描述_:用于 Intlayer AI 功能的模型。
492
- - _示例_:`'gpt-4o-2024-11-20'`
493
- - _注意_: 不同提供商使用的具体模型可能有所不同。
492
+ - **model**:
493
+ - _类型_: `string`
494
+ - _默认值_: 无
495
+ - _描述_: 用于 Intlayer AI 功能的模型。
496
+ - _示例_: `'gpt-4o-2024-11-20'`
497
+ - _注意_: 具体使用的模型因提供商而异。
494
498
 
495
499
  - **temperature**:
496
-
497
500
  - _类型_: `number`
498
501
  - _默认值_: 无
499
- - _描述_: 温度控制 AI 响应的随机性。
502
+ - _描述_: temperature 控制 AI 回答的随机性。
500
503
  - _示例_: `0.1`
501
- - _注意_: 较高的温度会使 AI 更具创造性且更不可预测。
504
+ - _注意_: 较高的 temperature 会使 AI 更具创造性且不可预测。
502
505
 
503
506
  - **apiKey**:
504
-
505
507
  - _类型_: `string`
506
508
  - _默认值_: 无
507
- - _描述_: 您为所选提供商提供的 API 密钥。
509
+ - _描述_: 你为所选提供商提供的 API 密钥。
508
510
  - _示例_: `process.env.OPENAI_API_KEY`
509
- - _注意_: 重要提示:API 密钥应保密,不得公开共享。请确保将其保存在安全位置,例如环境变量。
511
+ - _注意_: 重要提示:API 密钥应保密,切勿公开共享。请确保将其保存在安全的位置,例如环境变量中。
510
512
 
511
513
  - **applicationContext**:
512
514
  - _类型_: `string`
513
515
  - _默认值_: 无
514
- - _描述_:为 AI 模型提供有关您的应用程序的额外上下文,帮助其生成更准确且符合上下文的翻译。这可以包括您的应用领域、目标受众、语气或特定术语等信息。
516
+ - _描述_: AI 模型提供有关您的应用程序的额外上下文,帮助其生成更准确且符合上下文的翻译。这可以包括您的应用领域、目标受众、语气或特定术语的信息。
515
517
 
516
518
  ### 构建配置
517
519
 
518
- 控制 Intlayer 如何优化和构建应用程序国际化的设置。
520
+ 控制 Intlayer 如何优化和构建您的应用程序国际化的设置。
519
521
 
520
522
  构建选项适用于 `@intlayer/babel` 和 `@intlayer/swc` 插件。
521
523
 
522
- > 在开发模式下,Intlayer 使用静态导入字典以简化开发体验。
524
+ > 在开发模式下,Intlayer 使用静态导入字典,以简化开发体验。
523
525
 
524
- > 优化时,Intlayer 将替换字典调用以优化分块,以便最终包只导入实际使用的字典。
526
+ > 在优化模式下,Intlayer 会替换字典调用以优化代码分块,因此最终打包只会导入实际使用的字典。
525
527
 
526
528
  #### 属性
527
529
 
528
530
  - **optimize**:
529
-
530
531
  - _类型_:`boolean`
531
532
  - _默认值_:`process.env.NODE_ENV === 'production'`
532
- - _描述_:控制构建是否应被优化。
533
+ - _描述_:控制构建是否应进行优化。
533
534
  - _示例_:`true`
534
- - _注意_:启用时,Intlayer 将替换所有字典调用以优化分块。这样,最终包将只导入使用的字典。所有导入都将保持为静态导入,以避免加载字典时的异步处理。
535
- - _注意_Intlayer 将用 `importMode` 选项定义的模式替换所有 `useIntlayer` 调用,并将 `getIntlayer` 替换为 `getDictionary`。
536
- - _注意_:此选项依赖于 `@intlayer/babel` 和 `@intlayer/swc` 插件。
537
- - _注意_:确保所有键都在 `useIntlayer` 调用中静态声明。例如:`useIntlayer('navbar')`。
538
-
539
- - **importMode**:
540
-
541
- - _类型_:`'static' | 'dynamic' | 'async'`
542
- - _默认值_:`'static'`
543
- - _描述_:控制字典的导入方式。
544
- - _示例_:`'dynamic'`
545
- - _注意_:可用模式:
546
- - "static":字典静态导入。将 `useIntlayer` 替换为 `useDictionary`。
547
- - "dynamic":字典使用 Suspense 动态导入。将 `useIntlayer` 替换为 `useDictionaryDynamic`。
548
- - "async":字典异步动态导入。将 `useIntlayer` 替换为 `await useDictionaryAsync`。
549
- - _注意_:动态导入依赖于 Suspense,可能会略微影响渲染性能。
535
+ - _注意_:启用时,Intlayer 会替换所有字典调用以优化代码分块。这样最终打包只会导入被使用的字典。所有导入将保持为静态导入,以避免加载字典时的异步处理。
536
+ - _注意_: Intlayer 会根据 `importMode` 选项定义的模式替换所有 `useIntlayer` 的调用,并将 `getIntlayer` 替换为 `getDictionary`。
537
+ - _注意_: 此选项依赖于 `@intlayer/babel` 和 `@intlayer/swc` 插件。
538
+ - _注意_: 确保所有键在 `useIntlayer` 调用中是静态声明的。例如 `useIntlayer('navbar')`。
539
+
540
+ - **importMode**:
541
+ - _类型_: `'static' | 'dynamic' | 'live'`
542
+ - _默认值_: `'static'`
543
+ - _描述_: 控制字典的导入方式。
544
+ - _示例_: `'dynamic'`
545
+ - _注意_: 可用模式:
546
+ - "static":字典以静态方式导入。将 `useIntlayer` 替换为 `useDictionary`。
547
+ - "dynamic":字典通过 Suspense 动态导入。将 `useIntlayer` 替换为 `useDictionaryDynamic`。
548
+ - "live":字典通过实时同步 API 动态获取。将 `useIntlayer` 替换为 `useDictionaryFetch`。
549
+ - _注意_:动态导入依赖 Suspense,可能会略微影响渲染性能。
550
550
  - _注意_:如果禁用,所有语言环境将一次性加载,即使未被使用。
551
- - _注意_:此选项依赖于 `@intlayer/babel` 和 `@intlayer/swc` 插件。
552
- - _注意_:确保所有键在 `useIntlayer` 调用中静态声明。例如:`useIntlayer('navbar')`。
553
- - _注意_:如果 `optimize` 被禁用,此选项将被忽略。
554
- - _注意_:在大多数情况下,React 应用程序将使用 `"dynamic"`,Vue.js 应用程序将使用 `"async"`。
555
- - _注意_:此选项不会影响 `getIntlayer`、`getDictionary`、`useDictionary`、`useDictionaryAsync` `useDictionaryDynamic` 函数。
551
+ - _注意_:此选项依赖 `@intlayer/babel` 和 `@intlayer/swc` 插件。
552
+ - _注意_:确保在 `useIntlayer` 调用中所有键都是静态声明的。例如 `useIntlayer('navbar')`。
553
+ - _注意_:如果禁用 `optimize`,此选项将被忽略。
554
+ - _注意_: 如果设置为 "live",只有包含远程内容且标记为 "live" 的字典会被转换为实时模式。其他字典将以 "dynamic" 模式动态导入,以优化请求次数和加载性能。
555
+ - _注意_: 实时模式将使用实时同步 API 来获取字典。如果 API 调用失败,字典将以 "dynamic" 模式动态导入。
556
+ - _注意_: 此选项不会影响 `getIntlayer`、`getDictionary`、`useDictionary`、`useDictionaryAsync` 和 `useDictionaryDynamic` 函数。
556
557
 
557
- - **traversePattern**:
558
- - _类型_:`string[]`
559
- - _默认值_:`['**/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**/node_modules/**']`
558
+ - **traversePattern**:
559
+ - _类型_: `string[]`
560
+ - _默认值_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**\/node_modules/**']`
560
561
  - _描述_:定义在优化过程中应遍历哪些文件的模式。
561
- - _示例_:`['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']`
562
- - _注意_:使用此选项限制优化到相关的代码文件,以提升构建性能。
562
+ - _示例_:`['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
563
+ - _注意_:使用此选项限制优化范围到相关代码文件,以提升构建性能。
563
564
  - _注意_:如果禁用 `optimize`,此选项将被忽略。
564
565
  - _注意_:使用 glob 模式。
565
566
 
566
567
  ## 文档历史
567
568
 
568
- - 5.5.11 - 2025-06-29:新增 `docs` 命令
569
+ | 版本 | 日期 | 变更 |
570
+ | ----- | ---------- | -------------------- |
571
+ | 6.0.0 | 2025-09-16 | 添加 `live` 导入模式 |
572
+
573
+ - _描述_: 定义在优化过程中应遍历哪些文件的模式。
574
+ - _示例_: `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']`
575
+ - _注意_: 使用此选项限制优化范围到相关代码文件,以提升构建性能。
576
+ - _注意_: 如果禁用 `optimize`,此选项将被忽略。
577
+ - _注意_: 使用 glob 模式。
578
+
579
+ ## 文档历史
580
+
581
+ | 版本 | 日期 | 变更说明 |
582
+ | ------ | ---------- | -------------------------------------------------------------------------------- |
583
+ | 6.0.0 | 2025-09-16 | 添加 `live` 导入模式 |
584
+ | 6.0.0 | 2025-09-04 | 用 `liveSync` 替换 `hotReload` 字段,并新增 `liveSyncPort` 和 `liveSyncURL` 字段 |
585
+ | 5.6.1 | 2025-07-25 | 用 `importMode` 选项替换 `activateDynamicImport` |
586
+ | 5.6.0 | 2025-07-13 | 默认的 contentDir 从 `['src']` 改为 `['.']` |
587
+ | 5.5.11 | 2025-06-29 | 添加 `docs` 命令 |