@intlayer/docs 9.0.0-canary.9 → 9.0.1

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 (1153) hide show
  1. package/blog/ar/internationalization_and_SEO.md +6 -0
  2. package/blog/ar/intlayer_with_i18next.md +4 -4
  3. package/blog/ar/intlayer_with_next-i18next.md +4 -4
  4. package/blog/ar/intlayer_with_next-intl.md +4 -4
  5. package/blog/ar/intlayer_with_react-i18next.md +4 -4
  6. package/blog/ar/intlayer_with_react-intl.md +4 -4
  7. package/blog/ar/intlayer_with_vue-i18n.md +4 -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 +4 -4
  11. package/blog/de/intlayer_with_next-i18next.md +4 -4
  12. package/blog/de/intlayer_with_next-intl.md +4 -4
  13. package/blog/de/intlayer_with_react-i18next.md +4 -4
  14. package/blog/de/intlayer_with_react-intl.md +4 -4
  15. package/blog/de/intlayer_with_vue-i18n.md +4 -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 +4 -4
  19. package/blog/en/intlayer_with_next-i18next.md +4 -4
  20. package/blog/en/intlayer_with_next-intl.md +4 -4
  21. package/blog/en/intlayer_with_react-i18next.md +4 -4
  22. package/blog/en/intlayer_with_react-intl.md +4 -4
  23. package/blog/en/intlayer_with_vue-i18n.md +4 -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 +4 -4
  28. package/blog/en-GB/intlayer_with_next-i18next.md +4 -4
  29. package/blog/en-GB/intlayer_with_next-intl.md +4 -4
  30. package/blog/en-GB/intlayer_with_react-i18next.md +4 -4
  31. package/blog/en-GB/intlayer_with_react-intl.md +4 -4
  32. package/blog/en-GB/intlayer_with_vue-i18n.md +4 -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 +4 -4
  36. package/blog/es/intlayer_with_next-i18next.md +4 -4
  37. package/blog/es/intlayer_with_next-intl.md +4 -4
  38. package/blog/es/intlayer_with_react-i18next.md +4 -4
  39. package/blog/es/intlayer_with_react-intl.md +4 -4
  40. package/blog/es/intlayer_with_vue-i18n.md +4 -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 +4 -4
  44. package/blog/fr/intlayer_with_next-i18next.md +4 -4
  45. package/blog/fr/intlayer_with_next-intl.md +4 -4
  46. package/blog/fr/intlayer_with_react-i18next.md +4 -4
  47. package/blog/fr/intlayer_with_react-intl.md +4 -4
  48. package/blog/fr/intlayer_with_vue-i18n.md +4 -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 +4 -4
  52. package/blog/hi/intlayer_with_next-i18next.md +4 -4
  53. package/blog/hi/intlayer_with_next-intl.md +4 -4
  54. package/blog/hi/intlayer_with_react-i18next.md +4 -4
  55. package/blog/hi/intlayer_with_react-intl.md +4 -4
  56. package/blog/hi/intlayer_with_vue-i18n.md +4 -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 +4 -4
  60. package/blog/id/intlayer_with_next-i18next.md +4 -4
  61. package/blog/id/intlayer_with_next-intl.md +4 -4
  62. package/blog/id/intlayer_with_react-i18next.md +4 -4
  63. package/blog/id/intlayer_with_react-intl.md +4 -4
  64. package/blog/id/intlayer_with_vue-i18n.md +4 -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 +4 -4
  68. package/blog/it/intlayer_with_next-i18next.md +4 -4
  69. package/blog/it/intlayer_with_next-intl.md +4 -4
  70. package/blog/it/intlayer_with_react-i18next.md +4 -4
  71. package/blog/it/intlayer_with_react-intl.md +4 -4
  72. package/blog/it/intlayer_with_vue-i18n.md +4 -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 +4 -4
  76. package/blog/ja/intlayer_with_next-i18next.md +4 -4
  77. package/blog/ja/intlayer_with_next-intl.md +4 -4
  78. package/blog/ja/intlayer_with_react-i18next.md +4 -4
  79. package/blog/ja/intlayer_with_react-intl.md +4 -4
  80. package/blog/ja/intlayer_with_vue-i18n.md +4 -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 +4 -4
  84. package/blog/ko/intlayer_with_next-i18next.md +4 -4
  85. package/blog/ko/intlayer_with_next-intl.md +4 -4
  86. package/blog/ko/intlayer_with_react-i18next.md +4 -4
  87. package/blog/ko/intlayer_with_react-intl.md +4 -4
  88. package/blog/ko/intlayer_with_vue-i18n.md +4 -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 +4 -4
  92. package/blog/pl/intlayer_with_next-i18next.md +4 -4
  93. package/blog/pl/intlayer_with_next-intl.md +4 -4
  94. package/blog/pl/intlayer_with_react-i18next.md +4 -4
  95. package/blog/pl/intlayer_with_react-intl.md +4 -4
  96. package/blog/pl/intlayer_with_vue-i18n.md +4 -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 +4 -4
  100. package/blog/pt/intlayer_with_next-i18next.md +4 -4
  101. package/blog/pt/intlayer_with_next-intl.md +4 -4
  102. package/blog/pt/intlayer_with_react-i18next.md +4 -4
  103. package/blog/pt/intlayer_with_react-intl.md +4 -4
  104. package/blog/pt/intlayer_with_vue-i18n.md +4 -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 +4 -4
  108. package/blog/ru/intlayer_with_next-i18next.md +4 -4
  109. package/blog/ru/intlayer_with_next-intl.md +4 -4
  110. package/blog/ru/intlayer_with_react-i18next.md +4 -4
  111. package/blog/ru/intlayer_with_react-intl.md +4 -4
  112. package/blog/ru/intlayer_with_vue-i18n.md +4 -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 +4 -4
  116. package/blog/tr/intlayer_with_next-i18next.md +4 -4
  117. package/blog/tr/intlayer_with_next-intl.md +4 -4
  118. package/blog/tr/intlayer_with_react-i18next.md +4 -4
  119. package/blog/tr/intlayer_with_react-intl.md +4 -4
  120. package/blog/tr/intlayer_with_vue-i18n.md +4 -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 +4 -4
  124. package/blog/uk/intlayer_with_next-i18next.md +4 -4
  125. package/blog/uk/intlayer_with_next-intl.md +4 -4
  126. package/blog/uk/intlayer_with_react-i18next.md +4 -4
  127. package/blog/uk/intlayer_with_react-intl.md +4 -4
  128. package/blog/uk/intlayer_with_vue-i18n.md +4 -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 +4 -4
  132. package/blog/vi/intlayer_with_next-i18next.md +4 -4
  133. package/blog/vi/intlayer_with_next-intl.md +4 -4
  134. package/blog/vi/intlayer_with_react-i18next.md +4 -4
  135. package/blog/vi/intlayer_with_react-intl.md +4 -4
  136. package/blog/vi/intlayer_with_vue-i18n.md +4 -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 +4 -4
  194. package/docs/ar/intlayer_with_analog.md +4 -4
  195. package/docs/ar/intlayer_with_angular_19.md +4 -4
  196. package/docs/ar/intlayer_with_angular_21.md +4 -4
  197. package/docs/ar/intlayer_with_astro_lit.md +7 -7
  198. package/docs/ar/intlayer_with_astro_preact.md +4 -4
  199. package/docs/ar/intlayer_with_astro_react.md +4 -4
  200. package/docs/ar/intlayer_with_astro_solid.md +4 -4
  201. package/docs/ar/intlayer_with_astro_svelte.md +4 -4
  202. package/docs/ar/intlayer_with_astro_vanilla.md +4 -4
  203. package/docs/ar/intlayer_with_astro_vue.md +4 -4
  204. package/docs/ar/intlayer_with_create_react_app.md +4 -4
  205. package/docs/ar/intlayer_with_express.md +4 -4
  206. package/docs/ar/intlayer_with_fastify.md +4 -4
  207. package/docs/ar/intlayer_with_hono.md +4 -4
  208. package/docs/ar/intlayer_with_lynx+react.md +4 -4
  209. package/docs/ar/intlayer_with_nestjs.md +4 -4
  210. package/docs/ar/intlayer_with_next-i18next.md +4 -4
  211. package/docs/ar/intlayer_with_nextjs_14.md +4 -4
  212. package/docs/ar/intlayer_with_nextjs_15.md +6 -8
  213. package/docs/ar/intlayer_with_nextjs_16.md +6 -8
  214. package/docs/ar/intlayer_with_nextjs_compiler.md +5 -7
  215. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +6 -8
  216. package/docs/ar/intlayer_with_nextjs_page_router.md +4 -4
  217. package/docs/ar/intlayer_with_nuxt.md +5 -5
  218. package/docs/ar/intlayer_with_react_native+expo.md +4 -4
  219. package/docs/ar/intlayer_with_react_router_v7.md +5 -5
  220. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +5 -5
  221. package/docs/ar/intlayer_with_svelte_kit.md +4 -4
  222. package/docs/ar/intlayer_with_tanstack+solid.md +5 -5
  223. package/docs/ar/intlayer_with_tanstack.md +6 -7
  224. package/docs/ar/intlayer_with_vite+lit.md +4 -4
  225. package/docs/ar/intlayer_with_vite+preact.md +5 -5
  226. package/docs/ar/intlayer_with_vite+react.md +5 -5
  227. package/docs/ar/intlayer_with_vite+react_compiler.md +5 -5
  228. package/docs/ar/intlayer_with_vite+solid.md +5 -5
  229. package/docs/ar/intlayer_with_vite+svelte.md +4 -4
  230. package/docs/ar/intlayer_with_vite+vanilla.md +4 -4
  231. package/docs/ar/intlayer_with_vite+vue.md +5 -5
  232. package/docs/ar/live-sync.md +174 -0
  233. package/docs/ar/migration_from_i18next_to_intlayer.md +4 -4
  234. package/docs/ar/migration_from_next-i18next_to_intlayer.md +4 -4
  235. package/docs/ar/migration_from_next-intl_to_intlayer.md +5 -7
  236. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  237. package/docs/ar/migration_from_react-i18next_to_intlayer.md +5 -7
  238. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +4 -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 +4 -4
  247. package/docs/bn/intlayer_with_fastify.md +4 -4
  248. package/docs/bn/intlayer_with_hono.md +4 -4
  249. package/docs/bn/intlayer_with_vite+lit.md +4 -4
  250. package/docs/bn/intlayer_with_vite+vanilla.md +4 -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 +4 -4
  257. package/docs/cs/intlayer_with_fastify.md +4 -4
  258. package/docs/cs/intlayer_with_hono.md +4 -4
  259. package/docs/cs/intlayer_with_vite+lit.md +4 -4
  260. package/docs/cs/intlayer_with_vite+vanilla.md +4 -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 +4 -4
  269. package/docs/de/intlayer_with_analog.md +4 -4
  270. package/docs/de/intlayer_with_angular_19.md +4 -4
  271. package/docs/de/intlayer_with_angular_21.md +4 -4
  272. package/docs/de/intlayer_with_astro_lit.md +7 -7
  273. package/docs/de/intlayer_with_astro_preact.md +4 -4
  274. package/docs/de/intlayer_with_astro_react.md +4 -4
  275. package/docs/de/intlayer_with_astro_solid.md +4 -4
  276. package/docs/de/intlayer_with_astro_svelte.md +4 -4
  277. package/docs/de/intlayer_with_astro_vanilla.md +4 -4
  278. package/docs/de/intlayer_with_astro_vue.md +4 -4
  279. package/docs/de/intlayer_with_create_react_app.md +4 -4
  280. package/docs/de/intlayer_with_express.md +4 -4
  281. package/docs/de/intlayer_with_fastify.md +4 -4
  282. package/docs/de/intlayer_with_hono.md +4 -4
  283. package/docs/de/intlayer_with_lynx+react.md +4 -4
  284. package/docs/de/intlayer_with_nestjs.md +4 -4
  285. package/docs/de/intlayer_with_next-i18next.md +4 -4
  286. package/docs/de/intlayer_with_nextjs_14.md +4 -4
  287. package/docs/de/intlayer_with_nextjs_15.md +6 -8
  288. package/docs/de/intlayer_with_nextjs_16.md +6 -8
  289. package/docs/de/intlayer_with_nextjs_no_locale_path.md +6 -8
  290. package/docs/de/intlayer_with_nextjs_page_router.md +4 -4
  291. package/docs/de/intlayer_with_nuxt.md +5 -5
  292. package/docs/de/intlayer_with_react_native+expo.md +4 -4
  293. package/docs/de/intlayer_with_react_router_v7.md +5 -5
  294. package/docs/de/intlayer_with_svelte_kit.md +4 -4
  295. package/docs/de/intlayer_with_tanstack+solid.md +5 -5
  296. package/docs/de/intlayer_with_tanstack.md +6 -7
  297. package/docs/de/intlayer_with_vite+lit.md +4 -4
  298. package/docs/de/intlayer_with_vite+preact.md +5 -5
  299. package/docs/de/intlayer_with_vite+react.md +5 -5
  300. package/docs/de/intlayer_with_vite+react_compiler.md +5 -5
  301. package/docs/de/intlayer_with_vite+solid.md +5 -5
  302. package/docs/de/intlayer_with_vite+vanilla.md +4 -4
  303. package/docs/de/intlayer_with_vite+vue.md +5 -5
  304. package/docs/de/live-sync.md +174 -0
  305. package/docs/de/migration_from_i18next_to_intlayer.md +4 -4
  306. package/docs/de/migration_from_next-i18next_to_intlayer.md +4 -4
  307. package/docs/de/migration_from_next-intl_to_intlayer.md +5 -7
  308. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  309. package/docs/de/migration_from_react-i18next_to_intlayer.md +5 -7
  310. package/docs/de/migration_from_vue-i18n_to_intlayer.md +4 -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/dictionary/content_file.md +2 -2
  319. package/docs/en/how_works_intlayer.md +2 -2
  320. package/docs/en/intlayer_CMS.md +143 -107
  321. package/docs/en/intlayer_with_adonisjs.md +4 -4
  322. package/docs/en/intlayer_with_analog.md +4 -4
  323. package/docs/en/intlayer_with_angular_19.md +4 -4
  324. package/docs/en/intlayer_with_angular_21.md +4 -4
  325. package/docs/en/intlayer_with_astro.md +4 -4
  326. package/docs/en/intlayer_with_astro_lit.md +7 -7
  327. package/docs/en/intlayer_with_astro_preact.md +4 -4
  328. package/docs/en/intlayer_with_astro_react.md +4 -4
  329. package/docs/en/intlayer_with_astro_solid.md +4 -4
  330. package/docs/en/intlayer_with_astro_svelte.md +4 -4
  331. package/docs/en/intlayer_with_astro_vanilla.md +4 -4
  332. package/docs/en/intlayer_with_astro_vue.md +4 -4
  333. package/docs/en/intlayer_with_create_react_app.md +4 -4
  334. package/docs/en/intlayer_with_express.md +4 -4
  335. package/docs/en/intlayer_with_fastify.md +4 -4
  336. package/docs/en/intlayer_with_hono.md +4 -4
  337. package/docs/en/intlayer_with_lynx+react.md +4 -4
  338. package/docs/en/intlayer_with_nestjs.md +4 -4
  339. package/docs/en/intlayer_with_next-i18next.md +4 -4
  340. package/docs/en/intlayer_with_nextjs_14.md +4 -4
  341. package/docs/en/intlayer_with_nextjs_15.md +5 -7
  342. package/docs/en/intlayer_with_nextjs_16.md +6 -8
  343. package/docs/en/intlayer_with_nextjs_compiler.md +6 -8
  344. package/docs/en/intlayer_with_nextjs_no_locale_path.md +6 -8
  345. package/docs/en/intlayer_with_nextjs_page_router.md +4 -4
  346. package/docs/en/intlayer_with_nuxt.md +5 -5
  347. package/docs/en/intlayer_with_react_native+expo.md +4 -4
  348. package/docs/en/intlayer_with_react_router_v7.md +5 -5
  349. package/docs/en/intlayer_with_svelte_kit.md +4 -4
  350. package/docs/en/intlayer_with_tanstack+solid.md +5 -5
  351. package/docs/en/intlayer_with_tanstack.md +6 -7
  352. package/docs/en/intlayer_with_vite+lit.md +4 -4
  353. package/docs/en/intlayer_with_vite+preact.md +5 -5
  354. package/docs/en/intlayer_with_vite+react.md +5 -5
  355. package/docs/en/intlayer_with_vite+react_compiler.md +5 -5
  356. package/docs/en/intlayer_with_vite+solid.md +5 -5
  357. package/docs/en/intlayer_with_vite+svelte.md +4 -4
  358. package/docs/en/intlayer_with_vite+vanilla.md +4 -4
  359. package/docs/en/intlayer_with_vite+vue.md +5 -5
  360. package/docs/en/live-sync.md +184 -0
  361. package/docs/en/migration_from_i18next_to_intlayer.md +4 -4
  362. package/docs/en/migration_from_next-i18next_to_intlayer.md +4 -4
  363. package/docs/en/migration_from_next-intl_to_intlayer.md +5 -7
  364. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  365. package/docs/en/migration_from_react-i18next_to_intlayer.md +5 -7
  366. package/docs/en/migration_from_vue-i18n_to_intlayer.md +4 -4
  367. package/docs/en/releases/v9.md +124 -29
  368. package/docs/en/self_hosting.md +310 -0
  369. package/docs/en-GB/bundle_optimization.md +16 -0
  370. package/docs/en-GB/cli/index.md +1 -1
  371. package/docs/en-GB/cli/scan.md +2 -2
  372. package/docs/en-GB/configuration.md +42 -1
  373. package/docs/en-GB/how_works_intlayer.md +2 -2
  374. package/docs/en-GB/intlayer_CMS.md +14 -122
  375. package/docs/en-GB/intlayer_with_adonisjs.md +4 -4
  376. package/docs/en-GB/intlayer_with_analog.md +4 -4
  377. package/docs/en-GB/intlayer_with_angular_19.md +4 -4
  378. package/docs/en-GB/intlayer_with_angular_21.md +4 -4
  379. package/docs/en-GB/intlayer_with_astro_lit.md +7 -7
  380. package/docs/en-GB/intlayer_with_astro_preact.md +4 -4
  381. package/docs/en-GB/intlayer_with_astro_react.md +4 -4
  382. package/docs/en-GB/intlayer_with_astro_solid.md +4 -4
  383. package/docs/en-GB/intlayer_with_astro_svelte.md +4 -4
  384. package/docs/en-GB/intlayer_with_astro_vanilla.md +4 -4
  385. package/docs/en-GB/intlayer_with_astro_vue.md +4 -4
  386. package/docs/en-GB/intlayer_with_create_react_app.md +8 -8
  387. package/docs/en-GB/intlayer_with_express.md +4 -4
  388. package/docs/en-GB/intlayer_with_fastify.md +4 -4
  389. package/docs/en-GB/intlayer_with_hono.md +4 -4
  390. package/docs/en-GB/intlayer_with_lynx+react.md +8 -8
  391. package/docs/en-GB/intlayer_with_nestjs.md +4 -4
  392. package/docs/en-GB/intlayer_with_next-i18next.md +4 -4
  393. package/docs/en-GB/intlayer_with_nextjs_14.md +4 -4
  394. package/docs/en-GB/intlayer_with_nextjs_15.md +6 -8
  395. package/docs/en-GB/intlayer_with_nextjs_16.md +6 -8
  396. package/docs/en-GB/intlayer_with_nextjs_compiler.md +5 -7
  397. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +6 -8
  398. package/docs/en-GB/intlayer_with_nextjs_page_router.md +4 -4
  399. package/docs/en-GB/intlayer_with_nuxt.md +5 -5
  400. package/docs/en-GB/intlayer_with_react_native+expo.md +4 -4
  401. package/docs/en-GB/intlayer_with_react_router_v7.md +5 -5
  402. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +5 -5
  403. package/docs/en-GB/intlayer_with_svelte_kit.md +4 -4
  404. package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -5
  405. package/docs/en-GB/intlayer_with_tanstack.md +6 -7
  406. package/docs/en-GB/intlayer_with_vite+lit.md +4 -4
  407. package/docs/en-GB/intlayer_with_vite+preact.md +5 -5
  408. package/docs/en-GB/intlayer_with_vite+react.md +5 -5
  409. package/docs/en-GB/intlayer_with_vite+react_compiler.md +5 -5
  410. package/docs/en-GB/intlayer_with_vite+solid.md +5 -5
  411. package/docs/en-GB/intlayer_with_vite+svelte.md +4 -4
  412. package/docs/en-GB/intlayer_with_vite+vanilla.md +4 -4
  413. package/docs/en-GB/intlayer_with_vite+vue.md +5 -5
  414. package/docs/en-GB/live-sync.md +173 -0
  415. package/docs/en-GB/migration_from_i18next_to_intlayer.md +4 -4
  416. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +4 -4
  417. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +5 -7
  418. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  419. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +5 -7
  420. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +4 -4
  421. package/docs/en-GB/releases/v9.md +117 -26
  422. package/docs/en-GB/self_hosting.md +350 -0
  423. package/docs/es/bundle_optimization.md +16 -0
  424. package/docs/es/cli/index.md +1 -1
  425. package/docs/es/cli/scan.md +2 -2
  426. package/docs/es/configuration.md +42 -1
  427. package/docs/es/how_works_intlayer.md +2 -2
  428. package/docs/es/intlayer_CMS.md +85 -104
  429. package/docs/es/intlayer_with_adonisjs.md +4 -4
  430. package/docs/es/intlayer_with_analog.md +4 -4
  431. package/docs/es/intlayer_with_angular_19.md +4 -4
  432. package/docs/es/intlayer_with_angular_21.md +4 -4
  433. package/docs/es/intlayer_with_astro_lit.md +7 -7
  434. package/docs/es/intlayer_with_astro_preact.md +4 -4
  435. package/docs/es/intlayer_with_astro_react.md +4 -4
  436. package/docs/es/intlayer_with_astro_solid.md +4 -4
  437. package/docs/es/intlayer_with_astro_svelte.md +4 -4
  438. package/docs/es/intlayer_with_astro_vanilla.md +4 -4
  439. package/docs/es/intlayer_with_astro_vue.md +4 -4
  440. package/docs/es/intlayer_with_create_react_app.md +4 -4
  441. package/docs/es/intlayer_with_express.md +4 -4
  442. package/docs/es/intlayer_with_fastify.md +4 -4
  443. package/docs/es/intlayer_with_hono.md +4 -4
  444. package/docs/es/intlayer_with_lynx+react.md +4 -4
  445. package/docs/es/intlayer_with_nestjs.md +4 -4
  446. package/docs/es/intlayer_with_next-i18next.md +4 -4
  447. package/docs/es/intlayer_with_nextjs_14.md +4 -4
  448. package/docs/es/intlayer_with_nextjs_15.md +6 -8
  449. package/docs/es/intlayer_with_nextjs_16.md +6 -8
  450. package/docs/es/intlayer_with_nextjs_compiler.md +5 -7
  451. package/docs/es/intlayer_with_nextjs_no_locale_path.md +6 -8
  452. package/docs/es/intlayer_with_nextjs_page_router.md +4 -4
  453. package/docs/es/intlayer_with_nuxt.md +5 -5
  454. package/docs/es/intlayer_with_react_native+expo.md +4 -4
  455. package/docs/es/intlayer_with_react_router_v7.md +5 -5
  456. package/docs/es/intlayer_with_svelte_kit.md +4 -4
  457. package/docs/es/intlayer_with_tanstack+solid.md +5 -5
  458. package/docs/es/intlayer_with_tanstack.md +6 -7
  459. package/docs/es/intlayer_with_vite+lit.md +4 -4
  460. package/docs/es/intlayer_with_vite+preact.md +5 -5
  461. package/docs/es/intlayer_with_vite+react.md +5 -5
  462. package/docs/es/intlayer_with_vite+react_compiler.md +5 -5
  463. package/docs/es/intlayer_with_vite+solid.md +5 -5
  464. package/docs/es/intlayer_with_vite+svelte.md +4 -4
  465. package/docs/es/intlayer_with_vite+vanilla.md +4 -4
  466. package/docs/es/intlayer_with_vite+vue.md +5 -5
  467. package/docs/es/live-sync.md +176 -0
  468. package/docs/es/migration_from_i18next_to_intlayer.md +4 -4
  469. package/docs/es/migration_from_next-i18next_to_intlayer.md +4 -4
  470. package/docs/es/migration_from_next-intl_to_intlayer.md +5 -7
  471. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  472. package/docs/es/migration_from_react-i18next_to_intlayer.md +5 -7
  473. package/docs/es/migration_from_vue-i18n_to_intlayer.md +4 -4
  474. package/docs/es/releases/v9.md +131 -33
  475. package/docs/es/self_hosting.md +350 -0
  476. package/docs/fr/bundle_optimization.md +16 -0
  477. package/docs/fr/cli/index.md +1 -1
  478. package/docs/fr/cli/scan.md +2 -2
  479. package/docs/fr/configuration.md +42 -1
  480. package/docs/fr/how_works_intlayer.md +2 -2
  481. package/docs/fr/intlayer_CMS.md +86 -100
  482. package/docs/fr/intlayer_with_adonisjs.md +4 -4
  483. package/docs/fr/intlayer_with_analog.md +4 -4
  484. package/docs/fr/intlayer_with_angular_19.md +4 -4
  485. package/docs/fr/intlayer_with_angular_21.md +4 -4
  486. package/docs/fr/intlayer_with_astro_lit.md +7 -7
  487. package/docs/fr/intlayer_with_astro_preact.md +4 -4
  488. package/docs/fr/intlayer_with_astro_react.md +4 -4
  489. package/docs/fr/intlayer_with_astro_solid.md +4 -4
  490. package/docs/fr/intlayer_with_astro_svelte.md +4 -4
  491. package/docs/fr/intlayer_with_astro_vanilla.md +4 -4
  492. package/docs/fr/intlayer_with_astro_vue.md +4 -4
  493. package/docs/fr/intlayer_with_create_react_app.md +4 -4
  494. package/docs/fr/intlayer_with_express.md +4 -4
  495. package/docs/fr/intlayer_with_fastify.md +4 -4
  496. package/docs/fr/intlayer_with_hono.md +4 -4
  497. package/docs/fr/intlayer_with_lynx+react.md +4 -4
  498. package/docs/fr/intlayer_with_nestjs.md +4 -4
  499. package/docs/fr/intlayer_with_next-i18next.md +4 -4
  500. package/docs/fr/intlayer_with_nextjs_14.md +4 -4
  501. package/docs/fr/intlayer_with_nextjs_15.md +6 -8
  502. package/docs/fr/intlayer_with_nextjs_16.md +6 -8
  503. package/docs/fr/intlayer_with_nextjs_compiler.md +5 -7
  504. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +6 -8
  505. package/docs/fr/intlayer_with_nextjs_page_router.md +4 -4
  506. package/docs/fr/intlayer_with_nuxt.md +5 -5
  507. package/docs/fr/intlayer_with_react_native+expo.md +4 -4
  508. package/docs/fr/intlayer_with_react_router_v7.md +5 -5
  509. package/docs/fr/intlayer_with_svelte_kit.md +4 -4
  510. package/docs/fr/intlayer_with_tanstack+solid.md +5 -5
  511. package/docs/fr/intlayer_with_tanstack.md +6 -7
  512. package/docs/fr/intlayer_with_vite+lit.md +4 -4
  513. package/docs/fr/intlayer_with_vite+preact.md +5 -5
  514. package/docs/fr/intlayer_with_vite+react.md +5 -5
  515. package/docs/fr/intlayer_with_vite+react_compiler.md +5 -5
  516. package/docs/fr/intlayer_with_vite+solid.md +5 -5
  517. package/docs/fr/intlayer_with_vite+svelte.md +4 -4
  518. package/docs/fr/intlayer_with_vite+vanilla.md +4 -4
  519. package/docs/fr/intlayer_with_vite+vue.md +5 -5
  520. package/docs/fr/live-sync.md +174 -0
  521. package/docs/fr/migration_from_i18next_to_intlayer.md +4 -4
  522. package/docs/fr/migration_from_next-i18next_to_intlayer.md +4 -4
  523. package/docs/fr/migration_from_next-intl_to_intlayer.md +5 -7
  524. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  525. package/docs/fr/migration_from_react-i18next_to_intlayer.md +5 -7
  526. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +4 -4
  527. package/docs/fr/releases/v9.md +131 -25
  528. package/docs/fr/self_hosting.md +350 -0
  529. package/docs/hi/bundle_optimization.md +16 -0
  530. package/docs/hi/cli/index.md +1 -1
  531. package/docs/hi/cli/scan.md +2 -2
  532. package/docs/hi/configuration.md +42 -1
  533. package/docs/hi/how_works_intlayer.md +2 -2
  534. package/docs/hi/intlayer_CMS.md +14 -122
  535. package/docs/hi/intlayer_with_adonisjs.md +4 -4
  536. package/docs/hi/intlayer_with_analog.md +4 -4
  537. package/docs/hi/intlayer_with_angular_19.md +4 -4
  538. package/docs/hi/intlayer_with_angular_21.md +4 -4
  539. package/docs/hi/intlayer_with_astro_vue.md +4 -4
  540. package/docs/hi/intlayer_with_create_react_app.md +4 -4
  541. package/docs/hi/intlayer_with_express.md +4 -4
  542. package/docs/hi/intlayer_with_fastify.md +4 -4
  543. package/docs/hi/intlayer_with_hono.md +4 -4
  544. package/docs/hi/intlayer_with_lynx+react.md +4 -4
  545. package/docs/hi/intlayer_with_nestjs.md +4 -4
  546. package/docs/hi/intlayer_with_next-i18next.md +4 -4
  547. package/docs/hi/intlayer_with_nextjs_14.md +4 -4
  548. package/docs/hi/intlayer_with_nextjs_15.md +6 -8
  549. package/docs/hi/intlayer_with_nextjs_16.md +6 -8
  550. package/docs/hi/intlayer_with_nextjs_compiler.md +4 -4
  551. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +6 -8
  552. package/docs/hi/intlayer_with_nextjs_page_router.md +4 -4
  553. package/docs/hi/intlayer_with_nuxt.md +5 -5
  554. package/docs/hi/intlayer_with_react_native+expo.md +4 -4
  555. package/docs/hi/intlayer_with_react_router_v7.md +5 -5
  556. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +5 -5
  557. package/docs/hi/intlayer_with_svelte_kit.md +4 -4
  558. package/docs/hi/intlayer_with_tanstack+solid.md +5 -5
  559. package/docs/hi/intlayer_with_tanstack.md +6 -7
  560. package/docs/hi/intlayer_with_vite+lit.md +4 -4
  561. package/docs/hi/intlayer_with_vite+preact.md +5 -5
  562. package/docs/hi/intlayer_with_vite+react.md +5 -5
  563. package/docs/hi/intlayer_with_vite+react_compiler.md +5 -5
  564. package/docs/hi/intlayer_with_vite+solid.md +5 -5
  565. package/docs/hi/intlayer_with_vite+svelte.md +4 -4
  566. package/docs/hi/intlayer_with_vite+vanilla.md +4 -4
  567. package/docs/hi/intlayer_with_vite+vue.md +5 -5
  568. package/docs/hi/live-sync.md +174 -0
  569. package/docs/hi/migration_from_i18next_to_intlayer.md +4 -4
  570. package/docs/hi/migration_from_next-i18next_to_intlayer.md +4 -4
  571. package/docs/hi/migration_from_next-intl_to_intlayer.md +5 -7
  572. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  573. package/docs/hi/migration_from_react-i18next_to_intlayer.md +5 -7
  574. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +4 -4
  575. package/docs/hi/packages/intlayer/index.md +4 -4
  576. package/docs/hi/releases/v9.md +129 -33
  577. package/docs/hi/self_hosting.md +350 -0
  578. package/docs/id/bundle_optimization.md +16 -0
  579. package/docs/id/cli/index.md +1 -1
  580. package/docs/id/cli/scan.md +2 -2
  581. package/docs/id/configuration.md +42 -1
  582. package/docs/id/how_works_intlayer.md +2 -2
  583. package/docs/id/intlayer_CMS.md +5 -139
  584. package/docs/id/intlayer_with_adonisjs.md +4 -4
  585. package/docs/id/intlayer_with_analog.md +4 -4
  586. package/docs/id/intlayer_with_angular_19.md +4 -4
  587. package/docs/id/intlayer_with_angular_21.md +4 -4
  588. package/docs/id/intlayer_with_astro_lit.md +7 -7
  589. package/docs/id/intlayer_with_astro_preact.md +4 -4
  590. package/docs/id/intlayer_with_astro_react.md +4 -4
  591. package/docs/id/intlayer_with_astro_solid.md +4 -4
  592. package/docs/id/intlayer_with_astro_svelte.md +4 -4
  593. package/docs/id/intlayer_with_astro_vanilla.md +4 -4
  594. package/docs/id/intlayer_with_astro_vue.md +4 -4
  595. package/docs/id/intlayer_with_create_react_app.md +4 -4
  596. package/docs/id/intlayer_with_express.md +4 -4
  597. package/docs/id/intlayer_with_fastify.md +4 -4
  598. package/docs/id/intlayer_with_hono.md +4 -4
  599. package/docs/id/intlayer_with_lynx+react.md +4 -4
  600. package/docs/id/intlayer_with_nestjs.md +4 -4
  601. package/docs/id/intlayer_with_next-i18next.md +4 -4
  602. package/docs/id/intlayer_with_nextjs_14.md +4 -4
  603. package/docs/id/intlayer_with_nextjs_15.md +5 -7
  604. package/docs/id/intlayer_with_nextjs_16.md +6 -8
  605. package/docs/id/intlayer_with_nextjs_compiler.md +4 -4
  606. package/docs/id/intlayer_with_nextjs_no_locale_path.md +6 -8
  607. package/docs/id/intlayer_with_nextjs_page_router.md +4 -4
  608. package/docs/id/intlayer_with_nuxt.md +5 -5
  609. package/docs/id/intlayer_with_react_native+expo.md +4 -4
  610. package/docs/id/intlayer_with_react_router_v7.md +5 -5
  611. package/docs/id/intlayer_with_svelte_kit.md +4 -4
  612. package/docs/id/intlayer_with_tanstack+solid.md +5 -5
  613. package/docs/id/intlayer_with_tanstack.md +6 -7
  614. package/docs/id/intlayer_with_vite+lit.md +4 -4
  615. package/docs/id/intlayer_with_vite+preact.md +5 -5
  616. package/docs/id/intlayer_with_vite+react.md +5 -5
  617. package/docs/id/intlayer_with_vite+react_compiler.md +5 -5
  618. package/docs/id/intlayer_with_vite+solid.md +5 -5
  619. package/docs/id/intlayer_with_vite+svelte.md +4 -4
  620. package/docs/id/intlayer_with_vite+vanilla.md +4 -4
  621. package/docs/id/intlayer_with_vite+vue.md +5 -5
  622. package/docs/id/live-sync.md +185 -0
  623. package/docs/id/migration_from_i18next_to_intlayer.md +4 -4
  624. package/docs/id/migration_from_next-i18next_to_intlayer.md +4 -4
  625. package/docs/id/migration_from_next-intl_to_intlayer.md +5 -7
  626. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  627. package/docs/id/migration_from_react-i18next_to_intlayer.md +5 -7
  628. package/docs/id/migration_from_vue-i18n_to_intlayer.md +4 -4
  629. package/docs/id/releases/v9.md +101 -33
  630. package/docs/id/self_hosting.md +350 -0
  631. package/docs/it/bundle_optimization.md +16 -0
  632. package/docs/it/cli/index.md +1 -1
  633. package/docs/it/cli/scan.md +2 -2
  634. package/docs/it/configuration.md +42 -1
  635. package/docs/it/how_works_intlayer.md +2 -2
  636. package/docs/it/intlayer_CMS.md +87 -94
  637. package/docs/it/intlayer_with_adonisjs.md +4 -4
  638. package/docs/it/intlayer_with_analog.md +4 -4
  639. package/docs/it/intlayer_with_angular_19.md +4 -4
  640. package/docs/it/intlayer_with_angular_21.md +4 -4
  641. package/docs/it/intlayer_with_astro_lit.md +7 -7
  642. package/docs/it/intlayer_with_astro_preact.md +4 -4
  643. package/docs/it/intlayer_with_astro_react.md +4 -4
  644. package/docs/it/intlayer_with_astro_solid.md +4 -4
  645. package/docs/it/intlayer_with_astro_svelte.md +4 -4
  646. package/docs/it/intlayer_with_astro_vanilla.md +4 -4
  647. package/docs/it/intlayer_with_astro_vue.md +4 -4
  648. package/docs/it/intlayer_with_create_react_app.md +4 -4
  649. package/docs/it/intlayer_with_express.md +4 -4
  650. package/docs/it/intlayer_with_fastify.md +4 -4
  651. package/docs/it/intlayer_with_hono.md +4 -4
  652. package/docs/it/intlayer_with_lynx+react.md +4 -4
  653. package/docs/it/intlayer_with_nestjs.md +4 -4
  654. package/docs/it/intlayer_with_next-i18next.md +4 -4
  655. package/docs/it/intlayer_with_nextjs_14.md +4 -4
  656. package/docs/it/intlayer_with_nextjs_15.md +6 -8
  657. package/docs/it/intlayer_with_nextjs_16.md +6 -8
  658. package/docs/it/intlayer_with_nextjs_compiler.md +5 -7
  659. package/docs/it/intlayer_with_nextjs_no_locale_path.md +6 -8
  660. package/docs/it/intlayer_with_nextjs_page_router.md +4 -4
  661. package/docs/it/intlayer_with_nuxt.md +5 -5
  662. package/docs/it/intlayer_with_react_native+expo.md +4 -4
  663. package/docs/it/intlayer_with_react_router_v7.md +5 -5
  664. package/docs/it/intlayer_with_svelte_kit.md +4 -4
  665. package/docs/it/intlayer_with_tanstack+solid.md +5 -5
  666. package/docs/it/intlayer_with_tanstack.md +6 -7
  667. package/docs/it/intlayer_with_vite+lit.md +4 -4
  668. package/docs/it/intlayer_with_vite+preact.md +5 -5
  669. package/docs/it/intlayer_with_vite+react.md +6 -6
  670. package/docs/it/intlayer_with_vite+react_compiler.md +5 -5
  671. package/docs/it/intlayer_with_vite+solid.md +5 -5
  672. package/docs/it/intlayer_with_vite+svelte.md +4 -4
  673. package/docs/it/intlayer_with_vite+vanilla.md +4 -4
  674. package/docs/it/intlayer_with_vite+vue.md +5 -5
  675. package/docs/it/live-sync.md +174 -0
  676. package/docs/it/migration_from_i18next_to_intlayer.md +4 -4
  677. package/docs/it/migration_from_next-i18next_to_intlayer.md +4 -4
  678. package/docs/it/migration_from_next-intl_to_intlayer.md +4 -4
  679. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  680. package/docs/it/migration_from_react-i18next_to_intlayer.md +5 -7
  681. package/docs/it/migration_from_vue-i18n_to_intlayer.md +4 -4
  682. package/docs/it/releases/v9.md +131 -33
  683. package/docs/it/self_hosting.md +350 -0
  684. package/docs/ja/bundle_optimization.md +16 -0
  685. package/docs/ja/cli/index.md +1 -1
  686. package/docs/ja/cli/scan.md +2 -2
  687. package/docs/ja/configuration.md +42 -1
  688. package/docs/ja/how_works_intlayer.md +2 -2
  689. package/docs/ja/intlayer_CMS.md +149 -102
  690. package/docs/ja/intlayer_with_adonisjs.md +4 -4
  691. package/docs/ja/intlayer_with_analog.md +4 -4
  692. package/docs/ja/intlayer_with_angular_19.md +4 -4
  693. package/docs/ja/intlayer_with_angular_21.md +4 -4
  694. package/docs/ja/intlayer_with_astro_lit.md +7 -7
  695. package/docs/ja/intlayer_with_astro_preact.md +4 -4
  696. package/docs/ja/intlayer_with_astro_react.md +4 -4
  697. package/docs/ja/intlayer_with_astro_solid.md +4 -4
  698. package/docs/ja/intlayer_with_astro_svelte.md +4 -4
  699. package/docs/ja/intlayer_with_astro_vanilla.md +4 -4
  700. package/docs/ja/intlayer_with_astro_vue.md +4 -4
  701. package/docs/ja/intlayer_with_create_react_app.md +4 -4
  702. package/docs/ja/intlayer_with_express.md +4 -4
  703. package/docs/ja/intlayer_with_fastify.md +4 -4
  704. package/docs/ja/intlayer_with_hono.md +4 -4
  705. package/docs/ja/intlayer_with_lynx+react.md +4 -4
  706. package/docs/ja/intlayer_with_nestjs.md +4 -4
  707. package/docs/ja/intlayer_with_next-i18next.md +4 -4
  708. package/docs/ja/intlayer_with_nextjs_14.md +4 -4
  709. package/docs/ja/intlayer_with_nextjs_15.md +6 -8
  710. package/docs/ja/intlayer_with_nextjs_16.md +6 -8
  711. package/docs/ja/intlayer_with_nextjs_compiler.md +4 -4
  712. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +6 -8
  713. package/docs/ja/intlayer_with_nextjs_page_router.md +4 -4
  714. package/docs/ja/intlayer_with_nuxt.md +5 -5
  715. package/docs/ja/intlayer_with_react_native+expo.md +4 -4
  716. package/docs/ja/intlayer_with_tanstack+solid.md +5 -5
  717. package/docs/ja/intlayer_with_tanstack.md +6 -7
  718. package/docs/ja/intlayer_with_vite+lit.md +4 -4
  719. package/docs/ja/intlayer_with_vite+preact.md +5 -5
  720. package/docs/ja/intlayer_with_vite+react_compiler.md +5 -5
  721. package/docs/ja/intlayer_with_vite+solid.md +5 -5
  722. package/docs/ja/intlayer_with_vite+svelte.md +4 -4
  723. package/docs/ja/intlayer_with_vite+vanilla.md +4 -4
  724. package/docs/ja/intlayer_with_vite+vue.md +5 -5
  725. package/docs/ja/live-sync.md +185 -0
  726. package/docs/ja/migration_from_i18next_to_intlayer.md +4 -4
  727. package/docs/ja/migration_from_next-i18next_to_intlayer.md +4 -4
  728. package/docs/ja/migration_from_next-intl_to_intlayer.md +5 -7
  729. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  730. package/docs/ja/migration_from_react-i18next_to_intlayer.md +5 -7
  731. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +4 -4
  732. package/docs/ja/releases/v9.md +101 -33
  733. package/docs/ja/self_hosting.md +350 -0
  734. package/docs/ko/bundle_optimization.md +16 -0
  735. package/docs/ko/cli/index.md +1 -1
  736. package/docs/ko/cli/scan.md +2 -2
  737. package/docs/ko/configuration.md +42 -1
  738. package/docs/ko/how_works_intlayer.md +2 -2
  739. package/docs/ko/intlayer_CMS.md +147 -100
  740. package/docs/ko/intlayer_with_adonisjs.md +4 -4
  741. package/docs/ko/intlayer_with_analog.md +4 -4
  742. package/docs/ko/intlayer_with_angular_19.md +4 -4
  743. package/docs/ko/intlayer_with_angular_21.md +4 -4
  744. package/docs/ko/intlayer_with_astro_vue.md +4 -4
  745. package/docs/ko/intlayer_with_create_react_app.md +4 -4
  746. package/docs/ko/intlayer_with_express.md +4 -4
  747. package/docs/ko/intlayer_with_fastify.md +4 -4
  748. package/docs/ko/intlayer_with_hono.md +4 -4
  749. package/docs/ko/intlayer_with_nestjs.md +4 -4
  750. package/docs/ko/intlayer_with_next-i18next.md +4 -4
  751. package/docs/ko/intlayer_with_nextjs_15.md +6 -8
  752. package/docs/ko/intlayer_with_nextjs_16.md +6 -8
  753. package/docs/ko/intlayer_with_nextjs_compiler.md +5 -7
  754. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +6 -8
  755. package/docs/ko/intlayer_with_nextjs_page_router.md +4 -4
  756. package/docs/ko/intlayer_with_nuxt.md +5 -5
  757. package/docs/ko/intlayer_with_react_native+expo.md +4 -4
  758. package/docs/ko/intlayer_with_react_router_v7.md +5 -5
  759. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +5 -5
  760. package/docs/ko/intlayer_with_svelte_kit.md +4 -4
  761. package/docs/ko/intlayer_with_tanstack+solid.md +5 -5
  762. package/docs/ko/intlayer_with_tanstack.md +6 -7
  763. package/docs/ko/intlayer_with_vite+lit.md +4 -4
  764. package/docs/ko/intlayer_with_vite+preact.md +5 -5
  765. package/docs/ko/intlayer_with_vite+react_compiler.md +5 -5
  766. package/docs/ko/intlayer_with_vite+solid.md +5 -5
  767. package/docs/ko/intlayer_with_vite+svelte.md +4 -4
  768. package/docs/ko/intlayer_with_vite+vanilla.md +4 -4
  769. package/docs/ko/intlayer_with_vite+vue.md +5 -5
  770. package/docs/ko/live-sync.md +187 -0
  771. package/docs/ko/migration_from_i18next_to_intlayer.md +4 -4
  772. package/docs/ko/migration_from_next-i18next_to_intlayer.md +4 -4
  773. package/docs/ko/migration_from_next-intl_to_intlayer.md +5 -7
  774. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  775. package/docs/ko/migration_from_react-i18next_to_intlayer.md +5 -7
  776. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +4 -4
  777. package/docs/ko/releases/v9.md +100 -33
  778. package/docs/ko/self_hosting.md +350 -0
  779. package/docs/nl/bundle_optimization.md +16 -0
  780. package/docs/nl/cli/index.md +1 -1
  781. package/docs/nl/cli/scan.md +2 -2
  782. package/docs/nl/configuration.md +45 -1
  783. package/docs/nl/intlayer_with_angular_21.md +4 -4
  784. package/docs/nl/intlayer_with_fastify.md +4 -4
  785. package/docs/nl/intlayer_with_hono.md +4 -4
  786. package/docs/nl/intlayer_with_vite+lit.md +4 -4
  787. package/docs/nl/intlayer_with_vite+vanilla.md +4 -4
  788. package/docs/nl/releases/v9.md +349 -0
  789. package/docs/pl/bundle_optimization.md +16 -0
  790. package/docs/pl/cli/index.md +1 -1
  791. package/docs/pl/cli/scan.md +2 -2
  792. package/docs/pl/configuration.md +45 -1
  793. package/docs/pl/how_works_intlayer.md +2 -2
  794. package/docs/pl/intlayer_CMS.md +14 -133
  795. package/docs/pl/intlayer_with_adonisjs.md +4 -4
  796. package/docs/pl/intlayer_with_analog.md +4 -4
  797. package/docs/pl/intlayer_with_angular_19.md +4 -4
  798. package/docs/pl/intlayer_with_angular_21.md +4 -4
  799. package/docs/pl/intlayer_with_astro_lit.md +7 -7
  800. package/docs/pl/intlayer_with_astro_preact.md +4 -4
  801. package/docs/pl/intlayer_with_astro_react.md +4 -4
  802. package/docs/pl/intlayer_with_astro_solid.md +4 -4
  803. package/docs/pl/intlayer_with_astro_svelte.md +4 -4
  804. package/docs/pl/intlayer_with_astro_vanilla.md +4 -4
  805. package/docs/pl/intlayer_with_astro_vue.md +4 -4
  806. package/docs/pl/intlayer_with_create_react_app.md +4 -4
  807. package/docs/pl/intlayer_with_express.md +4 -4
  808. package/docs/pl/intlayer_with_fastify.md +4 -4
  809. package/docs/pl/intlayer_with_hono.md +4 -4
  810. package/docs/pl/intlayer_with_lynx+react.md +4 -4
  811. package/docs/pl/intlayer_with_nestjs.md +4 -4
  812. package/docs/pl/intlayer_with_next-i18next.md +4 -4
  813. package/docs/pl/intlayer_with_nextjs_14.md +4 -4
  814. package/docs/pl/intlayer_with_nextjs_15.md +5 -7
  815. package/docs/pl/intlayer_with_nextjs_16.md +6 -8
  816. package/docs/pl/intlayer_with_nextjs_compiler.md +4 -4
  817. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +6 -8
  818. package/docs/pl/intlayer_with_nextjs_page_router.md +4 -4
  819. package/docs/pl/intlayer_with_nuxt.md +5 -5
  820. package/docs/pl/intlayer_with_react_native+expo.md +4 -4
  821. package/docs/pl/intlayer_with_react_router_v7.md +5 -5
  822. package/docs/pl/intlayer_with_svelte_kit.md +4 -4
  823. package/docs/pl/intlayer_with_tanstack+solid.md +5 -5
  824. package/docs/pl/intlayer_with_tanstack.md +6 -7
  825. package/docs/pl/intlayer_with_vite+lit.md +4 -4
  826. package/docs/pl/intlayer_with_vite+preact.md +5 -5
  827. package/docs/pl/intlayer_with_vite+react.md +5 -5
  828. package/docs/pl/intlayer_with_vite+react_compiler.md +5 -5
  829. package/docs/pl/intlayer_with_vite+solid.md +5 -5
  830. package/docs/pl/intlayer_with_vite+svelte.md +4 -4
  831. package/docs/pl/intlayer_with_vite+vanilla.md +4 -4
  832. package/docs/pl/intlayer_with_vite+vue.md +5 -5
  833. package/docs/pl/live-sync.md +185 -0
  834. package/docs/pl/migration_from_next-i18next_to_intlayer.md +4 -4
  835. package/docs/pl/migration_from_next-intl_to_intlayer.md +5 -7
  836. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  837. package/docs/pl/migration_from_react-i18next_to_intlayer.md +5 -7
  838. package/docs/pl/releases/v9.md +128 -33
  839. package/docs/pl/self_hosting.md +350 -0
  840. package/docs/pt/bundle_optimization.md +16 -0
  841. package/docs/pt/cli/index.md +1 -1
  842. package/docs/pt/cli/scan.md +2 -2
  843. package/docs/pt/configuration.md +45 -1
  844. package/docs/pt/how_works_intlayer.md +2 -2
  845. package/docs/pt/intlayer_CMS.md +87 -109
  846. package/docs/pt/intlayer_with_adonisjs.md +4 -4
  847. package/docs/pt/intlayer_with_analog.md +4 -4
  848. package/docs/pt/intlayer_with_angular_19.md +4 -4
  849. package/docs/pt/intlayer_with_angular_21.md +4 -4
  850. package/docs/pt/intlayer_with_astro_lit.md +7 -7
  851. package/docs/pt/intlayer_with_astro_preact.md +4 -4
  852. package/docs/pt/intlayer_with_astro_react.md +4 -4
  853. package/docs/pt/intlayer_with_astro_solid.md +4 -4
  854. package/docs/pt/intlayer_with_astro_svelte.md +4 -4
  855. package/docs/pt/intlayer_with_astro_vanilla.md +4 -4
  856. package/docs/pt/intlayer_with_astro_vue.md +4 -4
  857. package/docs/pt/intlayer_with_create_react_app.md +4 -4
  858. package/docs/pt/intlayer_with_express.md +4 -4
  859. package/docs/pt/intlayer_with_fastify.md +4 -4
  860. package/docs/pt/intlayer_with_hono.md +4 -4
  861. package/docs/pt/intlayer_with_lynx+react.md +4 -4
  862. package/docs/pt/intlayer_with_nestjs.md +4 -4
  863. package/docs/pt/intlayer_with_next-i18next.md +4 -4
  864. package/docs/pt/intlayer_with_nextjs_14.md +4 -4
  865. package/docs/pt/intlayer_with_nextjs_15.md +6 -8
  866. package/docs/pt/intlayer_with_nextjs_16.md +6 -8
  867. package/docs/pt/intlayer_with_nextjs_compiler.md +5 -7
  868. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +6 -8
  869. package/docs/pt/intlayer_with_nextjs_page_router.md +4 -4
  870. package/docs/pt/intlayer_with_nuxt.md +5 -5
  871. package/docs/pt/intlayer_with_react_native+expo.md +4 -4
  872. package/docs/pt/intlayer_with_react_router_v7.md +5 -5
  873. package/docs/pt/intlayer_with_svelte_kit.md +4 -4
  874. package/docs/pt/intlayer_with_tanstack+solid.md +5 -5
  875. package/docs/pt/intlayer_with_tanstack.md +6 -7
  876. package/docs/pt/intlayer_with_vite+lit.md +4 -4
  877. package/docs/pt/intlayer_with_vite+preact.md +5 -5
  878. package/docs/pt/intlayer_with_vite+react.md +5 -5
  879. package/docs/pt/intlayer_with_vite+react_compiler.md +5 -5
  880. package/docs/pt/intlayer_with_vite+solid.md +5 -5
  881. package/docs/pt/intlayer_with_vite+svelte.md +4 -4
  882. package/docs/pt/intlayer_with_vite+vanilla.md +4 -4
  883. package/docs/pt/intlayer_with_vite+vue.md +5 -5
  884. package/docs/pt/live-sync.md +174 -0
  885. package/docs/pt/migration_from_i18next_to_intlayer.md +4 -4
  886. package/docs/pt/migration_from_next-i18next_to_intlayer.md +4 -4
  887. package/docs/pt/migration_from_next-intl_to_intlayer.md +5 -7
  888. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  889. package/docs/pt/migration_from_react-i18next_to_intlayer.md +5 -7
  890. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +4 -4
  891. package/docs/pt/releases/v9.md +131 -33
  892. package/docs/pt/self_hosting.md +350 -0
  893. package/docs/ru/bundle_optimization.md +16 -0
  894. package/docs/ru/cli/index.md +1 -1
  895. package/docs/ru/cli/scan.md +2 -2
  896. package/docs/ru/configuration.md +42 -1
  897. package/docs/ru/how_works_intlayer.md +2 -2
  898. package/docs/ru/intlayer_CMS.md +149 -102
  899. package/docs/ru/intlayer_with_adonisjs.md +4 -4
  900. package/docs/ru/intlayer_with_analog.md +4 -4
  901. package/docs/ru/intlayer_with_angular_19.md +4 -4
  902. package/docs/ru/intlayer_with_angular_21.md +4 -4
  903. package/docs/ru/intlayer_with_astro_vue.md +4 -4
  904. package/docs/ru/intlayer_with_create_react_app.md +4 -4
  905. package/docs/ru/intlayer_with_express.md +4 -4
  906. package/docs/ru/intlayer_with_fastify.md +4 -4
  907. package/docs/ru/intlayer_with_hono.md +4 -4
  908. package/docs/ru/intlayer_with_lynx+react.md +4 -4
  909. package/docs/ru/intlayer_with_nestjs.md +4 -4
  910. package/docs/ru/intlayer_with_next-i18next.md +4 -4
  911. package/docs/ru/intlayer_with_nextjs_14.md +4 -4
  912. package/docs/ru/intlayer_with_nextjs_15.md +6 -8
  913. package/docs/ru/intlayer_with_nextjs_16.md +6 -8
  914. package/docs/ru/intlayer_with_nextjs_compiler.md +5 -7
  915. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +6 -8
  916. package/docs/ru/intlayer_with_nextjs_page_router.md +4 -4
  917. package/docs/ru/intlayer_with_nuxt.md +5 -5
  918. package/docs/ru/intlayer_with_react_native+expo.md +4 -4
  919. package/docs/ru/intlayer_with_react_router_v7.md +5 -5
  920. package/docs/ru/intlayer_with_svelte_kit.md +4 -4
  921. package/docs/ru/intlayer_with_tanstack+solid.md +5 -5
  922. package/docs/ru/intlayer_with_tanstack.md +6 -7
  923. package/docs/ru/intlayer_with_vite+lit.md +4 -4
  924. package/docs/ru/intlayer_with_vite+preact.md +5 -5
  925. package/docs/ru/intlayer_with_vite+react.md +5 -5
  926. package/docs/ru/intlayer_with_vite+react_compiler.md +5 -5
  927. package/docs/ru/intlayer_with_vite+solid.md +5 -5
  928. package/docs/ru/intlayer_with_vite+svelte.md +4 -4
  929. package/docs/ru/intlayer_with_vite+vanilla.md +4 -4
  930. package/docs/ru/intlayer_with_vite+vue.md +5 -5
  931. package/docs/ru/live-sync.md +185 -0
  932. package/docs/ru/migration_from_i18next_to_intlayer.md +4 -4
  933. package/docs/ru/migration_from_next-i18next_to_intlayer.md +4 -4
  934. package/docs/ru/migration_from_next-intl_to_intlayer.md +5 -7
  935. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  936. package/docs/ru/migration_from_react-i18next_to_intlayer.md +5 -7
  937. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +4 -4
  938. package/docs/ru/releases/v9.md +129 -33
  939. package/docs/ru/self_hosting.md +350 -0
  940. package/docs/tr/bundle_optimization.md +16 -0
  941. package/docs/tr/cli/index.md +1 -1
  942. package/docs/tr/cli/scan.md +2 -2
  943. package/docs/tr/configuration.md +42 -1
  944. package/docs/tr/how_works_intlayer.md +2 -2
  945. package/docs/tr/intlayer_CMS.md +14 -121
  946. package/docs/tr/intlayer_with_adonisjs.md +4 -4
  947. package/docs/tr/intlayer_with_analog.md +4 -4
  948. package/docs/tr/intlayer_with_angular_19.md +4 -4
  949. package/docs/tr/intlayer_with_angular_21.md +4 -4
  950. package/docs/tr/intlayer_with_astro_lit.md +7 -7
  951. package/docs/tr/intlayer_with_astro_preact.md +4 -4
  952. package/docs/tr/intlayer_with_astro_react.md +4 -4
  953. package/docs/tr/intlayer_with_astro_solid.md +4 -4
  954. package/docs/tr/intlayer_with_astro_svelte.md +4 -4
  955. package/docs/tr/intlayer_with_astro_vanilla.md +4 -4
  956. package/docs/tr/intlayer_with_astro_vue.md +4 -4
  957. package/docs/tr/intlayer_with_create_react_app.md +4 -4
  958. package/docs/tr/intlayer_with_express.md +4 -4
  959. package/docs/tr/intlayer_with_fastify.md +4 -4
  960. package/docs/tr/intlayer_with_hono.md +4 -4
  961. package/docs/tr/intlayer_with_lynx+react.md +4 -4
  962. package/docs/tr/intlayer_with_nestjs.md +4 -4
  963. package/docs/tr/intlayer_with_next-i18next.md +4 -4
  964. package/docs/tr/intlayer_with_nextjs_14.md +4 -4
  965. package/docs/tr/intlayer_with_nextjs_15.md +6 -8
  966. package/docs/tr/intlayer_with_nextjs_16.md +6 -8
  967. package/docs/tr/intlayer_with_nextjs_compiler.md +4 -4
  968. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +6 -8
  969. package/docs/tr/intlayer_with_nextjs_page_router.md +4 -4
  970. package/docs/tr/intlayer_with_nuxt.md +5 -5
  971. package/docs/tr/intlayer_with_react_native+expo.md +4 -4
  972. package/docs/tr/intlayer_with_react_router_v7.md +5 -5
  973. package/docs/tr/intlayer_with_svelte_kit.md +4 -4
  974. package/docs/tr/intlayer_with_tanstack+solid.md +5 -5
  975. package/docs/tr/intlayer_with_tanstack.md +6 -7
  976. package/docs/tr/intlayer_with_vite+lit.md +4 -4
  977. package/docs/tr/intlayer_with_vite+preact.md +5 -5
  978. package/docs/tr/intlayer_with_vite+react.md +5 -5
  979. package/docs/tr/intlayer_with_vite+react_compiler.md +5 -5
  980. package/docs/tr/intlayer_with_vite+solid.md +5 -5
  981. package/docs/tr/intlayer_with_vite+svelte.md +4 -4
  982. package/docs/tr/intlayer_with_vite+vanilla.md +4 -4
  983. package/docs/tr/intlayer_with_vite+vue.md +5 -5
  984. package/docs/tr/live-sync.md +173 -0
  985. package/docs/tr/migration_from_i18next_to_intlayer.md +4 -4
  986. package/docs/tr/migration_from_next-i18next_to_intlayer.md +4 -4
  987. package/docs/tr/migration_from_next-intl_to_intlayer.md +5 -7
  988. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  989. package/docs/tr/migration_from_react-i18next_to_intlayer.md +5 -7
  990. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +4 -4
  991. package/docs/tr/releases/v9.md +116 -33
  992. package/docs/tr/self_hosting.md +350 -0
  993. package/docs/uk/bundle_optimization.md +16 -0
  994. package/docs/uk/cli/index.md +1 -1
  995. package/docs/uk/cli/scan.md +2 -2
  996. package/docs/uk/configuration.md +42 -1
  997. package/docs/uk/how_works_intlayer.md +2 -2
  998. package/docs/uk/intlayer_CMS.md +14 -133
  999. package/docs/uk/intlayer_with_adonisjs.md +4 -4
  1000. package/docs/uk/intlayer_with_analog.md +4 -4
  1001. package/docs/uk/intlayer_with_angular_19.md +4 -4
  1002. package/docs/uk/intlayer_with_angular_21.md +4 -4
  1003. package/docs/uk/intlayer_with_astro_lit.md +7 -7
  1004. package/docs/uk/intlayer_with_astro_preact.md +4 -4
  1005. package/docs/uk/intlayer_with_astro_react.md +4 -4
  1006. package/docs/uk/intlayer_with_astro_solid.md +4 -4
  1007. package/docs/uk/intlayer_with_astro_svelte.md +4 -4
  1008. package/docs/uk/intlayer_with_astro_vanilla.md +4 -4
  1009. package/docs/uk/intlayer_with_astro_vue.md +4 -4
  1010. package/docs/uk/intlayer_with_create_react_app.md +4 -4
  1011. package/docs/uk/intlayer_with_express.md +4 -4
  1012. package/docs/uk/intlayer_with_fastify.md +4 -4
  1013. package/docs/uk/intlayer_with_hono.md +4 -4
  1014. package/docs/uk/intlayer_with_lynx+react.md +4 -4
  1015. package/docs/uk/intlayer_with_nestjs.md +4 -4
  1016. package/docs/uk/intlayer_with_next-i18next.md +4 -4
  1017. package/docs/uk/intlayer_with_nextjs_14.md +4 -4
  1018. package/docs/uk/intlayer_with_nextjs_15.md +6 -8
  1019. package/docs/uk/intlayer_with_nextjs_16.md +6 -8
  1020. package/docs/uk/intlayer_with_nextjs_compiler.md +4 -4
  1021. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +6 -8
  1022. package/docs/uk/intlayer_with_nextjs_page_router.md +4 -4
  1023. package/docs/uk/intlayer_with_nuxt.md +5 -5
  1024. package/docs/uk/intlayer_with_react_native+expo.md +4 -4
  1025. package/docs/uk/intlayer_with_react_router_v7.md +5 -5
  1026. package/docs/uk/intlayer_with_svelte_kit.md +4 -4
  1027. package/docs/uk/intlayer_with_tanstack+solid.md +5 -5
  1028. package/docs/uk/intlayer_with_tanstack.md +6 -7
  1029. package/docs/uk/intlayer_with_vite+lit.md +4 -4
  1030. package/docs/uk/intlayer_with_vite+preact.md +5 -5
  1031. package/docs/uk/intlayer_with_vite+react.md +5 -5
  1032. package/docs/uk/intlayer_with_vite+react_compiler.md +5 -5
  1033. package/docs/uk/intlayer_with_vite+solid.md +5 -5
  1034. package/docs/uk/intlayer_with_vite+svelte.md +4 -4
  1035. package/docs/uk/intlayer_with_vite+vanilla.md +4 -4
  1036. package/docs/uk/intlayer_with_vite+vue.md +5 -5
  1037. package/docs/uk/live-sync.md +185 -0
  1038. package/docs/uk/migration_from_i18next_to_intlayer.md +4 -4
  1039. package/docs/uk/migration_from_next-i18next_to_intlayer.md +4 -4
  1040. package/docs/uk/migration_from_next-intl_to_intlayer.md +5 -7
  1041. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  1042. package/docs/uk/migration_from_react-i18next_to_intlayer.md +5 -7
  1043. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +4 -4
  1044. package/docs/uk/releases/v9.md +128 -33
  1045. package/docs/uk/self_hosting.md +350 -0
  1046. package/docs/ur/bundle_optimization.md +16 -0
  1047. package/docs/ur/cli/index.md +1 -1
  1048. package/docs/ur/cli/scan.md +2 -2
  1049. package/docs/ur/configuration.md +45 -1
  1050. package/docs/ur/intlayer_with_angular_21.md +4 -4
  1051. package/docs/ur/intlayer_with_fastify.md +4 -4
  1052. package/docs/ur/intlayer_with_hono.md +4 -4
  1053. package/docs/ur/intlayer_with_vite+lit.md +4 -4
  1054. package/docs/ur/intlayer_with_vite+vanilla.md +4 -4
  1055. package/docs/vi/bundle_optimization.md +16 -0
  1056. package/docs/vi/cli/index.md +1 -1
  1057. package/docs/vi/cli/scan.md +2 -2
  1058. package/docs/vi/configuration.md +42 -1
  1059. package/docs/vi/how_works_intlayer.md +2 -2
  1060. package/docs/vi/intlayer_CMS.md +5 -139
  1061. package/docs/vi/intlayer_with_adonisjs.md +4 -4
  1062. package/docs/vi/intlayer_with_analog.md +4 -4
  1063. package/docs/vi/intlayer_with_angular_19.md +4 -4
  1064. package/docs/vi/intlayer_with_angular_21.md +4 -4
  1065. package/docs/vi/intlayer_with_astro_lit.md +7 -7
  1066. package/docs/vi/intlayer_with_astro_preact.md +4 -4
  1067. package/docs/vi/intlayer_with_astro_react.md +4 -4
  1068. package/docs/vi/intlayer_with_astro_solid.md +4 -4
  1069. package/docs/vi/intlayer_with_astro_svelte.md +4 -4
  1070. package/docs/vi/intlayer_with_astro_vanilla.md +4 -4
  1071. package/docs/vi/intlayer_with_astro_vue.md +4 -4
  1072. package/docs/vi/intlayer_with_create_react_app.md +4 -4
  1073. package/docs/vi/intlayer_with_express.md +4 -4
  1074. package/docs/vi/intlayer_with_fastify.md +4 -4
  1075. package/docs/vi/intlayer_with_hono.md +4 -4
  1076. package/docs/vi/intlayer_with_lynx+react.md +4 -4
  1077. package/docs/vi/intlayer_with_nestjs.md +4 -4
  1078. package/docs/vi/intlayer_with_next-i18next.md +4 -4
  1079. package/docs/vi/intlayer_with_nextjs_14.md +4 -4
  1080. package/docs/vi/intlayer_with_nextjs_15.md +5 -7
  1081. package/docs/vi/intlayer_with_nextjs_16.md +6 -8
  1082. package/docs/vi/intlayer_with_nextjs_compiler.md +4 -4
  1083. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +6 -8
  1084. package/docs/vi/intlayer_with_nextjs_page_router.md +4 -4
  1085. package/docs/vi/intlayer_with_nuxt.md +5 -5
  1086. package/docs/vi/intlayer_with_react_native+expo.md +4 -4
  1087. package/docs/vi/intlayer_with_react_router_v7.md +5 -5
  1088. package/docs/vi/intlayer_with_svelte_kit.md +4 -4
  1089. package/docs/vi/intlayer_with_tanstack+solid.md +5 -5
  1090. package/docs/vi/intlayer_with_tanstack.md +6 -7
  1091. package/docs/vi/intlayer_with_vite+lit.md +4 -4
  1092. package/docs/vi/intlayer_with_vite+preact.md +5 -5
  1093. package/docs/vi/intlayer_with_vite+react.md +5 -5
  1094. package/docs/vi/intlayer_with_vite+react_compiler.md +5 -5
  1095. package/docs/vi/intlayer_with_vite+solid.md +5 -5
  1096. package/docs/vi/intlayer_with_vite+svelte.md +4 -4
  1097. package/docs/vi/intlayer_with_vite+vanilla.md +4 -4
  1098. package/docs/vi/intlayer_with_vite+vue.md +5 -5
  1099. package/docs/vi/live-sync.md +185 -0
  1100. package/docs/vi/migration_from_i18next_to_intlayer.md +4 -4
  1101. package/docs/vi/migration_from_next-i18next_to_intlayer.md +4 -4
  1102. package/docs/vi/migration_from_next-intl_to_intlayer.md +5 -7
  1103. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  1104. package/docs/vi/migration_from_react-i18next_to_intlayer.md +5 -7
  1105. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +4 -4
  1106. package/docs/vi/releases/v9.md +101 -33
  1107. package/docs/vi/self_hosting.md +350 -0
  1108. package/docs/zh/bundle_optimization.md +16 -0
  1109. package/docs/zh/cli/index.md +1 -1
  1110. package/docs/zh/cli/scan.md +2 -2
  1111. package/docs/zh/configuration.md +42 -1
  1112. package/docs/zh/how_works_intlayer.md +2 -2
  1113. package/docs/zh/intlayer_CMS.md +5 -129
  1114. package/docs/zh/intlayer_with_adonisjs.md +4 -4
  1115. package/docs/zh/intlayer_with_angular_21.md +4 -4
  1116. package/docs/zh/intlayer_with_astro.md +4 -4
  1117. package/docs/zh/intlayer_with_astro_lit.md +7 -7
  1118. package/docs/zh/intlayer_with_astro_preact.md +4 -4
  1119. package/docs/zh/intlayer_with_astro_react.md +4 -4
  1120. package/docs/zh/intlayer_with_astro_solid.md +4 -4
  1121. package/docs/zh/intlayer_with_astro_svelte.md +4 -4
  1122. package/docs/zh/intlayer_with_astro_vanilla.md +4 -4
  1123. package/docs/zh/intlayer_with_astro_vue.md +4 -4
  1124. package/docs/zh/intlayer_with_create_react_app.md +4 -4
  1125. package/docs/zh/intlayer_with_express.md +4 -4
  1126. package/docs/zh/intlayer_with_fastify.md +4 -4
  1127. package/docs/zh/intlayer_with_hono.md +4 -4
  1128. package/docs/zh/intlayer_with_nestjs.md +4 -4
  1129. package/docs/zh/intlayer_with_next-i18next.md +4 -4
  1130. package/docs/zh/intlayer_with_nextjs_14.md +4 -4
  1131. package/docs/zh/intlayer_with_nextjs_15.md +6 -8
  1132. package/docs/zh/intlayer_with_nextjs_16.md +6 -8
  1133. package/docs/zh/intlayer_with_nextjs_compiler.md +5 -7
  1134. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +6 -8
  1135. package/docs/zh/intlayer_with_nextjs_page_router.md +4 -4
  1136. package/docs/zh/intlayer_with_react_native+expo.md +4 -4
  1137. package/docs/zh/intlayer_with_react_router_v7.md +5 -5
  1138. package/docs/zh/intlayer_with_vite+solid.md +5 -5
  1139. package/docs/zh/intlayer_with_vite+svelte.md +4 -4
  1140. package/docs/zh/intlayer_with_vite+vue.md +5 -5
  1141. package/docs/zh/live-sync.md +175 -0
  1142. package/docs/zh/migration_from_i18next_to_intlayer.md +4 -4
  1143. package/docs/zh/migration_from_next-i18next_to_intlayer.md +4 -4
  1144. package/docs/zh/migration_from_next-intl_to_intlayer.md +5 -7
  1145. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +4 -4
  1146. package/docs/zh/migration_from_react-i18next_to_intlayer.md +5 -7
  1147. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +4 -4
  1148. package/docs/zh/releases/v9.md +101 -25
  1149. package/docs/zh/self_hosting.md +350 -0
  1150. package/docs/zh-TW/bundle_optimization.md +16 -0
  1151. package/docs/zh-TW/intlayer_with_angular_21.md +4 -4
  1152. package/package.json +10 -10
  1153. package/src/generated/docs.entry.ts +60 -0
@@ -0,0 +1,350 @@
1
+ ---
2
+ createdAt: 2026-06-30
3
+ updatedAt: 2026-06-30
4
+ title: "Intlayer selbst hosten"
5
+ description: "Betreiben Sie eine komplette Intlayer-Instanz auf Ihrer eigenen Infrastruktur mit einem einzigen Befehl. Kein Intlayer Cloud-Konto erforderlich."
6
+ keywords:
7
+ - Selbst-Hosting
8
+ - Docker
9
+ - Docker Compose
10
+ - Intlayer
11
+ - CMS
12
+ - Installation
13
+ - Infrastruktur
14
+ slugs:
15
+ - doc
16
+ - self-hosting
17
+ author: aymericzip
18
+ ---
19
+
20
+ # Intlayer selbst hosten
21
+
22
+ Intlayer kann vollständig auf Ihrer eigenen Infrastruktur ausgeführt werden – kein Intlayer Cloud-Konto erforderlich. Ein einziger Befehl startet einen produktionsbereiten Stack:
23
+
24
+ ```sh
25
+ curl -fsSL https://intlayer.org/install.sh | sh
26
+ ```
27
+
28
+ Der Installer lädt eine `docker-compose.yml` und eine `.env` herunter, generiert automatisch die erforderlichen Secrets und startet alle Container mit `docker compose up -d`.
29
+
30
+ ## Inhaltsverzeichnis
31
+
32
+ <TOC/>
33
+
34
+ ---
35
+
36
+ ## Architektur
37
+
38
+ ```
39
+ ┌─────────────────────────────┐
40
+ browser ──────▶ │ app (TanStack Start) :3000│ ──┐
41
+ └─────────────────────────────┘ │ VITE_BACKEND_URL
42
+ ┌─────────────────────────────┐ │
43
+ │ backend (Fastify/Bun) :3100│ ◀─┘
44
+ └──────────────┬──────────────┘
45
+ ┌──────────┬─────────┼──────────┬───────────┐
46
+ ▼ ▼ ▼ ▼ ▼
47
+ mongo:27017 redis:6379 minio:9000 mailpit:1025 Chromium
48
+ (1-node RS) (S3 API) (SMTP) (in-image)
49
+ minio:9001 mailpit:8025
50
+ (console) (web UI)
51
+ ```
52
+
53
+ Chromium (wird für die Erzeugung von Puppeteer-Screenshots verwendet) ist im Backend-Image gebündelt – es wird kein separater Container benötigt.
54
+
55
+ ---
56
+
57
+ ## Voraussetzungen
58
+
59
+ - **Docker** ≥ 24 und **Docker Compose** ≥ v2. Fehlt eines davon, gibt der Installer den Installationslink aus und beendet sich.
60
+ - Ports `3000`, `3100`, `8025`, `9000` und `9001` auf dem Host verfügbar.
61
+ - Ein Linux- oder macOS-Host (oder WSL2 unter Windows).
62
+
63
+ ---
64
+
65
+ ## Schnellstart
66
+
67
+ ```sh
68
+ curl -fsSL https://intlayer.org/install.sh | sh
69
+ ```
70
+
71
+ Was der Installer tut:
72
+
73
+ 1. Überprüft, ob `docker` und `docker compose` vorhanden sind.
74
+ 2. Lädt `docker-compose.yml` und `.env.example` in `./intlayer/` herunter.
75
+ 3. Falls keine `.env` existiert, kopiert er das Beispiel und generiert zufällige Secrets für `BETTER_AUTH_SECRET`, `S3_ACCESS_KEY_ID` und `S3_SECRET_ACCESS_KEY` mittels `openssl rand`.
76
+ 4. Führt `docker compose pull` + `docker compose up -d` aus.
77
+ 5. Gibt die URLs aus: Dashboard `:3000`, API `:3100`, E-Mail-UI `:8025`, MinIO-Konsole `:9001`.
78
+
79
+ Nachdem der Stack gestartet ist, öffnen Sie **http://localhost:3000** und erstellen Sie Ihr erstes Konto.
80
+
81
+ ---
82
+
83
+ ## Dienste
84
+
85
+ | Service | Image | Host port(s) | Zweck |
86
+ | :---------- | :----------------------------------- | :--------------------------------------------- | :-------------------------------------------------------- |
87
+ | **app** | built from `apps/app/Dockerfile` | `3000` | TanStack Start Dashboard (CMS-Benutzeroberfläche) |
88
+ | **backend** | built from `apps/backend/Dockerfile` | `3100` | Fastify REST API (`/health` Endpunkt) |
89
+ | **mongo** | `mongo:7` | intern | Einzelknoten-Replica Set (`rs0`) |
90
+ | **redis** | `redis:7-alpine` | intern | Job-Warteschlangen (BullMQ) und Caching (ioredis) |
91
+ | **minio** | `minio/minio` | `9000` (S3), `9001` (Konsole) | S3-kompatibler Objektspeicher für Avatare und Screenshots |
92
+ | **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (Web-Benutzeroberfläche) | Lokale Transaktions-E-Mail-Senke |
93
+
94
+ Interne Ports (mongo, redis) werden standardmäßig nicht zum Host exponiert.
95
+
96
+ > MinIO-Port `9000` muss vom Browser erreichbar sein, da hochgeladene Assets (Avatare, Screenshots) direkt von `S3_PUBLIC_URL=http://localhost:9000/intlayer` geladen werden.
97
+
98
+ ---
99
+
100
+ ## Umgebungsvariablen
101
+
102
+ Der Installer generiert eine gebrauchsfertige `.env`. Die folgende Tabelle beschreibt jede Variable.
103
+
104
+ ### Erforderlich (automatisch generiert oder abgefragt)
105
+
106
+ | Variable | Beispiel | Beschreibung |
107
+ | :--------------------- | :---------------------------------------------- | :--------------------------------------------------------------- |
108
+ | `NODE_ENV` | `production` | Laufzeitumgebung |
109
+ | `PORT` | `3100` | Backend-Listenport |
110
+ | `BACKEND_URL` | `http://localhost:3100` | Öffentliche URL der Backend-API |
111
+ | `APP_URL` | `http://localhost:3000` | Öffentliche URL des Dashboards |
112
+ | `DOMAIN` | `localhost` | Cookie-Domain |
113
+ | `MONGODB_URI` | `mongodb://mongo:27017/intlayer?replicaSet=rs0` | Vollständige MongoDB-Verbindungs-URI |
114
+ | `REDIS_URL` | `redis://redis:6379` | Redis-Verbindungs-URL |
115
+ | `BETTER_AUTH_SECRET` | _(generiert)_ | 32-Byte-Secret für die Session-Signierung |
116
+ | `MAIL_PROVIDER` | `smtp` | Mail-Transport: `smtp` oder `resend` |
117
+ | `MAIL_SMTP_HOST` | `mailpit` | SMTP-Hostname (Mailpit Container-Name) |
118
+ | `MAIL_SMTP_PORT` | `1025` | SMTP-Port |
119
+ | `MAIL_FROM` | `Intlayer <no-reply@localhost>` | Absenderadresse |
120
+ | `S3_ENDPOINT` | `http://minio:9000` | S3-kompatibler Endpunkt |
121
+ | `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | Öffentliche URL für das Laden von Browser-Assets |
122
+ | `S3_BUCKET_NAME` | `intlayer` | Bucket-Name |
123
+ | `S3_ACCESS_KEY_ID` | _(generiert)_ | MinIO-Zugangsschlüssel |
124
+ | `S3_SECRET_ACCESS_KEY` | _(generiert)_ | MinIO-Geheimschlüssel |
125
+ | `VITE_BACKEND_URL` | `http://localhost:3100` | Backend-URL, die zur Build-Zeit in das Dashboard integriert wird |
126
+ | `VITE_DOMAIN` | `localhost` | Domain, die zur Build-Zeit in das Dashboard integriert wird |
127
+
128
+ ### Optional (Funktionen funktionieren bei Abwesenheit eingeschränkt)
129
+
130
+ | Variable | Funktion |
131
+ | :------------------------------------------------------- | :------------------------------------------------------------------- |
132
+ | `OPENAI_API_KEY` | KI-gestützte Übersetzung und Inhaltsprüfung |
133
+ | `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `STRIPE_*` | Abrechnung und Abonnementverwaltung |
134
+ | `RESEND_API_KEY` | Transaktions-E-Mail über Resend (überschreibt Mailpit, wenn gesetzt) |
135
+ | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | GitHub OAuth-Login |
136
+ | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Google OAuth-Login |
137
+ | `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | GitLab OAuth-Login |
138
+ | `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Microsoft OAuth-Login |
139
+ | `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | LinkedIn OAuth-Login |
140
+ | `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Atlassian OAuth-Login |
141
+
142
+ ---
143
+
144
+ ## Ihr Intlayer-Projekt verbinden
145
+
146
+ Sobald der Stack läuft, verweisen Sie Ihr Projekt auf das selbst gehostete Backend und Dashboard anstelle von `intlayer.org`.
147
+
148
+ ### Projektkonfiguration
149
+
150
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
151
+ import type { IntlayerConfig } from "intlayer";
152
+
153
+ const config: IntlayerConfig = {
154
+ editor: {
155
+ clientId: process.env.INTLAYER_CLIENT_ID,
156
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
157
+
158
+ /**
159
+ * URL des selbst gehosteten CMS-Dashboards.
160
+ * Standard: https://app.intlayer.org
161
+ */
162
+ cmsURL: process.env.INTLAYER_CMS_URL, // e.g. http://localhost:3000
163
+
164
+ /**
165
+ * URL der selbst gehosteten Backend-API.
166
+ * Standard: https://back.intlayer.org
167
+ */
168
+ backendURL: process.env.INTLAYER_BACKEND_URL, // e.g. http://localhost:3100
169
+ },
170
+ };
171
+
172
+ export default config;
173
+ ```
174
+
175
+ Setzen Sie die Umgebungsvariablen in der `.env` Ihres Projekts:
176
+
177
+ ```sh
178
+ INTLAYER_CMS_URL=http://localhost:3000
179
+ INTLAYER_BACKEND_URL=http://localhost:3100
180
+ INTLAYER_CLIENT_ID=<your-client-id>
181
+ INTLAYER_CLIENT_SECRET=<your-client-secret>
182
+ ```
183
+
184
+ Erstellen Sie Zugangsdaten in Ihrem selbst gehosteten Dashboard unter **Projects → Access keys** unter `http://localhost:3000/projects`.
185
+
186
+ ### `@intlayer/api` SDK
187
+
188
+ Wenn Sie das `@intlayer/api` SDK programmatisch verwenden, übergeben Sie `backendURL` explizit:
189
+
190
+ ```typescript fileName="cms.ts" codeFormat="typescript"
191
+ import { createIntlayerCMS } from "@intlayer/api";
192
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
193
+
194
+ const cms = createIntlayerCMS({
195
+ editor: {
196
+ clientId: process.env.INTLAYER_CLIENT_ID,
197
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
198
+ backendURL: process.env.INTLAYER_BACKEND_URL, // http://localhost:3100
199
+ },
200
+ });
201
+
202
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
203
+ ```
204
+
205
+ ---
206
+
207
+ ## Upgrade
208
+
209
+ Ein erneutes Ausführen des Installers auf einer bestehenden Bereitstellung führt ein Rolling-Upgrade durch:
210
+
211
+ ```sh
212
+ curl -fsSL https://intlayer.org/install.sh | sh
213
+ ```
214
+
215
+ Dies zieht die neuesten Images und startet Container neu mit `docker compose pull && docker compose up -d`. Bestehende Volumes (`mongo-data`, `redis-data`, `minio-data`) bleiben erhalten – kein Datenverlust.
216
+
217
+ Um manuell aus dem `./intlayer/`-Verzeichnis ein Upgrade durchzuführen:
218
+
219
+ ```sh
220
+ docker compose pull
221
+ docker compose up -d
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Backup und Wiederherstellung
227
+
228
+ Alle persistenten Daten befinden sich in drei benannten Docker-Volumes.
229
+
230
+ ### Backup
231
+
232
+ ```sh
233
+ docker run --rm \
234
+ -v intlayer_mongo-data:/data \
235
+ -v "$(pwd)":/backup \
236
+ busybox tar czf /backup/mongo-data.tar.gz /data
237
+
238
+ docker run --rm \
239
+ -v intlayer_redis-data:/data \
240
+ -v "$(pwd)":/backup \
241
+ busybox tar czf /backup/redis-data.tar.gz /data
242
+
243
+ docker run --rm \
244
+ -v intlayer_minio-data:/data \
245
+ -v "$(pwd)":/backup \
246
+ busybox tar czf /backup/minio-data.tar.gz /data
247
+ ```
248
+
249
+ ### Wiederherstellung
250
+
251
+ ```sh
252
+ docker run --rm \
253
+ -v intlayer_mongo-data:/data \
254
+ -v "$(pwd)":/backup \
255
+ busybox tar xzf /backup/mongo-data.tar.gz -C /
256
+
257
+ # Wiederholen Sie dies für redis-data und minio-data
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Verwendung eines Reverse-Proxys (Nginx / Caddy)
263
+
264
+ Für Produktionsbereitstellungen platzieren Sie einen Reverse-Proxy vor den App- und Backend-Containern, anstatt sie direkt zu exponieren.
265
+
266
+ ### Nginx-Beispiel
267
+
268
+ ```nginx
269
+ server {
270
+ listen 80;
271
+ server_name cms.example.com;
272
+
273
+ location / {
274
+ proxy_pass http://localhost:3000;
275
+ proxy_set_header Host $host;
276
+ proxy_set_header X-Real-IP $remote_addr;
277
+ }
278
+ }
279
+
280
+ server {
281
+ listen 80;
282
+ server_name api.example.com;
283
+
284
+ location / {
285
+ proxy_pass http://localhost:3100;
286
+ proxy_set_header Host $host;
287
+ proxy_set_header X-Real-IP $remote_addr;
288
+ }
289
+ }
290
+ ```
291
+
292
+ Aktualisieren Sie die folgenden `.env`-Variablen, um sie an Ihre öffentlichen Domains anzupassen:
293
+
294
+ ```sh
295
+ BACKEND_URL=https://api.example.com
296
+ APP_URL=https://cms.example.com
297
+ DOMAIN=example.com
298
+ VITE_BACKEND_URL=https://api.example.com
299
+ VITE_DOMAIN=example.com
300
+ ```
301
+
302
+ > `VITE_*`-Variablen werden zur Build-Zeit in das Dashboard-Image integriert. Wenn Sie diese nach dem Bau des Images ändern, müssen Sie das `app`-Image neu erstellen (`docker compose build app`) oder die Laufzeitkonfigurationsinjektion verwenden.
303
+
304
+ ---
305
+
306
+ ## Fehlerbehebung
307
+
308
+ ### Backend-Absturzschleifen beim ersten Start
309
+
310
+ MongoDB und Redis müssen fehlerfrei sein, bevor das Backend startet. Die Compose-Datei verwendet `depends_on` mit `condition: service_healthy`. Wenn Sie wiederholte Backend-Neustarts sehen, überprüfen Sie, ob die `mongo`- und `redis`-Healthchecks erfolgreich sind:
311
+
312
+ ```sh
313
+ docker compose ps
314
+ docker compose logs mongo
315
+ docker compose logs redis
316
+ ```
317
+
318
+ ### Dashboard kann die API nicht erreichen
319
+
320
+ Stellen Sie sicher, dass `VITE_BACKEND_URL` der URL entspricht, unter der das Backend vom **Browser** (nicht vom Docker-Netzwerk) aus erreichbar ist. Wenn Sie den Backend-Port geändert oder einen Reverse-Proxy hinzugefügt haben, erstellen Sie das Dashboard-Image neu:
321
+
322
+ ```sh
323
+ docker compose build app
324
+ docker compose up -d app
325
+ ```
326
+
327
+ ### E-Mail wird nicht gesendet
328
+
329
+ Standardmäßig werden alle ausgehenden E-Mails von Mailpit abgefangen. Öffnen Sie `http://localhost:8025`, um gesendete Nachrichten anzuzeigen. Um echte E-Mails zu senden, setzen Sie `MAIL_PROVIDER=resend` und `RESEND_API_KEY=<Ihr-Schlüssel>` in `.env` und starten Sie dann das Backend neu:
330
+
331
+ ```sh
332
+ docker compose restart backend
333
+ ```
334
+
335
+ ### MinIO-Bucket fehlt
336
+
337
+ Wenn der `minio-init`-One-Shot-Service nicht ausgeführt wurde (oder vor der Bereitschaft von MinIO lief), erstellen Sie den Bucket manuell:
338
+
339
+ ```sh
340
+ docker compose run --rm minio-init
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Nützliche Links
346
+
347
+ - [Intlayer CMS-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_CMS.md)
348
+ - [Konfigurationsreferenz](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md)
349
+ - [CMS SDK — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_CMS.md#programmatic-access-with-the-intlayerapi-sdk)
350
+ - [Docker Image (aymercizip/intlayer-selfhost)](https://hub.docker.com/repository/docker/aymercizip/intlayer-selfhost/general)
@@ -0,0 +1,222 @@
1
+ ---
2
+ createdAt: 2026-07-08
3
+ updatedAt: 2026-07-08
4
+ title: Intlayer Analytics | Track content exposure and run A/B tests
5
+ description: Discover how @intlayer/analytics tracks page/locale views and content exposure, and how to use it to run A/B tests on your Intlayer content.
6
+ keywords:
7
+ - Analytics
8
+ - A/B Testing
9
+ - Audience
10
+ - Internationalization
11
+ - Documentation
12
+ - Intlayer
13
+ - Next.js
14
+ - JavaScript
15
+ - React
16
+ slugs:
17
+ - doc
18
+ - concept
19
+ - analytics
20
+ history:
21
+ - version: 9.0.0
22
+ date: 2026-07-08
23
+ changes: "Init doc — @intlayer/analytics package, provider/node-level tracking, A/B testing, dashboard"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Intlayer Analytics Documentation
28
+
29
+ `@intlayer/analytics` is an optional companion package that tells you **which content is actually shown** to your visitors — which page, in which locale, and which specific piece of translated content — so you can understand your audience and run **A/B tests on content**.
30
+
31
+ ## Table of Contents
32
+
33
+ <TOC/>
34
+
35
+ ---
36
+
37
+ ## What it tracks
38
+
39
+ `@intlayer/analytics` batches three kinds of anonymous events:
40
+
41
+ | Event | Captured where | What it tells you |
42
+ | ------------------ | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
43
+ | `page_view` | Provider level (`IntlayerProvider`) | Which page and locale a session viewed, on first load, route change, or locale switch. |
44
+ | `content_exposure` | Node level (`useIntlayer` / interpreter plugins) | Which dictionary key / key path was actually resolved and displayed — and, when part of an experiment, which **variant**. |
45
+ | `conversion` | Wherever you call `useConversion()` | A goal reached (signup, click, purchase…) attributed to the A/B variant the session was exposed to. |
46
+
47
+ Events are collected in memory and sent as a **single batched request roughly every 20 seconds** — never on every keystroke or render — so analytics never impacts first render time or adds a request per interaction.
48
+
49
+ ## How it powers A/B testing on content
50
+
51
+ Intlayer already lets you declare content [Variants](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dynamic_dictionaries/index.md) (e.g. a `hero-banner` dictionary with a `control` and a `black_friday` variant). `@intlayer/analytics` closes the loop:
52
+
53
+ 1. `getVariant(experimentKey, variants)` deterministically assigns each anonymous session to a variant — a pure function of the session id and the experiment key, so the assignment is **stable across the session** and requires **no server round-trip** before first render (no flicker, no layout shift).
54
+ 2. Every `content_exposure` event carries the `variant` that was shown.
55
+ 3. `useConversion()` lets you attribute a goal (e.g. `"cta_click"`) to that variant.
56
+ 4. The dashboard's experiment results endpoint compares conversion rates per variant, including statistical significance (a z-test).
57
+
58
+ ## Installation
59
+
60
+ `@intlayer/analytics` is a **peer, optional** dependency — never installed automatically by a framework package. Add it alongside `intlayer`:
61
+
62
+ ```bash packageManager="npm"
63
+ npm install @intlayer/analytics
64
+ ```
65
+
66
+ ```bash packageManager="yarn"
67
+ yarn add @intlayer/analytics
68
+ ```
69
+
70
+ ```bash packageManager="pnpm"
71
+ pnpm add @intlayer/analytics
72
+ ```
73
+
74
+ ```bash packageManager="bun"
75
+ bun add @intlayer/analytics
76
+ ```
77
+
78
+ If you don't install it, every integration point resolves to a no-op — see [Zero-cost when not installed](#zero-cost-when-not-installed) below.
79
+
80
+ ## Configuration
81
+
82
+ Analytics **reuses the existing `editor` configuration block** — there is no separate `analytics` config schema to fill in:
83
+
84
+ ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
85
+ import type { IntlayerConfig } from "intlayer";
86
+
87
+ const config: IntlayerConfig = {
88
+ editor: {
89
+ backendURL: "https://back.intlayer.org", // Also used as the analytics ingestion endpoint
90
+ clientId: "your-client-id", // Also used as the analytics project key
91
+ clientSecret: "your-client-secret",
92
+ },
93
+ };
94
+
95
+ export default config;
96
+ ```
97
+
98
+ - `editor.backendURL` — the base URL analytics events are sent to (`POST {backendURL}/api/analytics/events`).
99
+ - `editor.clientId` — the public project key attributed to every ingested event. It also acts as the **enable switch**: analytics stays fully disabled (and tree-shaken, see below) until `clientId` is configured.
100
+
101
+ If you self-host Intlayer, analytics automatically points at your own instance since it shares `editor.backendURL`.
102
+
103
+ ## Framework support
104
+
105
+ Analytics is wired into the shared `IntlayerProvider` from `react-intlayer`, so it is available today anywhere that provider is used:
106
+
107
+ | Framework | Status |
108
+ | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
109
+ | React | ✅ Available |
110
+ | Next.js (`next-intlayer`) | ✅ Available (via `react-intlayer`) |
111
+ | React Native / Expo (`react-native-intlayer`) | ✅ Available (via `react-intlayer`) |
112
+ | Vue, Svelte, Angular, Solid, Preact, Lit, Astro, Vanilla | 🚧 Planned — same client, provider-level bindings following the `@intlayer/editor` rollout pattern |
113
+
114
+ ## Usage
115
+
116
+ ### Automatic provider-level tracking
117
+
118
+ No code changes are required. Once `@intlayer/analytics` is installed and `editor.clientId` is configured, `IntlayerProvider` automatically:
119
+
120
+ - initializes the analytics client on mount,
121
+ - records a `page_view` on initial load,
122
+ - records a `page_view` on every locale change,
123
+ - starts the ~20s flush loop and flushes any remaining events on unmount / tab close (via `navigator.sendBeacon`, falling back to `fetch(..., { keepalive: true })`).
124
+
125
+ ### Automatic node-level tracking
126
+
127
+ Every time `useIntlayer` resolves a piece of content for display, the interpreter reports a `content_exposure` event for that exact `dictionaryKey` + key path + locale — again, no code changes required. Repeated exposures of the same node within a flush window are coalesced into a single event with a `count`, so a list re-rendering 50 times doesn't send 50 events.
128
+
129
+ ### Tracking conversions for A/B tests
130
+
131
+ Use `useConversion()` to attribute a goal to the variant a session saw:
132
+
133
+ ```tsx fileName="CTAButton.tsx" codeFormat="tsx"
134
+ import { useConversion } from "react-intlayer";
135
+
136
+ const CTAButton = () => {
137
+ const trackConversion = useConversion();
138
+
139
+ return (
140
+ <button
141
+ onClick={() =>
142
+ trackConversion({
143
+ experimentKey: "homepage-hero",
144
+ variant: "black_friday",
145
+ goal: "cta_click",
146
+ })
147
+ }
148
+ >
149
+ Get started
150
+ </button>
151
+ );
152
+ };
153
+ ```
154
+
155
+ ### Resolving a variant client-side
156
+
157
+ ```tsx fileName="useHeroVariant.ts" codeFormat="tsx"
158
+ import { getGlobalAnalyticsClient } from "@intlayer/analytics/client";
159
+
160
+ const client = getGlobalAnalyticsClient();
161
+ const variant = client?.getVariant("homepage-hero", [
162
+ "control",
163
+ "black_friday",
164
+ ]);
165
+ ```
166
+
167
+ ## Privacy & performance
168
+
169
+ - **Anonymous by design**: sessions are identified by a rotating id; the backend only ever stores a **SHA-256 hash** of that id — never the raw id, never an IP address.
170
+ - **Location is coarse**: only a country code, derived from CDN geolocation headers (`cf-ipcountry`, `x-vercel-ip-country`, …) — no IP is read or stored.
171
+ - **URLs exclude search params** by default, so query strings are never captured.
172
+ - **Sampling**: `sampleRate` lets you keep only a fraction of content-exposure events on high-traffic apps.
173
+ - **Batched**: one request roughly every 20 seconds (`flushInterval`), or earlier if the buffer fills up (`maxBufferSize`) — never one request per event.
174
+
175
+ ### Zero-cost when not installed
176
+
177
+ `@intlayer/analytics` follows the exact same optional-dependency pattern as `@intlayer/editor`:
178
+
179
+ - every integration point loads the package via a **dynamic `import()` wrapped in `try/catch`** — an app that never installs `@intlayer/analytics` never pays a bundle-size or runtime cost, and never sees an error;
180
+ - a compile-time env var (`INTLAYER_ANALYTICS_ENABLED`), automatically set to `'false'` by `@intlayer/config` whenever `editor.clientId` is not configured, lets bundlers **dead-code-eliminate** the whole integration;
181
+ - analytics is disabled inside the Intlayer editor/CMS preview iframe, so editor sessions are never counted as real traffic.
182
+
183
+ ## Dashboard: Analytics page
184
+
185
+ Once your project has collected events, the **Analytics** page in the [Intlayer dashboard](https://app.intlayer.org/analytics) (visible in the sidebar once a project is selected) shows:
186
+
187
+ - **Active users** — distinct visitors over the selected rolling window (7 / 30 / 90 days).
188
+ - **Users today** and **users over the last 7 days**.
189
+ - **Page views** over the selected window.
190
+ - An **evolution graph** of daily distinct visitors.
191
+ - **Locales** and **Location** breakdown tabs, ranking your audience by locale and by country.
192
+
193
+ ## Backend API reference
194
+
195
+ All read endpoints require authentication; ingestion is public and attributed by `clientId`.
196
+
197
+ | Method | Endpoint | Description |
198
+ | ------ | ------------------------------------------- | -------------------------------------------------------------------------------- |
199
+ | `POST` | `/api/analytics/events` | Ingest a batch of events (public, attributed by `clientId` in the body). |
200
+ | `GET` | `/api/analytics/overview` | Page/locale totals for the authenticated project. |
201
+ | `GET` | `/api/analytics/audience?days=30` | Distinct visitors, page views, daily series, locale + country breakdowns. |
202
+ | `GET` | `/api/analytics/content-stats` | Per-content exposure totals, grouped by dictionary key / key path / locale. |
203
+ | `GET` | `/api/analytics/experiments/:experimentKey` | Per-variant conversion rates and statistical significance for an A/B experiment. |
204
+
205
+ You can also call these programmatically with the [CMS SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md):
206
+
207
+ ```ts fileName="analytics.ts"
208
+ import { createIntlayerCMS } from "@intlayer/api";
209
+ import { analyticsEndpoint } from "@intlayer/api/analytics";
210
+
211
+ const cms = createIntlayerCMS();
212
+
213
+ const { data: audience } = await analyticsEndpoint(cms).getAudience(30);
214
+ ```
215
+
216
+ ## Useful links
217
+
218
+ - [Dynamic Dictionaries - Collections & Variants](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dynamic_dictionaries/index.md)
219
+ - [Intlayer CMS - CMS SDK](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)
220
+ - [Intlayer Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)
221
+ - [Configuration Reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md)
222
+ - [Self-Hosting Guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md)
@@ -236,6 +236,9 @@ Next.js requires the `@intlayer/swc` plugin for the optimize (import rewriting)
236
236
 
237
237
  > This plugin is not installed by default because SWC plugins are still experimental for Next.js. It may change in the future.
238
238
 
239
+ <Tabs>
240
+ <Tab value="npm">
241
+
239
242
  ```bash packageManager="npm"
240
243
  npm install -D @intlayer/swc
241
244
  ```
@@ -252,6 +255,19 @@ pnpm add -D @intlayer/swc
252
255
  bun add -d @intlayer/swc
253
256
  ```
254
257
 
258
+ </Tab>
259
+ <Tab value="Crates.io (rust)">
260
+
261
+ ```toml fileName="Cargo.toml"
262
+ [dependencies]
263
+ intlayer-swc-plugin = "*"
264
+ ```
265
+
266
+ [View on Crates.io](https://crates.io/crates/intlayer-swc-plugin)
267
+
268
+ </Tab>
269
+ </Tabs>
270
+
255
271
  Once installed, Intlayer will automatically detect and use the plugin.
256
272
 
257
273
  For the **purge and minify** passes (field removal and field renaming), install `@intlayer/babel` alongside and add the Babel plugins. Because Next.js uses SWC for transform but still evaluates `babel.config.js` for plugin configuration, the Babel plugins run as a pre-pass before SWC.
@@ -125,7 +125,7 @@ To see how to configure available locales, or other parameters, refer to the [co
125
125
 
126
126
  ### Authentication
127
127
 
128
- - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/login.md)** - Authenticate with the Intlayer CMS and get access credentials
128
+ - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/login.md)** - Authenticate with the Intlayer CMS and get 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);