@intlayer/docs 9.0.0-canary.9 → 9.0.1

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