@intlayer/docs 5.8.1-canary.0 → 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 +13 -13
  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
@@ -0,0 +1,200 @@
1
+ ---
2
+ createdAt: 2025-03-01
3
+ updatedAt: 2025-09-20
4
+ title: Testen Ihres Inhalts
5
+ description: Entdecken Sie, wie Sie Ihre Inhalte mit Intlayer testen können.
6
+ keywords:
7
+ - Testen
8
+ - Intlayer
9
+ - Internationalisierung
10
+ - CMS
11
+ - Content-Management-System
12
+ - Visueller Editor
13
+ slugs:
14
+ - doc
15
+ - testing
16
+ ---
17
+
18
+ # Testen Ihres Inhalts
19
+
20
+ Dieser Leitfaden zeigt, wie Sie automatisch überprüfen können, ob Ihre Wörterbücher vollständig sind, fehlende Übersetzungen vor der Veröffentlichung erkennen und die lokalisierte Benutzeroberfläche in Ihrer App testen.
21
+
22
+ ---
23
+
24
+ ## Was Sie testen können
25
+
26
+ - **Fehlende Übersetzungen**: CI schlägt fehl, wenn für ein Wörterbuch erforderliche Sprachversionen fehlen.
27
+ - **Lokalisierte UI-Darstellung**: Komponenten mit einem bestimmten Sprachprovider rendern und sichtbaren Text/Attribute überprüfen.
28
+ - **Build-Zeit Prüfungen**: Führen Sie lokal eine schnelle Prüfung über die CLI durch.
29
+
30
+ ---
31
+
32
+ ## Schnellstart: Prüfung über CLI
33
+
34
+ Führen Sie die Prüfung vom Projektstammverzeichnis aus durch:
35
+
36
+ ```bash
37
+ npx intlayer content test
38
+ ```
39
+
40
+ Nützliche Optionen:
41
+
42
+ - `--env-file [Pfad]`: lädt Umgebungsvariablen aus einer Datei.
43
+ - `-e, --env [Name]`: wählt ein Umgebungsprofil aus.
44
+ - `--base-dir [Pfad]`: legt das Basisverzeichnis der App für die Auflösung fest.
45
+ - `--verbose`: zeigt ausführliche Protokolle an.
46
+ - `--prefix [Label]`: fügt den Protokollzeilen ein Präfix hinzu.
47
+
48
+ Hinweis: Die CLI gibt einen detaillierten Bericht aus, beendet sich jedoch bei Fehlern nicht mit einem Fehlercode. Für CI-Gates fügen Sie einen Unit-Test (siehe unten) hinzu, der sicherstellt, dass keine erforderlichen Sprachversionen fehlen.
49
+
50
+ ---
51
+
52
+ ## Programmatischer Test (Vitest/Jest)
53
+
54
+ Verwenden Sie die Intlayer CLI API, um sicherzustellen, dass keine Übersetzungen für Ihre erforderlichen Sprachversionen fehlen.
55
+
56
+ ```ts file=i18n.test.ts
57
+ /* @vitest-environment node */
58
+ import { listMissingTranslations } from "intlayer/cli";
59
+ import { describe, expect, it } from "vitest";
60
+
61
+ describe("Übersetzungen", () => {
62
+ it("hat keine fehlenden erforderlichen Sprachversionen", () => {
63
+ const result = listMissingTranslations();
64
+
65
+ if (result.missingRequiredLocales.length > 0) {
66
+ // Hilfreich, wenn der Test lokal oder in CI fehlschlägt
67
+ console.log(result.missingTranslations);
68
+ }
69
+
70
+ expect(result.missingRequiredLocales).toHaveLength(0);
71
+ });
72
+ });
73
+ ```
74
+
75
+ Jest-Äquivalent:
76
+
77
+ ```ts file=i18n.test.ts
78
+ import { listMissingTranslations } from "intlayer/cli";
79
+
80
+ test("hat keine fehlenden erforderlichen Sprachversionen", () => {
81
+ const result = listMissingTranslations();
82
+
83
+ if (result.missingRequiredLocales.length > 0) {
84
+ // eslint-disable-next-line no-console
85
+ console.log(result.missingTranslations);
86
+ }
87
+
88
+ expect(result.missingRequiredLocales).toHaveLength(0);
89
+ });
90
+ ```
91
+
92
+ Wie es funktioniert:
93
+
94
+ - Intlayer liest Ihre Konfiguration (locales, requiredLocales) und deklarierte Wörterbücher aus und meldet dann:
95
+ - `missingTranslations`: pro Schlüssel, welche Sprachversionen fehlen und aus welcher Datei.
96
+ - `missingLocales`: Vereinigung aller fehlenden Sprachversionen.
97
+ - `missingRequiredLocales`: Teilmenge beschränkt auf `requiredLocales` (oder alle Sprachversionen, wenn `requiredLocales` nicht gesetzt ist).
98
+
99
+ ---
100
+
101
+ ## Testen der lokalisierten Benutzeroberfläche (React / Next.js)
102
+
103
+ Rendern Sie Komponenten unter einem Intlayer-Provider und prüfen Sie den sichtbaren Inhalt.
104
+
105
+ React-Beispiel (Testing Library):
106
+
107
+ ```tsx
108
+ import { IntlayerProvider } from "react-intlayer/client";
109
+ import { render, screen } from "@testing-library/react";
110
+ import { MyComponent } from "./MyComponent";
111
+
112
+ test("renders localized title in English", () => {
113
+ render(
114
+ <IntlayerProvider locale="en-US">
115
+ <MyComponent />
116
+ </IntlayerProvider>
117
+ );
118
+
119
+ expect(screen.getByText("Erwarteter englischer Titel")).toBeInTheDocument();
120
+ });
121
+ ```
122
+
123
+ Next.js (App Router) Beispiel: Verwenden Sie den Framework-Wrapper:
124
+
125
+ ```tsx
126
+ import { IntlayerClientProvider } from "next-intlayer/client";
127
+ import { render, screen } from "@testing-library/react";
128
+ import { MyPage } from "./MyPage";
129
+
130
+ test("rendert lokalisierten Überschrift auf Französisch", () => {
131
+ render(
132
+ <IntlayerClientProvider locale="fr-FR">
133
+ <MyPage />
134
+ </IntlayerClientProvider>
135
+ );
136
+ expect(
137
+ screen.getByRole("heading", { name: "Titre attendu" })
138
+ ).toBeInTheDocument();
139
+ });
140
+ ```
141
+
142
+ Tipps:
143
+
144
+ - Wenn Sie rohe Zeichenkettenwerte für Attribute benötigen (z. B. `aria-label`), greifen Sie auf das `.value`-Feld zu, das von `useIntlayer` in React zurückgegeben wird.
145
+ - Behalten Sie Wörterbücher in der Nähe der Komponenten für einfachere Unit-Tests und Bereinigung bei.
146
+
147
+ ---
148
+
149
+ ## Kontinuierliche Integration
150
+
151
+ Fügen Sie einen Test hinzu, der den Build fehlschlagen lässt, wenn erforderliche Übersetzungen fehlen.
152
+
153
+ `package.json`:
154
+
155
+ ```json
156
+ {
157
+ "scripts": {
158
+ "test:i18n": "vitest run -c"
159
+ }
160
+ }
161
+ ```
162
+
163
+ GitHub Actions Beispiel:
164
+
165
+ ```yaml
166
+ name: CI
167
+ on: [push, pull_request]
168
+ jobs:
169
+ test:
170
+ runs-on: ubuntu-latest
171
+ steps:
172
+ - uses: actions/checkout@v4
173
+ - uses: actions/setup-node@v4
174
+ with:
175
+ node-version: 20
176
+ - run: npm ci
177
+ - run: npm run test:i18n
178
+ ```
179
+
180
+ Optional: Führen Sie die CLI-Prüfung für eine menschenlesbare Zusammenfassung neben den Tests aus:
181
+
182
+ ```bash
183
+ npx intlayer content test --verbose
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Fehlerbehebung
189
+
190
+ - Stellen Sie sicher, dass Ihre Intlayer-Konfiguration `locales` und (optional) `requiredLocales` definiert.
191
+ - Wenn Ihre Anwendung dynamische oder entfernte Wörterbücher verwendet, führen Sie die Tests in einer Umgebung aus, in der die Wörterbücher verfügbar sind.
192
+ - Für gemischte Monorepos verwenden Sie `--base-dir`, um die CLI auf das richtige Anwendungs-Stammverzeichnis zu verweisen.
193
+
194
+ ---
195
+
196
+ ## Dokumentationsverlauf
197
+
198
+ | Version | Datum | Änderungen |
199
+ | ------- | ---------- | -------------------- |
200
+ | 6.0.0 | 2025-09-20 | Einführung von Tests |
package/docs/en/CI_CD.md CHANGED
@@ -23,7 +23,7 @@ Intlayer allows the automatic generation of translations for your content declar
23
23
 
24
24
  ## Using the CMS
25
25
 
26
- With Intlayer, you can adopt a workflow where only a single locale is declared locally, while all translations are managed remotely through the CMS. This allows content and translations to be completely detached from the codebase, offering more flexibility for content editors and enabling hot content reloading (no need to rebuild the application to apply changes).
26
+ With Intlayer, you can adopt a workflow where only a single locale is declared locally, while all translations are managed remotely through the CMS. This allows content and translations to be completely detached from the codebase, offering more flexibility for content editors and enabling Live Sync (no need to rebuild the application to apply changes).
27
27
 
28
28
  ### Example Configuration
29
29
 
@@ -37,12 +37,10 @@ const config: IntlayerConfig = {
37
37
  defaultLocale: Locales.ENGLISH,
38
38
  },
39
39
  editor: {
40
- dictionaryPriorityStrategy: "distant_first", // Remote content takes priority
41
-
42
- applicationURL: process.env.APPLICATION_URL, // Application URL used by the CMS
43
-
44
- clientId: process.env.INTLAYER_CLIENT_ID, // CMS credentials
40
+ // CMS credentials if you use the CMS
41
+ clientId: process.env.INTLAYER_CLIENT_ID,
45
42
  clientSecret: process.env.INTLAYER_CLIENT_SECRET,
43
+ liveSync: true,
46
44
  },
47
45
  ai: {
48
46
  applicationContext: "This is a test application", // Helps ensure consistent translation generation
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-03-13
3
- updatedAt: 2025-06-29
3
+ updatedAt: 2025-09-20
4
4
  title: Auto Fill
5
5
  description: Learn how to use auto fill functionality in Intlayer to automatically populate content based on predefined patterns. Follow this documentation to implement auto fill features efficiently in your project.
6
6
  keywords:
@@ -132,6 +132,8 @@ This will generate two separate files:
132
132
  - `src/components/example/example.fr.content.json`
133
133
  - `src/components/example/example.es.content.json`
134
134
 
135
+ > In this case, if the object does not contain all locales, Intlayer skip the generation of the remaining locales.
136
+
135
137
  ## Filter Specific Locale Autofill
136
138
 
137
139
  Using an object for the `autoFill` field allows you to apply filters and generate only specific locale files.
@@ -157,9 +159,10 @@ You can use variables inside the `autoFill` path to dynamically resolve the targ
157
159
  **Available variables:**
158
160
 
159
161
  - `{{locale}}` – Locale code (e.g. `fr`, `es`)
162
+ - `{{fileName}}` – File name (e.g. `index`)
160
163
  - `{{key}}` – Dictionary key (e.g. `example`)
161
164
 
162
- ```ts fileName="src/components/example/example.content.ts"
165
+ ```ts fileName="src/components/example/index.content.ts"
163
166
  const exampleContent = {
164
167
  key: "example",
165
168
  autoFill: "/messages/{{locale}}/{{key}}.content.json",
@@ -174,8 +177,25 @@ This will generate:
174
177
  - `/messages/fr/example.content.json`
175
178
  - `/messages/es/example.content.json`
176
179
 
180
+ ```ts fileName="src/components/example/index.content.ts"
181
+ const exampleContent = {
182
+ key: "example",
183
+ autoFill: "./{{fileName}}.content.json",
184
+ content: {
185
+ // Your content
186
+ },
187
+ };
188
+ ```
189
+
190
+ This will generate:
191
+
192
+ - `./index.content.json`
193
+ - `./index.content.json`
194
+
177
195
  ## Doc History
178
196
 
179
- | Version | Date | Changes |
180
- | ------- | ---------- | ------------ |
181
- | 5.5.10 | 2025-06-29 | Init history |
197
+ | Version | Date | Changes |
198
+ | ------- | ---------- | --------------------------- |
199
+ | 6.0.0 | 2025-09-20 | Add global configuration |
200
+ | 6.0.0 | 2025-09-17 | Add `{{fileName}}` variable |
201
+ | 5.5.10 | 2025-06-29 | Init history |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2025-07-25
3
+ updatedAt: 2025-09-16
4
4
  title: Configuration
5
5
  description: Learn how to configure Intlayer for your application. Understand the various settings and options available to customize Intlayer to your needs.
6
6
  keywords:
@@ -46,6 +46,7 @@ const config: IntlayerConfig = {
46
46
  locales: [Locales.ENGLISH],
47
47
  },
48
48
  content: {
49
+ autoFill: "./{{fileName}}.content.json",
49
50
  contentDir: ["src", "../ui-library"],
50
51
  },
51
52
  middleware: {
@@ -134,7 +135,6 @@ Defines settings related to internationalization, including available locales an
134
135
  #### Properties
135
136
 
136
137
  - **locales**:
137
-
138
138
  - _Type_: `string[]`
139
139
  - _Default_: `['en']`
140
140
  - _Description_: The list of supported locales in the application.
@@ -148,7 +148,6 @@ Defines settings related to internationalization, including available locales an
148
148
  - _Note_: If empty, all locales are required in `strict` mode.
149
149
  - _Note_: Ensure required locales are also defined in the `locales` field.
150
150
  - **strictMode**:
151
-
152
151
  - _Type_: `string`
153
152
  - _Default_: `inclusive`
154
153
  - _Description_: Ensure strong implementations of internationalized content using typescript.
@@ -157,7 +156,6 @@ Defines settings related to internationalization, including available locales an
157
156
  - _Note_: If set to "loose", the translation `t` function will accept any existing locale.
158
157
 
159
158
  - **defaultLocale**:
160
-
161
159
  - _Type_: `string`
162
160
  - _Default_: `'en'`
163
161
  - _Description_: The default locale used as a fallback if the requested locale is not found.
@@ -173,7 +171,6 @@ Defines settings related to the integrated editor, including server port and act
173
171
  #### Properties
174
172
 
175
173
  - **applicationURL**:
176
-
177
174
  - _Type_: `string`
178
175
  - _Default_: `http://localhost:3000`
179
176
  - _Description_: The URL of the application. Used to restrict the origin of the editor for security reasons.
@@ -184,13 +181,11 @@ Defines settings related to the integrated editor, including server port and act
184
181
  - _Note_: The URL of the application. Used to restrict the origin of the editor for security reasons. If set to `'*'`, the editor is accessible from any origin.
185
182
 
186
183
  - **port**:
187
-
188
184
  - _Type_: `number`
189
185
  - _Default_: `8000`
190
186
  - _Description_: The port used by the visual editor server.
191
187
 
192
188
  - **editorURL**:
193
-
194
189
  - _Type_: `string`
195
190
  - _Default_: `'http://localhost:8000'`
196
191
  - _Description_: The URL of the editor server. Used to restrict the origin of the editor for security reasons.
@@ -200,7 +195,6 @@ Defines settings related to the integrated editor, including server port and act
200
195
  - _Note_: The URL of the editor server to reach from the application. Used to restrict the origins that can interact with the application for security reasons. If set to `'*'`, the editor is accessible from any origin. Should be set if port is changed, or if the editor is hosted on a different domain.
201
196
 
202
197
  - **cmsURL**:
203
-
204
198
  - _Type_: `string`
205
199
  - _Default_: `'https://intlayer.org'`
206
200
  - _Description_: The URL of the Intlayer CMS.
@@ -208,14 +202,12 @@ Defines settings related to the integrated editor, including server port and act
208
202
  - _Note_: The URL of the Intlayer CMS.
209
203
 
210
204
  - **backendURL**:
211
-
212
205
  - _Type_: `string`
213
206
  - _Default_: `https://back.intlayer.org`
214
207
  - _Description_: The URL of the backend server.
215
208
  - _Example_: `http://localhost:4000`
216
209
 
217
210
  - **enabled**:
218
-
219
211
  - _Type_: `boolean`
220
212
  - _Default_: `true`
221
213
  - _Description_: Indicates if the application interact with the visual editor.
@@ -223,7 +215,6 @@ Defines settings related to the integrated editor, including server port and act
223
215
  - _Note_: If true, the editor will be able to interact with the application. If false, the editor will not be able to interact with the application. In any case, the editor can only be enabled by the visual editor. Disabling the editor for specific environments is a way to enforce the security.
224
216
 
225
217
  - **clientId**:
226
-
227
218
  - _Type_: `string` | `undefined`
228
219
  - _Default_: `undefined`
229
220
  - _Description_: clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication. An access token is used to authenticate the user related to the project. To get an access token, go to https://intlayer.org/dashboard/project and create an account.
@@ -231,27 +222,39 @@ Defines settings related to the integrated editor, including server port and act
231
222
  - _Note_: Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.
232
223
 
233
224
  - **clientSecret**:
234
-
235
225
  - _Type_: `string` | `undefined`
236
226
  - _Default_: `undefined`
237
227
  - _Description_: clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication. An access token is used to authenticate the user related to the project. To get an access token, go to https://intlayer.org/dashboard/project and create an account.
238
228
  - _Example_: `true`
239
229
  - _Note_: Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.
240
230
 
241
- - **hotReload**:
231
+ - **dictionaryPriorityStrategy**:
232
+ - _Type_: `string`
233
+ - _Default_: `'local_first'`
234
+ - _Description_: The strategy to prioritize dictionaries in the case of both local and distant dictionaries being present. If set to `'distant_first'`, the application will prioritize distant dictionaries over local dictionaries. If set to `'local_first'`, the application will prioritize local dictionaries over distant dictionaries.
235
+ - _Example_: `'distant_first'`
242
236
 
237
+ - **liveSync**:
243
238
  - _Type_: `boolean`
244
239
  - _Default_: `false`
245
- - _Description_: Indicates if the application server should hot reload the locale configurations when a change is detected.
240
+ - _Description_: Indicates if the application server should hot reload the content of the application when a change is detected on the CMS / Visual Editor / Backend.
246
241
  - _Example_: `true`
247
242
  - _Note_: For example, when a new dictionary is added or updated, the application will update the content to display in the page.
248
- - _Note_: Because the hot reloading needs an continuous connection to the server, it is only available for clients of the `enterprise` plan.
243
+ - _Note_: Live sync need to externalize the content of the application to another server. That means that it can slightly impact the performance of the application. To limit this, we recommand to host the application and the live sync server on the same machine. Also, the combination of live sync and `optimize` can apply a consequent number of requests to the live sync server. Depending of your infrastructure, we recommand to test both options and their combination.
249
244
 
250
- - **dictionaryPriorityStrategy**:
245
+ - **liveSyncPort**:
246
+ - _Type_: `number`
247
+ - _Default_: `4000`
248
+ - _Description_: The port of the live sync server.
249
+ - _Example_: `4000`
250
+ - _Note_: The port of the live sync server.
251
+
252
+ - **liveSyncURL**:
251
253
  - _Type_: `string`
252
- - _Default_: `'local_first'`
253
- - _Description_: The strategy to prioritize dictionaries in the case of both local and distant dictionaries being present. If set to `'distant_first'`, the application will prioritize distant dictionaries over local dictionaries. If set to `'local_first'`, the application will prioritize local dictionaries over distant dictionaries.
254
- - _Example_: `'distant_first'`
254
+ - _Default_: `'http://localhost:{liveSyncPort}'`
255
+ - _Description_: The URL of the live sync server.
256
+ - _Example_: `'https://example.com'`
257
+ - _Note_: Point to localhost by default but can be changed to any URL in the case of a remote live sync server.
255
258
 
256
259
  ### Middleware Configuration
257
260
 
@@ -260,7 +263,6 @@ Settings that control middleware behavior, including how the application handles
260
263
  #### Properties
261
264
 
262
265
  - **headerName**:
263
-
264
266
  - _Type_: `string`
265
267
  - _Default_: `'x-intlayer-locale'`
266
268
  - _Description_: The name of the HTTP header used to determine the locale.
@@ -268,7 +270,6 @@ Settings that control middleware behavior, including how the application handles
268
270
  - _Note_: This is useful for API-based locale determination.
269
271
 
270
272
  - **cookieName**:
271
-
272
273
  - _Type_: `string`
273
274
  - _Default_: `'intlayer-locale'`
274
275
  - _Description_: The name of the cookie used to store the locale.
@@ -276,7 +277,6 @@ Settings that control middleware behavior, including how the application handles
276
277
  - _Note_: Used to persist the locale across sessions.
277
278
 
278
279
  - **prefixDefault**:
279
-
280
280
  - _Type_: `boolean`
281
281
  - _Default_: `false`
282
282
  - _Description_: Whether to include the default locale in the URL.
@@ -286,7 +286,6 @@ Settings that control middleware behavior, including how the application handles
286
286
  - If `false` and `defaultLocale = 'en'`: path = `/dashboard` or `/fr/dashboard`
287
287
 
288
288
  - **basePath**:
289
-
290
289
  - _Type_: `string`
291
290
  - _Default_: `''`
292
291
  - _Description_: The base path for the application URLs.
@@ -298,7 +297,6 @@ Settings that control middleware behavior, including how the application handles
298
297
  - If the base path is not set, the URL will be `https://example.com/en`
299
298
 
300
299
  - **serverSetCookie**:
301
-
302
300
  - _Type_: `string`
303
301
  - _Default_: `'always'`
304
302
  - _Description_: Rule for setting the locale cookie on the server.
@@ -307,7 +305,6 @@ Settings that control middleware behavior, including how the application handles
307
305
  - _Note_: Controls whether the locale cookie is set on every request or never.
308
306
 
309
307
  - **noPrefix**:
310
-
311
308
  - _Type_: `boolean`
312
309
  - _Default_: `false`
313
310
  - _Description_: Whether to omit the locale prefix from URLs.
@@ -320,7 +317,6 @@ Settings that control middleware behavior, including how the application handles
320
317
  - If `noPrefix = true`: URL will be `https://example.com`
321
318
 
322
319
  - **detectLocaleOnPrefetchNoPrefix**:
323
-
324
320
  - _Type_: `boolean`
325
321
  - _Default_: `false`
326
322
  - _Description_: Controls whether locale detection occurs during Next.js prefetch requests.
@@ -352,14 +348,24 @@ Settings related to content handling within the application, including directory
352
348
 
353
349
  #### Properties
354
350
 
355
- - **watch**:
351
+ - **autoFill**:
352
+ - _Type_: `boolean | string | { [key in Locales]?: string }`
353
+ - _Default_: `undefined`
354
+ - _Description_: Indicate how the content should be automatically filled using AI. Can be declared globally in the `intlayer.config.ts` file.
355
+ - _Example_: true
356
+ - _Example_: `'./{{fileName}}.content.json'`
357
+ - _Example_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
358
+ - _Note_: The auto fill configuration. It can be:
359
+ - boolean: Enable auto fill for all locales
360
+ - string: Path to a single file or template with variables
361
+ - object: Per-locale file paths
356
362
 
363
+ - **watch**:
357
364
  - _Type_: `boolean`
358
365
  - _Default_: `process.env.NODE_ENV === 'development'`
359
366
  - _Description_: Indicates if Intlayer should watch for changes in the content declaration files in the app to rebuild the related dictionaries.
360
367
 
361
368
  - **fileExtensions**:
362
-
363
369
  - _Type_: `string[]`
364
370
  - _Default_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
365
371
  - _Description_: File extensions to look for when building dictionaries.
@@ -367,7 +373,6 @@ Settings related to content handling within the application, including directory
367
373
  - _Note_: Customizing file extensions can help avoid conflicts.
368
374
 
369
375
  - **baseDir**:
370
-
371
376
  - _Type_: `string`
372
377
  - _Default_: `process.cwd()`
373
378
  - _Description_: The base directory for the project.
@@ -375,26 +380,22 @@ Settings related to content handling within the application, including directory
375
380
  - _Note_: This is used to resolve all Intlayer-related directories.
376
381
 
377
382
  - **dictionaryOutput**:
378
-
379
383
  - _Type_: `string[]`
380
384
  - _Default_: `['intlayer']`
381
385
  - _Description_: The type of dictionary output to use, e.g., `'intlayer'` or `'i18next'`.
382
386
 
383
387
  - **contentDir**:
384
-
385
388
  - _Type_: `string[]`
386
389
  - _Default_: `['.']`
387
390
  - _Example_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
388
391
  - _Description_: The directory path where content is stored.
389
392
 
390
393
  - **dictionariesDir**:
391
-
392
394
  - _Type_: `string`
393
395
  - _Default_: `'.intlayer/dictionaries'`
394
396
  - _Description_: The directory path for storing intermediate or output results.
395
397
 
396
398
  - **moduleAugmentationDir**:
397
-
398
399
  - _Type_: `string`
399
400
  - _Default_: `'.intlayer/types'`
400
401
  - _Description_: Directory for module augmentation, allowing better IDE suggestions and type checking.
@@ -402,21 +403,18 @@ Settings related to content handling within the application, including directory
402
403
  - _Note_: Be sure to include this in `tsconfig.json`.
403
404
 
404
405
  - **unmergedDictionariesDir**:
405
-
406
406
  - _Type_: `string`
407
407
  - _Default_: `'.intlayer/unmerged_dictionary'`
408
408
  - _Description_: The directory for storing unmerged dictionaries.
409
409
  - _Example_: `'translations'`
410
410
 
411
411
  - **dictionariesDir**:
412
-
413
412
  - _Type_: `string`
414
413
  - _Default_: `'.intlayer/dictionary'`
415
414
  - _Description_: The directory for storing localization dictionaries.
416
415
  - _Example_: `'translations'`
417
416
 
418
417
  - **i18nextResourcesDir**:
419
-
420
418
  - _Type_: `string`
421
419
  - _Default_: `'i18next_dictionary'`
422
420
  - _Description_: The directory for storing i18n dictionaries.
@@ -424,14 +422,12 @@ Settings related to content handling within the application, including directory
424
422
  - _Note_: Ensure this directory is configured for the i18next output type.
425
423
 
426
424
  - **typesDir**:
427
-
428
425
  - _Type_: `string`
429
426
  - _Default_: `'types'`
430
427
  - _Description_: The directory for storing dictionary types.
431
428
  - _Example_: `'intlayer-types'`
432
429
 
433
430
  - **mainDir**:
434
-
435
431
  - _Type_: `string`
436
432
  - _Default_: `'main'`
437
433
  - _Description_: The directory where main application files are stored.
@@ -450,7 +446,6 @@ Settings that control the logger, including the prefix to use.
450
446
  #### Properties
451
447
 
452
448
  - **mode**:
453
-
454
449
  - _Type_: `string`
455
450
  - _Default_: `default`
456
451
  - _Description_: Indicates the mode of the logger.
@@ -459,7 +454,6 @@ Settings that control the logger, including the prefix to use.
459
454
  - _Note_: The mode of the logger. Verbose mode will log more information, but can be used for debugging purposes. Disabled mode will disable the logger.
460
455
 
461
456
  - **prefix**:
462
-
463
457
  - _Type_: `string`
464
458
  - _Default_: `'[intlayer] '`
465
459
  - _Description_: The prefix of the logger.
@@ -487,7 +481,6 @@ Intlayer supports multiple AI providers for enhanced flexibility and choice. Cur
487
481
  #### Properties
488
482
 
489
483
  - **provider**:
490
-
491
484
  - _Type_: `string`
492
485
  - _Default_: `'openai'`
493
486
  - _Description_: The provider to use for the AI features of Intlayer.
@@ -496,7 +489,6 @@ Intlayer supports multiple AI providers for enhanced flexibility and choice. Cur
496
489
  - _Note_: Different providers may require different API keys and have different pricing models.
497
490
 
498
491
  - **model**:
499
-
500
492
  - _Type_: `string`
501
493
  - _Default_: None
502
494
  - _Description_: The model to use for the AI features of Intlayer.
@@ -504,7 +496,6 @@ Intlayer supports multiple AI providers for enhanced flexibility and choice. Cur
504
496
  - _Note_: The specific model to use varies by provider.
505
497
 
506
498
  - **temperature**:
507
-
508
499
  - _Type_: `number`
509
500
  - _Default_: None
510
501
  - _Description_: The temperature controls the randomness of the AI's responses.
@@ -512,7 +503,6 @@ Intlayer supports multiple AI providers for enhanced flexibility and choice. Cur
512
503
  - _Note_: A higher temperature will make the AI more creative and less predictable.
513
504
 
514
505
  - **apiKey**:
515
-
516
506
  - _Type_: `string`
517
507
  - _Default_: None
518
508
  - _Description_: Your API key for the selected provider.
@@ -537,7 +527,6 @@ Build options apply to the `@intlayer/babel` and `@intlayer/swc` plugins.
537
527
  #### Properties
538
528
 
539
529
  - **optimize**:
540
-
541
530
  - _Type_: `boolean`
542
531
  - _Default_: `process.env.NODE_ENV === 'production'`
543
532
  - _Description_: Controls whether the build should be optimized.
@@ -548,21 +537,21 @@ Build options apply to the `@intlayer/babel` and `@intlayer/swc` plugins.
548
537
  - _Note_: Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.
549
538
 
550
539
  - **importMode**:
551
-
552
- - _Type_: `'static' | 'dynamic' | 'async'`
540
+ - _Type_: `'static' | 'dynamic' | 'live'`
553
541
  - _Default_: `'static'`
554
542
  - _Description_: Controls how dictionaries are imported.
555
543
  - _Example_: `'dynamic'`
556
544
  - _Note_: Available modes:
557
545
  - "static": Dictionaries are imported statically. Replaces `useIntlayer` with `useDictionary`.
558
546
  - "dynamic": Dictionaries are imported dynamically using Suspense. Replaces `useIntlayer` with `useDictionaryDynamic`.
559
- - "async": Dictionaries are imported dynamically asynchronously. Replaces `useIntlayer` with `await useDictionaryAsync`.
547
+ - "live": Dictionaries are fetched dynamically using the live sync API. Replaces `useIntlayer` with `useDictionaryFetch`.
560
548
  - _Note_: Dynamic imports rely on Suspense and may slightly impact rendering performance.
561
549
  - _Note_: If disabled all locales will be loaded at once, even if they are not used.
562
550
  - _Note_: This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.
563
551
  - _Note_: Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.
564
552
  - _Note_: This option will be ignored if `optimize` is disabled.
565
- - _Note_: In most cases, `"dynamic"` will be used for React applications, `"async"` for Vue.js applications.
553
+ - _Note_: If set to "live", only the dictionaries that are including remote content, and set as "live" flags will be transformed as live mode. Others will be imported dynamically as "dynamic" mode to optimize the number of fetch queries, and load performance.
554
+ - _Note_: Live mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as "dynamic" mode.
566
555
  - _Note_: This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions.
567
556
 
568
557
  - **traversePattern**:
@@ -576,8 +565,10 @@ Build options apply to the `@intlayer/babel` and `@intlayer/swc` plugins.
576
565
 
577
566
  ## Doc History
578
567
 
579
- | Version | Date | Changes |
580
- | ------- | ---------- | -------------------------------------------------------- |
581
- | 5.6.1 | 2025-07-25 | Replace `activateDynamicImport` with `importMode` option |
582
- | 5.6.0 | 2025-07-13 | Change default contentDir from `['src']` to `['.']` |
583
- | 5.5.11 | 2025-06-29 | Add `docs` commands |
568
+ | Version | Date | Changes |
569
+ | ------- | ---------- | --------------------------------------------------------------------------------------- |
570
+ | 6.0.0 | 2025-09-16 | Add `live` import mode |
571
+ | 6.0.0 | 2025-09-04 | Replace `hotReload` field by `liveSync` and add `liveSyncPort` and `liveSyncURL` fields |
572
+ | 5.6.1 | 2025-07-25 | Replace `activateDynamicImport` with `importMode` option |
573
+ | 5.6.0 | 2025-07-13 | Change default contentDir from `['src']` to `['.']` |
574
+ | 5.5.11 | 2025-06-29 | Add `docs` commands |