@intlayer/docs 9.0.0-canary.9 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1152) hide show
  1. package/blog/ar/internationalization_and_SEO.md +6 -0
  2. package/blog/ar/intlayer_with_i18next.md +8 -4
  3. package/blog/ar/intlayer_with_next-i18next.md +8 -4
  4. package/blog/ar/intlayer_with_next-intl.md +8 -4
  5. package/blog/ar/intlayer_with_react-i18next.md +8 -4
  6. package/blog/ar/intlayer_with_react-intl.md +8 -4
  7. package/blog/ar/intlayer_with_vue-i18n.md +8 -4
  8. package/blog/ar/nextjs-multilingual-seo-comparison.md +6 -0
  9. package/blog/de/internationalization_and_SEO.md +6 -0
  10. package/blog/de/intlayer_with_i18next.md +8 -4
  11. package/blog/de/intlayer_with_next-i18next.md +8 -4
  12. package/blog/de/intlayer_with_next-intl.md +8 -4
  13. package/blog/de/intlayer_with_react-i18next.md +8 -4
  14. package/blog/de/intlayer_with_react-intl.md +8 -4
  15. package/blog/de/intlayer_with_vue-i18n.md +8 -4
  16. package/blog/de/nextjs-multilingual-seo-comparison.md +6 -0
  17. package/blog/en/internationalization_and_SEO.md +6 -0
  18. package/blog/en/intlayer_with_i18next.md +8 -4
  19. package/blog/en/intlayer_with_next-i18next.md +8 -4
  20. package/blog/en/intlayer_with_next-intl.md +8 -4
  21. package/blog/en/intlayer_with_react-i18next.md +8 -4
  22. package/blog/en/intlayer_with_react-intl.md +8 -4
  23. package/blog/en/intlayer_with_vue-i18n.md +8 -4
  24. package/blog/en/nextjs-multilingual-seo-comparison.md +6 -0
  25. package/blog/en/rag_powered_documentation_assistant.md +6 -0
  26. package/blog/en-GB/internationalization_and_SEO.md +6 -0
  27. package/blog/en-GB/intlayer_with_i18next.md +8 -4
  28. package/blog/en-GB/intlayer_with_next-i18next.md +8 -4
  29. package/blog/en-GB/intlayer_with_next-intl.md +8 -4
  30. package/blog/en-GB/intlayer_with_react-i18next.md +8 -4
  31. package/blog/en-GB/intlayer_with_react-intl.md +8 -4
  32. package/blog/en-GB/intlayer_with_vue-i18n.md +8 -4
  33. package/blog/en-GB/nextjs-multilingual-seo-comparison.md +6 -0
  34. package/blog/es/internationalization_and_SEO.md +6 -0
  35. package/blog/es/intlayer_with_i18next.md +8 -4
  36. package/blog/es/intlayer_with_next-i18next.md +8 -4
  37. package/blog/es/intlayer_with_next-intl.md +8 -4
  38. package/blog/es/intlayer_with_react-i18next.md +8 -4
  39. package/blog/es/intlayer_with_react-intl.md +8 -4
  40. package/blog/es/intlayer_with_vue-i18n.md +8 -4
  41. package/blog/es/nextjs-multilingual-seo-comparison.md +6 -0
  42. package/blog/fr/internationalization_and_SEO.md +6 -0
  43. package/blog/fr/intlayer_with_i18next.md +8 -4
  44. package/blog/fr/intlayer_with_next-i18next.md +8 -4
  45. package/blog/fr/intlayer_with_next-intl.md +8 -4
  46. package/blog/fr/intlayer_with_react-i18next.md +8 -4
  47. package/blog/fr/intlayer_with_react-intl.md +8 -4
  48. package/blog/fr/intlayer_with_vue-i18n.md +8 -4
  49. package/blog/fr/nextjs-multilingual-seo-comparison.md +6 -0
  50. package/blog/hi/internationalization_and_SEO.md +6 -0
  51. package/blog/hi/intlayer_with_i18next.md +8 -4
  52. package/blog/hi/intlayer_with_next-i18next.md +8 -4
  53. package/blog/hi/intlayer_with_next-intl.md +8 -4
  54. package/blog/hi/intlayer_with_react-i18next.md +8 -4
  55. package/blog/hi/intlayer_with_react-intl.md +8 -4
  56. package/blog/hi/intlayer_with_vue-i18n.md +8 -4
  57. package/blog/hi/nextjs-multilingual-seo-comparison.md +6 -0
  58. package/blog/id/internationalization_and_SEO.md +6 -0
  59. package/blog/id/intlayer_with_i18next.md +8 -4
  60. package/blog/id/intlayer_with_next-i18next.md +8 -4
  61. package/blog/id/intlayer_with_next-intl.md +8 -4
  62. package/blog/id/intlayer_with_react-i18next.md +8 -4
  63. package/blog/id/intlayer_with_react-intl.md +8 -4
  64. package/blog/id/intlayer_with_vue-i18n.md +8 -4
  65. package/blog/id/nextjs-multilingual-seo-comparison.md +6 -0
  66. package/blog/it/internationalization_and_SEO.md +6 -0
  67. package/blog/it/intlayer_with_i18next.md +8 -4
  68. package/blog/it/intlayer_with_next-i18next.md +8 -4
  69. package/blog/it/intlayer_with_next-intl.md +8 -4
  70. package/blog/it/intlayer_with_react-i18next.md +8 -4
  71. package/blog/it/intlayer_with_react-intl.md +8 -4
  72. package/blog/it/intlayer_with_vue-i18n.md +8 -4
  73. package/blog/it/nextjs-multilingual-seo-comparison.md +6 -0
  74. package/blog/ja/internationalization_and_SEO.md +6 -0
  75. package/blog/ja/intlayer_with_i18next.md +8 -4
  76. package/blog/ja/intlayer_with_next-i18next.md +8 -4
  77. package/blog/ja/intlayer_with_next-intl.md +8 -4
  78. package/blog/ja/intlayer_with_react-i18next.md +8 -4
  79. package/blog/ja/intlayer_with_react-intl.md +8 -4
  80. package/blog/ja/intlayer_with_vue-i18n.md +8 -4
  81. package/blog/ja/nextjs-multilingual-seo-comparison.md +6 -0
  82. package/blog/ko/internationalization_and_SEO.md +6 -0
  83. package/blog/ko/intlayer_with_i18next.md +8 -4
  84. package/blog/ko/intlayer_with_next-i18next.md +8 -4
  85. package/blog/ko/intlayer_with_next-intl.md +8 -4
  86. package/blog/ko/intlayer_with_react-i18next.md +8 -4
  87. package/blog/ko/intlayer_with_react-intl.md +8 -4
  88. package/blog/ko/intlayer_with_vue-i18n.md +8 -4
  89. package/blog/ko/nextjs-multilingual-seo-comparison.md +6 -0
  90. package/blog/pl/internationalization_and_SEO.md +6 -0
  91. package/blog/pl/intlayer_with_i18next.md +8 -4
  92. package/blog/pl/intlayer_with_next-i18next.md +8 -4
  93. package/blog/pl/intlayer_with_next-intl.md +8 -4
  94. package/blog/pl/intlayer_with_react-i18next.md +8 -4
  95. package/blog/pl/intlayer_with_react-intl.md +8 -4
  96. package/blog/pl/intlayer_with_vue-i18n.md +8 -4
  97. package/blog/pl/nextjs-multilingual-seo-comparison.md +6 -0
  98. package/blog/pt/internationalization_and_SEO.md +6 -0
  99. package/blog/pt/intlayer_with_i18next.md +8 -4
  100. package/blog/pt/intlayer_with_next-i18next.md +8 -4
  101. package/blog/pt/intlayer_with_next-intl.md +8 -4
  102. package/blog/pt/intlayer_with_react-i18next.md +8 -4
  103. package/blog/pt/intlayer_with_react-intl.md +8 -4
  104. package/blog/pt/intlayer_with_vue-i18n.md +8 -4
  105. package/blog/pt/nextjs-multilingual-seo-comparison.md +6 -0
  106. package/blog/ru/internationalization_and_SEO.md +6 -0
  107. package/blog/ru/intlayer_with_i18next.md +8 -4
  108. package/blog/ru/intlayer_with_next-i18next.md +8 -4
  109. package/blog/ru/intlayer_with_next-intl.md +8 -4
  110. package/blog/ru/intlayer_with_react-i18next.md +8 -4
  111. package/blog/ru/intlayer_with_react-intl.md +8 -4
  112. package/blog/ru/intlayer_with_vue-i18n.md +8 -4
  113. package/blog/ru/nextjs-multilingual-seo-comparison.md +6 -0
  114. package/blog/tr/internationalization_and_SEO.md +6 -0
  115. package/blog/tr/intlayer_with_i18next.md +8 -4
  116. package/blog/tr/intlayer_with_next-i18next.md +8 -4
  117. package/blog/tr/intlayer_with_next-intl.md +8 -4
  118. package/blog/tr/intlayer_with_react-i18next.md +8 -4
  119. package/blog/tr/intlayer_with_react-intl.md +8 -4
  120. package/blog/tr/intlayer_with_vue-i18n.md +8 -4
  121. package/blog/tr/nextjs-multilingual-seo-comparison.md +6 -0
  122. package/blog/uk/internationalization_and_SEO.md +6 -0
  123. package/blog/uk/intlayer_with_i18next.md +8 -4
  124. package/blog/uk/intlayer_with_next-i18next.md +8 -4
  125. package/blog/uk/intlayer_with_next-intl.md +8 -4
  126. package/blog/uk/intlayer_with_react-i18next.md +8 -4
  127. package/blog/uk/intlayer_with_react-intl.md +8 -4
  128. package/blog/uk/intlayer_with_vue-i18n.md +8 -4
  129. package/blog/uk/nextjs-multilingual-seo-comparison.md +6 -0
  130. package/blog/vi/internationalization_and_SEO.md +6 -0
  131. package/blog/vi/intlayer_with_i18next.md +8 -4
  132. package/blog/vi/intlayer_with_next-i18next.md +8 -4
  133. package/blog/vi/intlayer_with_next-intl.md +8 -4
  134. package/blog/vi/intlayer_with_react-i18next.md +8 -4
  135. package/blog/vi/intlayer_with_react-intl.md +8 -4
  136. package/blog/vi/intlayer_with_vue-i18n.md +8 -4
  137. package/blog/vi/nextjs-multilingual-seo-comparison.md +6 -0
  138. package/blog/zh/internationalization_and_SEO.md +6 -0
  139. package/blog/zh/nextjs-multilingual-seo-comparison.md +6 -0
  140. package/dist/cjs/authors.cjs.map +1 -1
  141. package/dist/cjs/blog.cjs.map +1 -1
  142. package/dist/cjs/common.cjs +2 -1
  143. package/dist/cjs/common.cjs.map +1 -1
  144. package/dist/cjs/doc.cjs.map +1 -1
  145. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  146. package/dist/cjs/generated/blog.entry.cjs +0 -1
  147. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  148. package/dist/cjs/generated/docs.entry.cjs +60 -1
  149. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  150. package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -1
  151. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  152. package/dist/cjs/generated/legal.entry.cjs +0 -1
  153. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  154. package/dist/cjs/legal.cjs.map +1 -1
  155. package/dist/esm/authors.mjs.map +1 -1
  156. package/dist/esm/blog.mjs.map +1 -1
  157. package/dist/esm/common.mjs +2 -1
  158. package/dist/esm/common.mjs.map +1 -1
  159. package/dist/esm/doc.mjs.map +1 -1
  160. package/dist/esm/frequentQuestions.mjs.map +1 -1
  161. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  162. package/dist/esm/generated/docs.entry.mjs +60 -0
  163. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  164. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  165. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  166. package/dist/esm/legal.mjs.map +1 -1
  167. package/dist/types/authors.d.ts +16 -8
  168. package/dist/types/authors.d.ts.map +1 -1
  169. package/dist/types/blog.d.ts +0 -1
  170. package/dist/types/blog.d.ts.map +1 -1
  171. package/dist/types/common.d.ts +0 -1
  172. package/dist/types/common.d.ts.map +1 -1
  173. package/dist/types/doc.d.ts +0 -1
  174. package/dist/types/doc.d.ts.map +1 -1
  175. package/dist/types/frequentQuestions.d.ts +0 -1
  176. package/dist/types/frequentQuestions.d.ts.map +1 -1
  177. package/dist/types/generated/blog.entry.d.ts +0 -1
  178. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  179. package/dist/types/generated/docs.entry.d.ts +3 -1
  180. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  181. package/dist/types/generated/frequentQuestions.entry.d.ts +0 -1
  182. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  183. package/dist/types/generated/legal.entry.d.ts +0 -1
  184. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  185. package/dist/types/legal.d.ts +0 -1
  186. package/dist/types/legal.d.ts.map +1 -1
  187. package/docs/ar/bundle_optimization.md +16 -0
  188. package/docs/ar/cli/index.md +1 -1
  189. package/docs/ar/cli/scan.md +2 -2
  190. package/docs/ar/configuration.md +42 -1
  191. package/docs/ar/how_works_intlayer.md +2 -2
  192. package/docs/ar/intlayer_CMS.md +14 -122
  193. package/docs/ar/intlayer_with_adonisjs.md +8 -4
  194. package/docs/ar/intlayer_with_analog.md +8 -4
  195. package/docs/ar/intlayer_with_angular_19.md +8 -4
  196. package/docs/ar/intlayer_with_angular_21.md +8 -4
  197. package/docs/ar/intlayer_with_astro_lit.md +11 -7
  198. package/docs/ar/intlayer_with_astro_preact.md +8 -4
  199. package/docs/ar/intlayer_with_astro_react.md +8 -4
  200. package/docs/ar/intlayer_with_astro_solid.md +8 -4
  201. package/docs/ar/intlayer_with_astro_svelte.md +8 -4
  202. package/docs/ar/intlayer_with_astro_vanilla.md +8 -4
  203. package/docs/ar/intlayer_with_astro_vue.md +8 -4
  204. package/docs/ar/intlayer_with_create_react_app.md +8 -4
  205. package/docs/ar/intlayer_with_express.md +8 -4
  206. package/docs/ar/intlayer_with_fastify.md +8 -4
  207. package/docs/ar/intlayer_with_hono.md +8 -4
  208. package/docs/ar/intlayer_with_lynx+react.md +8 -4
  209. package/docs/ar/intlayer_with_nestjs.md +8 -4
  210. package/docs/ar/intlayer_with_next-i18next.md +8 -4
  211. package/docs/ar/intlayer_with_nextjs_14.md +8 -4
  212. package/docs/ar/intlayer_with_nextjs_15.md +10 -8
  213. package/docs/ar/intlayer_with_nextjs_16.md +10 -8
  214. package/docs/ar/intlayer_with_nextjs_compiler.md +9 -7
  215. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +10 -8
  216. package/docs/ar/intlayer_with_nextjs_page_router.md +8 -4
  217. package/docs/ar/intlayer_with_nuxt.md +9 -5
  218. package/docs/ar/intlayer_with_react_native+expo.md +8 -4
  219. package/docs/ar/intlayer_with_react_router_v7.md +9 -5
  220. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +9 -5
  221. package/docs/ar/intlayer_with_svelte_kit.md +8 -4
  222. package/docs/ar/intlayer_with_tanstack+solid.md +9 -5
  223. package/docs/ar/intlayer_with_tanstack.md +10 -7
  224. package/docs/ar/intlayer_with_vite+lit.md +8 -4
  225. package/docs/ar/intlayer_with_vite+preact.md +9 -5
  226. package/docs/ar/intlayer_with_vite+react.md +9 -5
  227. package/docs/ar/intlayer_with_vite+react_compiler.md +9 -5
  228. package/docs/ar/intlayer_with_vite+solid.md +9 -5
  229. package/docs/ar/intlayer_with_vite+svelte.md +8 -4
  230. package/docs/ar/intlayer_with_vite+vanilla.md +8 -4
  231. package/docs/ar/intlayer_with_vite+vue.md +9 -5
  232. package/docs/ar/live-sync.md +174 -0
  233. package/docs/ar/migration_from_i18next_to_intlayer.md +8 -4
  234. package/docs/ar/migration_from_next-i18next_to_intlayer.md +8 -4
  235. package/docs/ar/migration_from_next-intl_to_intlayer.md +9 -7
  236. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  237. package/docs/ar/migration_from_react-i18next_to_intlayer.md +9 -7
  238. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +8 -4
  239. package/docs/ar/releases/v9.md +128 -33
  240. package/docs/ar/self_hosting.md +350 -0
  241. package/docs/bn/bundle_optimization.md +16 -0
  242. package/docs/bn/cli/index.md +1 -1
  243. package/docs/bn/cli/scan.md +2 -2
  244. package/docs/bn/configuration.md +45 -1
  245. package/docs/bn/intlayer_CMS.md +570 -0
  246. package/docs/bn/intlayer_with_angular_21.md +8 -4
  247. package/docs/bn/intlayer_with_fastify.md +8 -4
  248. package/docs/bn/intlayer_with_hono.md +8 -4
  249. package/docs/bn/intlayer_with_vite+lit.md +8 -4
  250. package/docs/bn/intlayer_with_vite+vanilla.md +8 -4
  251. package/docs/bn/releases/v9.md +349 -0
  252. package/docs/cs/bundle_optimization.md +16 -0
  253. package/docs/cs/cli/index.md +1 -1
  254. package/docs/cs/cli/scan.md +2 -2
  255. package/docs/cs/configuration.md +45 -1
  256. package/docs/cs/intlayer_with_angular_21.md +8 -4
  257. package/docs/cs/intlayer_with_fastify.md +8 -4
  258. package/docs/cs/intlayer_with_hono.md +8 -4
  259. package/docs/cs/intlayer_with_vite+lit.md +8 -4
  260. package/docs/cs/intlayer_with_vite+vanilla.md +8 -4
  261. package/docs/cs/releases/v9.md +349 -0
  262. package/docs/de/bundle_optimization.md +16 -0
  263. package/docs/de/cli/index.md +1 -1
  264. package/docs/de/cli/scan.md +2 -2
  265. package/docs/de/configuration.md +42 -1
  266. package/docs/de/how_works_intlayer.md +2 -2
  267. package/docs/de/intlayer_CMS.md +86 -100
  268. package/docs/de/intlayer_with_adonisjs.md +8 -4
  269. package/docs/de/intlayer_with_analog.md +8 -4
  270. package/docs/de/intlayer_with_angular_19.md +8 -4
  271. package/docs/de/intlayer_with_angular_21.md +8 -4
  272. package/docs/de/intlayer_with_astro_lit.md +11 -7
  273. package/docs/de/intlayer_with_astro_preact.md +8 -4
  274. package/docs/de/intlayer_with_astro_react.md +8 -4
  275. package/docs/de/intlayer_with_astro_solid.md +8 -4
  276. package/docs/de/intlayer_with_astro_svelte.md +8 -4
  277. package/docs/de/intlayer_with_astro_vanilla.md +8 -4
  278. package/docs/de/intlayer_with_astro_vue.md +8 -4
  279. package/docs/de/intlayer_with_create_react_app.md +8 -4
  280. package/docs/de/intlayer_with_express.md +8 -4
  281. package/docs/de/intlayer_with_fastify.md +8 -4
  282. package/docs/de/intlayer_with_hono.md +8 -4
  283. package/docs/de/intlayer_with_lynx+react.md +8 -4
  284. package/docs/de/intlayer_with_nestjs.md +8 -4
  285. package/docs/de/intlayer_with_next-i18next.md +8 -4
  286. package/docs/de/intlayer_with_nextjs_14.md +8 -4
  287. package/docs/de/intlayer_with_nextjs_15.md +10 -8
  288. package/docs/de/intlayer_with_nextjs_16.md +10 -8
  289. package/docs/de/intlayer_with_nextjs_no_locale_path.md +10 -8
  290. package/docs/de/intlayer_with_nextjs_page_router.md +8 -4
  291. package/docs/de/intlayer_with_nuxt.md +9 -5
  292. package/docs/de/intlayer_with_react_native+expo.md +8 -4
  293. package/docs/de/intlayer_with_react_router_v7.md +9 -5
  294. package/docs/de/intlayer_with_svelte_kit.md +8 -4
  295. package/docs/de/intlayer_with_tanstack+solid.md +9 -5
  296. package/docs/de/intlayer_with_tanstack.md +10 -7
  297. package/docs/de/intlayer_with_vite+lit.md +8 -4
  298. package/docs/de/intlayer_with_vite+preact.md +9 -5
  299. package/docs/de/intlayer_with_vite+react.md +9 -5
  300. package/docs/de/intlayer_with_vite+react_compiler.md +9 -5
  301. package/docs/de/intlayer_with_vite+solid.md +9 -5
  302. package/docs/de/intlayer_with_vite+vanilla.md +8 -4
  303. package/docs/de/intlayer_with_vite+vue.md +9 -5
  304. package/docs/de/live-sync.md +174 -0
  305. package/docs/de/migration_from_i18next_to_intlayer.md +8 -4
  306. package/docs/de/migration_from_next-i18next_to_intlayer.md +8 -4
  307. package/docs/de/migration_from_next-intl_to_intlayer.md +9 -7
  308. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  309. package/docs/de/migration_from_react-i18next_to_intlayer.md +9 -7
  310. package/docs/de/migration_from_vue-i18n_to_intlayer.md +8 -4
  311. package/docs/de/releases/v9.md +131 -33
  312. package/docs/de/self_hosting.md +350 -0
  313. package/docs/en/analytics.md +222 -0
  314. package/docs/en/bundle_optimization.md +16 -0
  315. package/docs/en/cli/index.md +1 -1
  316. package/docs/en/cli/scan.md +2 -2
  317. package/docs/en/configuration.md +42 -1
  318. package/docs/en/how_works_intlayer.md +2 -2
  319. package/docs/en/intlayer_CMS.md +143 -107
  320. package/docs/en/intlayer_with_adonisjs.md +8 -4
  321. package/docs/en/intlayer_with_analog.md +8 -4
  322. package/docs/en/intlayer_with_angular_19.md +8 -4
  323. package/docs/en/intlayer_with_angular_21.md +8 -4
  324. package/docs/en/intlayer_with_astro.md +8 -4
  325. package/docs/en/intlayer_with_astro_lit.md +11 -7
  326. package/docs/en/intlayer_with_astro_preact.md +8 -4
  327. package/docs/en/intlayer_with_astro_react.md +8 -4
  328. package/docs/en/intlayer_with_astro_solid.md +8 -4
  329. package/docs/en/intlayer_with_astro_svelte.md +8 -4
  330. package/docs/en/intlayer_with_astro_vanilla.md +8 -4
  331. package/docs/en/intlayer_with_astro_vue.md +8 -4
  332. package/docs/en/intlayer_with_create_react_app.md +8 -4
  333. package/docs/en/intlayer_with_express.md +8 -4
  334. package/docs/en/intlayer_with_fastify.md +8 -4
  335. package/docs/en/intlayer_with_hono.md +8 -4
  336. package/docs/en/intlayer_with_lynx+react.md +8 -4
  337. package/docs/en/intlayer_with_nestjs.md +8 -4
  338. package/docs/en/intlayer_with_next-i18next.md +8 -4
  339. package/docs/en/intlayer_with_nextjs_14.md +8 -4
  340. package/docs/en/intlayer_with_nextjs_15.md +9 -7
  341. package/docs/en/intlayer_with_nextjs_16.md +10 -8
  342. package/docs/en/intlayer_with_nextjs_compiler.md +10 -8
  343. package/docs/en/intlayer_with_nextjs_no_locale_path.md +10 -8
  344. package/docs/en/intlayer_with_nextjs_page_router.md +8 -4
  345. package/docs/en/intlayer_with_nuxt.md +9 -5
  346. package/docs/en/intlayer_with_react_native+expo.md +8 -4
  347. package/docs/en/intlayer_with_react_router_v7.md +9 -5
  348. package/docs/en/intlayer_with_svelte_kit.md +8 -4
  349. package/docs/en/intlayer_with_tanstack+solid.md +9 -5
  350. package/docs/en/intlayer_with_tanstack.md +10 -7
  351. package/docs/en/intlayer_with_vite+lit.md +8 -4
  352. package/docs/en/intlayer_with_vite+preact.md +9 -5
  353. package/docs/en/intlayer_with_vite+react.md +9 -5
  354. package/docs/en/intlayer_with_vite+react_compiler.md +9 -5
  355. package/docs/en/intlayer_with_vite+solid.md +9 -5
  356. package/docs/en/intlayer_with_vite+svelte.md +8 -4
  357. package/docs/en/intlayer_with_vite+vanilla.md +8 -4
  358. package/docs/en/intlayer_with_vite+vue.md +9 -5
  359. package/docs/en/live-sync.md +184 -0
  360. package/docs/en/migration_from_i18next_to_intlayer.md +8 -4
  361. package/docs/en/migration_from_next-i18next_to_intlayer.md +8 -4
  362. package/docs/en/migration_from_next-intl_to_intlayer.md +9 -7
  363. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  364. package/docs/en/migration_from_react-i18next_to_intlayer.md +9 -7
  365. package/docs/en/migration_from_vue-i18n_to_intlayer.md +8 -4
  366. package/docs/en/releases/v9.md +124 -29
  367. package/docs/en/self_hosting.md +310 -0
  368. package/docs/en-GB/bundle_optimization.md +16 -0
  369. package/docs/en-GB/cli/index.md +1 -1
  370. package/docs/en-GB/cli/scan.md +2 -2
  371. package/docs/en-GB/configuration.md +42 -1
  372. package/docs/en-GB/how_works_intlayer.md +2 -2
  373. package/docs/en-GB/intlayer_CMS.md +14 -122
  374. package/docs/en-GB/intlayer_with_adonisjs.md +8 -4
  375. package/docs/en-GB/intlayer_with_analog.md +8 -4
  376. package/docs/en-GB/intlayer_with_angular_19.md +8 -4
  377. package/docs/en-GB/intlayer_with_angular_21.md +8 -4
  378. package/docs/en-GB/intlayer_with_astro_lit.md +11 -7
  379. package/docs/en-GB/intlayer_with_astro_preact.md +8 -4
  380. package/docs/en-GB/intlayer_with_astro_react.md +8 -4
  381. package/docs/en-GB/intlayer_with_astro_solid.md +8 -4
  382. package/docs/en-GB/intlayer_with_astro_svelte.md +8 -4
  383. package/docs/en-GB/intlayer_with_astro_vanilla.md +8 -4
  384. package/docs/en-GB/intlayer_with_astro_vue.md +8 -4
  385. package/docs/en-GB/intlayer_with_create_react_app.md +16 -8
  386. package/docs/en-GB/intlayer_with_express.md +8 -4
  387. package/docs/en-GB/intlayer_with_fastify.md +8 -4
  388. package/docs/en-GB/intlayer_with_hono.md +8 -4
  389. package/docs/en-GB/intlayer_with_lynx+react.md +16 -8
  390. package/docs/en-GB/intlayer_with_nestjs.md +8 -4
  391. package/docs/en-GB/intlayer_with_next-i18next.md +8 -4
  392. package/docs/en-GB/intlayer_with_nextjs_14.md +8 -4
  393. package/docs/en-GB/intlayer_with_nextjs_15.md +10 -8
  394. package/docs/en-GB/intlayer_with_nextjs_16.md +10 -8
  395. package/docs/en-GB/intlayer_with_nextjs_compiler.md +9 -7
  396. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +10 -8
  397. package/docs/en-GB/intlayer_with_nextjs_page_router.md +8 -4
  398. package/docs/en-GB/intlayer_with_nuxt.md +9 -5
  399. package/docs/en-GB/intlayer_with_react_native+expo.md +8 -4
  400. package/docs/en-GB/intlayer_with_react_router_v7.md +9 -5
  401. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +9 -5
  402. package/docs/en-GB/intlayer_with_svelte_kit.md +8 -4
  403. package/docs/en-GB/intlayer_with_tanstack+solid.md +9 -5
  404. package/docs/en-GB/intlayer_with_tanstack.md +10 -7
  405. package/docs/en-GB/intlayer_with_vite+lit.md +8 -4
  406. package/docs/en-GB/intlayer_with_vite+preact.md +9 -5
  407. package/docs/en-GB/intlayer_with_vite+react.md +9 -5
  408. package/docs/en-GB/intlayer_with_vite+react_compiler.md +9 -5
  409. package/docs/en-GB/intlayer_with_vite+solid.md +9 -5
  410. package/docs/en-GB/intlayer_with_vite+svelte.md +8 -4
  411. package/docs/en-GB/intlayer_with_vite+vanilla.md +8 -4
  412. package/docs/en-GB/intlayer_with_vite+vue.md +9 -5
  413. package/docs/en-GB/live-sync.md +173 -0
  414. package/docs/en-GB/migration_from_i18next_to_intlayer.md +8 -4
  415. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +8 -4
  416. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +9 -7
  417. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  418. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +9 -7
  419. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +8 -4
  420. package/docs/en-GB/releases/v9.md +117 -26
  421. package/docs/en-GB/self_hosting.md +350 -0
  422. package/docs/es/bundle_optimization.md +16 -0
  423. package/docs/es/cli/index.md +1 -1
  424. package/docs/es/cli/scan.md +2 -2
  425. package/docs/es/configuration.md +42 -1
  426. package/docs/es/how_works_intlayer.md +2 -2
  427. package/docs/es/intlayer_CMS.md +85 -104
  428. package/docs/es/intlayer_with_adonisjs.md +8 -4
  429. package/docs/es/intlayer_with_analog.md +8 -4
  430. package/docs/es/intlayer_with_angular_19.md +8 -4
  431. package/docs/es/intlayer_with_angular_21.md +8 -4
  432. package/docs/es/intlayer_with_astro_lit.md +11 -7
  433. package/docs/es/intlayer_with_astro_preact.md +8 -4
  434. package/docs/es/intlayer_with_astro_react.md +8 -4
  435. package/docs/es/intlayer_with_astro_solid.md +8 -4
  436. package/docs/es/intlayer_with_astro_svelte.md +8 -4
  437. package/docs/es/intlayer_with_astro_vanilla.md +8 -4
  438. package/docs/es/intlayer_with_astro_vue.md +8 -4
  439. package/docs/es/intlayer_with_create_react_app.md +8 -4
  440. package/docs/es/intlayer_with_express.md +8 -4
  441. package/docs/es/intlayer_with_fastify.md +8 -4
  442. package/docs/es/intlayer_with_hono.md +8 -4
  443. package/docs/es/intlayer_with_lynx+react.md +8 -4
  444. package/docs/es/intlayer_with_nestjs.md +8 -4
  445. package/docs/es/intlayer_with_next-i18next.md +8 -4
  446. package/docs/es/intlayer_with_nextjs_14.md +8 -4
  447. package/docs/es/intlayer_with_nextjs_15.md +10 -8
  448. package/docs/es/intlayer_with_nextjs_16.md +10 -8
  449. package/docs/es/intlayer_with_nextjs_compiler.md +9 -7
  450. package/docs/es/intlayer_with_nextjs_no_locale_path.md +10 -8
  451. package/docs/es/intlayer_with_nextjs_page_router.md +8 -4
  452. package/docs/es/intlayer_with_nuxt.md +9 -5
  453. package/docs/es/intlayer_with_react_native+expo.md +8 -4
  454. package/docs/es/intlayer_with_react_router_v7.md +9 -5
  455. package/docs/es/intlayer_with_svelte_kit.md +8 -4
  456. package/docs/es/intlayer_with_tanstack+solid.md +9 -5
  457. package/docs/es/intlayer_with_tanstack.md +10 -7
  458. package/docs/es/intlayer_with_vite+lit.md +8 -4
  459. package/docs/es/intlayer_with_vite+preact.md +9 -5
  460. package/docs/es/intlayer_with_vite+react.md +9 -5
  461. package/docs/es/intlayer_with_vite+react_compiler.md +9 -5
  462. package/docs/es/intlayer_with_vite+solid.md +9 -5
  463. package/docs/es/intlayer_with_vite+svelte.md +8 -4
  464. package/docs/es/intlayer_with_vite+vanilla.md +8 -4
  465. package/docs/es/intlayer_with_vite+vue.md +9 -5
  466. package/docs/es/live-sync.md +176 -0
  467. package/docs/es/migration_from_i18next_to_intlayer.md +8 -4
  468. package/docs/es/migration_from_next-i18next_to_intlayer.md +8 -4
  469. package/docs/es/migration_from_next-intl_to_intlayer.md +9 -7
  470. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  471. package/docs/es/migration_from_react-i18next_to_intlayer.md +9 -7
  472. package/docs/es/migration_from_vue-i18n_to_intlayer.md +8 -4
  473. package/docs/es/releases/v9.md +131 -33
  474. package/docs/es/self_hosting.md +350 -0
  475. package/docs/fr/bundle_optimization.md +16 -0
  476. package/docs/fr/cli/index.md +1 -1
  477. package/docs/fr/cli/scan.md +2 -2
  478. package/docs/fr/configuration.md +42 -1
  479. package/docs/fr/how_works_intlayer.md +2 -2
  480. package/docs/fr/intlayer_CMS.md +86 -100
  481. package/docs/fr/intlayer_with_adonisjs.md +8 -4
  482. package/docs/fr/intlayer_with_analog.md +8 -4
  483. package/docs/fr/intlayer_with_angular_19.md +8 -4
  484. package/docs/fr/intlayer_with_angular_21.md +8 -4
  485. package/docs/fr/intlayer_with_astro_lit.md +11 -7
  486. package/docs/fr/intlayer_with_astro_preact.md +8 -4
  487. package/docs/fr/intlayer_with_astro_react.md +8 -4
  488. package/docs/fr/intlayer_with_astro_solid.md +8 -4
  489. package/docs/fr/intlayer_with_astro_svelte.md +8 -4
  490. package/docs/fr/intlayer_with_astro_vanilla.md +8 -4
  491. package/docs/fr/intlayer_with_astro_vue.md +8 -4
  492. package/docs/fr/intlayer_with_create_react_app.md +8 -4
  493. package/docs/fr/intlayer_with_express.md +8 -4
  494. package/docs/fr/intlayer_with_fastify.md +8 -4
  495. package/docs/fr/intlayer_with_hono.md +8 -4
  496. package/docs/fr/intlayer_with_lynx+react.md +8 -4
  497. package/docs/fr/intlayer_with_nestjs.md +8 -4
  498. package/docs/fr/intlayer_with_next-i18next.md +8 -4
  499. package/docs/fr/intlayer_with_nextjs_14.md +8 -4
  500. package/docs/fr/intlayer_with_nextjs_15.md +10 -8
  501. package/docs/fr/intlayer_with_nextjs_16.md +10 -8
  502. package/docs/fr/intlayer_with_nextjs_compiler.md +9 -7
  503. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +10 -8
  504. package/docs/fr/intlayer_with_nextjs_page_router.md +8 -4
  505. package/docs/fr/intlayer_with_nuxt.md +9 -5
  506. package/docs/fr/intlayer_with_react_native+expo.md +8 -4
  507. package/docs/fr/intlayer_with_react_router_v7.md +9 -5
  508. package/docs/fr/intlayer_with_svelte_kit.md +8 -4
  509. package/docs/fr/intlayer_with_tanstack+solid.md +9 -5
  510. package/docs/fr/intlayer_with_tanstack.md +10 -7
  511. package/docs/fr/intlayer_with_vite+lit.md +8 -4
  512. package/docs/fr/intlayer_with_vite+preact.md +9 -5
  513. package/docs/fr/intlayer_with_vite+react.md +9 -5
  514. package/docs/fr/intlayer_with_vite+react_compiler.md +9 -5
  515. package/docs/fr/intlayer_with_vite+solid.md +9 -5
  516. package/docs/fr/intlayer_with_vite+svelte.md +8 -4
  517. package/docs/fr/intlayer_with_vite+vanilla.md +8 -4
  518. package/docs/fr/intlayer_with_vite+vue.md +9 -5
  519. package/docs/fr/live-sync.md +174 -0
  520. package/docs/fr/migration_from_i18next_to_intlayer.md +8 -4
  521. package/docs/fr/migration_from_next-i18next_to_intlayer.md +8 -4
  522. package/docs/fr/migration_from_next-intl_to_intlayer.md +9 -7
  523. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  524. package/docs/fr/migration_from_react-i18next_to_intlayer.md +9 -7
  525. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +8 -4
  526. package/docs/fr/releases/v9.md +131 -25
  527. package/docs/fr/self_hosting.md +350 -0
  528. package/docs/hi/bundle_optimization.md +16 -0
  529. package/docs/hi/cli/index.md +1 -1
  530. package/docs/hi/cli/scan.md +2 -2
  531. package/docs/hi/configuration.md +42 -1
  532. package/docs/hi/how_works_intlayer.md +2 -2
  533. package/docs/hi/intlayer_CMS.md +14 -122
  534. package/docs/hi/intlayer_with_adonisjs.md +8 -4
  535. package/docs/hi/intlayer_with_analog.md +8 -4
  536. package/docs/hi/intlayer_with_angular_19.md +8 -4
  537. package/docs/hi/intlayer_with_angular_21.md +8 -4
  538. package/docs/hi/intlayer_with_astro_vue.md +8 -4
  539. package/docs/hi/intlayer_with_create_react_app.md +8 -4
  540. package/docs/hi/intlayer_with_express.md +8 -4
  541. package/docs/hi/intlayer_with_fastify.md +8 -4
  542. package/docs/hi/intlayer_with_hono.md +8 -4
  543. package/docs/hi/intlayer_with_lynx+react.md +8 -4
  544. package/docs/hi/intlayer_with_nestjs.md +8 -4
  545. package/docs/hi/intlayer_with_next-i18next.md +8 -4
  546. package/docs/hi/intlayer_with_nextjs_14.md +8 -4
  547. package/docs/hi/intlayer_with_nextjs_15.md +10 -8
  548. package/docs/hi/intlayer_with_nextjs_16.md +10 -8
  549. package/docs/hi/intlayer_with_nextjs_compiler.md +8 -4
  550. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +10 -8
  551. package/docs/hi/intlayer_with_nextjs_page_router.md +8 -4
  552. package/docs/hi/intlayer_with_nuxt.md +9 -5
  553. package/docs/hi/intlayer_with_react_native+expo.md +8 -4
  554. package/docs/hi/intlayer_with_react_router_v7.md +9 -5
  555. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +9 -5
  556. package/docs/hi/intlayer_with_svelte_kit.md +8 -4
  557. package/docs/hi/intlayer_with_tanstack+solid.md +9 -5
  558. package/docs/hi/intlayer_with_tanstack.md +10 -7
  559. package/docs/hi/intlayer_with_vite+lit.md +8 -4
  560. package/docs/hi/intlayer_with_vite+preact.md +9 -5
  561. package/docs/hi/intlayer_with_vite+react.md +9 -5
  562. package/docs/hi/intlayer_with_vite+react_compiler.md +9 -5
  563. package/docs/hi/intlayer_with_vite+solid.md +9 -5
  564. package/docs/hi/intlayer_with_vite+svelte.md +8 -4
  565. package/docs/hi/intlayer_with_vite+vanilla.md +8 -4
  566. package/docs/hi/intlayer_with_vite+vue.md +9 -5
  567. package/docs/hi/live-sync.md +174 -0
  568. package/docs/hi/migration_from_i18next_to_intlayer.md +8 -4
  569. package/docs/hi/migration_from_next-i18next_to_intlayer.md +8 -4
  570. package/docs/hi/migration_from_next-intl_to_intlayer.md +9 -7
  571. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  572. package/docs/hi/migration_from_react-i18next_to_intlayer.md +9 -7
  573. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +8 -4
  574. package/docs/hi/packages/intlayer/index.md +8 -4
  575. package/docs/hi/releases/v9.md +129 -33
  576. package/docs/hi/self_hosting.md +350 -0
  577. package/docs/id/bundle_optimization.md +16 -0
  578. package/docs/id/cli/index.md +1 -1
  579. package/docs/id/cli/scan.md +2 -2
  580. package/docs/id/configuration.md +42 -1
  581. package/docs/id/how_works_intlayer.md +2 -2
  582. package/docs/id/intlayer_CMS.md +5 -139
  583. package/docs/id/intlayer_with_adonisjs.md +8 -4
  584. package/docs/id/intlayer_with_analog.md +8 -4
  585. package/docs/id/intlayer_with_angular_19.md +8 -4
  586. package/docs/id/intlayer_with_angular_21.md +8 -4
  587. package/docs/id/intlayer_with_astro_lit.md +11 -7
  588. package/docs/id/intlayer_with_astro_preact.md +8 -4
  589. package/docs/id/intlayer_with_astro_react.md +8 -4
  590. package/docs/id/intlayer_with_astro_solid.md +8 -4
  591. package/docs/id/intlayer_with_astro_svelte.md +8 -4
  592. package/docs/id/intlayer_with_astro_vanilla.md +8 -4
  593. package/docs/id/intlayer_with_astro_vue.md +8 -4
  594. package/docs/id/intlayer_with_create_react_app.md +8 -4
  595. package/docs/id/intlayer_with_express.md +8 -4
  596. package/docs/id/intlayer_with_fastify.md +8 -4
  597. package/docs/id/intlayer_with_hono.md +8 -4
  598. package/docs/id/intlayer_with_lynx+react.md +8 -4
  599. package/docs/id/intlayer_with_nestjs.md +8 -4
  600. package/docs/id/intlayer_with_next-i18next.md +8 -4
  601. package/docs/id/intlayer_with_nextjs_14.md +8 -4
  602. package/docs/id/intlayer_with_nextjs_15.md +9 -7
  603. package/docs/id/intlayer_with_nextjs_16.md +10 -8
  604. package/docs/id/intlayer_with_nextjs_compiler.md +8 -4
  605. package/docs/id/intlayer_with_nextjs_no_locale_path.md +10 -8
  606. package/docs/id/intlayer_with_nextjs_page_router.md +8 -4
  607. package/docs/id/intlayer_with_nuxt.md +9 -5
  608. package/docs/id/intlayer_with_react_native+expo.md +8 -4
  609. package/docs/id/intlayer_with_react_router_v7.md +9 -5
  610. package/docs/id/intlayer_with_svelte_kit.md +8 -4
  611. package/docs/id/intlayer_with_tanstack+solid.md +9 -5
  612. package/docs/id/intlayer_with_tanstack.md +10 -7
  613. package/docs/id/intlayer_with_vite+lit.md +8 -4
  614. package/docs/id/intlayer_with_vite+preact.md +9 -5
  615. package/docs/id/intlayer_with_vite+react.md +9 -5
  616. package/docs/id/intlayer_with_vite+react_compiler.md +9 -5
  617. package/docs/id/intlayer_with_vite+solid.md +9 -5
  618. package/docs/id/intlayer_with_vite+svelte.md +8 -4
  619. package/docs/id/intlayer_with_vite+vanilla.md +8 -4
  620. package/docs/id/intlayer_with_vite+vue.md +9 -5
  621. package/docs/id/live-sync.md +185 -0
  622. package/docs/id/migration_from_i18next_to_intlayer.md +8 -4
  623. package/docs/id/migration_from_next-i18next_to_intlayer.md +8 -4
  624. package/docs/id/migration_from_next-intl_to_intlayer.md +9 -7
  625. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  626. package/docs/id/migration_from_react-i18next_to_intlayer.md +9 -7
  627. package/docs/id/migration_from_vue-i18n_to_intlayer.md +8 -4
  628. package/docs/id/releases/v9.md +101 -33
  629. package/docs/id/self_hosting.md +350 -0
  630. package/docs/it/bundle_optimization.md +16 -0
  631. package/docs/it/cli/index.md +1 -1
  632. package/docs/it/cli/scan.md +2 -2
  633. package/docs/it/configuration.md +42 -1
  634. package/docs/it/how_works_intlayer.md +2 -2
  635. package/docs/it/intlayer_CMS.md +87 -94
  636. package/docs/it/intlayer_with_adonisjs.md +8 -4
  637. package/docs/it/intlayer_with_analog.md +8 -4
  638. package/docs/it/intlayer_with_angular_19.md +8 -4
  639. package/docs/it/intlayer_with_angular_21.md +8 -4
  640. package/docs/it/intlayer_with_astro_lit.md +11 -7
  641. package/docs/it/intlayer_with_astro_preact.md +8 -4
  642. package/docs/it/intlayer_with_astro_react.md +8 -4
  643. package/docs/it/intlayer_with_astro_solid.md +8 -4
  644. package/docs/it/intlayer_with_astro_svelte.md +8 -4
  645. package/docs/it/intlayer_with_astro_vanilla.md +8 -4
  646. package/docs/it/intlayer_with_astro_vue.md +8 -4
  647. package/docs/it/intlayer_with_create_react_app.md +8 -4
  648. package/docs/it/intlayer_with_express.md +8 -4
  649. package/docs/it/intlayer_with_fastify.md +8 -4
  650. package/docs/it/intlayer_with_hono.md +8 -4
  651. package/docs/it/intlayer_with_lynx+react.md +8 -4
  652. package/docs/it/intlayer_with_nestjs.md +8 -4
  653. package/docs/it/intlayer_with_next-i18next.md +8 -4
  654. package/docs/it/intlayer_with_nextjs_14.md +8 -4
  655. package/docs/it/intlayer_with_nextjs_15.md +10 -8
  656. package/docs/it/intlayer_with_nextjs_16.md +10 -8
  657. package/docs/it/intlayer_with_nextjs_compiler.md +9 -7
  658. package/docs/it/intlayer_with_nextjs_no_locale_path.md +10 -8
  659. package/docs/it/intlayer_with_nextjs_page_router.md +8 -4
  660. package/docs/it/intlayer_with_nuxt.md +9 -5
  661. package/docs/it/intlayer_with_react_native+expo.md +8 -4
  662. package/docs/it/intlayer_with_react_router_v7.md +9 -5
  663. package/docs/it/intlayer_with_svelte_kit.md +8 -4
  664. package/docs/it/intlayer_with_tanstack+solid.md +9 -5
  665. package/docs/it/intlayer_with_tanstack.md +10 -7
  666. package/docs/it/intlayer_with_vite+lit.md +8 -4
  667. package/docs/it/intlayer_with_vite+preact.md +9 -5
  668. package/docs/it/intlayer_with_vite+react.md +10 -6
  669. package/docs/it/intlayer_with_vite+react_compiler.md +9 -5
  670. package/docs/it/intlayer_with_vite+solid.md +9 -5
  671. package/docs/it/intlayer_with_vite+svelte.md +8 -4
  672. package/docs/it/intlayer_with_vite+vanilla.md +8 -4
  673. package/docs/it/intlayer_with_vite+vue.md +9 -5
  674. package/docs/it/live-sync.md +174 -0
  675. package/docs/it/migration_from_i18next_to_intlayer.md +8 -4
  676. package/docs/it/migration_from_next-i18next_to_intlayer.md +8 -4
  677. package/docs/it/migration_from_next-intl_to_intlayer.md +8 -4
  678. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  679. package/docs/it/migration_from_react-i18next_to_intlayer.md +9 -7
  680. package/docs/it/migration_from_vue-i18n_to_intlayer.md +8 -4
  681. package/docs/it/releases/v9.md +131 -33
  682. package/docs/it/self_hosting.md +350 -0
  683. package/docs/ja/bundle_optimization.md +16 -0
  684. package/docs/ja/cli/index.md +1 -1
  685. package/docs/ja/cli/scan.md +2 -2
  686. package/docs/ja/configuration.md +42 -1
  687. package/docs/ja/how_works_intlayer.md +2 -2
  688. package/docs/ja/intlayer_CMS.md +149 -102
  689. package/docs/ja/intlayer_with_adonisjs.md +8 -4
  690. package/docs/ja/intlayer_with_analog.md +8 -4
  691. package/docs/ja/intlayer_with_angular_19.md +8 -4
  692. package/docs/ja/intlayer_with_angular_21.md +8 -4
  693. package/docs/ja/intlayer_with_astro_lit.md +11 -7
  694. package/docs/ja/intlayer_with_astro_preact.md +8 -4
  695. package/docs/ja/intlayer_with_astro_react.md +8 -4
  696. package/docs/ja/intlayer_with_astro_solid.md +8 -4
  697. package/docs/ja/intlayer_with_astro_svelte.md +8 -4
  698. package/docs/ja/intlayer_with_astro_vanilla.md +8 -4
  699. package/docs/ja/intlayer_with_astro_vue.md +8 -4
  700. package/docs/ja/intlayer_with_create_react_app.md +8 -4
  701. package/docs/ja/intlayer_with_express.md +8 -4
  702. package/docs/ja/intlayer_with_fastify.md +8 -4
  703. package/docs/ja/intlayer_with_hono.md +8 -4
  704. package/docs/ja/intlayer_with_lynx+react.md +8 -4
  705. package/docs/ja/intlayer_with_nestjs.md +8 -4
  706. package/docs/ja/intlayer_with_next-i18next.md +8 -4
  707. package/docs/ja/intlayer_with_nextjs_14.md +8 -4
  708. package/docs/ja/intlayer_with_nextjs_15.md +10 -8
  709. package/docs/ja/intlayer_with_nextjs_16.md +10 -8
  710. package/docs/ja/intlayer_with_nextjs_compiler.md +8 -4
  711. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +10 -8
  712. package/docs/ja/intlayer_with_nextjs_page_router.md +8 -4
  713. package/docs/ja/intlayer_with_nuxt.md +9 -5
  714. package/docs/ja/intlayer_with_react_native+expo.md +8 -4
  715. package/docs/ja/intlayer_with_tanstack+solid.md +9 -5
  716. package/docs/ja/intlayer_with_tanstack.md +10 -7
  717. package/docs/ja/intlayer_with_vite+lit.md +8 -4
  718. package/docs/ja/intlayer_with_vite+preact.md +9 -5
  719. package/docs/ja/intlayer_with_vite+react_compiler.md +9 -5
  720. package/docs/ja/intlayer_with_vite+solid.md +9 -5
  721. package/docs/ja/intlayer_with_vite+svelte.md +8 -4
  722. package/docs/ja/intlayer_with_vite+vanilla.md +8 -4
  723. package/docs/ja/intlayer_with_vite+vue.md +9 -5
  724. package/docs/ja/live-sync.md +185 -0
  725. package/docs/ja/migration_from_i18next_to_intlayer.md +8 -4
  726. package/docs/ja/migration_from_next-i18next_to_intlayer.md +8 -4
  727. package/docs/ja/migration_from_next-intl_to_intlayer.md +9 -7
  728. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  729. package/docs/ja/migration_from_react-i18next_to_intlayer.md +9 -7
  730. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +8 -4
  731. package/docs/ja/releases/v9.md +101 -33
  732. package/docs/ja/self_hosting.md +350 -0
  733. package/docs/ko/bundle_optimization.md +16 -0
  734. package/docs/ko/cli/index.md +1 -1
  735. package/docs/ko/cli/scan.md +2 -2
  736. package/docs/ko/configuration.md +42 -1
  737. package/docs/ko/how_works_intlayer.md +2 -2
  738. package/docs/ko/intlayer_CMS.md +147 -100
  739. package/docs/ko/intlayer_with_adonisjs.md +8 -4
  740. package/docs/ko/intlayer_with_analog.md +8 -4
  741. package/docs/ko/intlayer_with_angular_19.md +8 -4
  742. package/docs/ko/intlayer_with_angular_21.md +8 -4
  743. package/docs/ko/intlayer_with_astro_vue.md +8 -4
  744. package/docs/ko/intlayer_with_create_react_app.md +8 -4
  745. package/docs/ko/intlayer_with_express.md +8 -4
  746. package/docs/ko/intlayer_with_fastify.md +8 -4
  747. package/docs/ko/intlayer_with_hono.md +8 -4
  748. package/docs/ko/intlayer_with_nestjs.md +8 -4
  749. package/docs/ko/intlayer_with_next-i18next.md +8 -4
  750. package/docs/ko/intlayer_with_nextjs_15.md +10 -8
  751. package/docs/ko/intlayer_with_nextjs_16.md +10 -8
  752. package/docs/ko/intlayer_with_nextjs_compiler.md +9 -7
  753. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +10 -8
  754. package/docs/ko/intlayer_with_nextjs_page_router.md +8 -4
  755. package/docs/ko/intlayer_with_nuxt.md +9 -5
  756. package/docs/ko/intlayer_with_react_native+expo.md +8 -4
  757. package/docs/ko/intlayer_with_react_router_v7.md +9 -5
  758. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +9 -5
  759. package/docs/ko/intlayer_with_svelte_kit.md +8 -4
  760. package/docs/ko/intlayer_with_tanstack+solid.md +9 -5
  761. package/docs/ko/intlayer_with_tanstack.md +10 -7
  762. package/docs/ko/intlayer_with_vite+lit.md +8 -4
  763. package/docs/ko/intlayer_with_vite+preact.md +9 -5
  764. package/docs/ko/intlayer_with_vite+react_compiler.md +9 -5
  765. package/docs/ko/intlayer_with_vite+solid.md +9 -5
  766. package/docs/ko/intlayer_with_vite+svelte.md +8 -4
  767. package/docs/ko/intlayer_with_vite+vanilla.md +8 -4
  768. package/docs/ko/intlayer_with_vite+vue.md +9 -5
  769. package/docs/ko/live-sync.md +187 -0
  770. package/docs/ko/migration_from_i18next_to_intlayer.md +8 -4
  771. package/docs/ko/migration_from_next-i18next_to_intlayer.md +8 -4
  772. package/docs/ko/migration_from_next-intl_to_intlayer.md +9 -7
  773. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  774. package/docs/ko/migration_from_react-i18next_to_intlayer.md +9 -7
  775. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +8 -4
  776. package/docs/ko/releases/v9.md +100 -33
  777. package/docs/ko/self_hosting.md +350 -0
  778. package/docs/nl/bundle_optimization.md +16 -0
  779. package/docs/nl/cli/index.md +1 -1
  780. package/docs/nl/cli/scan.md +2 -2
  781. package/docs/nl/configuration.md +45 -1
  782. package/docs/nl/intlayer_with_angular_21.md +8 -4
  783. package/docs/nl/intlayer_with_fastify.md +8 -4
  784. package/docs/nl/intlayer_with_hono.md +8 -4
  785. package/docs/nl/intlayer_with_vite+lit.md +8 -4
  786. package/docs/nl/intlayer_with_vite+vanilla.md +8 -4
  787. package/docs/nl/releases/v9.md +349 -0
  788. package/docs/pl/bundle_optimization.md +16 -0
  789. package/docs/pl/cli/index.md +1 -1
  790. package/docs/pl/cli/scan.md +2 -2
  791. package/docs/pl/configuration.md +45 -1
  792. package/docs/pl/how_works_intlayer.md +2 -2
  793. package/docs/pl/intlayer_CMS.md +14 -133
  794. package/docs/pl/intlayer_with_adonisjs.md +8 -4
  795. package/docs/pl/intlayer_with_analog.md +8 -4
  796. package/docs/pl/intlayer_with_angular_19.md +8 -4
  797. package/docs/pl/intlayer_with_angular_21.md +8 -4
  798. package/docs/pl/intlayer_with_astro_lit.md +11 -7
  799. package/docs/pl/intlayer_with_astro_preact.md +8 -4
  800. package/docs/pl/intlayer_with_astro_react.md +8 -4
  801. package/docs/pl/intlayer_with_astro_solid.md +8 -4
  802. package/docs/pl/intlayer_with_astro_svelte.md +8 -4
  803. package/docs/pl/intlayer_with_astro_vanilla.md +8 -4
  804. package/docs/pl/intlayer_with_astro_vue.md +8 -4
  805. package/docs/pl/intlayer_with_create_react_app.md +8 -4
  806. package/docs/pl/intlayer_with_express.md +8 -4
  807. package/docs/pl/intlayer_with_fastify.md +8 -4
  808. package/docs/pl/intlayer_with_hono.md +8 -4
  809. package/docs/pl/intlayer_with_lynx+react.md +8 -4
  810. package/docs/pl/intlayer_with_nestjs.md +8 -4
  811. package/docs/pl/intlayer_with_next-i18next.md +8 -4
  812. package/docs/pl/intlayer_with_nextjs_14.md +8 -4
  813. package/docs/pl/intlayer_with_nextjs_15.md +9 -7
  814. package/docs/pl/intlayer_with_nextjs_16.md +10 -8
  815. package/docs/pl/intlayer_with_nextjs_compiler.md +8 -4
  816. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +10 -8
  817. package/docs/pl/intlayer_with_nextjs_page_router.md +8 -4
  818. package/docs/pl/intlayer_with_nuxt.md +9 -5
  819. package/docs/pl/intlayer_with_react_native+expo.md +8 -4
  820. package/docs/pl/intlayer_with_react_router_v7.md +9 -5
  821. package/docs/pl/intlayer_with_svelte_kit.md +8 -4
  822. package/docs/pl/intlayer_with_tanstack+solid.md +9 -5
  823. package/docs/pl/intlayer_with_tanstack.md +10 -7
  824. package/docs/pl/intlayer_with_vite+lit.md +8 -4
  825. package/docs/pl/intlayer_with_vite+preact.md +9 -5
  826. package/docs/pl/intlayer_with_vite+react.md +9 -5
  827. package/docs/pl/intlayer_with_vite+react_compiler.md +9 -5
  828. package/docs/pl/intlayer_with_vite+solid.md +9 -5
  829. package/docs/pl/intlayer_with_vite+svelte.md +8 -4
  830. package/docs/pl/intlayer_with_vite+vanilla.md +8 -4
  831. package/docs/pl/intlayer_with_vite+vue.md +9 -5
  832. package/docs/pl/live-sync.md +185 -0
  833. package/docs/pl/migration_from_next-i18next_to_intlayer.md +8 -4
  834. package/docs/pl/migration_from_next-intl_to_intlayer.md +9 -7
  835. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  836. package/docs/pl/migration_from_react-i18next_to_intlayer.md +9 -7
  837. package/docs/pl/releases/v9.md +128 -33
  838. package/docs/pl/self_hosting.md +350 -0
  839. package/docs/pt/bundle_optimization.md +16 -0
  840. package/docs/pt/cli/index.md +1 -1
  841. package/docs/pt/cli/scan.md +2 -2
  842. package/docs/pt/configuration.md +45 -1
  843. package/docs/pt/how_works_intlayer.md +2 -2
  844. package/docs/pt/intlayer_CMS.md +87 -109
  845. package/docs/pt/intlayer_with_adonisjs.md +8 -4
  846. package/docs/pt/intlayer_with_analog.md +8 -4
  847. package/docs/pt/intlayer_with_angular_19.md +8 -4
  848. package/docs/pt/intlayer_with_angular_21.md +8 -4
  849. package/docs/pt/intlayer_with_astro_lit.md +11 -7
  850. package/docs/pt/intlayer_with_astro_preact.md +8 -4
  851. package/docs/pt/intlayer_with_astro_react.md +8 -4
  852. package/docs/pt/intlayer_with_astro_solid.md +8 -4
  853. package/docs/pt/intlayer_with_astro_svelte.md +8 -4
  854. package/docs/pt/intlayer_with_astro_vanilla.md +8 -4
  855. package/docs/pt/intlayer_with_astro_vue.md +8 -4
  856. package/docs/pt/intlayer_with_create_react_app.md +8 -4
  857. package/docs/pt/intlayer_with_express.md +8 -4
  858. package/docs/pt/intlayer_with_fastify.md +8 -4
  859. package/docs/pt/intlayer_with_hono.md +8 -4
  860. package/docs/pt/intlayer_with_lynx+react.md +8 -4
  861. package/docs/pt/intlayer_with_nestjs.md +8 -4
  862. package/docs/pt/intlayer_with_next-i18next.md +8 -4
  863. package/docs/pt/intlayer_with_nextjs_14.md +8 -4
  864. package/docs/pt/intlayer_with_nextjs_15.md +10 -8
  865. package/docs/pt/intlayer_with_nextjs_16.md +10 -8
  866. package/docs/pt/intlayer_with_nextjs_compiler.md +9 -7
  867. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +10 -8
  868. package/docs/pt/intlayer_with_nextjs_page_router.md +8 -4
  869. package/docs/pt/intlayer_with_nuxt.md +9 -5
  870. package/docs/pt/intlayer_with_react_native+expo.md +8 -4
  871. package/docs/pt/intlayer_with_react_router_v7.md +9 -5
  872. package/docs/pt/intlayer_with_svelte_kit.md +8 -4
  873. package/docs/pt/intlayer_with_tanstack+solid.md +9 -5
  874. package/docs/pt/intlayer_with_tanstack.md +10 -7
  875. package/docs/pt/intlayer_with_vite+lit.md +8 -4
  876. package/docs/pt/intlayer_with_vite+preact.md +9 -5
  877. package/docs/pt/intlayer_with_vite+react.md +9 -5
  878. package/docs/pt/intlayer_with_vite+react_compiler.md +9 -5
  879. package/docs/pt/intlayer_with_vite+solid.md +9 -5
  880. package/docs/pt/intlayer_with_vite+svelte.md +8 -4
  881. package/docs/pt/intlayer_with_vite+vanilla.md +8 -4
  882. package/docs/pt/intlayer_with_vite+vue.md +9 -5
  883. package/docs/pt/live-sync.md +174 -0
  884. package/docs/pt/migration_from_i18next_to_intlayer.md +8 -4
  885. package/docs/pt/migration_from_next-i18next_to_intlayer.md +8 -4
  886. package/docs/pt/migration_from_next-intl_to_intlayer.md +9 -7
  887. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  888. package/docs/pt/migration_from_react-i18next_to_intlayer.md +9 -7
  889. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +8 -4
  890. package/docs/pt/releases/v9.md +131 -33
  891. package/docs/pt/self_hosting.md +350 -0
  892. package/docs/ru/bundle_optimization.md +16 -0
  893. package/docs/ru/cli/index.md +1 -1
  894. package/docs/ru/cli/scan.md +2 -2
  895. package/docs/ru/configuration.md +42 -1
  896. package/docs/ru/how_works_intlayer.md +2 -2
  897. package/docs/ru/intlayer_CMS.md +149 -102
  898. package/docs/ru/intlayer_with_adonisjs.md +8 -4
  899. package/docs/ru/intlayer_with_analog.md +8 -4
  900. package/docs/ru/intlayer_with_angular_19.md +8 -4
  901. package/docs/ru/intlayer_with_angular_21.md +8 -4
  902. package/docs/ru/intlayer_with_astro_vue.md +8 -4
  903. package/docs/ru/intlayer_with_create_react_app.md +8 -4
  904. package/docs/ru/intlayer_with_express.md +8 -4
  905. package/docs/ru/intlayer_with_fastify.md +8 -4
  906. package/docs/ru/intlayer_with_hono.md +8 -4
  907. package/docs/ru/intlayer_with_lynx+react.md +8 -4
  908. package/docs/ru/intlayer_with_nestjs.md +8 -4
  909. package/docs/ru/intlayer_with_next-i18next.md +8 -4
  910. package/docs/ru/intlayer_with_nextjs_14.md +8 -4
  911. package/docs/ru/intlayer_with_nextjs_15.md +10 -8
  912. package/docs/ru/intlayer_with_nextjs_16.md +10 -8
  913. package/docs/ru/intlayer_with_nextjs_compiler.md +9 -7
  914. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +10 -8
  915. package/docs/ru/intlayer_with_nextjs_page_router.md +8 -4
  916. package/docs/ru/intlayer_with_nuxt.md +9 -5
  917. package/docs/ru/intlayer_with_react_native+expo.md +8 -4
  918. package/docs/ru/intlayer_with_react_router_v7.md +9 -5
  919. package/docs/ru/intlayer_with_svelte_kit.md +8 -4
  920. package/docs/ru/intlayer_with_tanstack+solid.md +9 -5
  921. package/docs/ru/intlayer_with_tanstack.md +10 -7
  922. package/docs/ru/intlayer_with_vite+lit.md +8 -4
  923. package/docs/ru/intlayer_with_vite+preact.md +9 -5
  924. package/docs/ru/intlayer_with_vite+react.md +9 -5
  925. package/docs/ru/intlayer_with_vite+react_compiler.md +9 -5
  926. package/docs/ru/intlayer_with_vite+solid.md +9 -5
  927. package/docs/ru/intlayer_with_vite+svelte.md +8 -4
  928. package/docs/ru/intlayer_with_vite+vanilla.md +8 -4
  929. package/docs/ru/intlayer_with_vite+vue.md +9 -5
  930. package/docs/ru/live-sync.md +185 -0
  931. package/docs/ru/migration_from_i18next_to_intlayer.md +8 -4
  932. package/docs/ru/migration_from_next-i18next_to_intlayer.md +8 -4
  933. package/docs/ru/migration_from_next-intl_to_intlayer.md +9 -7
  934. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  935. package/docs/ru/migration_from_react-i18next_to_intlayer.md +9 -7
  936. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +8 -4
  937. package/docs/ru/releases/v9.md +129 -33
  938. package/docs/ru/self_hosting.md +350 -0
  939. package/docs/tr/bundle_optimization.md +16 -0
  940. package/docs/tr/cli/index.md +1 -1
  941. package/docs/tr/cli/scan.md +2 -2
  942. package/docs/tr/configuration.md +42 -1
  943. package/docs/tr/how_works_intlayer.md +2 -2
  944. package/docs/tr/intlayer_CMS.md +14 -121
  945. package/docs/tr/intlayer_with_adonisjs.md +8 -4
  946. package/docs/tr/intlayer_with_analog.md +8 -4
  947. package/docs/tr/intlayer_with_angular_19.md +8 -4
  948. package/docs/tr/intlayer_with_angular_21.md +8 -4
  949. package/docs/tr/intlayer_with_astro_lit.md +11 -7
  950. package/docs/tr/intlayer_with_astro_preact.md +8 -4
  951. package/docs/tr/intlayer_with_astro_react.md +8 -4
  952. package/docs/tr/intlayer_with_astro_solid.md +8 -4
  953. package/docs/tr/intlayer_with_astro_svelte.md +8 -4
  954. package/docs/tr/intlayer_with_astro_vanilla.md +8 -4
  955. package/docs/tr/intlayer_with_astro_vue.md +8 -4
  956. package/docs/tr/intlayer_with_create_react_app.md +8 -4
  957. package/docs/tr/intlayer_with_express.md +8 -4
  958. package/docs/tr/intlayer_with_fastify.md +8 -4
  959. package/docs/tr/intlayer_with_hono.md +8 -4
  960. package/docs/tr/intlayer_with_lynx+react.md +8 -4
  961. package/docs/tr/intlayer_with_nestjs.md +8 -4
  962. package/docs/tr/intlayer_with_next-i18next.md +8 -4
  963. package/docs/tr/intlayer_with_nextjs_14.md +8 -4
  964. package/docs/tr/intlayer_with_nextjs_15.md +10 -8
  965. package/docs/tr/intlayer_with_nextjs_16.md +10 -8
  966. package/docs/tr/intlayer_with_nextjs_compiler.md +8 -4
  967. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +10 -8
  968. package/docs/tr/intlayer_with_nextjs_page_router.md +8 -4
  969. package/docs/tr/intlayer_with_nuxt.md +9 -5
  970. package/docs/tr/intlayer_with_react_native+expo.md +8 -4
  971. package/docs/tr/intlayer_with_react_router_v7.md +9 -5
  972. package/docs/tr/intlayer_with_svelte_kit.md +8 -4
  973. package/docs/tr/intlayer_with_tanstack+solid.md +9 -5
  974. package/docs/tr/intlayer_with_tanstack.md +10 -7
  975. package/docs/tr/intlayer_with_vite+lit.md +8 -4
  976. package/docs/tr/intlayer_with_vite+preact.md +9 -5
  977. package/docs/tr/intlayer_with_vite+react.md +9 -5
  978. package/docs/tr/intlayer_with_vite+react_compiler.md +9 -5
  979. package/docs/tr/intlayer_with_vite+solid.md +9 -5
  980. package/docs/tr/intlayer_with_vite+svelte.md +8 -4
  981. package/docs/tr/intlayer_with_vite+vanilla.md +8 -4
  982. package/docs/tr/intlayer_with_vite+vue.md +9 -5
  983. package/docs/tr/live-sync.md +173 -0
  984. package/docs/tr/migration_from_i18next_to_intlayer.md +8 -4
  985. package/docs/tr/migration_from_next-i18next_to_intlayer.md +8 -4
  986. package/docs/tr/migration_from_next-intl_to_intlayer.md +9 -7
  987. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  988. package/docs/tr/migration_from_react-i18next_to_intlayer.md +9 -7
  989. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +8 -4
  990. package/docs/tr/releases/v9.md +116 -33
  991. package/docs/tr/self_hosting.md +350 -0
  992. package/docs/uk/bundle_optimization.md +16 -0
  993. package/docs/uk/cli/index.md +1 -1
  994. package/docs/uk/cli/scan.md +2 -2
  995. package/docs/uk/configuration.md +42 -1
  996. package/docs/uk/how_works_intlayer.md +2 -2
  997. package/docs/uk/intlayer_CMS.md +14 -133
  998. package/docs/uk/intlayer_with_adonisjs.md +8 -4
  999. package/docs/uk/intlayer_with_analog.md +8 -4
  1000. package/docs/uk/intlayer_with_angular_19.md +8 -4
  1001. package/docs/uk/intlayer_with_angular_21.md +8 -4
  1002. package/docs/uk/intlayer_with_astro_lit.md +11 -7
  1003. package/docs/uk/intlayer_with_astro_preact.md +8 -4
  1004. package/docs/uk/intlayer_with_astro_react.md +8 -4
  1005. package/docs/uk/intlayer_with_astro_solid.md +8 -4
  1006. package/docs/uk/intlayer_with_astro_svelte.md +8 -4
  1007. package/docs/uk/intlayer_with_astro_vanilla.md +8 -4
  1008. package/docs/uk/intlayer_with_astro_vue.md +8 -4
  1009. package/docs/uk/intlayer_with_create_react_app.md +8 -4
  1010. package/docs/uk/intlayer_with_express.md +8 -4
  1011. package/docs/uk/intlayer_with_fastify.md +8 -4
  1012. package/docs/uk/intlayer_with_hono.md +8 -4
  1013. package/docs/uk/intlayer_with_lynx+react.md +8 -4
  1014. package/docs/uk/intlayer_with_nestjs.md +8 -4
  1015. package/docs/uk/intlayer_with_next-i18next.md +8 -4
  1016. package/docs/uk/intlayer_with_nextjs_14.md +8 -4
  1017. package/docs/uk/intlayer_with_nextjs_15.md +10 -8
  1018. package/docs/uk/intlayer_with_nextjs_16.md +10 -8
  1019. package/docs/uk/intlayer_with_nextjs_compiler.md +8 -4
  1020. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +10 -8
  1021. package/docs/uk/intlayer_with_nextjs_page_router.md +8 -4
  1022. package/docs/uk/intlayer_with_nuxt.md +9 -5
  1023. package/docs/uk/intlayer_with_react_native+expo.md +8 -4
  1024. package/docs/uk/intlayer_with_react_router_v7.md +9 -5
  1025. package/docs/uk/intlayer_with_svelte_kit.md +8 -4
  1026. package/docs/uk/intlayer_with_tanstack+solid.md +9 -5
  1027. package/docs/uk/intlayer_with_tanstack.md +10 -7
  1028. package/docs/uk/intlayer_with_vite+lit.md +8 -4
  1029. package/docs/uk/intlayer_with_vite+preact.md +9 -5
  1030. package/docs/uk/intlayer_with_vite+react.md +9 -5
  1031. package/docs/uk/intlayer_with_vite+react_compiler.md +9 -5
  1032. package/docs/uk/intlayer_with_vite+solid.md +9 -5
  1033. package/docs/uk/intlayer_with_vite+svelte.md +8 -4
  1034. package/docs/uk/intlayer_with_vite+vanilla.md +8 -4
  1035. package/docs/uk/intlayer_with_vite+vue.md +9 -5
  1036. package/docs/uk/live-sync.md +185 -0
  1037. package/docs/uk/migration_from_i18next_to_intlayer.md +8 -4
  1038. package/docs/uk/migration_from_next-i18next_to_intlayer.md +8 -4
  1039. package/docs/uk/migration_from_next-intl_to_intlayer.md +9 -7
  1040. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1041. package/docs/uk/migration_from_react-i18next_to_intlayer.md +9 -7
  1042. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +8 -4
  1043. package/docs/uk/releases/v9.md +128 -33
  1044. package/docs/uk/self_hosting.md +350 -0
  1045. package/docs/ur/bundle_optimization.md +16 -0
  1046. package/docs/ur/cli/index.md +1 -1
  1047. package/docs/ur/cli/scan.md +2 -2
  1048. package/docs/ur/configuration.md +45 -1
  1049. package/docs/ur/intlayer_with_angular_21.md +8 -4
  1050. package/docs/ur/intlayer_with_fastify.md +8 -4
  1051. package/docs/ur/intlayer_with_hono.md +8 -4
  1052. package/docs/ur/intlayer_with_vite+lit.md +8 -4
  1053. package/docs/ur/intlayer_with_vite+vanilla.md +8 -4
  1054. package/docs/vi/bundle_optimization.md +16 -0
  1055. package/docs/vi/cli/index.md +1 -1
  1056. package/docs/vi/cli/scan.md +2 -2
  1057. package/docs/vi/configuration.md +42 -1
  1058. package/docs/vi/how_works_intlayer.md +2 -2
  1059. package/docs/vi/intlayer_CMS.md +5 -139
  1060. package/docs/vi/intlayer_with_adonisjs.md +8 -4
  1061. package/docs/vi/intlayer_with_analog.md +8 -4
  1062. package/docs/vi/intlayer_with_angular_19.md +8 -4
  1063. package/docs/vi/intlayer_with_angular_21.md +8 -4
  1064. package/docs/vi/intlayer_with_astro_lit.md +11 -7
  1065. package/docs/vi/intlayer_with_astro_preact.md +8 -4
  1066. package/docs/vi/intlayer_with_astro_react.md +8 -4
  1067. package/docs/vi/intlayer_with_astro_solid.md +8 -4
  1068. package/docs/vi/intlayer_with_astro_svelte.md +8 -4
  1069. package/docs/vi/intlayer_with_astro_vanilla.md +8 -4
  1070. package/docs/vi/intlayer_with_astro_vue.md +8 -4
  1071. package/docs/vi/intlayer_with_create_react_app.md +8 -4
  1072. package/docs/vi/intlayer_with_express.md +8 -4
  1073. package/docs/vi/intlayer_with_fastify.md +8 -4
  1074. package/docs/vi/intlayer_with_hono.md +8 -4
  1075. package/docs/vi/intlayer_with_lynx+react.md +8 -4
  1076. package/docs/vi/intlayer_with_nestjs.md +8 -4
  1077. package/docs/vi/intlayer_with_next-i18next.md +8 -4
  1078. package/docs/vi/intlayer_with_nextjs_14.md +8 -4
  1079. package/docs/vi/intlayer_with_nextjs_15.md +9 -7
  1080. package/docs/vi/intlayer_with_nextjs_16.md +10 -8
  1081. package/docs/vi/intlayer_with_nextjs_compiler.md +8 -4
  1082. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -8
  1083. package/docs/vi/intlayer_with_nextjs_page_router.md +8 -4
  1084. package/docs/vi/intlayer_with_nuxt.md +9 -5
  1085. package/docs/vi/intlayer_with_react_native+expo.md +8 -4
  1086. package/docs/vi/intlayer_with_react_router_v7.md +9 -5
  1087. package/docs/vi/intlayer_with_svelte_kit.md +8 -4
  1088. package/docs/vi/intlayer_with_tanstack+solid.md +9 -5
  1089. package/docs/vi/intlayer_with_tanstack.md +10 -7
  1090. package/docs/vi/intlayer_with_vite+lit.md +8 -4
  1091. package/docs/vi/intlayer_with_vite+preact.md +9 -5
  1092. package/docs/vi/intlayer_with_vite+react.md +9 -5
  1093. package/docs/vi/intlayer_with_vite+react_compiler.md +9 -5
  1094. package/docs/vi/intlayer_with_vite+solid.md +9 -5
  1095. package/docs/vi/intlayer_with_vite+svelte.md +8 -4
  1096. package/docs/vi/intlayer_with_vite+vanilla.md +8 -4
  1097. package/docs/vi/intlayer_with_vite+vue.md +9 -5
  1098. package/docs/vi/live-sync.md +185 -0
  1099. package/docs/vi/migration_from_i18next_to_intlayer.md +8 -4
  1100. package/docs/vi/migration_from_next-i18next_to_intlayer.md +8 -4
  1101. package/docs/vi/migration_from_next-intl_to_intlayer.md +9 -7
  1102. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1103. package/docs/vi/migration_from_react-i18next_to_intlayer.md +9 -7
  1104. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +8 -4
  1105. package/docs/vi/releases/v9.md +101 -33
  1106. package/docs/vi/self_hosting.md +350 -0
  1107. package/docs/zh/bundle_optimization.md +16 -0
  1108. package/docs/zh/cli/index.md +1 -1
  1109. package/docs/zh/cli/scan.md +2 -2
  1110. package/docs/zh/configuration.md +42 -1
  1111. package/docs/zh/how_works_intlayer.md +2 -2
  1112. package/docs/zh/intlayer_CMS.md +5 -129
  1113. package/docs/zh/intlayer_with_adonisjs.md +8 -4
  1114. package/docs/zh/intlayer_with_angular_21.md +8 -4
  1115. package/docs/zh/intlayer_with_astro.md +8 -4
  1116. package/docs/zh/intlayer_with_astro_lit.md +11 -7
  1117. package/docs/zh/intlayer_with_astro_preact.md +8 -4
  1118. package/docs/zh/intlayer_with_astro_react.md +8 -4
  1119. package/docs/zh/intlayer_with_astro_solid.md +8 -4
  1120. package/docs/zh/intlayer_with_astro_svelte.md +8 -4
  1121. package/docs/zh/intlayer_with_astro_vanilla.md +8 -4
  1122. package/docs/zh/intlayer_with_astro_vue.md +8 -4
  1123. package/docs/zh/intlayer_with_create_react_app.md +8 -4
  1124. package/docs/zh/intlayer_with_express.md +8 -4
  1125. package/docs/zh/intlayer_with_fastify.md +8 -4
  1126. package/docs/zh/intlayer_with_hono.md +8 -4
  1127. package/docs/zh/intlayer_with_nestjs.md +8 -4
  1128. package/docs/zh/intlayer_with_next-i18next.md +8 -4
  1129. package/docs/zh/intlayer_with_nextjs_14.md +8 -4
  1130. package/docs/zh/intlayer_with_nextjs_15.md +10 -8
  1131. package/docs/zh/intlayer_with_nextjs_16.md +10 -8
  1132. package/docs/zh/intlayer_with_nextjs_compiler.md +9 -7
  1133. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +10 -8
  1134. package/docs/zh/intlayer_with_nextjs_page_router.md +8 -4
  1135. package/docs/zh/intlayer_with_react_native+expo.md +8 -4
  1136. package/docs/zh/intlayer_with_react_router_v7.md +9 -5
  1137. package/docs/zh/intlayer_with_vite+solid.md +9 -5
  1138. package/docs/zh/intlayer_with_vite+svelte.md +8 -4
  1139. package/docs/zh/intlayer_with_vite+vue.md +9 -5
  1140. package/docs/zh/live-sync.md +175 -0
  1141. package/docs/zh/migration_from_i18next_to_intlayer.md +8 -4
  1142. package/docs/zh/migration_from_next-i18next_to_intlayer.md +8 -4
  1143. package/docs/zh/migration_from_next-intl_to_intlayer.md +9 -7
  1144. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1145. package/docs/zh/migration_from_react-i18next_to_intlayer.md +9 -7
  1146. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +8 -4
  1147. package/docs/zh/releases/v9.md +101 -25
  1148. package/docs/zh/self_hosting.md +350 -0
  1149. package/docs/zh-TW/bundle_optimization.md +16 -0
  1150. package/docs/zh-TW/intlayer_with_angular_21.md +8 -4
  1151. package/package.json +10 -10
  1152. package/src/generated/docs.entry.ts +60 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-06-14
3
- updatedAt: 2026-06-26
3
+ updatedAt: 2026-07-08
4
4
  title: Новий Intlayer v9 - Що нового?
5
5
  description: Дізнайтеся, що нового в Intlayer v9. Представляємо сумісні пакети швидкої заміни (drop-in) для популярних бібліотек i18n та підтримку Collections та Variants.
6
6
  keywords:
@@ -9,9 +9,12 @@ keywords:
9
9
  - Міграція
10
10
  - Колекції
11
11
  - Варіанти
12
+ - Self-Hosting
13
+ - Docker
12
14
  - i18next
13
15
  - next-intl
14
16
  - vue-i18n
17
+ youtubeVideo: https://www.youtube.com/watch?v=ia6JmVf-kkU
15
18
  slugs:
16
19
  - doc
17
20
  - releases
@@ -23,6 +26,14 @@ author: aymericzip
23
26
 
24
27
  Ласкаво просимо до Intlayer v9! Цей мажорний реліз є величезною віхою у спрощенні шляху міграції на Intlayer завдяки **Compat Adapter Packages** (пакетам адаптерів сумісності) для основних бібліотек i18n (`react-i18next`, `next-intl`, `vue-i18n` тощо) та додає підтримку складних структур контенту: **Collections** (Колекцій) та **Variants** (Варіантів).
25
28
 
29
+ <iframe
30
+ src="https://www.youtube.com/embed/ia6JmVf-kkU"
31
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
32
+ title="Demo Video - New Intlayer v9 - What's new?"
33
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
34
+ loading="lazy"
35
+ />
36
+
26
37
  ## Зміст
27
38
 
28
39
  <TOC levels={[2]} maxDepth={1} />
@@ -109,36 +120,40 @@ Intlayer v9 виходить за рамки статичних об'єктів
109
120
 
110
121
  Визначайте керований CMS список упорядкованих елементів (наприклад, FAQ, товари або списки блогів):
111
122
 
112
- ```ts fileName="faq.content.ts"
123
+ ```ts fileName="faq.1.content.ts"
113
124
  import { t, type Dictionary } from "intlayer";
114
125
 
115
126
  export default {
116
127
  key: "faq",
117
- content: [
118
- {
119
- question: t({
120
- uk: "Що таке Intlayer?",
121
- en: "What is Intlayer?",
122
- fr: "Qu'est-ce qu'Intlayer ?",
123
- }),
124
- answer: t({
125
- uk: "Інструментарій i18n.",
126
- en: "An i18n toolkit.",
127
- fr: "Une boîte à outils i18n.",
128
- }),
129
- },
130
- ],
128
+ item: 1,
129
+ content: {
130
+ question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
131
+ answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
132
+ },
133
+ } satisfies Dictionary;
134
+ ```
135
+
136
+ ```ts fileName="faq.2.content.ts"
137
+ import { t, type Dictionary } from "intlayer";
138
+
139
+ export default {
140
+ key: "faq",
141
+ item: 2,
142
+ content: {
143
+ question: t({ en: "Is it free?", fr: "Est-ce gratuit ?" }),
144
+ answer: t({ en: "Yes, open-source.", fr: "Oui, open-source." }),
145
+ },
131
146
  } satisfies Dictionary;
132
147
  ```
133
148
 
134
149
  #### Використання:
135
150
 
136
151
  ```ts
137
- // Отримати всі елементи
152
+ // Fetch all items as an array
138
153
  const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
139
154
 
140
- // Отримати один елемент за індексом
141
- const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
155
+ // Fetch a single item by index
156
+ const faq = useIntlayer("faq", { item: 2 }); // -> { question: string, answer: string }
142
157
  ```
143
158
 
144
159
  ### 2. Варіанти (Variants)
@@ -192,28 +207,52 @@ export default {
192
207
  ```ts
193
208
  // Динамічно завантажує лише запитуваний елемент (потребує Suspense)
194
209
  const product = useIntlayer("product-copy", {
195
- id: "prod_123",
196
- category: "books",
210
+ variant: { id: "prod_123", category: "books" },
197
211
  });
198
212
  ```
199
213
 
200
214
  ---
201
215
 
202
- ## Динамічне завантаження та оптимізація розміру бандла
203
-
204
- Щоб зберегти розмір бандлів надзвичайно малим, Intlayer v9 підтримує динамічне ліниве завантаження (lazy loading).
205
-
206
- У вашій конфігурації встановіть `importMode` у `'dynamic'` або `'fetch'`:
207
-
208
- ```ts fileName="intlayer.config.ts"
209
- export default {
210
- dictionary: {
211
- importMode: "dynamic", // "static" | "dynamic" | "fetch"
212
- },
216
+ ## `@intlayer/analytics`: відстеження показів контенту та A/B-тестування
217
+
218
+ Новий необов'язковий пакет [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md) показує, який контент насправді бачать ваші відвідувачі і замикає цикл із **Collections & Variants**, дозволяючи проводити A/B-тестування контенту та вимірювати конверсії по кожному варіанту.
219
+
220
+ - **Відстеження на рівні провайдера**: `IntlayerProvider` (React / Next.js / React Native) автоматично фіксує події `page_view` під час завантаження, зміни маршруту та зміни локалі.
221
+ - **Відстеження на рівні вузла**: кожне розв'язання `useIntlayer` надсилає подію `content_exposure` — який ключ словника, шлях ключа, локаль і (якщо застосовно) який A/B-**варіант** було показано. Повторні покази того самого вузла в межах вікна відправки об'єднуються в одну подію.
222
+ - **Детерміноване призначення A/B**: `getVariant(experimentKey, variants)` призначає варіант кожній сесії **без звернення до сервера**, тому перед першим рендером не виникає мерехтіння.
223
+ - **`useConversion()`**: прив'язує ціль (реєстрація, клік, покупка…) до варіанту, який бачила сесія.
224
+ - **Нульова вартість без встановлення**: той самий tree-shakeable підхід, що й у `@intlayer/editor` — динамічний `import()`, обгорнутий у `try/catch`, плюс змінна середовища часу збірки (`INTLAYER_ANALYTICS_ENABLED`), яка повністю видаляє інтеграцію з бандла для застосунків, що її не увімкнули.
225
+ - **Без нової схеми конфігурації**: повторно використовує `editor.backendURL` (кінцева точка відправки / самостійне розгортання) та `editor.clientId` (ключ проєкту, який також є перемикачем увімкнення).
226
+ - **З повагою до приватності**: анонімне хешування сесії (SHA-256, без зберігання вихідних id), без зберігання IP, лише приблизна геолокація на рівні країни, запити надсилаються пакетами приблизно кожні 20 секунд.
227
+ - **Дашборд**: нова сторінка **Analytics** (з'являється в бічній панелі після вибору проєкту) показує активних користувачів, користувачів за сьогодні, за останні 7/30/90 днів, графік динаміки відвідувачів і розподіл за локалями та розташуванням.
228
+
229
+ ```tsx fileName="CTAButton.tsx" codeFormat="tsx"
230
+ import { useConversion } from "react-intlayer";
231
+
232
+ const CTAButton = () => {
233
+ const trackConversion = useConversion();
234
+
235
+ return (
236
+ <button
237
+ onClick={() =>
238
+ trackConversion({
239
+ experimentKey: "homepage-hero",
240
+ variant: "black_friday",
241
+ goal: "cta_click",
242
+ })
243
+ }
244
+ >
245
+ Get started
246
+ </button>
247
+ );
213
248
  };
214
249
  ```
215
250
 
216
- Під час збірки `@intlayer/swc` та `@intlayer/babel` сканують ваші файли та замінюють виклики `useIntlayer` / `getIntlayer` на tree-shakeable обгортки (`useDictionary` / `useDictionaryDynamic`). Завантажується лише контент, необхідний для вибраного елемента колекції, варіанта або локалі, що запобігає потраплянню невикористовуваних перекладів у ваш продакшн-бандл.
251
+ ```bash packageManager="npm"
252
+ npm install @intlayer/analytics
253
+ ```
254
+
255
+ Вже доступно для React, Next.js і React Native (через `react-intlayer`); інші прив'язки для фреймворків (Vue, Svelte, Angular, …) заплановані за тією ж моделлю впровадження, що й `@intlayer/editor`. Повний посібник дивіться в [документації Analytics](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md).
217
256
 
218
257
  ---
219
258
 
@@ -296,6 +335,59 @@ npm install intlayer react-native-intlayer
296
335
 
297
336
  ---
298
337
 
338
+ ## CMS SDK: використовуйте Intlayer як headless базу даних контенту
339
+
340
+ Intlayer v9 містить акуратний SDK з автоматичною автентифікацією в `@intlayer/api` для програмної взаємодії з CMS — отримувати проєкти, отримувати словники, а також надсилати чи оновлювати їх із власного сервера, скриптів або CI. Автентифікація (OAuth2 `client_credentials`) виконується та оновлюється за вас.
341
+
342
+ SDK розділено на **два окремі імпорти**, тож ваш бандл містить лише ті домени, які ви справді використовуєте:
343
+
344
+ 1. `createIntlayerCMS` — легкий **автентифікатор**, який зберігає облікові дані та керований токен (клієнти доменів не включаються).
345
+ 2. `dictionaryEndpoint`, `projectEndpoint`, … — **прив'язки ендпоінтів** для кожного домену, кожна імпортується зі свого підшляху.
346
+
347
+ ```ts fileName="cms.ts"
348
+ import { createIntlayerCMS } from "@intlayer/api";
349
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
350
+
351
+ // Конфігурація необов'язкова: облікові дані беруться з INTLAYER_CLIENT_ID /
352
+ // INTLAYER_CLIENT_SECRET, що розв'язуються через `@intlayer/config/built`.
353
+ const cms = createIntlayerCMS();
354
+
355
+ // Читання
356
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
357
+
358
+ // Запис — використовуйте CMS як базу даних
359
+ await dictionaryEndpoint(cms).pushDictionaries([myDictionary]);
360
+ ```
361
+
362
+ > Безпека: облікові дані CMS надають доступ до запису вашого контенту. Завжди створюйте автентифікатор лише **на стороні сервера** — ніколи не передавайте `clientId` / `clientSecret` у браузер.
363
+
364
+ ---
365
+
366
+ ## Самостійне розгортання (Self-Hosting)
367
+
368
+ Intlayer v9 постачається з першокласною підтримкою запуску власного екземпляра Intlayer однією командою — обліковий запис Intlayer Cloud не потрібен.
369
+
370
+ ```sh
371
+ curl -fsSL https://intlayer.org/install.sh | sh
372
+ ```
373
+
374
+ Встановлювач завантажує `docker-compose.yml` та `.env`, автоматично генерує необхідні секрети та запускає `docker compose up -d`. Все — дашборд, API, база даних, сховище об'єктів та транзакційна електронна пошта — працює локально у контейнерах.
375
+
376
+ ### Включені сервіси
377
+
378
+ | Сервіс | Призначення |
379
+ | ----------------------------------------- | ------------------------------------------------------------------------------ |
380
+ | **app** (TanStack Start) | UI дашборду на порту `3000` |
381
+ | **backend** (Fastify/Bun) | REST API на порту `3100` |
382
+ | **MongoDB 7** (одновузловий набір реплік) | Основна база даних |
383
+ | **Redis 7** | Черги завдань та кешування |
384
+ | **MinIO** | S3-сумісне сховище об'єктів (аватари, знімки екрана) |
385
+ | **Mailpit** | Локальний SMTP-приймач + веб-інтерфейс для транзакційної пошти на порту `8025` |
386
+
387
+ Chromium (що використовується для генерації знімків екрана через Puppeteer) вбудований у образ бекенду — додатковий контейнер не потрібен.
388
+
389
+ ---
390
+
299
391
  ## Примітки щодо міграції з v8
300
392
 
301
393
  Якщо ви оновлюєтеся з v8, зверніть увагу, що v9 не містить критичних змін (breaking changes). Проте ось ключові зміни:
@@ -310,4 +402,7 @@ npm install intlayer react-native-intlayer
310
402
 
311
403
  - [Посібник з пакетів адаптерів сумісності (Compat Adapter Packages)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/compat/index.md)
312
404
  - [Динамічні словники - Collections та Variants](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/dynamic_dictionaries/index.md)
405
+ - [Analytics - Відстеження показів контенту та A/B-тестування](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
313
406
  - [Довідник з конфігурації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md)
407
+ - [CMS SDK — програмний доступ через @intlayer/api](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md)
408
+ - [Посібник із самостійного розгортання](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/self_hosting.md)
@@ -0,0 +1,350 @@
1
+ ---
2
+ createdAt: 2026-06-30
3
+ updatedAt: 2026-06-30
4
+ title: Розгортання Intlayer на власному сервері
5
+ description: Запустіть повний екземпляр Intlayer на власній інфраструктурі за допомогою однієї команди. Обліковий запис Intlayer Cloud не потрібен.
6
+ keywords:
7
+ - Самостійне розгортання
8
+ - Docker
9
+ - Docker Compose
10
+ - Intlayer
11
+ - CMS
12
+ - Встановлення
13
+ - Інфраструктура
14
+ slugs:
15
+ - doc
16
+ - self-hosting
17
+ author: aymericzip
18
+ ---
19
+
20
+ # Розгортання Intlayer на власному сервері
21
+
22
+ Intlayer може повністю працювати на вашій власній інфраструктурі — обліковий запис Intlayer Cloud не потрібен. Одна команда запускає готовий до виробництва стек:
23
+
24
+ ```sh
25
+ curl -fsSL https://intlayer.org/install.sh | sh
26
+ ```
27
+
28
+ Інсталятор завантажує `docker-compose.yml` та `.env`, автоматично генерує необхідні секрети та запускає всі контейнери за допомогою `docker compose up -d`.
29
+
30
+ ## Зміст
31
+
32
+ <TOC/>
33
+
34
+ ---
35
+
36
+ ## Архітектура
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 (використовується для генерації скріншотів Puppeteer) вбудований в образ бекенду — окремий контейнер не потрібен.
54
+
55
+ ---
56
+
57
+ ## Передумови
58
+
59
+ - **Docker** ≥ 24 та **Docker Compose** ≥ v2. Якщо чогось бракує, інсталятор виводить посилання на встановлення та завершує роботу.
60
+ - Порти `3000`, `3100`, `8025`, `9000` та `9001` доступні на хості.
61
+ - Хост Linux або macOS (або WSL2 на Windows).
62
+
63
+ ---
64
+
65
+ ## Швидкий старт
66
+
67
+ ```sh
68
+ curl -fsSL https://intlayer.org/install.sh | sh
69
+ ```
70
+
71
+ Що робить інсталятор:
72
+
73
+ 1. Перевіряє наявність `docker` та `docker compose`.
74
+ 2. Завантажує `docker-compose.yml` та `.env.example` до `./intlayer/`.
75
+ 3. Якщо файл `.env` не існує, копіює приклад та генерує випадкові секрети для `BETTER_AUTH_SECRET`, `S3_ACCESS_KEY_ID` та `S3_SECRET_ACCESS_KEY` за допомогою `openssl rand`.
76
+ 4. Запускає `docker compose pull` + `docker compose up -d`.
77
+ 5. Виводить URL-адреси: дашборд `:3000`, API `:3100`, інтерфейс електронної пошти `:8025`, консоль MinIO `:9001`.
78
+
79
+ Після запуску стека відкрийте **http://localhost:3000** та створіть свій перший обліковий запис.
80
+
81
+ ---
82
+
83
+ ## Сервіси
84
+
85
+ | Сервіс | Образ | Порт(и) хосту | Призначення |
86
+ | ----------- | ----------------------------------- | ------------------------------------- | ---------------------------------------------------------- |
87
+ | **app** | зібрано з `apps/app/Dockerfile` | `3000` | Панель приладів TanStack Start (інтерфейс CMS) |
88
+ | **backend** | зібрано з `apps/backend/Dockerfile` | `3100` | REST API Fastify (кінцева точка `/health`) |
89
+ | **mongo** | `mongo:7` | внутрішній | Однонодовий реплікасет (`rs0`) |
90
+ | **redis** | `redis:7-alpine` | внутрішній | Черги завдань (BullMQ) та кешування (ioredis) |
91
+ | **minio** | `minio/minio` | `9000` (S3), `9001` (консоль) | Об'єктне сховище, сумісне з S3, для аватарів та скріншотів |
92
+ | **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (веб-інтерфейс) | Локальний приймач транзакційних електронних листів |
93
+
94
+ Внутрішні порти (mongo, redis) за замовчуванням не доступні з хосту.
95
+
96
+ > Порт MinIO `9000` має бути доступним для браузера, оскільки завантажені ресурси (аватари, скріншоти) завантажуються безпосередньо з `S3_PUBLIC_URL=http://localhost:9000/intlayer`.
97
+
98
+ ---
99
+
100
+ ## Змінні середовища
101
+
102
+ Інсталятор генерує готовий до використання файл `.env`. Таблиця нижче описує кожну змінну.
103
+
104
+ ### Обов'язкові (автоматично генеруються або запитуються)
105
+
106
+ | Змінна | Приклад | Опис |
107
+ | ---------------------- | ----------------------------------------------- | ------------------------------------------------------- |
108
+ | `NODE_ENV` | `production` | Середовище виконання |
109
+ | `PORT` | `3100` | Порт прослуховування бекенду |
110
+ | `BACKEND_URL` | `http://localhost:3100` | Публічна URL-адреса API бекенду |
111
+ | `APP_URL` | `http://localhost:3000` | Публічна URL-адреса дашборду |
112
+ | `DOMAIN` | `localhost` | Домен для cookie |
113
+ | `MONGODB_URI` | `mongodb://mongo:27017/intlayer?replicaSet=rs0` | Повний URI підключення до MongoDB |
114
+ | `REDIS_URL` | `redis://redis:6379` | URL підключення до Redis |
115
+ | `BETTER_AUTH_SECRET` | _(згенеровано)_ | 32-байтовий секрет для підпису сесії |
116
+ | `MAIL_PROVIDER` | `smtp` | Транспорт пошти: `smtp` або `resend` |
117
+ | `MAIL_SMTP_HOST` | `mailpit` | Ім'я хосту SMTP (ім'я контейнера Mailpit) |
118
+ | `MAIL_SMTP_PORT` | `1025` | Порт SMTP |
119
+ | `MAIL_FROM` | `Intlayer <no-reply@localhost>` | Адреса відправника |
120
+ | `S3_ENDPOINT` | `http://minio:9000` | Кінцева точка, сумісна з S3 |
121
+ | `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | Публічна URL-адреса для завантаження ресурсів браузером |
122
+ | `S3_BUCKET_NAME` | `intlayer` | Ім'я кошика |
123
+ | `S3_ACCESS_KEY_ID` | _(згенеровано)_ | Ключ доступу MinIO |
124
+ | `S3_SECRET_ACCESS_KEY` | _(згенеровано)_ | Секретний ключ MinIO |
125
+ | `VITE_BACKEND_URL` | `http://localhost:3100` | URL-адреса бекенду, вбудована в дашборд під час збірки |
126
+ | `VITE_DOMAIN` | `localhost` | Домен, вбудований в дашборд під час збірки |
127
+
128
+ ### Необов'язкові (функції погіршуються, якщо відсутні)
129
+
130
+ | Змінна | Функція |
131
+ | -------------------------------------------------------- | ----------------------------------------------------------------------------------- |
132
+ | `OPENAI_API_KEY` | Переклад та аудит контенту за допомогою ШІ |
133
+ | `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `STRIPE_*` | Управління рахунками та підписками |
134
+ | `RESEND_API_KEY` | Транзакційна електронна пошта через Resend (перевизначає Mailpit, якщо встановлено) |
135
+ | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | Вхід через GitHub OAuth |
136
+ | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Вхід через Google OAuth |
137
+ | `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | Вхід через GitLab OAuth |
138
+ | `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Вхід через Microsoft OAuth |
139
+ | `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | Вхід через LinkedIn OAuth |
140
+ | `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Вхід через Atlassian OAuth |
141
+
142
+ ---
143
+
144
+ ## Підключення вашого проекту Intlayer
145
+
146
+ Після запуску стека направте свій проект на самостійно розгорнутий бекенд та дашборд замість `intlayer.org`.
147
+
148
+ ### Конфігурація проекту
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 самостійно розгорнутого дашборду CMS.
160
+ * За замовчуванням: https://app.intlayer.org
161
+ */
162
+ cmsURL: process.env.INTLAYER_CMS_URL, // наприклад, http://localhost:3000
163
+
164
+ /**
165
+ * URL самостійно розгорнутого бекенд API.
166
+ * За замовчуванням: https://back.intlayer.org
167
+ */
168
+ backendURL: process.env.INTLAYER_BACKEND_URL, // наприклад, http://localhost:3100
169
+ },
170
+ };
171
+
172
+ export default config;
173
+ ```
174
+
175
+ Встановіть змінні середовища у файлі `.env` вашого проекту:
176
+
177
+ ```sh
178
+ INTLAYER_CMS_URL=http://localhost:3000
179
+ INTLAYER_BACKEND_URL=http://localhost:3100
180
+ INTLAYER_CLIENT_ID=<ваш-client-id>
181
+ INTLAYER_CLIENT_SECRET=<ваш-client-secret>
182
+ ```
183
+
184
+ Створіть облікові дані доступу у вашому самостійно розгорнутому дашборді в розділі **Проекти → Ключі доступу** за адресою `http://localhost:3000/projects`.
185
+
186
+ ### SDK `@intlayer/api`
187
+
188
+ При програмному використанні SDK `@intlayer/api` передайте `backendURL` явно:
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
+ ## Оновлення
208
+
209
+ Повторний запуск інсталятора на існуючому розгортанні виконує послідовне оновлення:
210
+
211
+ ```sh
212
+ curl -fsSL https://intlayer.org/install.sh | sh
213
+ ```
214
+
215
+ Це завантажує останні образи та перезапускає контейнери за допомогою `docker compose pull && docker compose up -d`. Існуючі томи (`mongo-data`, `redis-data`, `minio-data`) зберігаються — без втрати даних.
216
+
217
+ Щоб оновити вручну з каталогу `./intlayer/`:
218
+
219
+ ```sh
220
+ docker compose pull
221
+ docker compose up -d
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Резервне копіювання та відновлення
227
+
228
+ Всі постійні дані зберігаються в трьох іменованих томах Docker.
229
+
230
+ ### Резервне копіювання
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
+ ### Відновлення
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
+ # Повторіть для redis-data та minio-data
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Використання зворотного проксі (Nginx / Caddy)
263
+
264
+ Для виробничих розгортань розмістіть зворотний проксі перед контейнерами застосунку та бекенду замість прямого їх виставлення.
265
+
266
+ ### Приклад Nginx
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
+ Оновіть наступні змінні `.env`, щоб вони відповідали вашим публічним доменам:
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_*` вбудовуються в образ дашборду під час збірки. Якщо ви зміните їх після збірки образу, вам потрібно перезібрати образ `app` (`docker compose build app`) або використовувати ін'єкцію конфігурації під час виконання.
303
+
304
+ ---
305
+
306
+ ## Усунення несправностей
307
+
308
+ ### Бекенд циклічно перезапускається під час першого запуску
309
+
310
+ MongoDB та Redis повинні бути справними, перш ніж бекенд почне працювати. Файл compose використовує `depends_on` з `condition: service_healthy`. Якщо ви бачите багаторазові перезапуски бекенду, перевірте, чи проходять перевірки стану `mongo` та `redis`:
311
+
312
+ ```sh
313
+ docker compose ps
314
+ docker compose logs mongo
315
+ docker compose logs redis
316
+ ```
317
+
318
+ ### Дашборд не може дістатися до API
319
+
320
+ Переконайтеся, що `VITE_BACKEND_URL` відповідає URL-адресі, за якою бекенд доступний з **браузера** (не мережі Docker). Якщо ви змінили порт бекенду або додали зворотний проксі, перезіберіть образ дашборду:
321
+
322
+ ```sh
323
+ docker compose build app
324
+ docker compose up -d app
325
+ ```
326
+
327
+ ### Електронні листи не надсилаються
328
+
329
+ За замовчуванням усі вихідні електронні листи захоплюються Mailpit. Відкрийте `http://localhost:8025`, щоб побачити надіслані повідомлення. Щоб надсилати реальні електронні листи, встановіть `MAIL_PROVIDER=resend` та `RESEND_API_KEY=<ваш-ключ>` у `.env`, а потім перезапустіть бекенд:
330
+
331
+ ```sh
332
+ docker compose restart backend
333
+ ```
334
+
335
+ ### Відсутній кошик MinIO
336
+
337
+ Якщо одноразовий сервіс `minio-init` не запустився (або запустився до того, як MinIO був готовий), створіть кошик вручну:
338
+
339
+ ```sh
340
+ docker compose run --rm minio-init
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Корисні посилання
346
+
347
+ - [Документація Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md)
348
+ - [Довідка щодо конфігурації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md)
349
+ - [CMS SDK — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md#програмний-доступ-за-допомогою-intlayerapi-sdk)
350
+ - [Docker Image (aymercizip/intlayer-selfhost)](https://hub.docker.com/repository/docker/aymercizip/intlayer-selfhost/general)
@@ -231,6 +231,9 @@ Next.js کو آپٹیمائز پاس (import rewrite) کے لیے `@intlayer/swc
231
231
 
232
232
  > یہ پلگ ان بائی ڈیفالٹ انسٹال نہیں ہوتا کیونکہ SWC کے پلگ انز Next.js کے لیے اب بھی تجرباتی مراحل میں ہیں۔ یہ مستقبل میں بدل سکتا ہے۔
233
233
 
234
+ <Tabs>
235
+ <Tab value="npm">
236
+
234
237
  ```bash packageManager="npm"
235
238
  npm install -D @intlayer/swc
236
239
  ```
@@ -247,6 +250,19 @@ pnpm add -D @intlayer/swc
247
250
  bun add -d @intlayer/swc
248
251
  ```
249
252
 
253
+ </Tab>
254
+ <Tab value="Crates.io (rust)">
255
+
256
+ ```toml fileName="Cargo.toml"
257
+ [dependencies]
258
+ intlayer-swc-plugin = "*"
259
+ ```
260
+
261
+ [View on Crates.io](https://crates.io/crates/intlayer-swc-plugin)
262
+
263
+ </Tab>
264
+ </Tabs>
265
+
250
266
  انسٹال ہونے کے بعد، Intlayer خود بخود پلگ ان کو شناخت کر کے اس کا استعمال شروع کر دے گا۔
251
267
 
252
268
  **purge اور minify** مراحل (فیلڈ کو ہٹانے اور رینیم کرنے) کے لیے، اس کے ساتھ `@intlayer/babel` انسٹال کریں اور Babel کے پلگ انز کو شامل کریں۔ چونکہ Next.js ٹرانسفارمیشن کے لیے SWC استعمال کرتا ہے لیکن پھر بھی پلگ ان کنفیگریشن کے لیے `babel.config.js` کو ایویلیوایٹ (evaluate) کرتا ہے، اس لیے Babel پلگ انز SWC سے پہلے ایک پری-پاس (pre-pass) کے طور پر چلتے ہیں۔
@@ -125,7 +125,7 @@ Intlayer کئی کنفیگریشن فائل فارمیٹس قبول کرتا ہ
125
125
 
126
126
  ### توثیق (Authentication)
127
127
 
128
- - **[لاگ ان](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ur/login.md)** - Intlayer CMS سے توثیق کریں اور رسائی کی اسناد حاصل کریں
128
+ - **[لاگ ان](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ur/cli/login.md)** - Intlayer CMS سے توثیق کریں اور رسائی کی اسناد حاصل کریں
129
129
 
130
130
  ### بنیادی کمانڈز
131
131
 
@@ -150,10 +150,10 @@ await scan("https://example.com", {
150
150
  });
151
151
  ```
152
152
 
153
- کم درجے کی رسائی کے لیے، `@intlayer/chokidar/scan` سے `scanWebsite` ایک منظم `ScanResult` آبجیکٹ لوٹاتا ہے:
153
+ کم درجے کی رسائی کے لیے، `@intlayer/engine/scan` سے `scanWebsite` ایک منظم `ScanResult` آبجیکٹ لوٹاتا ہے:
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);