@intlayer/docs 9.0.0-canary.8 → 9.0.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 (1152) hide show
  1. package/blog/ar/internationalization_and_SEO.md +6 -0
  2. package/blog/ar/intlayer_with_i18next.md +8 -4
  3. package/blog/ar/intlayer_with_next-i18next.md +8 -4
  4. package/blog/ar/intlayer_with_next-intl.md +8 -4
  5. package/blog/ar/intlayer_with_react-i18next.md +8 -4
  6. package/blog/ar/intlayer_with_react-intl.md +8 -4
  7. package/blog/ar/intlayer_with_vue-i18n.md +8 -4
  8. package/blog/ar/nextjs-multilingual-seo-comparison.md +6 -0
  9. package/blog/de/internationalization_and_SEO.md +6 -0
  10. package/blog/de/intlayer_with_i18next.md +8 -4
  11. package/blog/de/intlayer_with_next-i18next.md +8 -4
  12. package/blog/de/intlayer_with_next-intl.md +8 -4
  13. package/blog/de/intlayer_with_react-i18next.md +8 -4
  14. package/blog/de/intlayer_with_react-intl.md +8 -4
  15. package/blog/de/intlayer_with_vue-i18n.md +8 -4
  16. package/blog/de/nextjs-multilingual-seo-comparison.md +6 -0
  17. package/blog/en/internationalization_and_SEO.md +6 -0
  18. package/blog/en/intlayer_with_i18next.md +8 -4
  19. package/blog/en/intlayer_with_next-i18next.md +8 -4
  20. package/blog/en/intlayer_with_next-intl.md +8 -4
  21. package/blog/en/intlayer_with_react-i18next.md +8 -4
  22. package/blog/en/intlayer_with_react-intl.md +8 -4
  23. package/blog/en/intlayer_with_vue-i18n.md +8 -4
  24. package/blog/en/nextjs-multilingual-seo-comparison.md +6 -0
  25. package/blog/en/rag_powered_documentation_assistant.md +6 -0
  26. package/blog/en-GB/internationalization_and_SEO.md +6 -0
  27. package/blog/en-GB/intlayer_with_i18next.md +8 -4
  28. package/blog/en-GB/intlayer_with_next-i18next.md +8 -4
  29. package/blog/en-GB/intlayer_with_next-intl.md +8 -4
  30. package/blog/en-GB/intlayer_with_react-i18next.md +8 -4
  31. package/blog/en-GB/intlayer_with_react-intl.md +8 -4
  32. package/blog/en-GB/intlayer_with_vue-i18n.md +8 -4
  33. package/blog/en-GB/nextjs-multilingual-seo-comparison.md +6 -0
  34. package/blog/es/internationalization_and_SEO.md +6 -0
  35. package/blog/es/intlayer_with_i18next.md +8 -4
  36. package/blog/es/intlayer_with_next-i18next.md +8 -4
  37. package/blog/es/intlayer_with_next-intl.md +8 -4
  38. package/blog/es/intlayer_with_react-i18next.md +8 -4
  39. package/blog/es/intlayer_with_react-intl.md +8 -4
  40. package/blog/es/intlayer_with_vue-i18n.md +8 -4
  41. package/blog/es/nextjs-multilingual-seo-comparison.md +6 -0
  42. package/blog/fr/internationalization_and_SEO.md +6 -0
  43. package/blog/fr/intlayer_with_i18next.md +8 -4
  44. package/blog/fr/intlayer_with_next-i18next.md +8 -4
  45. package/blog/fr/intlayer_with_next-intl.md +8 -4
  46. package/blog/fr/intlayer_with_react-i18next.md +8 -4
  47. package/blog/fr/intlayer_with_react-intl.md +8 -4
  48. package/blog/fr/intlayer_with_vue-i18n.md +8 -4
  49. package/blog/fr/nextjs-multilingual-seo-comparison.md +6 -0
  50. package/blog/hi/internationalization_and_SEO.md +6 -0
  51. package/blog/hi/intlayer_with_i18next.md +8 -4
  52. package/blog/hi/intlayer_with_next-i18next.md +8 -4
  53. package/blog/hi/intlayer_with_next-intl.md +8 -4
  54. package/blog/hi/intlayer_with_react-i18next.md +8 -4
  55. package/blog/hi/intlayer_with_react-intl.md +8 -4
  56. package/blog/hi/intlayer_with_vue-i18n.md +8 -4
  57. package/blog/hi/nextjs-multilingual-seo-comparison.md +6 -0
  58. package/blog/id/internationalization_and_SEO.md +6 -0
  59. package/blog/id/intlayer_with_i18next.md +8 -4
  60. package/blog/id/intlayer_with_next-i18next.md +8 -4
  61. package/blog/id/intlayer_with_next-intl.md +8 -4
  62. package/blog/id/intlayer_with_react-i18next.md +8 -4
  63. package/blog/id/intlayer_with_react-intl.md +8 -4
  64. package/blog/id/intlayer_with_vue-i18n.md +8 -4
  65. package/blog/id/nextjs-multilingual-seo-comparison.md +6 -0
  66. package/blog/it/internationalization_and_SEO.md +6 -0
  67. package/blog/it/intlayer_with_i18next.md +8 -4
  68. package/blog/it/intlayer_with_next-i18next.md +8 -4
  69. package/blog/it/intlayer_with_next-intl.md +8 -4
  70. package/blog/it/intlayer_with_react-i18next.md +8 -4
  71. package/blog/it/intlayer_with_react-intl.md +8 -4
  72. package/blog/it/intlayer_with_vue-i18n.md +8 -4
  73. package/blog/it/nextjs-multilingual-seo-comparison.md +6 -0
  74. package/blog/ja/internationalization_and_SEO.md +6 -0
  75. package/blog/ja/intlayer_with_i18next.md +8 -4
  76. package/blog/ja/intlayer_with_next-i18next.md +8 -4
  77. package/blog/ja/intlayer_with_next-intl.md +8 -4
  78. package/blog/ja/intlayer_with_react-i18next.md +8 -4
  79. package/blog/ja/intlayer_with_react-intl.md +8 -4
  80. package/blog/ja/intlayer_with_vue-i18n.md +8 -4
  81. package/blog/ja/nextjs-multilingual-seo-comparison.md +6 -0
  82. package/blog/ko/internationalization_and_SEO.md +6 -0
  83. package/blog/ko/intlayer_with_i18next.md +8 -4
  84. package/blog/ko/intlayer_with_next-i18next.md +8 -4
  85. package/blog/ko/intlayer_with_next-intl.md +8 -4
  86. package/blog/ko/intlayer_with_react-i18next.md +8 -4
  87. package/blog/ko/intlayer_with_react-intl.md +8 -4
  88. package/blog/ko/intlayer_with_vue-i18n.md +8 -4
  89. package/blog/ko/nextjs-multilingual-seo-comparison.md +6 -0
  90. package/blog/pl/internationalization_and_SEO.md +6 -0
  91. package/blog/pl/intlayer_with_i18next.md +8 -4
  92. package/blog/pl/intlayer_with_next-i18next.md +8 -4
  93. package/blog/pl/intlayer_with_next-intl.md +8 -4
  94. package/blog/pl/intlayer_with_react-i18next.md +8 -4
  95. package/blog/pl/intlayer_with_react-intl.md +8 -4
  96. package/blog/pl/intlayer_with_vue-i18n.md +8 -4
  97. package/blog/pl/nextjs-multilingual-seo-comparison.md +6 -0
  98. package/blog/pt/internationalization_and_SEO.md +6 -0
  99. package/blog/pt/intlayer_with_i18next.md +8 -4
  100. package/blog/pt/intlayer_with_next-i18next.md +8 -4
  101. package/blog/pt/intlayer_with_next-intl.md +8 -4
  102. package/blog/pt/intlayer_with_react-i18next.md +8 -4
  103. package/blog/pt/intlayer_with_react-intl.md +8 -4
  104. package/blog/pt/intlayer_with_vue-i18n.md +8 -4
  105. package/blog/pt/nextjs-multilingual-seo-comparison.md +6 -0
  106. package/blog/ru/internationalization_and_SEO.md +6 -0
  107. package/blog/ru/intlayer_with_i18next.md +8 -4
  108. package/blog/ru/intlayer_with_next-i18next.md +8 -4
  109. package/blog/ru/intlayer_with_next-intl.md +8 -4
  110. package/blog/ru/intlayer_with_react-i18next.md +8 -4
  111. package/blog/ru/intlayer_with_react-intl.md +8 -4
  112. package/blog/ru/intlayer_with_vue-i18n.md +8 -4
  113. package/blog/ru/nextjs-multilingual-seo-comparison.md +6 -0
  114. package/blog/tr/internationalization_and_SEO.md +6 -0
  115. package/blog/tr/intlayer_with_i18next.md +8 -4
  116. package/blog/tr/intlayer_with_next-i18next.md +8 -4
  117. package/blog/tr/intlayer_with_next-intl.md +8 -4
  118. package/blog/tr/intlayer_with_react-i18next.md +8 -4
  119. package/blog/tr/intlayer_with_react-intl.md +8 -4
  120. package/blog/tr/intlayer_with_vue-i18n.md +8 -4
  121. package/blog/tr/nextjs-multilingual-seo-comparison.md +6 -0
  122. package/blog/uk/internationalization_and_SEO.md +6 -0
  123. package/blog/uk/intlayer_with_i18next.md +8 -4
  124. package/blog/uk/intlayer_with_next-i18next.md +8 -4
  125. package/blog/uk/intlayer_with_next-intl.md +8 -4
  126. package/blog/uk/intlayer_with_react-i18next.md +8 -4
  127. package/blog/uk/intlayer_with_react-intl.md +8 -4
  128. package/blog/uk/intlayer_with_vue-i18n.md +8 -4
  129. package/blog/uk/nextjs-multilingual-seo-comparison.md +6 -0
  130. package/blog/vi/internationalization_and_SEO.md +6 -0
  131. package/blog/vi/intlayer_with_i18next.md +8 -4
  132. package/blog/vi/intlayer_with_next-i18next.md +8 -4
  133. package/blog/vi/intlayer_with_next-intl.md +8 -4
  134. package/blog/vi/intlayer_with_react-i18next.md +8 -4
  135. package/blog/vi/intlayer_with_react-intl.md +8 -4
  136. package/blog/vi/intlayer_with_vue-i18n.md +8 -4
  137. package/blog/vi/nextjs-multilingual-seo-comparison.md +6 -0
  138. package/blog/zh/internationalization_and_SEO.md +6 -0
  139. package/blog/zh/nextjs-multilingual-seo-comparison.md +6 -0
  140. package/dist/cjs/authors.cjs.map +1 -1
  141. package/dist/cjs/blog.cjs.map +1 -1
  142. package/dist/cjs/common.cjs +2 -1
  143. package/dist/cjs/common.cjs.map +1 -1
  144. package/dist/cjs/doc.cjs.map +1 -1
  145. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  146. package/dist/cjs/generated/blog.entry.cjs +0 -1
  147. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  148. package/dist/cjs/generated/docs.entry.cjs +60 -1
  149. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  150. package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -1
  151. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  152. package/dist/cjs/generated/legal.entry.cjs +0 -1
  153. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  154. package/dist/cjs/legal.cjs.map +1 -1
  155. package/dist/esm/authors.mjs.map +1 -1
  156. package/dist/esm/blog.mjs.map +1 -1
  157. package/dist/esm/common.mjs +2 -1
  158. package/dist/esm/common.mjs.map +1 -1
  159. package/dist/esm/doc.mjs.map +1 -1
  160. package/dist/esm/frequentQuestions.mjs.map +1 -1
  161. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  162. package/dist/esm/generated/docs.entry.mjs +60 -0
  163. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  164. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  165. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  166. package/dist/esm/legal.mjs.map +1 -1
  167. package/dist/types/authors.d.ts +16 -8
  168. package/dist/types/authors.d.ts.map +1 -1
  169. package/dist/types/blog.d.ts +0 -1
  170. package/dist/types/blog.d.ts.map +1 -1
  171. package/dist/types/common.d.ts +0 -1
  172. package/dist/types/common.d.ts.map +1 -1
  173. package/dist/types/doc.d.ts +0 -1
  174. package/dist/types/doc.d.ts.map +1 -1
  175. package/dist/types/frequentQuestions.d.ts +0 -1
  176. package/dist/types/frequentQuestions.d.ts.map +1 -1
  177. package/dist/types/generated/blog.entry.d.ts +0 -1
  178. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  179. package/dist/types/generated/docs.entry.d.ts +3 -1
  180. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  181. package/dist/types/generated/frequentQuestions.entry.d.ts +0 -1
  182. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  183. package/dist/types/generated/legal.entry.d.ts +0 -1
  184. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  185. package/dist/types/legal.d.ts +0 -1
  186. package/dist/types/legal.d.ts.map +1 -1
  187. package/docs/ar/bundle_optimization.md +16 -0
  188. package/docs/ar/cli/index.md +1 -1
  189. package/docs/ar/cli/scan.md +2 -2
  190. package/docs/ar/configuration.md +42 -1
  191. package/docs/ar/how_works_intlayer.md +2 -2
  192. package/docs/ar/intlayer_CMS.md +14 -122
  193. package/docs/ar/intlayer_with_adonisjs.md +8 -4
  194. package/docs/ar/intlayer_with_analog.md +8 -4
  195. package/docs/ar/intlayer_with_angular_19.md +8 -4
  196. package/docs/ar/intlayer_with_angular_21.md +8 -4
  197. package/docs/ar/intlayer_with_astro_lit.md +11 -7
  198. package/docs/ar/intlayer_with_astro_preact.md +8 -4
  199. package/docs/ar/intlayer_with_astro_react.md +8 -4
  200. package/docs/ar/intlayer_with_astro_solid.md +8 -4
  201. package/docs/ar/intlayer_with_astro_svelte.md +8 -4
  202. package/docs/ar/intlayer_with_astro_vanilla.md +8 -4
  203. package/docs/ar/intlayer_with_astro_vue.md +8 -4
  204. package/docs/ar/intlayer_with_create_react_app.md +8 -4
  205. package/docs/ar/intlayer_with_express.md +8 -4
  206. package/docs/ar/intlayer_with_fastify.md +8 -4
  207. package/docs/ar/intlayer_with_hono.md +8 -4
  208. package/docs/ar/intlayer_with_lynx+react.md +8 -4
  209. package/docs/ar/intlayer_with_nestjs.md +8 -4
  210. package/docs/ar/intlayer_with_next-i18next.md +8 -4
  211. package/docs/ar/intlayer_with_nextjs_14.md +8 -4
  212. package/docs/ar/intlayer_with_nextjs_15.md +10 -8
  213. package/docs/ar/intlayer_with_nextjs_16.md +10 -8
  214. package/docs/ar/intlayer_with_nextjs_compiler.md +9 -7
  215. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +10 -8
  216. package/docs/ar/intlayer_with_nextjs_page_router.md +8 -4
  217. package/docs/ar/intlayer_with_nuxt.md +9 -5
  218. package/docs/ar/intlayer_with_react_native+expo.md +8 -4
  219. package/docs/ar/intlayer_with_react_router_v7.md +9 -5
  220. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +9 -5
  221. package/docs/ar/intlayer_with_svelte_kit.md +8 -4
  222. package/docs/ar/intlayer_with_tanstack+solid.md +9 -5
  223. package/docs/ar/intlayer_with_tanstack.md +10 -7
  224. package/docs/ar/intlayer_with_vite+lit.md +8 -4
  225. package/docs/ar/intlayer_with_vite+preact.md +9 -5
  226. package/docs/ar/intlayer_with_vite+react.md +9 -5
  227. package/docs/ar/intlayer_with_vite+react_compiler.md +9 -5
  228. package/docs/ar/intlayer_with_vite+solid.md +9 -5
  229. package/docs/ar/intlayer_with_vite+svelte.md +8 -4
  230. package/docs/ar/intlayer_with_vite+vanilla.md +8 -4
  231. package/docs/ar/intlayer_with_vite+vue.md +9 -5
  232. package/docs/ar/live-sync.md +174 -0
  233. package/docs/ar/migration_from_i18next_to_intlayer.md +8 -4
  234. package/docs/ar/migration_from_next-i18next_to_intlayer.md +8 -4
  235. package/docs/ar/migration_from_next-intl_to_intlayer.md +9 -7
  236. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  237. package/docs/ar/migration_from_react-i18next_to_intlayer.md +9 -7
  238. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +8 -4
  239. package/docs/ar/releases/v9.md +128 -33
  240. package/docs/ar/self_hosting.md +350 -0
  241. package/docs/bn/bundle_optimization.md +16 -0
  242. package/docs/bn/cli/index.md +1 -1
  243. package/docs/bn/cli/scan.md +2 -2
  244. package/docs/bn/configuration.md +45 -1
  245. package/docs/bn/intlayer_CMS.md +570 -0
  246. package/docs/bn/intlayer_with_angular_21.md +8 -4
  247. package/docs/bn/intlayer_with_fastify.md +8 -4
  248. package/docs/bn/intlayer_with_hono.md +8 -4
  249. package/docs/bn/intlayer_with_vite+lit.md +8 -4
  250. package/docs/bn/intlayer_with_vite+vanilla.md +8 -4
  251. package/docs/bn/releases/v9.md +349 -0
  252. package/docs/cs/bundle_optimization.md +16 -0
  253. package/docs/cs/cli/index.md +1 -1
  254. package/docs/cs/cli/scan.md +2 -2
  255. package/docs/cs/configuration.md +45 -1
  256. package/docs/cs/intlayer_with_angular_21.md +8 -4
  257. package/docs/cs/intlayer_with_fastify.md +8 -4
  258. package/docs/cs/intlayer_with_hono.md +8 -4
  259. package/docs/cs/intlayer_with_vite+lit.md +8 -4
  260. package/docs/cs/intlayer_with_vite+vanilla.md +8 -4
  261. package/docs/cs/releases/v9.md +349 -0
  262. package/docs/de/bundle_optimization.md +16 -0
  263. package/docs/de/cli/index.md +1 -1
  264. package/docs/de/cli/scan.md +2 -2
  265. package/docs/de/configuration.md +42 -1
  266. package/docs/de/how_works_intlayer.md +2 -2
  267. package/docs/de/intlayer_CMS.md +86 -100
  268. package/docs/de/intlayer_with_adonisjs.md +8 -4
  269. package/docs/de/intlayer_with_analog.md +8 -4
  270. package/docs/de/intlayer_with_angular_19.md +8 -4
  271. package/docs/de/intlayer_with_angular_21.md +8 -4
  272. package/docs/de/intlayer_with_astro_lit.md +11 -7
  273. package/docs/de/intlayer_with_astro_preact.md +8 -4
  274. package/docs/de/intlayer_with_astro_react.md +8 -4
  275. package/docs/de/intlayer_with_astro_solid.md +8 -4
  276. package/docs/de/intlayer_with_astro_svelte.md +8 -4
  277. package/docs/de/intlayer_with_astro_vanilla.md +8 -4
  278. package/docs/de/intlayer_with_astro_vue.md +8 -4
  279. package/docs/de/intlayer_with_create_react_app.md +8 -4
  280. package/docs/de/intlayer_with_express.md +8 -4
  281. package/docs/de/intlayer_with_fastify.md +8 -4
  282. package/docs/de/intlayer_with_hono.md +8 -4
  283. package/docs/de/intlayer_with_lynx+react.md +8 -4
  284. package/docs/de/intlayer_with_nestjs.md +8 -4
  285. package/docs/de/intlayer_with_next-i18next.md +8 -4
  286. package/docs/de/intlayer_with_nextjs_14.md +8 -4
  287. package/docs/de/intlayer_with_nextjs_15.md +10 -8
  288. package/docs/de/intlayer_with_nextjs_16.md +10 -8
  289. package/docs/de/intlayer_with_nextjs_no_locale_path.md +10 -8
  290. package/docs/de/intlayer_with_nextjs_page_router.md +8 -4
  291. package/docs/de/intlayer_with_nuxt.md +9 -5
  292. package/docs/de/intlayer_with_react_native+expo.md +8 -4
  293. package/docs/de/intlayer_with_react_router_v7.md +9 -5
  294. package/docs/de/intlayer_with_svelte_kit.md +8 -4
  295. package/docs/de/intlayer_with_tanstack+solid.md +9 -5
  296. package/docs/de/intlayer_with_tanstack.md +10 -7
  297. package/docs/de/intlayer_with_vite+lit.md +8 -4
  298. package/docs/de/intlayer_with_vite+preact.md +9 -5
  299. package/docs/de/intlayer_with_vite+react.md +9 -5
  300. package/docs/de/intlayer_with_vite+react_compiler.md +9 -5
  301. package/docs/de/intlayer_with_vite+solid.md +9 -5
  302. package/docs/de/intlayer_with_vite+vanilla.md +8 -4
  303. package/docs/de/intlayer_with_vite+vue.md +9 -5
  304. package/docs/de/live-sync.md +174 -0
  305. package/docs/de/migration_from_i18next_to_intlayer.md +8 -4
  306. package/docs/de/migration_from_next-i18next_to_intlayer.md +8 -4
  307. package/docs/de/migration_from_next-intl_to_intlayer.md +9 -7
  308. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  309. package/docs/de/migration_from_react-i18next_to_intlayer.md +9 -7
  310. package/docs/de/migration_from_vue-i18n_to_intlayer.md +8 -4
  311. package/docs/de/releases/v9.md +131 -33
  312. package/docs/de/self_hosting.md +350 -0
  313. package/docs/en/analytics.md +222 -0
  314. package/docs/en/bundle_optimization.md +16 -0
  315. package/docs/en/cli/index.md +1 -1
  316. package/docs/en/cli/scan.md +2 -2
  317. package/docs/en/configuration.md +42 -1
  318. package/docs/en/how_works_intlayer.md +2 -2
  319. package/docs/en/intlayer_CMS.md +143 -107
  320. package/docs/en/intlayer_with_adonisjs.md +8 -4
  321. package/docs/en/intlayer_with_analog.md +8 -4
  322. package/docs/en/intlayer_with_angular_19.md +8 -4
  323. package/docs/en/intlayer_with_angular_21.md +8 -4
  324. package/docs/en/intlayer_with_astro.md +8 -4
  325. package/docs/en/intlayer_with_astro_lit.md +11 -7
  326. package/docs/en/intlayer_with_astro_preact.md +8 -4
  327. package/docs/en/intlayer_with_astro_react.md +8 -4
  328. package/docs/en/intlayer_with_astro_solid.md +8 -4
  329. package/docs/en/intlayer_with_astro_svelte.md +8 -4
  330. package/docs/en/intlayer_with_astro_vanilla.md +8 -4
  331. package/docs/en/intlayer_with_astro_vue.md +8 -4
  332. package/docs/en/intlayer_with_create_react_app.md +8 -4
  333. package/docs/en/intlayer_with_express.md +8 -4
  334. package/docs/en/intlayer_with_fastify.md +8 -4
  335. package/docs/en/intlayer_with_hono.md +8 -4
  336. package/docs/en/intlayer_with_lynx+react.md +8 -4
  337. package/docs/en/intlayer_with_nestjs.md +8 -4
  338. package/docs/en/intlayer_with_next-i18next.md +8 -4
  339. package/docs/en/intlayer_with_nextjs_14.md +8 -4
  340. package/docs/en/intlayer_with_nextjs_15.md +9 -7
  341. package/docs/en/intlayer_with_nextjs_16.md +10 -8
  342. package/docs/en/intlayer_with_nextjs_compiler.md +10 -8
  343. package/docs/en/intlayer_with_nextjs_no_locale_path.md +10 -8
  344. package/docs/en/intlayer_with_nextjs_page_router.md +8 -4
  345. package/docs/en/intlayer_with_nuxt.md +9 -5
  346. package/docs/en/intlayer_with_react_native+expo.md +8 -4
  347. package/docs/en/intlayer_with_react_router_v7.md +9 -5
  348. package/docs/en/intlayer_with_svelte_kit.md +8 -4
  349. package/docs/en/intlayer_with_tanstack+solid.md +9 -5
  350. package/docs/en/intlayer_with_tanstack.md +10 -7
  351. package/docs/en/intlayer_with_vite+lit.md +8 -4
  352. package/docs/en/intlayer_with_vite+preact.md +9 -5
  353. package/docs/en/intlayer_with_vite+react.md +9 -5
  354. package/docs/en/intlayer_with_vite+react_compiler.md +9 -5
  355. package/docs/en/intlayer_with_vite+solid.md +9 -5
  356. package/docs/en/intlayer_with_vite+svelte.md +8 -4
  357. package/docs/en/intlayer_with_vite+vanilla.md +8 -4
  358. package/docs/en/intlayer_with_vite+vue.md +9 -5
  359. package/docs/en/live-sync.md +184 -0
  360. package/docs/en/migration_from_i18next_to_intlayer.md +8 -4
  361. package/docs/en/migration_from_next-i18next_to_intlayer.md +8 -4
  362. package/docs/en/migration_from_next-intl_to_intlayer.md +9 -7
  363. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  364. package/docs/en/migration_from_react-i18next_to_intlayer.md +9 -7
  365. package/docs/en/migration_from_vue-i18n_to_intlayer.md +8 -4
  366. package/docs/en/releases/v9.md +124 -29
  367. package/docs/en/self_hosting.md +310 -0
  368. package/docs/en-GB/bundle_optimization.md +16 -0
  369. package/docs/en-GB/cli/index.md +1 -1
  370. package/docs/en-GB/cli/scan.md +2 -2
  371. package/docs/en-GB/configuration.md +42 -1
  372. package/docs/en-GB/how_works_intlayer.md +2 -2
  373. package/docs/en-GB/intlayer_CMS.md +14 -122
  374. package/docs/en-GB/intlayer_with_adonisjs.md +8 -4
  375. package/docs/en-GB/intlayer_with_analog.md +8 -4
  376. package/docs/en-GB/intlayer_with_angular_19.md +8 -4
  377. package/docs/en-GB/intlayer_with_angular_21.md +8 -4
  378. package/docs/en-GB/intlayer_with_astro_lit.md +11 -7
  379. package/docs/en-GB/intlayer_with_astro_preact.md +8 -4
  380. package/docs/en-GB/intlayer_with_astro_react.md +8 -4
  381. package/docs/en-GB/intlayer_with_astro_solid.md +8 -4
  382. package/docs/en-GB/intlayer_with_astro_svelte.md +8 -4
  383. package/docs/en-GB/intlayer_with_astro_vanilla.md +8 -4
  384. package/docs/en-GB/intlayer_with_astro_vue.md +8 -4
  385. package/docs/en-GB/intlayer_with_create_react_app.md +16 -8
  386. package/docs/en-GB/intlayer_with_express.md +8 -4
  387. package/docs/en-GB/intlayer_with_fastify.md +8 -4
  388. package/docs/en-GB/intlayer_with_hono.md +8 -4
  389. package/docs/en-GB/intlayer_with_lynx+react.md +16 -8
  390. package/docs/en-GB/intlayer_with_nestjs.md +8 -4
  391. package/docs/en-GB/intlayer_with_next-i18next.md +8 -4
  392. package/docs/en-GB/intlayer_with_nextjs_14.md +8 -4
  393. package/docs/en-GB/intlayer_with_nextjs_15.md +10 -8
  394. package/docs/en-GB/intlayer_with_nextjs_16.md +10 -8
  395. package/docs/en-GB/intlayer_with_nextjs_compiler.md +9 -7
  396. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +10 -8
  397. package/docs/en-GB/intlayer_with_nextjs_page_router.md +8 -4
  398. package/docs/en-GB/intlayer_with_nuxt.md +9 -5
  399. package/docs/en-GB/intlayer_with_react_native+expo.md +8 -4
  400. package/docs/en-GB/intlayer_with_react_router_v7.md +9 -5
  401. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +9 -5
  402. package/docs/en-GB/intlayer_with_svelte_kit.md +8 -4
  403. package/docs/en-GB/intlayer_with_tanstack+solid.md +9 -5
  404. package/docs/en-GB/intlayer_with_tanstack.md +10 -7
  405. package/docs/en-GB/intlayer_with_vite+lit.md +8 -4
  406. package/docs/en-GB/intlayer_with_vite+preact.md +9 -5
  407. package/docs/en-GB/intlayer_with_vite+react.md +9 -5
  408. package/docs/en-GB/intlayer_with_vite+react_compiler.md +9 -5
  409. package/docs/en-GB/intlayer_with_vite+solid.md +9 -5
  410. package/docs/en-GB/intlayer_with_vite+svelte.md +8 -4
  411. package/docs/en-GB/intlayer_with_vite+vanilla.md +8 -4
  412. package/docs/en-GB/intlayer_with_vite+vue.md +9 -5
  413. package/docs/en-GB/live-sync.md +173 -0
  414. package/docs/en-GB/migration_from_i18next_to_intlayer.md +8 -4
  415. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +8 -4
  416. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +9 -7
  417. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  418. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +9 -7
  419. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +8 -4
  420. package/docs/en-GB/releases/v9.md +117 -26
  421. package/docs/en-GB/self_hosting.md +350 -0
  422. package/docs/es/bundle_optimization.md +16 -0
  423. package/docs/es/cli/index.md +1 -1
  424. package/docs/es/cli/scan.md +2 -2
  425. package/docs/es/configuration.md +42 -1
  426. package/docs/es/how_works_intlayer.md +2 -2
  427. package/docs/es/intlayer_CMS.md +85 -104
  428. package/docs/es/intlayer_with_adonisjs.md +8 -4
  429. package/docs/es/intlayer_with_analog.md +8 -4
  430. package/docs/es/intlayer_with_angular_19.md +8 -4
  431. package/docs/es/intlayer_with_angular_21.md +8 -4
  432. package/docs/es/intlayer_with_astro_lit.md +11 -7
  433. package/docs/es/intlayer_with_astro_preact.md +8 -4
  434. package/docs/es/intlayer_with_astro_react.md +8 -4
  435. package/docs/es/intlayer_with_astro_solid.md +8 -4
  436. package/docs/es/intlayer_with_astro_svelte.md +8 -4
  437. package/docs/es/intlayer_with_astro_vanilla.md +8 -4
  438. package/docs/es/intlayer_with_astro_vue.md +8 -4
  439. package/docs/es/intlayer_with_create_react_app.md +8 -4
  440. package/docs/es/intlayer_with_express.md +8 -4
  441. package/docs/es/intlayer_with_fastify.md +8 -4
  442. package/docs/es/intlayer_with_hono.md +8 -4
  443. package/docs/es/intlayer_with_lynx+react.md +8 -4
  444. package/docs/es/intlayer_with_nestjs.md +8 -4
  445. package/docs/es/intlayer_with_next-i18next.md +8 -4
  446. package/docs/es/intlayer_with_nextjs_14.md +8 -4
  447. package/docs/es/intlayer_with_nextjs_15.md +10 -8
  448. package/docs/es/intlayer_with_nextjs_16.md +10 -8
  449. package/docs/es/intlayer_with_nextjs_compiler.md +9 -7
  450. package/docs/es/intlayer_with_nextjs_no_locale_path.md +10 -8
  451. package/docs/es/intlayer_with_nextjs_page_router.md +8 -4
  452. package/docs/es/intlayer_with_nuxt.md +9 -5
  453. package/docs/es/intlayer_with_react_native+expo.md +8 -4
  454. package/docs/es/intlayer_with_react_router_v7.md +9 -5
  455. package/docs/es/intlayer_with_svelte_kit.md +8 -4
  456. package/docs/es/intlayer_with_tanstack+solid.md +9 -5
  457. package/docs/es/intlayer_with_tanstack.md +10 -7
  458. package/docs/es/intlayer_with_vite+lit.md +8 -4
  459. package/docs/es/intlayer_with_vite+preact.md +9 -5
  460. package/docs/es/intlayer_with_vite+react.md +9 -5
  461. package/docs/es/intlayer_with_vite+react_compiler.md +9 -5
  462. package/docs/es/intlayer_with_vite+solid.md +9 -5
  463. package/docs/es/intlayer_with_vite+svelte.md +8 -4
  464. package/docs/es/intlayer_with_vite+vanilla.md +8 -4
  465. package/docs/es/intlayer_with_vite+vue.md +9 -5
  466. package/docs/es/live-sync.md +176 -0
  467. package/docs/es/migration_from_i18next_to_intlayer.md +8 -4
  468. package/docs/es/migration_from_next-i18next_to_intlayer.md +8 -4
  469. package/docs/es/migration_from_next-intl_to_intlayer.md +9 -7
  470. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  471. package/docs/es/migration_from_react-i18next_to_intlayer.md +9 -7
  472. package/docs/es/migration_from_vue-i18n_to_intlayer.md +8 -4
  473. package/docs/es/releases/v9.md +131 -33
  474. package/docs/es/self_hosting.md +350 -0
  475. package/docs/fr/bundle_optimization.md +16 -0
  476. package/docs/fr/cli/index.md +1 -1
  477. package/docs/fr/cli/scan.md +2 -2
  478. package/docs/fr/configuration.md +42 -1
  479. package/docs/fr/how_works_intlayer.md +2 -2
  480. package/docs/fr/intlayer_CMS.md +86 -100
  481. package/docs/fr/intlayer_with_adonisjs.md +8 -4
  482. package/docs/fr/intlayer_with_analog.md +8 -4
  483. package/docs/fr/intlayer_with_angular_19.md +8 -4
  484. package/docs/fr/intlayer_with_angular_21.md +8 -4
  485. package/docs/fr/intlayer_with_astro_lit.md +11 -7
  486. package/docs/fr/intlayer_with_astro_preact.md +8 -4
  487. package/docs/fr/intlayer_with_astro_react.md +8 -4
  488. package/docs/fr/intlayer_with_astro_solid.md +8 -4
  489. package/docs/fr/intlayer_with_astro_svelte.md +8 -4
  490. package/docs/fr/intlayer_with_astro_vanilla.md +8 -4
  491. package/docs/fr/intlayer_with_astro_vue.md +8 -4
  492. package/docs/fr/intlayer_with_create_react_app.md +8 -4
  493. package/docs/fr/intlayer_with_express.md +8 -4
  494. package/docs/fr/intlayer_with_fastify.md +8 -4
  495. package/docs/fr/intlayer_with_hono.md +8 -4
  496. package/docs/fr/intlayer_with_lynx+react.md +8 -4
  497. package/docs/fr/intlayer_with_nestjs.md +8 -4
  498. package/docs/fr/intlayer_with_next-i18next.md +8 -4
  499. package/docs/fr/intlayer_with_nextjs_14.md +8 -4
  500. package/docs/fr/intlayer_with_nextjs_15.md +10 -8
  501. package/docs/fr/intlayer_with_nextjs_16.md +10 -8
  502. package/docs/fr/intlayer_with_nextjs_compiler.md +9 -7
  503. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +10 -8
  504. package/docs/fr/intlayer_with_nextjs_page_router.md +8 -4
  505. package/docs/fr/intlayer_with_nuxt.md +9 -5
  506. package/docs/fr/intlayer_with_react_native+expo.md +8 -4
  507. package/docs/fr/intlayer_with_react_router_v7.md +9 -5
  508. package/docs/fr/intlayer_with_svelte_kit.md +8 -4
  509. package/docs/fr/intlayer_with_tanstack+solid.md +9 -5
  510. package/docs/fr/intlayer_with_tanstack.md +10 -7
  511. package/docs/fr/intlayer_with_vite+lit.md +8 -4
  512. package/docs/fr/intlayer_with_vite+preact.md +9 -5
  513. package/docs/fr/intlayer_with_vite+react.md +9 -5
  514. package/docs/fr/intlayer_with_vite+react_compiler.md +9 -5
  515. package/docs/fr/intlayer_with_vite+solid.md +9 -5
  516. package/docs/fr/intlayer_with_vite+svelte.md +8 -4
  517. package/docs/fr/intlayer_with_vite+vanilla.md +8 -4
  518. package/docs/fr/intlayer_with_vite+vue.md +9 -5
  519. package/docs/fr/live-sync.md +174 -0
  520. package/docs/fr/migration_from_i18next_to_intlayer.md +8 -4
  521. package/docs/fr/migration_from_next-i18next_to_intlayer.md +8 -4
  522. package/docs/fr/migration_from_next-intl_to_intlayer.md +9 -7
  523. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  524. package/docs/fr/migration_from_react-i18next_to_intlayer.md +9 -7
  525. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +8 -4
  526. package/docs/fr/releases/v9.md +131 -25
  527. package/docs/fr/self_hosting.md +350 -0
  528. package/docs/hi/bundle_optimization.md +16 -0
  529. package/docs/hi/cli/index.md +1 -1
  530. package/docs/hi/cli/scan.md +2 -2
  531. package/docs/hi/configuration.md +42 -1
  532. package/docs/hi/how_works_intlayer.md +2 -2
  533. package/docs/hi/intlayer_CMS.md +14 -122
  534. package/docs/hi/intlayer_with_adonisjs.md +8 -4
  535. package/docs/hi/intlayer_with_analog.md +8 -4
  536. package/docs/hi/intlayer_with_angular_19.md +8 -4
  537. package/docs/hi/intlayer_with_angular_21.md +8 -4
  538. package/docs/hi/intlayer_with_astro_vue.md +8 -4
  539. package/docs/hi/intlayer_with_create_react_app.md +8 -4
  540. package/docs/hi/intlayer_with_express.md +8 -4
  541. package/docs/hi/intlayer_with_fastify.md +8 -4
  542. package/docs/hi/intlayer_with_hono.md +8 -4
  543. package/docs/hi/intlayer_with_lynx+react.md +8 -4
  544. package/docs/hi/intlayer_with_nestjs.md +8 -4
  545. package/docs/hi/intlayer_with_next-i18next.md +8 -4
  546. package/docs/hi/intlayer_with_nextjs_14.md +8 -4
  547. package/docs/hi/intlayer_with_nextjs_15.md +10 -8
  548. package/docs/hi/intlayer_with_nextjs_16.md +10 -8
  549. package/docs/hi/intlayer_with_nextjs_compiler.md +8 -4
  550. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +10 -8
  551. package/docs/hi/intlayer_with_nextjs_page_router.md +8 -4
  552. package/docs/hi/intlayer_with_nuxt.md +9 -5
  553. package/docs/hi/intlayer_with_react_native+expo.md +8 -4
  554. package/docs/hi/intlayer_with_react_router_v7.md +9 -5
  555. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +9 -5
  556. package/docs/hi/intlayer_with_svelte_kit.md +8 -4
  557. package/docs/hi/intlayer_with_tanstack+solid.md +9 -5
  558. package/docs/hi/intlayer_with_tanstack.md +10 -7
  559. package/docs/hi/intlayer_with_vite+lit.md +8 -4
  560. package/docs/hi/intlayer_with_vite+preact.md +9 -5
  561. package/docs/hi/intlayer_with_vite+react.md +9 -5
  562. package/docs/hi/intlayer_with_vite+react_compiler.md +9 -5
  563. package/docs/hi/intlayer_with_vite+solid.md +9 -5
  564. package/docs/hi/intlayer_with_vite+svelte.md +8 -4
  565. package/docs/hi/intlayer_with_vite+vanilla.md +8 -4
  566. package/docs/hi/intlayer_with_vite+vue.md +9 -5
  567. package/docs/hi/live-sync.md +174 -0
  568. package/docs/hi/migration_from_i18next_to_intlayer.md +8 -4
  569. package/docs/hi/migration_from_next-i18next_to_intlayer.md +8 -4
  570. package/docs/hi/migration_from_next-intl_to_intlayer.md +9 -7
  571. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  572. package/docs/hi/migration_from_react-i18next_to_intlayer.md +9 -7
  573. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +8 -4
  574. package/docs/hi/packages/intlayer/index.md +8 -4
  575. package/docs/hi/releases/v9.md +129 -33
  576. package/docs/hi/self_hosting.md +350 -0
  577. package/docs/id/bundle_optimization.md +16 -0
  578. package/docs/id/cli/index.md +1 -1
  579. package/docs/id/cli/scan.md +2 -2
  580. package/docs/id/configuration.md +42 -1
  581. package/docs/id/how_works_intlayer.md +2 -2
  582. package/docs/id/intlayer_CMS.md +5 -139
  583. package/docs/id/intlayer_with_adonisjs.md +8 -4
  584. package/docs/id/intlayer_with_analog.md +8 -4
  585. package/docs/id/intlayer_with_angular_19.md +8 -4
  586. package/docs/id/intlayer_with_angular_21.md +8 -4
  587. package/docs/id/intlayer_with_astro_lit.md +11 -7
  588. package/docs/id/intlayer_with_astro_preact.md +8 -4
  589. package/docs/id/intlayer_with_astro_react.md +8 -4
  590. package/docs/id/intlayer_with_astro_solid.md +8 -4
  591. package/docs/id/intlayer_with_astro_svelte.md +8 -4
  592. package/docs/id/intlayer_with_astro_vanilla.md +8 -4
  593. package/docs/id/intlayer_with_astro_vue.md +8 -4
  594. package/docs/id/intlayer_with_create_react_app.md +8 -4
  595. package/docs/id/intlayer_with_express.md +8 -4
  596. package/docs/id/intlayer_with_fastify.md +8 -4
  597. package/docs/id/intlayer_with_hono.md +8 -4
  598. package/docs/id/intlayer_with_lynx+react.md +8 -4
  599. package/docs/id/intlayer_with_nestjs.md +8 -4
  600. package/docs/id/intlayer_with_next-i18next.md +8 -4
  601. package/docs/id/intlayer_with_nextjs_14.md +8 -4
  602. package/docs/id/intlayer_with_nextjs_15.md +9 -7
  603. package/docs/id/intlayer_with_nextjs_16.md +10 -8
  604. package/docs/id/intlayer_with_nextjs_compiler.md +8 -4
  605. package/docs/id/intlayer_with_nextjs_no_locale_path.md +10 -8
  606. package/docs/id/intlayer_with_nextjs_page_router.md +8 -4
  607. package/docs/id/intlayer_with_nuxt.md +9 -5
  608. package/docs/id/intlayer_with_react_native+expo.md +8 -4
  609. package/docs/id/intlayer_with_react_router_v7.md +9 -5
  610. package/docs/id/intlayer_with_svelte_kit.md +8 -4
  611. package/docs/id/intlayer_with_tanstack+solid.md +9 -5
  612. package/docs/id/intlayer_with_tanstack.md +10 -7
  613. package/docs/id/intlayer_with_vite+lit.md +8 -4
  614. package/docs/id/intlayer_with_vite+preact.md +9 -5
  615. package/docs/id/intlayer_with_vite+react.md +9 -5
  616. package/docs/id/intlayer_with_vite+react_compiler.md +9 -5
  617. package/docs/id/intlayer_with_vite+solid.md +9 -5
  618. package/docs/id/intlayer_with_vite+svelte.md +8 -4
  619. package/docs/id/intlayer_with_vite+vanilla.md +8 -4
  620. package/docs/id/intlayer_with_vite+vue.md +9 -5
  621. package/docs/id/live-sync.md +185 -0
  622. package/docs/id/migration_from_i18next_to_intlayer.md +8 -4
  623. package/docs/id/migration_from_next-i18next_to_intlayer.md +8 -4
  624. package/docs/id/migration_from_next-intl_to_intlayer.md +9 -7
  625. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  626. package/docs/id/migration_from_react-i18next_to_intlayer.md +9 -7
  627. package/docs/id/migration_from_vue-i18n_to_intlayer.md +8 -4
  628. package/docs/id/releases/v9.md +101 -33
  629. package/docs/id/self_hosting.md +350 -0
  630. package/docs/it/bundle_optimization.md +16 -0
  631. package/docs/it/cli/index.md +1 -1
  632. package/docs/it/cli/scan.md +2 -2
  633. package/docs/it/configuration.md +42 -1
  634. package/docs/it/how_works_intlayer.md +2 -2
  635. package/docs/it/intlayer_CMS.md +87 -94
  636. package/docs/it/intlayer_with_adonisjs.md +8 -4
  637. package/docs/it/intlayer_with_analog.md +8 -4
  638. package/docs/it/intlayer_with_angular_19.md +8 -4
  639. package/docs/it/intlayer_with_angular_21.md +8 -4
  640. package/docs/it/intlayer_with_astro_lit.md +11 -7
  641. package/docs/it/intlayer_with_astro_preact.md +8 -4
  642. package/docs/it/intlayer_with_astro_react.md +8 -4
  643. package/docs/it/intlayer_with_astro_solid.md +8 -4
  644. package/docs/it/intlayer_with_astro_svelte.md +8 -4
  645. package/docs/it/intlayer_with_astro_vanilla.md +8 -4
  646. package/docs/it/intlayer_with_astro_vue.md +8 -4
  647. package/docs/it/intlayer_with_create_react_app.md +8 -4
  648. package/docs/it/intlayer_with_express.md +8 -4
  649. package/docs/it/intlayer_with_fastify.md +8 -4
  650. package/docs/it/intlayer_with_hono.md +8 -4
  651. package/docs/it/intlayer_with_lynx+react.md +8 -4
  652. package/docs/it/intlayer_with_nestjs.md +8 -4
  653. package/docs/it/intlayer_with_next-i18next.md +8 -4
  654. package/docs/it/intlayer_with_nextjs_14.md +8 -4
  655. package/docs/it/intlayer_with_nextjs_15.md +10 -8
  656. package/docs/it/intlayer_with_nextjs_16.md +10 -8
  657. package/docs/it/intlayer_with_nextjs_compiler.md +9 -7
  658. package/docs/it/intlayer_with_nextjs_no_locale_path.md +10 -8
  659. package/docs/it/intlayer_with_nextjs_page_router.md +8 -4
  660. package/docs/it/intlayer_with_nuxt.md +9 -5
  661. package/docs/it/intlayer_with_react_native+expo.md +8 -4
  662. package/docs/it/intlayer_with_react_router_v7.md +9 -5
  663. package/docs/it/intlayer_with_svelte_kit.md +8 -4
  664. package/docs/it/intlayer_with_tanstack+solid.md +9 -5
  665. package/docs/it/intlayer_with_tanstack.md +10 -7
  666. package/docs/it/intlayer_with_vite+lit.md +8 -4
  667. package/docs/it/intlayer_with_vite+preact.md +9 -5
  668. package/docs/it/intlayer_with_vite+react.md +10 -6
  669. package/docs/it/intlayer_with_vite+react_compiler.md +9 -5
  670. package/docs/it/intlayer_with_vite+solid.md +9 -5
  671. package/docs/it/intlayer_with_vite+svelte.md +8 -4
  672. package/docs/it/intlayer_with_vite+vanilla.md +8 -4
  673. package/docs/it/intlayer_with_vite+vue.md +9 -5
  674. package/docs/it/live-sync.md +174 -0
  675. package/docs/it/migration_from_i18next_to_intlayer.md +8 -4
  676. package/docs/it/migration_from_next-i18next_to_intlayer.md +8 -4
  677. package/docs/it/migration_from_next-intl_to_intlayer.md +8 -4
  678. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  679. package/docs/it/migration_from_react-i18next_to_intlayer.md +9 -7
  680. package/docs/it/migration_from_vue-i18n_to_intlayer.md +8 -4
  681. package/docs/it/releases/v9.md +131 -33
  682. package/docs/it/self_hosting.md +350 -0
  683. package/docs/ja/bundle_optimization.md +16 -0
  684. package/docs/ja/cli/index.md +1 -1
  685. package/docs/ja/cli/scan.md +2 -2
  686. package/docs/ja/configuration.md +42 -1
  687. package/docs/ja/how_works_intlayer.md +2 -2
  688. package/docs/ja/intlayer_CMS.md +149 -102
  689. package/docs/ja/intlayer_with_adonisjs.md +8 -4
  690. package/docs/ja/intlayer_with_analog.md +8 -4
  691. package/docs/ja/intlayer_with_angular_19.md +8 -4
  692. package/docs/ja/intlayer_with_angular_21.md +8 -4
  693. package/docs/ja/intlayer_with_astro_lit.md +11 -7
  694. package/docs/ja/intlayer_with_astro_preact.md +8 -4
  695. package/docs/ja/intlayer_with_astro_react.md +8 -4
  696. package/docs/ja/intlayer_with_astro_solid.md +8 -4
  697. package/docs/ja/intlayer_with_astro_svelte.md +8 -4
  698. package/docs/ja/intlayer_with_astro_vanilla.md +8 -4
  699. package/docs/ja/intlayer_with_astro_vue.md +8 -4
  700. package/docs/ja/intlayer_with_create_react_app.md +8 -4
  701. package/docs/ja/intlayer_with_express.md +8 -4
  702. package/docs/ja/intlayer_with_fastify.md +8 -4
  703. package/docs/ja/intlayer_with_hono.md +8 -4
  704. package/docs/ja/intlayer_with_lynx+react.md +8 -4
  705. package/docs/ja/intlayer_with_nestjs.md +8 -4
  706. package/docs/ja/intlayer_with_next-i18next.md +8 -4
  707. package/docs/ja/intlayer_with_nextjs_14.md +8 -4
  708. package/docs/ja/intlayer_with_nextjs_15.md +10 -8
  709. package/docs/ja/intlayer_with_nextjs_16.md +10 -8
  710. package/docs/ja/intlayer_with_nextjs_compiler.md +8 -4
  711. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +10 -8
  712. package/docs/ja/intlayer_with_nextjs_page_router.md +8 -4
  713. package/docs/ja/intlayer_with_nuxt.md +9 -5
  714. package/docs/ja/intlayer_with_react_native+expo.md +8 -4
  715. package/docs/ja/intlayer_with_tanstack+solid.md +9 -5
  716. package/docs/ja/intlayer_with_tanstack.md +10 -7
  717. package/docs/ja/intlayer_with_vite+lit.md +8 -4
  718. package/docs/ja/intlayer_with_vite+preact.md +9 -5
  719. package/docs/ja/intlayer_with_vite+react_compiler.md +9 -5
  720. package/docs/ja/intlayer_with_vite+solid.md +9 -5
  721. package/docs/ja/intlayer_with_vite+svelte.md +8 -4
  722. package/docs/ja/intlayer_with_vite+vanilla.md +8 -4
  723. package/docs/ja/intlayer_with_vite+vue.md +9 -5
  724. package/docs/ja/live-sync.md +185 -0
  725. package/docs/ja/migration_from_i18next_to_intlayer.md +8 -4
  726. package/docs/ja/migration_from_next-i18next_to_intlayer.md +8 -4
  727. package/docs/ja/migration_from_next-intl_to_intlayer.md +9 -7
  728. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  729. package/docs/ja/migration_from_react-i18next_to_intlayer.md +9 -7
  730. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +8 -4
  731. package/docs/ja/releases/v9.md +101 -33
  732. package/docs/ja/self_hosting.md +350 -0
  733. package/docs/ko/bundle_optimization.md +16 -0
  734. package/docs/ko/cli/index.md +1 -1
  735. package/docs/ko/cli/scan.md +2 -2
  736. package/docs/ko/configuration.md +42 -1
  737. package/docs/ko/how_works_intlayer.md +2 -2
  738. package/docs/ko/intlayer_CMS.md +147 -100
  739. package/docs/ko/intlayer_with_adonisjs.md +8 -4
  740. package/docs/ko/intlayer_with_analog.md +8 -4
  741. package/docs/ko/intlayer_with_angular_19.md +8 -4
  742. package/docs/ko/intlayer_with_angular_21.md +8 -4
  743. package/docs/ko/intlayer_with_astro_vue.md +8 -4
  744. package/docs/ko/intlayer_with_create_react_app.md +8 -4
  745. package/docs/ko/intlayer_with_express.md +8 -4
  746. package/docs/ko/intlayer_with_fastify.md +8 -4
  747. package/docs/ko/intlayer_with_hono.md +8 -4
  748. package/docs/ko/intlayer_with_nestjs.md +8 -4
  749. package/docs/ko/intlayer_with_next-i18next.md +8 -4
  750. package/docs/ko/intlayer_with_nextjs_15.md +10 -8
  751. package/docs/ko/intlayer_with_nextjs_16.md +10 -8
  752. package/docs/ko/intlayer_with_nextjs_compiler.md +9 -7
  753. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +10 -8
  754. package/docs/ko/intlayer_with_nextjs_page_router.md +8 -4
  755. package/docs/ko/intlayer_with_nuxt.md +9 -5
  756. package/docs/ko/intlayer_with_react_native+expo.md +8 -4
  757. package/docs/ko/intlayer_with_react_router_v7.md +9 -5
  758. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +9 -5
  759. package/docs/ko/intlayer_with_svelte_kit.md +8 -4
  760. package/docs/ko/intlayer_with_tanstack+solid.md +9 -5
  761. package/docs/ko/intlayer_with_tanstack.md +10 -7
  762. package/docs/ko/intlayer_with_vite+lit.md +8 -4
  763. package/docs/ko/intlayer_with_vite+preact.md +9 -5
  764. package/docs/ko/intlayer_with_vite+react_compiler.md +9 -5
  765. package/docs/ko/intlayer_with_vite+solid.md +9 -5
  766. package/docs/ko/intlayer_with_vite+svelte.md +8 -4
  767. package/docs/ko/intlayer_with_vite+vanilla.md +8 -4
  768. package/docs/ko/intlayer_with_vite+vue.md +9 -5
  769. package/docs/ko/live-sync.md +187 -0
  770. package/docs/ko/migration_from_i18next_to_intlayer.md +8 -4
  771. package/docs/ko/migration_from_next-i18next_to_intlayer.md +8 -4
  772. package/docs/ko/migration_from_next-intl_to_intlayer.md +9 -7
  773. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  774. package/docs/ko/migration_from_react-i18next_to_intlayer.md +9 -7
  775. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +8 -4
  776. package/docs/ko/releases/v9.md +100 -33
  777. package/docs/ko/self_hosting.md +350 -0
  778. package/docs/nl/bundle_optimization.md +16 -0
  779. package/docs/nl/cli/index.md +1 -1
  780. package/docs/nl/cli/scan.md +2 -2
  781. package/docs/nl/configuration.md +45 -1
  782. package/docs/nl/intlayer_with_angular_21.md +8 -4
  783. package/docs/nl/intlayer_with_fastify.md +8 -4
  784. package/docs/nl/intlayer_with_hono.md +8 -4
  785. package/docs/nl/intlayer_with_vite+lit.md +8 -4
  786. package/docs/nl/intlayer_with_vite+vanilla.md +8 -4
  787. package/docs/nl/releases/v9.md +349 -0
  788. package/docs/pl/bundle_optimization.md +16 -0
  789. package/docs/pl/cli/index.md +1 -1
  790. package/docs/pl/cli/scan.md +2 -2
  791. package/docs/pl/configuration.md +45 -1
  792. package/docs/pl/how_works_intlayer.md +2 -2
  793. package/docs/pl/intlayer_CMS.md +14 -133
  794. package/docs/pl/intlayer_with_adonisjs.md +8 -4
  795. package/docs/pl/intlayer_with_analog.md +8 -4
  796. package/docs/pl/intlayer_with_angular_19.md +8 -4
  797. package/docs/pl/intlayer_with_angular_21.md +8 -4
  798. package/docs/pl/intlayer_with_astro_lit.md +11 -7
  799. package/docs/pl/intlayer_with_astro_preact.md +8 -4
  800. package/docs/pl/intlayer_with_astro_react.md +8 -4
  801. package/docs/pl/intlayer_with_astro_solid.md +8 -4
  802. package/docs/pl/intlayer_with_astro_svelte.md +8 -4
  803. package/docs/pl/intlayer_with_astro_vanilla.md +8 -4
  804. package/docs/pl/intlayer_with_astro_vue.md +8 -4
  805. package/docs/pl/intlayer_with_create_react_app.md +8 -4
  806. package/docs/pl/intlayer_with_express.md +8 -4
  807. package/docs/pl/intlayer_with_fastify.md +8 -4
  808. package/docs/pl/intlayer_with_hono.md +8 -4
  809. package/docs/pl/intlayer_with_lynx+react.md +8 -4
  810. package/docs/pl/intlayer_with_nestjs.md +8 -4
  811. package/docs/pl/intlayer_with_next-i18next.md +8 -4
  812. package/docs/pl/intlayer_with_nextjs_14.md +8 -4
  813. package/docs/pl/intlayer_with_nextjs_15.md +9 -7
  814. package/docs/pl/intlayer_with_nextjs_16.md +10 -8
  815. package/docs/pl/intlayer_with_nextjs_compiler.md +8 -4
  816. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +10 -8
  817. package/docs/pl/intlayer_with_nextjs_page_router.md +8 -4
  818. package/docs/pl/intlayer_with_nuxt.md +9 -5
  819. package/docs/pl/intlayer_with_react_native+expo.md +8 -4
  820. package/docs/pl/intlayer_with_react_router_v7.md +9 -5
  821. package/docs/pl/intlayer_with_svelte_kit.md +8 -4
  822. package/docs/pl/intlayer_with_tanstack+solid.md +9 -5
  823. package/docs/pl/intlayer_with_tanstack.md +10 -7
  824. package/docs/pl/intlayer_with_vite+lit.md +8 -4
  825. package/docs/pl/intlayer_with_vite+preact.md +9 -5
  826. package/docs/pl/intlayer_with_vite+react.md +9 -5
  827. package/docs/pl/intlayer_with_vite+react_compiler.md +9 -5
  828. package/docs/pl/intlayer_with_vite+solid.md +9 -5
  829. package/docs/pl/intlayer_with_vite+svelte.md +8 -4
  830. package/docs/pl/intlayer_with_vite+vanilla.md +8 -4
  831. package/docs/pl/intlayer_with_vite+vue.md +9 -5
  832. package/docs/pl/live-sync.md +185 -0
  833. package/docs/pl/migration_from_next-i18next_to_intlayer.md +8 -4
  834. package/docs/pl/migration_from_next-intl_to_intlayer.md +9 -7
  835. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  836. package/docs/pl/migration_from_react-i18next_to_intlayer.md +9 -7
  837. package/docs/pl/releases/v9.md +128 -33
  838. package/docs/pl/self_hosting.md +350 -0
  839. package/docs/pt/bundle_optimization.md +16 -0
  840. package/docs/pt/cli/index.md +1 -1
  841. package/docs/pt/cli/scan.md +2 -2
  842. package/docs/pt/configuration.md +45 -1
  843. package/docs/pt/how_works_intlayer.md +2 -2
  844. package/docs/pt/intlayer_CMS.md +87 -109
  845. package/docs/pt/intlayer_with_adonisjs.md +8 -4
  846. package/docs/pt/intlayer_with_analog.md +8 -4
  847. package/docs/pt/intlayer_with_angular_19.md +8 -4
  848. package/docs/pt/intlayer_with_angular_21.md +8 -4
  849. package/docs/pt/intlayer_with_astro_lit.md +11 -7
  850. package/docs/pt/intlayer_with_astro_preact.md +8 -4
  851. package/docs/pt/intlayer_with_astro_react.md +8 -4
  852. package/docs/pt/intlayer_with_astro_solid.md +8 -4
  853. package/docs/pt/intlayer_with_astro_svelte.md +8 -4
  854. package/docs/pt/intlayer_with_astro_vanilla.md +8 -4
  855. package/docs/pt/intlayer_with_astro_vue.md +8 -4
  856. package/docs/pt/intlayer_with_create_react_app.md +8 -4
  857. package/docs/pt/intlayer_with_express.md +8 -4
  858. package/docs/pt/intlayer_with_fastify.md +8 -4
  859. package/docs/pt/intlayer_with_hono.md +8 -4
  860. package/docs/pt/intlayer_with_lynx+react.md +8 -4
  861. package/docs/pt/intlayer_with_nestjs.md +8 -4
  862. package/docs/pt/intlayer_with_next-i18next.md +8 -4
  863. package/docs/pt/intlayer_with_nextjs_14.md +8 -4
  864. package/docs/pt/intlayer_with_nextjs_15.md +10 -8
  865. package/docs/pt/intlayer_with_nextjs_16.md +10 -8
  866. package/docs/pt/intlayer_with_nextjs_compiler.md +9 -7
  867. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +10 -8
  868. package/docs/pt/intlayer_with_nextjs_page_router.md +8 -4
  869. package/docs/pt/intlayer_with_nuxt.md +9 -5
  870. package/docs/pt/intlayer_with_react_native+expo.md +8 -4
  871. package/docs/pt/intlayer_with_react_router_v7.md +9 -5
  872. package/docs/pt/intlayer_with_svelte_kit.md +8 -4
  873. package/docs/pt/intlayer_with_tanstack+solid.md +9 -5
  874. package/docs/pt/intlayer_with_tanstack.md +10 -7
  875. package/docs/pt/intlayer_with_vite+lit.md +8 -4
  876. package/docs/pt/intlayer_with_vite+preact.md +9 -5
  877. package/docs/pt/intlayer_with_vite+react.md +9 -5
  878. package/docs/pt/intlayer_with_vite+react_compiler.md +9 -5
  879. package/docs/pt/intlayer_with_vite+solid.md +9 -5
  880. package/docs/pt/intlayer_with_vite+svelte.md +8 -4
  881. package/docs/pt/intlayer_with_vite+vanilla.md +8 -4
  882. package/docs/pt/intlayer_with_vite+vue.md +9 -5
  883. package/docs/pt/live-sync.md +174 -0
  884. package/docs/pt/migration_from_i18next_to_intlayer.md +8 -4
  885. package/docs/pt/migration_from_next-i18next_to_intlayer.md +8 -4
  886. package/docs/pt/migration_from_next-intl_to_intlayer.md +9 -7
  887. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  888. package/docs/pt/migration_from_react-i18next_to_intlayer.md +9 -7
  889. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +8 -4
  890. package/docs/pt/releases/v9.md +131 -33
  891. package/docs/pt/self_hosting.md +350 -0
  892. package/docs/ru/bundle_optimization.md +16 -0
  893. package/docs/ru/cli/index.md +1 -1
  894. package/docs/ru/cli/scan.md +2 -2
  895. package/docs/ru/configuration.md +42 -1
  896. package/docs/ru/how_works_intlayer.md +2 -2
  897. package/docs/ru/intlayer_CMS.md +149 -102
  898. package/docs/ru/intlayer_with_adonisjs.md +8 -4
  899. package/docs/ru/intlayer_with_analog.md +8 -4
  900. package/docs/ru/intlayer_with_angular_19.md +8 -4
  901. package/docs/ru/intlayer_with_angular_21.md +8 -4
  902. package/docs/ru/intlayer_with_astro_vue.md +8 -4
  903. package/docs/ru/intlayer_with_create_react_app.md +8 -4
  904. package/docs/ru/intlayer_with_express.md +8 -4
  905. package/docs/ru/intlayer_with_fastify.md +8 -4
  906. package/docs/ru/intlayer_with_hono.md +8 -4
  907. package/docs/ru/intlayer_with_lynx+react.md +8 -4
  908. package/docs/ru/intlayer_with_nestjs.md +8 -4
  909. package/docs/ru/intlayer_with_next-i18next.md +8 -4
  910. package/docs/ru/intlayer_with_nextjs_14.md +8 -4
  911. package/docs/ru/intlayer_with_nextjs_15.md +10 -8
  912. package/docs/ru/intlayer_with_nextjs_16.md +10 -8
  913. package/docs/ru/intlayer_with_nextjs_compiler.md +9 -7
  914. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +10 -8
  915. package/docs/ru/intlayer_with_nextjs_page_router.md +8 -4
  916. package/docs/ru/intlayer_with_nuxt.md +9 -5
  917. package/docs/ru/intlayer_with_react_native+expo.md +8 -4
  918. package/docs/ru/intlayer_with_react_router_v7.md +9 -5
  919. package/docs/ru/intlayer_with_svelte_kit.md +8 -4
  920. package/docs/ru/intlayer_with_tanstack+solid.md +9 -5
  921. package/docs/ru/intlayer_with_tanstack.md +10 -7
  922. package/docs/ru/intlayer_with_vite+lit.md +8 -4
  923. package/docs/ru/intlayer_with_vite+preact.md +9 -5
  924. package/docs/ru/intlayer_with_vite+react.md +9 -5
  925. package/docs/ru/intlayer_with_vite+react_compiler.md +9 -5
  926. package/docs/ru/intlayer_with_vite+solid.md +9 -5
  927. package/docs/ru/intlayer_with_vite+svelte.md +8 -4
  928. package/docs/ru/intlayer_with_vite+vanilla.md +8 -4
  929. package/docs/ru/intlayer_with_vite+vue.md +9 -5
  930. package/docs/ru/live-sync.md +185 -0
  931. package/docs/ru/migration_from_i18next_to_intlayer.md +8 -4
  932. package/docs/ru/migration_from_next-i18next_to_intlayer.md +8 -4
  933. package/docs/ru/migration_from_next-intl_to_intlayer.md +9 -7
  934. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  935. package/docs/ru/migration_from_react-i18next_to_intlayer.md +9 -7
  936. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +8 -4
  937. package/docs/ru/releases/v9.md +129 -33
  938. package/docs/ru/self_hosting.md +350 -0
  939. package/docs/tr/bundle_optimization.md +16 -0
  940. package/docs/tr/cli/index.md +1 -1
  941. package/docs/tr/cli/scan.md +2 -2
  942. package/docs/tr/configuration.md +42 -1
  943. package/docs/tr/how_works_intlayer.md +2 -2
  944. package/docs/tr/intlayer_CMS.md +14 -121
  945. package/docs/tr/intlayer_with_adonisjs.md +8 -4
  946. package/docs/tr/intlayer_with_analog.md +8 -4
  947. package/docs/tr/intlayer_with_angular_19.md +8 -4
  948. package/docs/tr/intlayer_with_angular_21.md +8 -4
  949. package/docs/tr/intlayer_with_astro_lit.md +11 -7
  950. package/docs/tr/intlayer_with_astro_preact.md +8 -4
  951. package/docs/tr/intlayer_with_astro_react.md +8 -4
  952. package/docs/tr/intlayer_with_astro_solid.md +8 -4
  953. package/docs/tr/intlayer_with_astro_svelte.md +8 -4
  954. package/docs/tr/intlayer_with_astro_vanilla.md +8 -4
  955. package/docs/tr/intlayer_with_astro_vue.md +8 -4
  956. package/docs/tr/intlayer_with_create_react_app.md +8 -4
  957. package/docs/tr/intlayer_with_express.md +8 -4
  958. package/docs/tr/intlayer_with_fastify.md +8 -4
  959. package/docs/tr/intlayer_with_hono.md +8 -4
  960. package/docs/tr/intlayer_with_lynx+react.md +8 -4
  961. package/docs/tr/intlayer_with_nestjs.md +8 -4
  962. package/docs/tr/intlayer_with_next-i18next.md +8 -4
  963. package/docs/tr/intlayer_with_nextjs_14.md +8 -4
  964. package/docs/tr/intlayer_with_nextjs_15.md +10 -8
  965. package/docs/tr/intlayer_with_nextjs_16.md +10 -8
  966. package/docs/tr/intlayer_with_nextjs_compiler.md +8 -4
  967. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +10 -8
  968. package/docs/tr/intlayer_with_nextjs_page_router.md +8 -4
  969. package/docs/tr/intlayer_with_nuxt.md +9 -5
  970. package/docs/tr/intlayer_with_react_native+expo.md +8 -4
  971. package/docs/tr/intlayer_with_react_router_v7.md +9 -5
  972. package/docs/tr/intlayer_with_svelte_kit.md +8 -4
  973. package/docs/tr/intlayer_with_tanstack+solid.md +9 -5
  974. package/docs/tr/intlayer_with_tanstack.md +10 -7
  975. package/docs/tr/intlayer_with_vite+lit.md +8 -4
  976. package/docs/tr/intlayer_with_vite+preact.md +9 -5
  977. package/docs/tr/intlayer_with_vite+react.md +9 -5
  978. package/docs/tr/intlayer_with_vite+react_compiler.md +9 -5
  979. package/docs/tr/intlayer_with_vite+solid.md +9 -5
  980. package/docs/tr/intlayer_with_vite+svelte.md +8 -4
  981. package/docs/tr/intlayer_with_vite+vanilla.md +8 -4
  982. package/docs/tr/intlayer_with_vite+vue.md +9 -5
  983. package/docs/tr/live-sync.md +173 -0
  984. package/docs/tr/migration_from_i18next_to_intlayer.md +8 -4
  985. package/docs/tr/migration_from_next-i18next_to_intlayer.md +8 -4
  986. package/docs/tr/migration_from_next-intl_to_intlayer.md +9 -7
  987. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  988. package/docs/tr/migration_from_react-i18next_to_intlayer.md +9 -7
  989. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +8 -4
  990. package/docs/tr/releases/v9.md +116 -33
  991. package/docs/tr/self_hosting.md +350 -0
  992. package/docs/uk/bundle_optimization.md +16 -0
  993. package/docs/uk/cli/index.md +1 -1
  994. package/docs/uk/cli/scan.md +2 -2
  995. package/docs/uk/configuration.md +42 -1
  996. package/docs/uk/how_works_intlayer.md +2 -2
  997. package/docs/uk/intlayer_CMS.md +14 -133
  998. package/docs/uk/intlayer_with_adonisjs.md +8 -4
  999. package/docs/uk/intlayer_with_analog.md +8 -4
  1000. package/docs/uk/intlayer_with_angular_19.md +8 -4
  1001. package/docs/uk/intlayer_with_angular_21.md +8 -4
  1002. package/docs/uk/intlayer_with_astro_lit.md +11 -7
  1003. package/docs/uk/intlayer_with_astro_preact.md +8 -4
  1004. package/docs/uk/intlayer_with_astro_react.md +8 -4
  1005. package/docs/uk/intlayer_with_astro_solid.md +8 -4
  1006. package/docs/uk/intlayer_with_astro_svelte.md +8 -4
  1007. package/docs/uk/intlayer_with_astro_vanilla.md +8 -4
  1008. package/docs/uk/intlayer_with_astro_vue.md +8 -4
  1009. package/docs/uk/intlayer_with_create_react_app.md +8 -4
  1010. package/docs/uk/intlayer_with_express.md +8 -4
  1011. package/docs/uk/intlayer_with_fastify.md +8 -4
  1012. package/docs/uk/intlayer_with_hono.md +8 -4
  1013. package/docs/uk/intlayer_with_lynx+react.md +8 -4
  1014. package/docs/uk/intlayer_with_nestjs.md +8 -4
  1015. package/docs/uk/intlayer_with_next-i18next.md +8 -4
  1016. package/docs/uk/intlayer_with_nextjs_14.md +8 -4
  1017. package/docs/uk/intlayer_with_nextjs_15.md +10 -8
  1018. package/docs/uk/intlayer_with_nextjs_16.md +10 -8
  1019. package/docs/uk/intlayer_with_nextjs_compiler.md +8 -4
  1020. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +10 -8
  1021. package/docs/uk/intlayer_with_nextjs_page_router.md +8 -4
  1022. package/docs/uk/intlayer_with_nuxt.md +9 -5
  1023. package/docs/uk/intlayer_with_react_native+expo.md +8 -4
  1024. package/docs/uk/intlayer_with_react_router_v7.md +9 -5
  1025. package/docs/uk/intlayer_with_svelte_kit.md +8 -4
  1026. package/docs/uk/intlayer_with_tanstack+solid.md +9 -5
  1027. package/docs/uk/intlayer_with_tanstack.md +10 -7
  1028. package/docs/uk/intlayer_with_vite+lit.md +8 -4
  1029. package/docs/uk/intlayer_with_vite+preact.md +9 -5
  1030. package/docs/uk/intlayer_with_vite+react.md +9 -5
  1031. package/docs/uk/intlayer_with_vite+react_compiler.md +9 -5
  1032. package/docs/uk/intlayer_with_vite+solid.md +9 -5
  1033. package/docs/uk/intlayer_with_vite+svelte.md +8 -4
  1034. package/docs/uk/intlayer_with_vite+vanilla.md +8 -4
  1035. package/docs/uk/intlayer_with_vite+vue.md +9 -5
  1036. package/docs/uk/live-sync.md +185 -0
  1037. package/docs/uk/migration_from_i18next_to_intlayer.md +8 -4
  1038. package/docs/uk/migration_from_next-i18next_to_intlayer.md +8 -4
  1039. package/docs/uk/migration_from_next-intl_to_intlayer.md +9 -7
  1040. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1041. package/docs/uk/migration_from_react-i18next_to_intlayer.md +9 -7
  1042. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +8 -4
  1043. package/docs/uk/releases/v9.md +128 -33
  1044. package/docs/uk/self_hosting.md +350 -0
  1045. package/docs/ur/bundle_optimization.md +16 -0
  1046. package/docs/ur/cli/index.md +1 -1
  1047. package/docs/ur/cli/scan.md +2 -2
  1048. package/docs/ur/configuration.md +45 -1
  1049. package/docs/ur/intlayer_with_angular_21.md +8 -4
  1050. package/docs/ur/intlayer_with_fastify.md +8 -4
  1051. package/docs/ur/intlayer_with_hono.md +8 -4
  1052. package/docs/ur/intlayer_with_vite+lit.md +8 -4
  1053. package/docs/ur/intlayer_with_vite+vanilla.md +8 -4
  1054. package/docs/vi/bundle_optimization.md +16 -0
  1055. package/docs/vi/cli/index.md +1 -1
  1056. package/docs/vi/cli/scan.md +2 -2
  1057. package/docs/vi/configuration.md +42 -1
  1058. package/docs/vi/how_works_intlayer.md +2 -2
  1059. package/docs/vi/intlayer_CMS.md +5 -139
  1060. package/docs/vi/intlayer_with_adonisjs.md +8 -4
  1061. package/docs/vi/intlayer_with_analog.md +8 -4
  1062. package/docs/vi/intlayer_with_angular_19.md +8 -4
  1063. package/docs/vi/intlayer_with_angular_21.md +8 -4
  1064. package/docs/vi/intlayer_with_astro_lit.md +11 -7
  1065. package/docs/vi/intlayer_with_astro_preact.md +8 -4
  1066. package/docs/vi/intlayer_with_astro_react.md +8 -4
  1067. package/docs/vi/intlayer_with_astro_solid.md +8 -4
  1068. package/docs/vi/intlayer_with_astro_svelte.md +8 -4
  1069. package/docs/vi/intlayer_with_astro_vanilla.md +8 -4
  1070. package/docs/vi/intlayer_with_astro_vue.md +8 -4
  1071. package/docs/vi/intlayer_with_create_react_app.md +8 -4
  1072. package/docs/vi/intlayer_with_express.md +8 -4
  1073. package/docs/vi/intlayer_with_fastify.md +8 -4
  1074. package/docs/vi/intlayer_with_hono.md +8 -4
  1075. package/docs/vi/intlayer_with_lynx+react.md +8 -4
  1076. package/docs/vi/intlayer_with_nestjs.md +8 -4
  1077. package/docs/vi/intlayer_with_next-i18next.md +8 -4
  1078. package/docs/vi/intlayer_with_nextjs_14.md +8 -4
  1079. package/docs/vi/intlayer_with_nextjs_15.md +9 -7
  1080. package/docs/vi/intlayer_with_nextjs_16.md +10 -8
  1081. package/docs/vi/intlayer_with_nextjs_compiler.md +8 -4
  1082. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -8
  1083. package/docs/vi/intlayer_with_nextjs_page_router.md +8 -4
  1084. package/docs/vi/intlayer_with_nuxt.md +9 -5
  1085. package/docs/vi/intlayer_with_react_native+expo.md +8 -4
  1086. package/docs/vi/intlayer_with_react_router_v7.md +9 -5
  1087. package/docs/vi/intlayer_with_svelte_kit.md +8 -4
  1088. package/docs/vi/intlayer_with_tanstack+solid.md +9 -5
  1089. package/docs/vi/intlayer_with_tanstack.md +10 -7
  1090. package/docs/vi/intlayer_with_vite+lit.md +8 -4
  1091. package/docs/vi/intlayer_with_vite+preact.md +9 -5
  1092. package/docs/vi/intlayer_with_vite+react.md +9 -5
  1093. package/docs/vi/intlayer_with_vite+react_compiler.md +9 -5
  1094. package/docs/vi/intlayer_with_vite+solid.md +9 -5
  1095. package/docs/vi/intlayer_with_vite+svelte.md +8 -4
  1096. package/docs/vi/intlayer_with_vite+vanilla.md +8 -4
  1097. package/docs/vi/intlayer_with_vite+vue.md +9 -5
  1098. package/docs/vi/live-sync.md +185 -0
  1099. package/docs/vi/migration_from_i18next_to_intlayer.md +8 -4
  1100. package/docs/vi/migration_from_next-i18next_to_intlayer.md +8 -4
  1101. package/docs/vi/migration_from_next-intl_to_intlayer.md +9 -7
  1102. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1103. package/docs/vi/migration_from_react-i18next_to_intlayer.md +9 -7
  1104. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +8 -4
  1105. package/docs/vi/releases/v9.md +101 -33
  1106. package/docs/vi/self_hosting.md +350 -0
  1107. package/docs/zh/bundle_optimization.md +16 -0
  1108. package/docs/zh/cli/index.md +1 -1
  1109. package/docs/zh/cli/scan.md +2 -2
  1110. package/docs/zh/configuration.md +42 -1
  1111. package/docs/zh/how_works_intlayer.md +2 -2
  1112. package/docs/zh/intlayer_CMS.md +5 -129
  1113. package/docs/zh/intlayer_with_adonisjs.md +8 -4
  1114. package/docs/zh/intlayer_with_angular_21.md +8 -4
  1115. package/docs/zh/intlayer_with_astro.md +8 -4
  1116. package/docs/zh/intlayer_with_astro_lit.md +11 -7
  1117. package/docs/zh/intlayer_with_astro_preact.md +8 -4
  1118. package/docs/zh/intlayer_with_astro_react.md +8 -4
  1119. package/docs/zh/intlayer_with_astro_solid.md +8 -4
  1120. package/docs/zh/intlayer_with_astro_svelte.md +8 -4
  1121. package/docs/zh/intlayer_with_astro_vanilla.md +8 -4
  1122. package/docs/zh/intlayer_with_astro_vue.md +8 -4
  1123. package/docs/zh/intlayer_with_create_react_app.md +8 -4
  1124. package/docs/zh/intlayer_with_express.md +8 -4
  1125. package/docs/zh/intlayer_with_fastify.md +8 -4
  1126. package/docs/zh/intlayer_with_hono.md +8 -4
  1127. package/docs/zh/intlayer_with_nestjs.md +8 -4
  1128. package/docs/zh/intlayer_with_next-i18next.md +8 -4
  1129. package/docs/zh/intlayer_with_nextjs_14.md +8 -4
  1130. package/docs/zh/intlayer_with_nextjs_15.md +10 -8
  1131. package/docs/zh/intlayer_with_nextjs_16.md +10 -8
  1132. package/docs/zh/intlayer_with_nextjs_compiler.md +9 -7
  1133. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +10 -8
  1134. package/docs/zh/intlayer_with_nextjs_page_router.md +8 -4
  1135. package/docs/zh/intlayer_with_react_native+expo.md +8 -4
  1136. package/docs/zh/intlayer_with_react_router_v7.md +9 -5
  1137. package/docs/zh/intlayer_with_vite+solid.md +9 -5
  1138. package/docs/zh/intlayer_with_vite+svelte.md +8 -4
  1139. package/docs/zh/intlayer_with_vite+vue.md +9 -5
  1140. package/docs/zh/live-sync.md +175 -0
  1141. package/docs/zh/migration_from_i18next_to_intlayer.md +8 -4
  1142. package/docs/zh/migration_from_next-i18next_to_intlayer.md +8 -4
  1143. package/docs/zh/migration_from_next-intl_to_intlayer.md +9 -7
  1144. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1145. package/docs/zh/migration_from_react-i18next_to_intlayer.md +9 -7
  1146. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +8 -4
  1147. package/docs/zh/releases/v9.md +101 -25
  1148. package/docs/zh/self_hosting.md +350 -0
  1149. package/docs/zh-TW/bundle_optimization.md +16 -0
  1150. package/docs/zh-TW/intlayer_with_angular_21.md +8 -4
  1151. package/package.json +10 -10
  1152. package/src/generated/docs.entry.ts +60 -0
@@ -100,19 +100,23 @@ The following steps are the minimum required to get your existing `vue-i18n` app
100
100
  Install the Intlayer core packages and the compat adapter:
101
101
 
102
102
  ```bash packageManager="npm"
103
- npx intlayer-cli init --interactive
103
+ npx intlayer@canary init --interactive # v9
104
+ # npx intlayer init # v8
104
105
  ```
105
106
 
106
107
  ```bash packageManager="pnpm"
107
- pnpm dlx intlayer-cli init --interactive
108
+ pnpm dlx intlayer@canary init --interactive # v9
109
+ # pnpm dlx intlayer init # v8
108
110
  ```
109
111
 
110
112
  ```bash packageManager="yarn"
111
- yarn dlx intlayer-cli init --interactive
113
+ yarn dlx intlayer@canary init --interactive # v9
114
+ # yarn dlx intlayer init # v8
112
115
  ```
113
116
 
114
117
  ```bash packageManager="bun"
115
- bunx intlayer-cli init --interactive
118
+ bunx intlayer@canary init --interactive # v9
119
+ # bunx intlayer init # v8
116
120
  ```
117
121
 
118
122
  > the `--interactive` flag is optional. Use `intlayer-cli init` if you're an AI agent.
@@ -1,27 +1,45 @@
1
1
  ---
2
2
  createdAt: 2026-06-14
3
- updatedAt: 2026-06-26
3
+ updatedAt: 2026-07-08
4
4
  title: New Intlayer v9 - What's new?
5
- description: Discover what's new in Intlayer v9. Introducing drop-in compatibility packages for popular i18n libraries and support for Collections and Variants.
5
+ description: Discover what's new in Intlayer v9. Introducing drop-in compatibility packages for popular i18n libraries, support for Collections and Variants, self-hosting via Docker Compose, and the new @intlayer/analytics package for content A/B testing.
6
6
  keywords:
7
7
  - Intlayer
8
8
  - Compatibility
9
9
  - Migration
10
10
  - Collections
11
11
  - Variants
12
+ - CMS SDK
13
+ - Self-Hosting
14
+ - Docker
15
+ - Analytics
16
+ - A/B Testing
12
17
  - i18next
13
18
  - next-intl
14
19
  - vue-i18n
20
+ youtubeVideo: https://www.youtube.com/watch?v=ia6JmVf-kkU
15
21
  slugs:
16
22
  - doc
17
23
  - releases
18
24
  - v9
25
+ history:
26
+ - version: 9.0.0
27
+ date: 2026-07-08
28
+ changes: "Add @intlayer/analytics: page/locale + content-exposure tracking, A/B testing, and the dashboard Analytics page"
19
29
  author: aymericzip
20
30
  ---
21
31
 
22
32
  # New Intlayer v9 - What's new?
23
33
 
24
- Welcome to Intlayer v9! This major release marks a huge milestone in simplifying the migration path to Intlayer with **Compat Adapter Packages** for major i18n libraries (`react-i18next`, `next-intl`, `vue-i18n`, etc.) and adds support for rich content structures: **Collections** and **Variants**.
34
+ Welcome to Intlayer v9! This major release marks a huge milestone in simplifying the migration path to Intlayer with **Compat Adapter Packages** for major i18n libraries (`react-i18next`, `next-intl`, `vue-i18n`, etc.), adds support for rich content structures (**Collections** and **Variants**), and introduces **`@intlayer/analytics`** to track content exposure and run A/B tests.
35
+
36
+ <iframe
37
+ src="https://www.youtube.com/embed/ia6JmVf-kkU"
38
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
39
+ title="Demo Video - New Intlayer v9 - What's new?"
40
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
41
+ loading="lazy"
42
+ />
25
43
 
26
44
  ## Table of contents
27
45
 
@@ -107,30 +125,42 @@ Intlayer v9 expands beyond static key-value objects, allowing dictionaries to de
107
125
 
108
126
  ### 1. Collections
109
127
 
110
- Define a CMS-managed list of ordered items (e.g. FAQs, products, or blog lists):
128
+ Define a CMS-managed list of ordered items (e.g. FAQs, products, or blog lists). Each item lives in its own `.content.ts` file with the same `key` and an `item` number:
129
+
130
+ ```ts fileName="faq.1.content.ts"
131
+ import { t, type Dictionary } from "intlayer";
132
+
133
+ export default {
134
+ key: "faq",
135
+ item: 1,
136
+ content: {
137
+ question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
138
+ answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
139
+ },
140
+ } satisfies Dictionary;
141
+ ```
111
142
 
112
- ```ts fileName="faq.content.ts"
143
+ ```ts fileName="faq.2.content.ts"
113
144
  import { t, type Dictionary } from "intlayer";
114
145
 
115
146
  export default {
116
147
  key: "faq",
117
- content: [
118
- {
119
- question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
120
- answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
121
- },
122
- ],
148
+ item: 2,
149
+ content: {
150
+ question: t({ en: "Is it free?", fr: "Est-ce gratuit ?" }),
151
+ answer: t({ en: "Yes, open-source.", fr: "Oui, open-source." }),
152
+ },
123
153
  } satisfies Dictionary;
124
154
  ```
125
155
 
126
156
  #### Usage:
127
157
 
128
158
  ```ts
129
- // Fetch all items
159
+ // Fetch all items as an array
130
160
  const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
131
161
 
132
- // Fetch single item by index
133
- const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
162
+ // Fetch a single item by index
163
+ const faq = useIntlayer("faq", { item: 2 }); // -> { question: string, answer: string }
134
164
  ```
135
165
 
136
166
  ### 2. Variants
@@ -178,30 +208,54 @@ export default {
178
208
  #### Usage:
179
209
 
180
210
  ```ts
181
- // Fetches only the requested item dynamically (requires Suspense)
211
+ // Fetches only the requested record dynamically (requires Suspense)
182
212
  const product = useIntlayer("product-copy", {
183
- id: "prod_123",
184
- category: "books",
213
+ variant: { id: "prod_123", category: "books" },
185
214
  });
186
215
  ```
187
216
 
188
217
  ---
189
218
 
190
- ## Dynamic Loading & Bundle Size Optimizations
191
-
192
- To keep bundles extremely small, Intlayer v9 supports dynamic lazy loading.
193
-
194
- In your configuration, set `importMode` to `'dynamic'` or `'fetch'`:
195
-
196
- ```ts fileName="intlayer.config.ts"
197
- export default {
198
- dictionary: {
199
- importMode: "dynamic", // "static" | "dynamic" | "fetch"
200
- },
219
+ ## `@intlayer/analytics`: content exposure tracking & A/B testing
220
+
221
+ A new optional package, [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md), tells you which content is actually shown to your visitors — and closes the loop on **Collections & Variants** by letting you A/B test content and measure conversions per variant.
222
+
223
+ - **Provider-level tracking**: `IntlayerProvider` (React / Next.js / React Native) automatically records `page_view` events on load, route change, and locale change.
224
+ - **Node-level tracking**: every `useIntlayer` resolution reports a `content_exposure` event — which dictionary key, key path, locale, and (when applicable) A/B **variant** was displayed. Repeated exposures within a flush window are coalesced.
225
+ - **Deterministic A/B assignment**: `getVariant(experimentKey, variants)` assigns each session to a variant with **no server round-trip**, so there is no flicker before first render.
226
+ - **`useConversion()`**: attribute a goal (signup, click, purchase…) to the variant a session was exposed to.
227
+ - **Zero cost when not installed**: same tree-shakeable pattern as `@intlayer/editor` — dynamic `import()` wrapped in `try/catch`, plus a compile-time env var (`INTLAYER_ANALYTICS_ENABLED`) that dead-code-eliminates the whole integration for apps that don't opt in.
228
+ - **No new config schema**: reuses `editor.backendURL` (ingestion endpoint / self-hosting) and `editor.clientId` (project key, also the enable switch).
229
+ - **Privacy-respecting**: anonymous session hashing (SHA-256, no raw ids stored), no IP storage, coarse country-only geolocation, batched requests roughly every 20 seconds.
230
+ - **Dashboard**: a new **Analytics** page (shown in the sidebar once a project is selected) reports active users, users today, users over the last 7/30/90 days, a visitor evolution graph, and Locales vs. Location breakdowns.
231
+
232
+ ```tsx fileName="CTAButton.tsx" codeFormat="tsx"
233
+ import { useConversion } from "react-intlayer";
234
+
235
+ const CTAButton = () => {
236
+ const trackConversion = useConversion();
237
+
238
+ return (
239
+ <button
240
+ onClick={() =>
241
+ trackConversion({
242
+ experimentKey: "homepage-hero",
243
+ variant: "black_friday",
244
+ goal: "cta_click",
245
+ })
246
+ }
247
+ >
248
+ Get started
249
+ </button>
250
+ );
201
251
  };
202
252
  ```
203
253
 
204
- At build time, `@intlayer/swc` and `@intlayer/babel` scan your files and replace `useIntlayer` / `getIntlayer` calls with tree-shakeable wrappers (`useDictionary` / `useDictionaryDynamic`). Only the content required for the selected collection item, variant, or locale is loaded, preventing your production bundle from containing unused translations.
254
+ ```bash packageManager="npm"
255
+ npm install @intlayer/analytics
256
+ ```
257
+
258
+ Available today for React, Next.js, and React Native (via `react-intlayer`); other framework bindings (Vue, Svelte, Angular, …) are planned, following the same rollout pattern as `@intlayer/editor`. See the [Analytics documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md) for the full guide.
205
259
 
206
260
  ---
207
261
 
@@ -284,6 +338,44 @@ npm install intlayer react-native-intlayer
284
338
 
285
339
  ---
286
340
 
341
+ ## CMS SDK: use Intlayer as a headless content database
342
+
343
+ Intlayer v9 ships a clean, auto-authenticating SDK in `@intlayer/api` to interact with the CMS programmatically — fetch projects, fetch dictionaries, and push or update them from your own server, scripts, or CI. Authentication (OAuth2 `client_credentials`) is handled and refreshed for you.
344
+
345
+ The SDK is split into **two separate imports** so your bundle includes only the domains you actually use:
346
+
347
+ 1. `createIntlayerCMS` — a lightweight **authenticator** holding the credentials and the managed token (no domain client bundled).
348
+ 2. `dictionaryEndpoint`, `projectEndpoint`, … — per-domain **endpoint binders**, each imported from its own subpath.
349
+
350
+ ```ts fileName="cms.ts"
351
+ import { createIntlayerCMS } from "@intlayer/api";
352
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
353
+
354
+ const cms = createIntlayerCMS();
355
+
356
+ // Read
357
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
358
+
359
+ // Write — use the CMS like a database
360
+ await dictionaryEndpoint(cms).pushDictionaries([myDictionary]);
361
+ ```
362
+
363
+ > Security: the CMS credentials grant write access to your content. Only ever create the authenticator on the **server side** — never ship `clientId` / `clientSecret` to the browser.
364
+
365
+ ---
366
+
367
+ ## Self-Hosting
368
+
369
+ Intlayer v9 ships first-class support for running your own Intlayer instance with a single command. No Intlayer Cloud account required.
370
+
371
+ ```sh
372
+ curl -fsSL https://intlayer.org/install.sh | sh
373
+ ```
374
+
375
+ The installer downloads a `docker-compose.yml` and a `.env`, auto-generates the required secrets, and runs `docker compose up -d`. Everything — the dashboard, the API, the database, object storage, and transactional email — runs locally in containers.
376
+
377
+ ---
378
+
287
379
  ## Migration notes from v8
288
380
 
289
381
  If you are upgrading from v8, note that the v9 does not include breaking changes. But here are the key changes:
@@ -300,5 +392,8 @@ If you are upgrading from v8, note that the v9 does not include breaking changes
300
392
 
301
393
  - [Compat Adapter Packages Guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md)
302
394
  - [Dynamic Dictionaries - Collections & Variants](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dynamic_dictionaries/index.md)
395
+ - [Analytics - Content exposure tracking & A/B testing](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
303
396
  - [Configuration Reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
304
397
  - [React Native & Expo Guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_react_native+expo.md)
398
+ - [CMS SDK - Programmatic access with @intlayer/api](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)
399
+ - [Self-Hosting Guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md)
@@ -0,0 +1,310 @@
1
+ ---
2
+ createdAt: 2026-06-30
3
+ updatedAt: 2026-07-02
4
+ title: Self-Hosting Intlayer
5
+ description: Run a complete Intlayer instance on your own infrastructure with a single container. No Intlayer Cloud account required.
6
+ keywords:
7
+ - Self-Hosting
8
+ - Docker
9
+ - Intlayer
10
+ - CMS
11
+ - Installation
12
+ - Infrastructure
13
+ slugs:
14
+ - doc
15
+ - self-hosting
16
+ author: aymericzip
17
+ ---
18
+
19
+ # Self-Hosting Intlayer
20
+
21
+ Intlayer can run on your own infrastructure. No Intlayer Cloud account required. A single all-in-one Docker image bundles the dashboard, the API, and the local datastores (Redis and MinIO) it needs, supervised by [s6-overlay](https://github.com/just-containers/s6-overlay).
22
+
23
+ The only external dependency is **MongoDB**: the backend connects to a MongoDB **Atlas** cluster, which you provide. Everything else runs inside the container.
24
+
25
+ ## Table of Contents
26
+
27
+ <TOC/>
28
+
29
+ ---
30
+
31
+ ## Architecture
32
+
33
+ ```
34
+ ┌─────────────────────────────┐
35
+ browser ──────▶ │ app (TanStack Start) :3000│ ──┐
36
+ (localhost) └─────────────────────────────┘ │ VITE_BACKEND_URL (baked at build)
37
+ ┌─────────────────────────────┐ │
38
+ │ backend (Fastify/Bun) :3100│ ◀─┘
39
+ └──────────────┬──────────────┘
40
+ ┌──────────┬─────────┼───────────────────────┐
41
+ ▼ ▼ ▼ ▼
42
+ redis:6379 minio:9000 Chromium MongoDB Atlas
43
+ (bundled) (S3 API) (in-image) (external, via DB_*)
44
+ minio:9001
45
+ (console)
46
+ ```
47
+
48
+ Chromium (used for Puppeteer screenshot generation) is bundled inside the image. No separate container is needed. Redis and MinIO run inside the container. MongoDB is **not** hosted by the image; the backend connects to your Atlas cluster over `mongodb+srv://`.
49
+
50
+ ---
51
+
52
+ ## Prerequisites
53
+
54
+ - **Docker** ≥ 24.
55
+ - Ports `3000`, `3100`, `9000`, and `9001` available on the host.
56
+ - A Linux or macOS host (or WSL2 on Windows).
57
+ - A **MongoDB Atlas** cluster (a free tier works). Create one at [mongodb.com/atlas](https://www.mongodb.com/atlas).
58
+ - A **Resend** API key for transactional email. Get one at [resend.com](https://resend.com).
59
+
60
+ ---
61
+
62
+ ## Quick start
63
+
64
+ Pull and run the published image, supplying your MongoDB Atlas credentials and secrets:
65
+
66
+ ```sh
67
+ docker run -d --name intlayer \
68
+ -p 3000:3000 \
69
+ -p 3100:3100 \
70
+ -p 9000:9000 \
71
+ -p 9001:9001 \
72
+ -v intlayer-data:/data \
73
+ -e DB_ID="<atlas-user>" \
74
+ -e DB_MDP="<atlas-password>" \
75
+ -e DB_CLUSTER="<cluster>.xxxxx.mongodb.net" \
76
+ -e BETTER_AUTH_SECRET="$(openssl rand -hex 32)" \
77
+ -e S3_SECRET_ACCESS_KEY="$(openssl rand -hex 16)" \
78
+ -e RESEND_API_KEY="<your-resend-key>" \
79
+ aymericzip/intlayer-selfhost
80
+ ```
81
+
82
+ Then open **http://localhost:3000**.
83
+
84
+ > The dashboard is served on `localhost`. See [Limitations](#limitations) — custom domains are not supported by the published image.
85
+
86
+ ---
87
+
88
+ ## First-run setup
89
+
90
+ On a fresh instance (empty database), opening the dashboard redirects you to the **`/init`** page:
91
+
92
+ 1. Create the first account. Because the users collection is empty, this account is automatically promoted to **super admin**.
93
+ 2. A verification email is sent (via Resend). Email verification is **mandatory** — this is why `RESEND_API_KEY` must be set before you start.
94
+ 3. Click the link in the email, then sign in.
95
+
96
+ Once an admin exists, `/init` redirects to the standard sign-in page.
97
+
98
+ ---
99
+
100
+ ## Services
101
+
102
+ | Service | Location | Host port(s) | Purpose |
103
+ | ----------- | ------------------ | ----------------------------- | ------------------------------------------------------------- |
104
+ | **app** | bundled | `3000` | TanStack Start dashboard (CMS UI) |
105
+ | **backend** | bundled | `3100` | Fastify REST API (`/health` endpoint) |
106
+ | **redis** | bundled | internal | Job queues (BullMQ) and caching (ioredis) |
107
+ | **minio** | bundled | `9000` (S3), `9001` (console) | S3-compatible object storage for avatars and screenshots |
108
+ | **mongo** | **external** (you) | — | MongoDB Atlas, provided via `DB_ID` / `DB_MDP` / `DB_CLUSTER` |
109
+
110
+ > MinIO port `9000` must be reachable by the browser because uploaded assets (avatars, screenshots) are loaded directly from `S3_PUBLIC_URL=http://localhost:9000/intlayer`.
111
+
112
+ ---
113
+
114
+ ## Environment variables
115
+
116
+ ### Required
117
+
118
+ | Variable | Example | Description |
119
+ | ---------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
120
+ | `DB_ID` | `intlayer` | MongoDB Atlas user |
121
+ | `DB_MDP` | _(your password)_ | MongoDB Atlas password |
122
+ | `DB_CLUSTER` | `cluster0.xxxxx.mongodb.net` | MongoDB Atlas cluster host (used in the `mongodb+srv://` URI) |
123
+ | `BETTER_AUTH_SECRET` | _(generated)_ | 32-byte secret for session signing |
124
+ | `S3_SECRET_ACCESS_KEY` | _(generated)_ | Secret for the bundled MinIO |
125
+ | `RESEND_API_KEY` | _(your key)_ | Transactional email via Resend. Required for first-run setup unless you configure a global SMTP mailer (see [Global mailer](#global-mailer)) |
126
+
127
+ ### Baked-in defaults (override only if needed)
128
+
129
+ | Variable | Default | Description |
130
+ | ------------------ | -------------------------------- | ------------------------------------ |
131
+ | `PORT` | `3100` | Backend listening port |
132
+ | `APP_URL` | `http://localhost:3000` | Public URL of the dashboard |
133
+ | `BACKEND_URL` | `http://localhost:3100` | Public URL of the backend API |
134
+ | `DOMAIN` | `localhost` | Cookie domain |
135
+ | `REDIS_URL` | `redis://127.0.0.1:6379` | Bundled Redis |
136
+ | `S3_ENDPOINT` | `http://127.0.0.1:9000` | Bundled MinIO (server-to-server) |
137
+ | `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | Public URL for browser asset loading |
138
+ | `S3_BUCKET_NAME` | `intlayer` | Bucket name |
139
+ | `S3_ACCESS_KEY_ID` | `intlayer` | MinIO access key |
140
+
141
+ ### Optional (features degrade gracefully when absent)
142
+
143
+ | Variable | Feature |
144
+ | -------------------------------------------------------- | ----------------------------------------- |
145
+ | `OPENAI_API_KEY` | AI-assisted translation and content audit |
146
+ | `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `STRIPE_*` | Billing and subscription management |
147
+ | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | GitHub OAuth login |
148
+ | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Google OAuth login |
149
+ | `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | GitLab OAuth login |
150
+ | `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Microsoft OAuth login |
151
+
152
+ ### Global mailer
153
+
154
+ By default, all transactional emails are sent through Resend using `RESEND_API_KEY`. Self-hosted deployments can instead route **every** email — including non-organization emails such as password resets and magic links — through a global mailer configured with environment variables.
155
+
156
+ Set `MAIL_PROVIDER` to activate it. When unset, the default Resend mailer is used.
157
+
158
+ | Variable | Example | Description |
159
+ | -------------------- | ------------------------------ | ----------------------------------------------------------------- |
160
+ | `MAIL_PROVIDER` | `smtp` | Global transport: `smtp` or `resend`. Leave unset to use defaults |
161
+ | `MAIL_FROM` | `Intlayer <no-reply@acme.com>` | Sender header. Accepts a bare address or `Name <email>` format |
162
+ | `MAIL_SMTP_HOST` | `smtp.acme.com` | SMTP host (required when `MAIL_PROVIDER=smtp`) |
163
+ | `MAIL_SMTP_PORT` | `587` | SMTP port (defaults to `587`) |
164
+ | `MAIL_SMTP_SECURE` | `false` | Implicit TLS. Set `true` for port `465` |
165
+ | `MAIL_SMTP_USER` | _(your user)_ | SMTP username (optional; omit for unauthenticated relays) |
166
+ | `MAIL_SMTP_PASSWORD` | _(your password)_ | SMTP password |
167
+
168
+ > Precedence: an organization's own mailer (configured from the **Organization** dashboard) takes priority over the global mailer, which in turn takes priority over the default Resend key.
169
+
170
+ ---
171
+
172
+ ## Connecting your Intlayer project
173
+
174
+ Once the stack is running, point your project at the self-hosted backend and dashboard instead of `intlayer.org`.
175
+
176
+ ### Project configuration
177
+
178
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
179
+ import type { IntlayerConfig } from "intlayer";
180
+
181
+ const config: IntlayerConfig = {
182
+ editor: {
183
+ clientId: process.env.INTLAYER_CLIENT_ID,
184
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
185
+
186
+ /**
187
+ * URL of the self-hosted CMS dashboard.
188
+ * Default: https://app.intlayer.org
189
+ */
190
+ cmsURL: process.env.INTLAYER_CMS_URL, // e.g. http://localhost:3000
191
+
192
+ /**
193
+ * URL of the self-hosted backend API.
194
+ * Default: https://back.intlayer.org
195
+ */
196
+ backendURL: process.env.INTLAYER_BACKEND_URL, // e.g. http://localhost:3100
197
+ },
198
+ };
199
+
200
+ export default config;
201
+ ```
202
+
203
+ Set the environment variables in your project's `.env`:
204
+
205
+ ```sh
206
+ INTLAYER_CMS_URL=http://localhost:3000
207
+ INTLAYER_BACKEND_URL=http://localhost:3100
208
+ INTLAYER_CLIENT_ID=<your-client-id>
209
+ INTLAYER_CLIENT_SECRET=<your-client-secret>
210
+ ```
211
+
212
+ Create access credentials in your self-hosted dashboard under **Projects → Access keys** at `http://localhost:3000/projects`.
213
+
214
+ ### `@intlayer/api` SDK
215
+
216
+ When using the `@intlayer/api` SDK programmatically, pass `backendURL` explicitly:
217
+
218
+ ```typescript fileName="cms.ts" codeFormat="typescript"
219
+ import { createIntlayerCMS } from "@intlayer/api";
220
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
221
+
222
+ const cms = createIntlayerCMS({
223
+ editor: {
224
+ clientId: process.env.INTLAYER_CLIENT_ID,
225
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
226
+ backendURL: process.env.INTLAYER_BACKEND_URL, // http://localhost:3100
227
+ },
228
+ });
229
+
230
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
231
+ ```
232
+
233
+ ---
234
+
235
+ ## Upgrading
236
+
237
+ Pull the latest image and recreate the container. Your data is preserved in the named volume (MinIO/Redis) and in your Atlas cluster (MongoDB):
238
+
239
+ ```sh
240
+ docker pull aymericzip/intlayer-selfhost
241
+ docker stop intlayer && docker rm intlayer
242
+ # re-run the `docker run …` command from Quick start
243
+ ```
244
+
245
+ ---
246
+
247
+ ## Backup and restore
248
+
249
+ MongoDB data lives in your Atlas cluster — back it up with Atlas' own tools. The bundled local datastores live under the `intlayer-data` volume.
250
+
251
+ ### Backup
252
+
253
+ ```sh
254
+ docker run --rm \
255
+ -v intlayer-data:/data \
256
+ -v "$(pwd)":/backup \
257
+ busybox tar czf /backup/intlayer-data.tar.gz /data
258
+ ```
259
+
260
+ ### Restore
261
+
262
+ ```sh
263
+ docker run --rm \
264
+ -v intlayer-data:/data \
265
+ -v "$(pwd)":/backup \
266
+ busybox tar xzf /backup/intlayer-data.tar.gz -C /
267
+ ```
268
+
269
+ ---
270
+
271
+ ## Limitations
272
+
273
+ - **MongoDB must be external (Atlas).** The backend connects only over `mongodb+srv://` (built from `DB_ID` / `DB_MDP` / `DB_CLUSTER`), so a plain `mongodb://host:27017` — including the container's own bundled `mongod` — cannot be used. Provide a MongoDB Atlas cluster.
274
+ - **No custom domain.** All browser-facing `VITE_*` URLs are inlined into the app at build time, and the published image ships with `localhost` values. The dashboard must be accessed at `http://localhost:3000`; serving it on a public domain would require rebuilding the image with the target URLs baked in and is not supported out of the box.
275
+ - **Email requires a working mailer.** First-run setup enforces email verification, so either `RESEND_API_KEY` or a [global SMTP mailer](#global-mailer) (`MAIL_PROVIDER=smtp` + `MAIL_SMTP_*`) must be configured. After the first admin signs in, each organization can also configure its own SMTP or Resend mailer from the dashboard.
276
+
277
+ ---
278
+
279
+ ## Troubleshooting
280
+
281
+ ### Dashboard loads but the API resets the connection (`ERR_CONNECTION_RESET` on `:3100`)
282
+
283
+ The backend crashed on startup and is not listening. The most common cause is a missing or invalid MongoDB connection: check that `DB_ID`, `DB_MDP`, and `DB_CLUSTER` are set and correct.
284
+
285
+ ```sh
286
+ docker logs intlayer
287
+ ```
288
+
289
+ Look for `MongoDB connection error` near the top of the log.
290
+
291
+ ### First account can't be verified
292
+
293
+ Email verification is mandatory. Make sure a mailer is configured — either `RESEND_API_KEY`, or a [global SMTP mailer](#global-mailer) (`MAIL_PROVIDER=smtp` + `MAIL_SMTP_*`) — then re-check your inbox (and spam). Without a working mailer, the verification link is never delivered. Delivery failures are logged by the backend (`docker logs intlayer`) with the underlying error message.
294
+
295
+ ### MinIO bucket missing
296
+
297
+ The `init-minio` one-shot creates the bucket on first boot. If assets fail to load, restart the container so it runs again:
298
+
299
+ ```sh
300
+ docker restart intlayer
301
+ ```
302
+
303
+ ---
304
+
305
+ ## Useful links
306
+
307
+ - [Intlayer CMS documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)
308
+ - [Configuration reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
309
+ - [CMS SDK — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md#programmatic-access-with-the-intlayerapi-sdk)
310
+ - [Docker Image (aymercizip/intlayer-selfhost)](https://hub.docker.com/repository/docker/aymercizip/intlayer-selfhost/general)
@@ -231,6 +231,9 @@ Next.js requires the `@intlayer/swc` plugin for the optimise (import rewrite) pa
231
231
 
232
232
  > This plugin is not installed by default as SWC plugins are still experimental for Next.js. This may change in the future.
233
233
 
234
+ <Tabs>
235
+ <Tab value="npm">
236
+
234
237
  ```bash packageManager="npm"
235
238
  npm install -D @intlayer/swc
236
239
  ```
@@ -247,6 +250,19 @@ pnpm add -D @intlayer/swc
247
250
  bun add -d @intlayer/swc
248
251
  ```
249
252
 
253
+ </Tab>
254
+ <Tab value="Crates.io (rust)">
255
+
256
+ ```toml fileName="Cargo.toml"
257
+ [dependencies]
258
+ intlayer-swc-plugin = "*"
259
+ ```
260
+
261
+ [View on Crates.io](https://crates.io/crates/intlayer-swc-plugin)
262
+
263
+ </Tab>
264
+ </Tabs>
265
+
250
266
  Once installed, Intlayer will automatically detect and use the plugin.
251
267
 
252
268
  For the **purge and minify** passes (field removal and field rename), install `@intlayer/babel` alongside it and add the Babel plugins. Because Next.js uses SWC for transformation but still evaluates `babel.config.js` for plugin config, the Babel plugins run as a pre-pass before SWC.
@@ -125,7 +125,7 @@ To learn how to configure the available languages or other parameters, take a lo
125
125
 
126
126
  ### Authentication
127
127
 
128
- - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/login.md)** - Authenticate with the Intlayer CMS and get the access credentials
128
+ - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/login.md)** - Authenticate with the Intlayer CMS and get the access credentials
129
129
 
130
130
  ### Core Commands
131
131
 
@@ -150,10 +150,10 @@ await scan("https://example.com", {
150
150
  });
151
151
  ```
152
152
 
153
- For lower-level access, `scanWebsite` from `@intlayer/chokidar/scan` returns a structured `ScanResult` object:
153
+ For lower-level access, `scanWebsite` from `@intlayer/engine/scan` returns a structured `ScanResult` object:
154
154
 
155
155
  ```ts
156
- import { scanWebsite } from "@intlayer/chokidar/scan";
156
+ import { scanWebsite } from "@intlayer/engine/scan";
157
157
 
158
158
  const result = await scanWebsite("https://example.com", { deep: false });
159
159
  console.log(result.score, result.totalPageSize, result.events);