@intlayer/docs 9.0.0-canary.9 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1152) hide show
  1. package/blog/ar/internationalization_and_SEO.md +6 -0
  2. package/blog/ar/intlayer_with_i18next.md +8 -4
  3. package/blog/ar/intlayer_with_next-i18next.md +8 -4
  4. package/blog/ar/intlayer_with_next-intl.md +8 -4
  5. package/blog/ar/intlayer_with_react-i18next.md +8 -4
  6. package/blog/ar/intlayer_with_react-intl.md +8 -4
  7. package/blog/ar/intlayer_with_vue-i18n.md +8 -4
  8. package/blog/ar/nextjs-multilingual-seo-comparison.md +6 -0
  9. package/blog/de/internationalization_and_SEO.md +6 -0
  10. package/blog/de/intlayer_with_i18next.md +8 -4
  11. package/blog/de/intlayer_with_next-i18next.md +8 -4
  12. package/blog/de/intlayer_with_next-intl.md +8 -4
  13. package/blog/de/intlayer_with_react-i18next.md +8 -4
  14. package/blog/de/intlayer_with_react-intl.md +8 -4
  15. package/blog/de/intlayer_with_vue-i18n.md +8 -4
  16. package/blog/de/nextjs-multilingual-seo-comparison.md +6 -0
  17. package/blog/en/internationalization_and_SEO.md +6 -0
  18. package/blog/en/intlayer_with_i18next.md +8 -4
  19. package/blog/en/intlayer_with_next-i18next.md +8 -4
  20. package/blog/en/intlayer_with_next-intl.md +8 -4
  21. package/blog/en/intlayer_with_react-i18next.md +8 -4
  22. package/blog/en/intlayer_with_react-intl.md +8 -4
  23. package/blog/en/intlayer_with_vue-i18n.md +8 -4
  24. package/blog/en/nextjs-multilingual-seo-comparison.md +6 -0
  25. package/blog/en/rag_powered_documentation_assistant.md +6 -0
  26. package/blog/en-GB/internationalization_and_SEO.md +6 -0
  27. package/blog/en-GB/intlayer_with_i18next.md +8 -4
  28. package/blog/en-GB/intlayer_with_next-i18next.md +8 -4
  29. package/blog/en-GB/intlayer_with_next-intl.md +8 -4
  30. package/blog/en-GB/intlayer_with_react-i18next.md +8 -4
  31. package/blog/en-GB/intlayer_with_react-intl.md +8 -4
  32. package/blog/en-GB/intlayer_with_vue-i18n.md +8 -4
  33. package/blog/en-GB/nextjs-multilingual-seo-comparison.md +6 -0
  34. package/blog/es/internationalization_and_SEO.md +6 -0
  35. package/blog/es/intlayer_with_i18next.md +8 -4
  36. package/blog/es/intlayer_with_next-i18next.md +8 -4
  37. package/blog/es/intlayer_with_next-intl.md +8 -4
  38. package/blog/es/intlayer_with_react-i18next.md +8 -4
  39. package/blog/es/intlayer_with_react-intl.md +8 -4
  40. package/blog/es/intlayer_with_vue-i18n.md +8 -4
  41. package/blog/es/nextjs-multilingual-seo-comparison.md +6 -0
  42. package/blog/fr/internationalization_and_SEO.md +6 -0
  43. package/blog/fr/intlayer_with_i18next.md +8 -4
  44. package/blog/fr/intlayer_with_next-i18next.md +8 -4
  45. package/blog/fr/intlayer_with_next-intl.md +8 -4
  46. package/blog/fr/intlayer_with_react-i18next.md +8 -4
  47. package/blog/fr/intlayer_with_react-intl.md +8 -4
  48. package/blog/fr/intlayer_with_vue-i18n.md +8 -4
  49. package/blog/fr/nextjs-multilingual-seo-comparison.md +6 -0
  50. package/blog/hi/internationalization_and_SEO.md +6 -0
  51. package/blog/hi/intlayer_with_i18next.md +8 -4
  52. package/blog/hi/intlayer_with_next-i18next.md +8 -4
  53. package/blog/hi/intlayer_with_next-intl.md +8 -4
  54. package/blog/hi/intlayer_with_react-i18next.md +8 -4
  55. package/blog/hi/intlayer_with_react-intl.md +8 -4
  56. package/blog/hi/intlayer_with_vue-i18n.md +8 -4
  57. package/blog/hi/nextjs-multilingual-seo-comparison.md +6 -0
  58. package/blog/id/internationalization_and_SEO.md +6 -0
  59. package/blog/id/intlayer_with_i18next.md +8 -4
  60. package/blog/id/intlayer_with_next-i18next.md +8 -4
  61. package/blog/id/intlayer_with_next-intl.md +8 -4
  62. package/blog/id/intlayer_with_react-i18next.md +8 -4
  63. package/blog/id/intlayer_with_react-intl.md +8 -4
  64. package/blog/id/intlayer_with_vue-i18n.md +8 -4
  65. package/blog/id/nextjs-multilingual-seo-comparison.md +6 -0
  66. package/blog/it/internationalization_and_SEO.md +6 -0
  67. package/blog/it/intlayer_with_i18next.md +8 -4
  68. package/blog/it/intlayer_with_next-i18next.md +8 -4
  69. package/blog/it/intlayer_with_next-intl.md +8 -4
  70. package/blog/it/intlayer_with_react-i18next.md +8 -4
  71. package/blog/it/intlayer_with_react-intl.md +8 -4
  72. package/blog/it/intlayer_with_vue-i18n.md +8 -4
  73. package/blog/it/nextjs-multilingual-seo-comparison.md +6 -0
  74. package/blog/ja/internationalization_and_SEO.md +6 -0
  75. package/blog/ja/intlayer_with_i18next.md +8 -4
  76. package/blog/ja/intlayer_with_next-i18next.md +8 -4
  77. package/blog/ja/intlayer_with_next-intl.md +8 -4
  78. package/blog/ja/intlayer_with_react-i18next.md +8 -4
  79. package/blog/ja/intlayer_with_react-intl.md +8 -4
  80. package/blog/ja/intlayer_with_vue-i18n.md +8 -4
  81. package/blog/ja/nextjs-multilingual-seo-comparison.md +6 -0
  82. package/blog/ko/internationalization_and_SEO.md +6 -0
  83. package/blog/ko/intlayer_with_i18next.md +8 -4
  84. package/blog/ko/intlayer_with_next-i18next.md +8 -4
  85. package/blog/ko/intlayer_with_next-intl.md +8 -4
  86. package/blog/ko/intlayer_with_react-i18next.md +8 -4
  87. package/blog/ko/intlayer_with_react-intl.md +8 -4
  88. package/blog/ko/intlayer_with_vue-i18n.md +8 -4
  89. package/blog/ko/nextjs-multilingual-seo-comparison.md +6 -0
  90. package/blog/pl/internationalization_and_SEO.md +6 -0
  91. package/blog/pl/intlayer_with_i18next.md +8 -4
  92. package/blog/pl/intlayer_with_next-i18next.md +8 -4
  93. package/blog/pl/intlayer_with_next-intl.md +8 -4
  94. package/blog/pl/intlayer_with_react-i18next.md +8 -4
  95. package/blog/pl/intlayer_with_react-intl.md +8 -4
  96. package/blog/pl/intlayer_with_vue-i18n.md +8 -4
  97. package/blog/pl/nextjs-multilingual-seo-comparison.md +6 -0
  98. package/blog/pt/internationalization_and_SEO.md +6 -0
  99. package/blog/pt/intlayer_with_i18next.md +8 -4
  100. package/blog/pt/intlayer_with_next-i18next.md +8 -4
  101. package/blog/pt/intlayer_with_next-intl.md +8 -4
  102. package/blog/pt/intlayer_with_react-i18next.md +8 -4
  103. package/blog/pt/intlayer_with_react-intl.md +8 -4
  104. package/blog/pt/intlayer_with_vue-i18n.md +8 -4
  105. package/blog/pt/nextjs-multilingual-seo-comparison.md +6 -0
  106. package/blog/ru/internationalization_and_SEO.md +6 -0
  107. package/blog/ru/intlayer_with_i18next.md +8 -4
  108. package/blog/ru/intlayer_with_next-i18next.md +8 -4
  109. package/blog/ru/intlayer_with_next-intl.md +8 -4
  110. package/blog/ru/intlayer_with_react-i18next.md +8 -4
  111. package/blog/ru/intlayer_with_react-intl.md +8 -4
  112. package/blog/ru/intlayer_with_vue-i18n.md +8 -4
  113. package/blog/ru/nextjs-multilingual-seo-comparison.md +6 -0
  114. package/blog/tr/internationalization_and_SEO.md +6 -0
  115. package/blog/tr/intlayer_with_i18next.md +8 -4
  116. package/blog/tr/intlayer_with_next-i18next.md +8 -4
  117. package/blog/tr/intlayer_with_next-intl.md +8 -4
  118. package/blog/tr/intlayer_with_react-i18next.md +8 -4
  119. package/blog/tr/intlayer_with_react-intl.md +8 -4
  120. package/blog/tr/intlayer_with_vue-i18n.md +8 -4
  121. package/blog/tr/nextjs-multilingual-seo-comparison.md +6 -0
  122. package/blog/uk/internationalization_and_SEO.md +6 -0
  123. package/blog/uk/intlayer_with_i18next.md +8 -4
  124. package/blog/uk/intlayer_with_next-i18next.md +8 -4
  125. package/blog/uk/intlayer_with_next-intl.md +8 -4
  126. package/blog/uk/intlayer_with_react-i18next.md +8 -4
  127. package/blog/uk/intlayer_with_react-intl.md +8 -4
  128. package/blog/uk/intlayer_with_vue-i18n.md +8 -4
  129. package/blog/uk/nextjs-multilingual-seo-comparison.md +6 -0
  130. package/blog/vi/internationalization_and_SEO.md +6 -0
  131. package/blog/vi/intlayer_with_i18next.md +8 -4
  132. package/blog/vi/intlayer_with_next-i18next.md +8 -4
  133. package/blog/vi/intlayer_with_next-intl.md +8 -4
  134. package/blog/vi/intlayer_with_react-i18next.md +8 -4
  135. package/blog/vi/intlayer_with_react-intl.md +8 -4
  136. package/blog/vi/intlayer_with_vue-i18n.md +8 -4
  137. package/blog/vi/nextjs-multilingual-seo-comparison.md +6 -0
  138. package/blog/zh/internationalization_and_SEO.md +6 -0
  139. package/blog/zh/nextjs-multilingual-seo-comparison.md +6 -0
  140. package/dist/cjs/authors.cjs.map +1 -1
  141. package/dist/cjs/blog.cjs.map +1 -1
  142. package/dist/cjs/common.cjs +2 -1
  143. package/dist/cjs/common.cjs.map +1 -1
  144. package/dist/cjs/doc.cjs.map +1 -1
  145. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  146. package/dist/cjs/generated/blog.entry.cjs +0 -1
  147. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  148. package/dist/cjs/generated/docs.entry.cjs +60 -1
  149. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  150. package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -1
  151. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  152. package/dist/cjs/generated/legal.entry.cjs +0 -1
  153. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  154. package/dist/cjs/legal.cjs.map +1 -1
  155. package/dist/esm/authors.mjs.map +1 -1
  156. package/dist/esm/blog.mjs.map +1 -1
  157. package/dist/esm/common.mjs +2 -1
  158. package/dist/esm/common.mjs.map +1 -1
  159. package/dist/esm/doc.mjs.map +1 -1
  160. package/dist/esm/frequentQuestions.mjs.map +1 -1
  161. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  162. package/dist/esm/generated/docs.entry.mjs +60 -0
  163. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  164. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  165. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  166. package/dist/esm/legal.mjs.map +1 -1
  167. package/dist/types/authors.d.ts +16 -8
  168. package/dist/types/authors.d.ts.map +1 -1
  169. package/dist/types/blog.d.ts +0 -1
  170. package/dist/types/blog.d.ts.map +1 -1
  171. package/dist/types/common.d.ts +0 -1
  172. package/dist/types/common.d.ts.map +1 -1
  173. package/dist/types/doc.d.ts +0 -1
  174. package/dist/types/doc.d.ts.map +1 -1
  175. package/dist/types/frequentQuestions.d.ts +0 -1
  176. package/dist/types/frequentQuestions.d.ts.map +1 -1
  177. package/dist/types/generated/blog.entry.d.ts +0 -1
  178. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  179. package/dist/types/generated/docs.entry.d.ts +3 -1
  180. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  181. package/dist/types/generated/frequentQuestions.entry.d.ts +0 -1
  182. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  183. package/dist/types/generated/legal.entry.d.ts +0 -1
  184. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  185. package/dist/types/legal.d.ts +0 -1
  186. package/dist/types/legal.d.ts.map +1 -1
  187. package/docs/ar/bundle_optimization.md +16 -0
  188. package/docs/ar/cli/index.md +1 -1
  189. package/docs/ar/cli/scan.md +2 -2
  190. package/docs/ar/configuration.md +42 -1
  191. package/docs/ar/how_works_intlayer.md +2 -2
  192. package/docs/ar/intlayer_CMS.md +14 -122
  193. package/docs/ar/intlayer_with_adonisjs.md +8 -4
  194. package/docs/ar/intlayer_with_analog.md +8 -4
  195. package/docs/ar/intlayer_with_angular_19.md +8 -4
  196. package/docs/ar/intlayer_with_angular_21.md +8 -4
  197. package/docs/ar/intlayer_with_astro_lit.md +11 -7
  198. package/docs/ar/intlayer_with_astro_preact.md +8 -4
  199. package/docs/ar/intlayer_with_astro_react.md +8 -4
  200. package/docs/ar/intlayer_with_astro_solid.md +8 -4
  201. package/docs/ar/intlayer_with_astro_svelte.md +8 -4
  202. package/docs/ar/intlayer_with_astro_vanilla.md +8 -4
  203. package/docs/ar/intlayer_with_astro_vue.md +8 -4
  204. package/docs/ar/intlayer_with_create_react_app.md +8 -4
  205. package/docs/ar/intlayer_with_express.md +8 -4
  206. package/docs/ar/intlayer_with_fastify.md +8 -4
  207. package/docs/ar/intlayer_with_hono.md +8 -4
  208. package/docs/ar/intlayer_with_lynx+react.md +8 -4
  209. package/docs/ar/intlayer_with_nestjs.md +8 -4
  210. package/docs/ar/intlayer_with_next-i18next.md +8 -4
  211. package/docs/ar/intlayer_with_nextjs_14.md +8 -4
  212. package/docs/ar/intlayer_with_nextjs_15.md +10 -8
  213. package/docs/ar/intlayer_with_nextjs_16.md +10 -8
  214. package/docs/ar/intlayer_with_nextjs_compiler.md +9 -7
  215. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +10 -8
  216. package/docs/ar/intlayer_with_nextjs_page_router.md +8 -4
  217. package/docs/ar/intlayer_with_nuxt.md +9 -5
  218. package/docs/ar/intlayer_with_react_native+expo.md +8 -4
  219. package/docs/ar/intlayer_with_react_router_v7.md +9 -5
  220. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +9 -5
  221. package/docs/ar/intlayer_with_svelte_kit.md +8 -4
  222. package/docs/ar/intlayer_with_tanstack+solid.md +9 -5
  223. package/docs/ar/intlayer_with_tanstack.md +10 -7
  224. package/docs/ar/intlayer_with_vite+lit.md +8 -4
  225. package/docs/ar/intlayer_with_vite+preact.md +9 -5
  226. package/docs/ar/intlayer_with_vite+react.md +9 -5
  227. package/docs/ar/intlayer_with_vite+react_compiler.md +9 -5
  228. package/docs/ar/intlayer_with_vite+solid.md +9 -5
  229. package/docs/ar/intlayer_with_vite+svelte.md +8 -4
  230. package/docs/ar/intlayer_with_vite+vanilla.md +8 -4
  231. package/docs/ar/intlayer_with_vite+vue.md +9 -5
  232. package/docs/ar/live-sync.md +174 -0
  233. package/docs/ar/migration_from_i18next_to_intlayer.md +8 -4
  234. package/docs/ar/migration_from_next-i18next_to_intlayer.md +8 -4
  235. package/docs/ar/migration_from_next-intl_to_intlayer.md +9 -7
  236. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  237. package/docs/ar/migration_from_react-i18next_to_intlayer.md +9 -7
  238. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +8 -4
  239. package/docs/ar/releases/v9.md +128 -33
  240. package/docs/ar/self_hosting.md +350 -0
  241. package/docs/bn/bundle_optimization.md +16 -0
  242. package/docs/bn/cli/index.md +1 -1
  243. package/docs/bn/cli/scan.md +2 -2
  244. package/docs/bn/configuration.md +45 -1
  245. package/docs/bn/intlayer_CMS.md +570 -0
  246. package/docs/bn/intlayer_with_angular_21.md +8 -4
  247. package/docs/bn/intlayer_with_fastify.md +8 -4
  248. package/docs/bn/intlayer_with_hono.md +8 -4
  249. package/docs/bn/intlayer_with_vite+lit.md +8 -4
  250. package/docs/bn/intlayer_with_vite+vanilla.md +8 -4
  251. package/docs/bn/releases/v9.md +349 -0
  252. package/docs/cs/bundle_optimization.md +16 -0
  253. package/docs/cs/cli/index.md +1 -1
  254. package/docs/cs/cli/scan.md +2 -2
  255. package/docs/cs/configuration.md +45 -1
  256. package/docs/cs/intlayer_with_angular_21.md +8 -4
  257. package/docs/cs/intlayer_with_fastify.md +8 -4
  258. package/docs/cs/intlayer_with_hono.md +8 -4
  259. package/docs/cs/intlayer_with_vite+lit.md +8 -4
  260. package/docs/cs/intlayer_with_vite+vanilla.md +8 -4
  261. package/docs/cs/releases/v9.md +349 -0
  262. package/docs/de/bundle_optimization.md +16 -0
  263. package/docs/de/cli/index.md +1 -1
  264. package/docs/de/cli/scan.md +2 -2
  265. package/docs/de/configuration.md +42 -1
  266. package/docs/de/how_works_intlayer.md +2 -2
  267. package/docs/de/intlayer_CMS.md +86 -100
  268. package/docs/de/intlayer_with_adonisjs.md +8 -4
  269. package/docs/de/intlayer_with_analog.md +8 -4
  270. package/docs/de/intlayer_with_angular_19.md +8 -4
  271. package/docs/de/intlayer_with_angular_21.md +8 -4
  272. package/docs/de/intlayer_with_astro_lit.md +11 -7
  273. package/docs/de/intlayer_with_astro_preact.md +8 -4
  274. package/docs/de/intlayer_with_astro_react.md +8 -4
  275. package/docs/de/intlayer_with_astro_solid.md +8 -4
  276. package/docs/de/intlayer_with_astro_svelte.md +8 -4
  277. package/docs/de/intlayer_with_astro_vanilla.md +8 -4
  278. package/docs/de/intlayer_with_astro_vue.md +8 -4
  279. package/docs/de/intlayer_with_create_react_app.md +8 -4
  280. package/docs/de/intlayer_with_express.md +8 -4
  281. package/docs/de/intlayer_with_fastify.md +8 -4
  282. package/docs/de/intlayer_with_hono.md +8 -4
  283. package/docs/de/intlayer_with_lynx+react.md +8 -4
  284. package/docs/de/intlayer_with_nestjs.md +8 -4
  285. package/docs/de/intlayer_with_next-i18next.md +8 -4
  286. package/docs/de/intlayer_with_nextjs_14.md +8 -4
  287. package/docs/de/intlayer_with_nextjs_15.md +10 -8
  288. package/docs/de/intlayer_with_nextjs_16.md +10 -8
  289. package/docs/de/intlayer_with_nextjs_no_locale_path.md +10 -8
  290. package/docs/de/intlayer_with_nextjs_page_router.md +8 -4
  291. package/docs/de/intlayer_with_nuxt.md +9 -5
  292. package/docs/de/intlayer_with_react_native+expo.md +8 -4
  293. package/docs/de/intlayer_with_react_router_v7.md +9 -5
  294. package/docs/de/intlayer_with_svelte_kit.md +8 -4
  295. package/docs/de/intlayer_with_tanstack+solid.md +9 -5
  296. package/docs/de/intlayer_with_tanstack.md +10 -7
  297. package/docs/de/intlayer_with_vite+lit.md +8 -4
  298. package/docs/de/intlayer_with_vite+preact.md +9 -5
  299. package/docs/de/intlayer_with_vite+react.md +9 -5
  300. package/docs/de/intlayer_with_vite+react_compiler.md +9 -5
  301. package/docs/de/intlayer_with_vite+solid.md +9 -5
  302. package/docs/de/intlayer_with_vite+vanilla.md +8 -4
  303. package/docs/de/intlayer_with_vite+vue.md +9 -5
  304. package/docs/de/live-sync.md +174 -0
  305. package/docs/de/migration_from_i18next_to_intlayer.md +8 -4
  306. package/docs/de/migration_from_next-i18next_to_intlayer.md +8 -4
  307. package/docs/de/migration_from_next-intl_to_intlayer.md +9 -7
  308. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  309. package/docs/de/migration_from_react-i18next_to_intlayer.md +9 -7
  310. package/docs/de/migration_from_vue-i18n_to_intlayer.md +8 -4
  311. package/docs/de/releases/v9.md +131 -33
  312. package/docs/de/self_hosting.md +350 -0
  313. package/docs/en/analytics.md +222 -0
  314. package/docs/en/bundle_optimization.md +16 -0
  315. package/docs/en/cli/index.md +1 -1
  316. package/docs/en/cli/scan.md +2 -2
  317. package/docs/en/configuration.md +42 -1
  318. package/docs/en/how_works_intlayer.md +2 -2
  319. package/docs/en/intlayer_CMS.md +143 -107
  320. package/docs/en/intlayer_with_adonisjs.md +8 -4
  321. package/docs/en/intlayer_with_analog.md +8 -4
  322. package/docs/en/intlayer_with_angular_19.md +8 -4
  323. package/docs/en/intlayer_with_angular_21.md +8 -4
  324. package/docs/en/intlayer_with_astro.md +8 -4
  325. package/docs/en/intlayer_with_astro_lit.md +11 -7
  326. package/docs/en/intlayer_with_astro_preact.md +8 -4
  327. package/docs/en/intlayer_with_astro_react.md +8 -4
  328. package/docs/en/intlayer_with_astro_solid.md +8 -4
  329. package/docs/en/intlayer_with_astro_svelte.md +8 -4
  330. package/docs/en/intlayer_with_astro_vanilla.md +8 -4
  331. package/docs/en/intlayer_with_astro_vue.md +8 -4
  332. package/docs/en/intlayer_with_create_react_app.md +8 -4
  333. package/docs/en/intlayer_with_express.md +8 -4
  334. package/docs/en/intlayer_with_fastify.md +8 -4
  335. package/docs/en/intlayer_with_hono.md +8 -4
  336. package/docs/en/intlayer_with_lynx+react.md +8 -4
  337. package/docs/en/intlayer_with_nestjs.md +8 -4
  338. package/docs/en/intlayer_with_next-i18next.md +8 -4
  339. package/docs/en/intlayer_with_nextjs_14.md +8 -4
  340. package/docs/en/intlayer_with_nextjs_15.md +9 -7
  341. package/docs/en/intlayer_with_nextjs_16.md +10 -8
  342. package/docs/en/intlayer_with_nextjs_compiler.md +10 -8
  343. package/docs/en/intlayer_with_nextjs_no_locale_path.md +10 -8
  344. package/docs/en/intlayer_with_nextjs_page_router.md +8 -4
  345. package/docs/en/intlayer_with_nuxt.md +9 -5
  346. package/docs/en/intlayer_with_react_native+expo.md +8 -4
  347. package/docs/en/intlayer_with_react_router_v7.md +9 -5
  348. package/docs/en/intlayer_with_svelte_kit.md +8 -4
  349. package/docs/en/intlayer_with_tanstack+solid.md +9 -5
  350. package/docs/en/intlayer_with_tanstack.md +10 -7
  351. package/docs/en/intlayer_with_vite+lit.md +8 -4
  352. package/docs/en/intlayer_with_vite+preact.md +9 -5
  353. package/docs/en/intlayer_with_vite+react.md +9 -5
  354. package/docs/en/intlayer_with_vite+react_compiler.md +9 -5
  355. package/docs/en/intlayer_with_vite+solid.md +9 -5
  356. package/docs/en/intlayer_with_vite+svelte.md +8 -4
  357. package/docs/en/intlayer_with_vite+vanilla.md +8 -4
  358. package/docs/en/intlayer_with_vite+vue.md +9 -5
  359. package/docs/en/live-sync.md +184 -0
  360. package/docs/en/migration_from_i18next_to_intlayer.md +8 -4
  361. package/docs/en/migration_from_next-i18next_to_intlayer.md +8 -4
  362. package/docs/en/migration_from_next-intl_to_intlayer.md +9 -7
  363. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  364. package/docs/en/migration_from_react-i18next_to_intlayer.md +9 -7
  365. package/docs/en/migration_from_vue-i18n_to_intlayer.md +8 -4
  366. package/docs/en/releases/v9.md +124 -29
  367. package/docs/en/self_hosting.md +310 -0
  368. package/docs/en-GB/bundle_optimization.md +16 -0
  369. package/docs/en-GB/cli/index.md +1 -1
  370. package/docs/en-GB/cli/scan.md +2 -2
  371. package/docs/en-GB/configuration.md +42 -1
  372. package/docs/en-GB/how_works_intlayer.md +2 -2
  373. package/docs/en-GB/intlayer_CMS.md +14 -122
  374. package/docs/en-GB/intlayer_with_adonisjs.md +8 -4
  375. package/docs/en-GB/intlayer_with_analog.md +8 -4
  376. package/docs/en-GB/intlayer_with_angular_19.md +8 -4
  377. package/docs/en-GB/intlayer_with_angular_21.md +8 -4
  378. package/docs/en-GB/intlayer_with_astro_lit.md +11 -7
  379. package/docs/en-GB/intlayer_with_astro_preact.md +8 -4
  380. package/docs/en-GB/intlayer_with_astro_react.md +8 -4
  381. package/docs/en-GB/intlayer_with_astro_solid.md +8 -4
  382. package/docs/en-GB/intlayer_with_astro_svelte.md +8 -4
  383. package/docs/en-GB/intlayer_with_astro_vanilla.md +8 -4
  384. package/docs/en-GB/intlayer_with_astro_vue.md +8 -4
  385. package/docs/en-GB/intlayer_with_create_react_app.md +16 -8
  386. package/docs/en-GB/intlayer_with_express.md +8 -4
  387. package/docs/en-GB/intlayer_with_fastify.md +8 -4
  388. package/docs/en-GB/intlayer_with_hono.md +8 -4
  389. package/docs/en-GB/intlayer_with_lynx+react.md +16 -8
  390. package/docs/en-GB/intlayer_with_nestjs.md +8 -4
  391. package/docs/en-GB/intlayer_with_next-i18next.md +8 -4
  392. package/docs/en-GB/intlayer_with_nextjs_14.md +8 -4
  393. package/docs/en-GB/intlayer_with_nextjs_15.md +10 -8
  394. package/docs/en-GB/intlayer_with_nextjs_16.md +10 -8
  395. package/docs/en-GB/intlayer_with_nextjs_compiler.md +9 -7
  396. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +10 -8
  397. package/docs/en-GB/intlayer_with_nextjs_page_router.md +8 -4
  398. package/docs/en-GB/intlayer_with_nuxt.md +9 -5
  399. package/docs/en-GB/intlayer_with_react_native+expo.md +8 -4
  400. package/docs/en-GB/intlayer_with_react_router_v7.md +9 -5
  401. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +9 -5
  402. package/docs/en-GB/intlayer_with_svelte_kit.md +8 -4
  403. package/docs/en-GB/intlayer_with_tanstack+solid.md +9 -5
  404. package/docs/en-GB/intlayer_with_tanstack.md +10 -7
  405. package/docs/en-GB/intlayer_with_vite+lit.md +8 -4
  406. package/docs/en-GB/intlayer_with_vite+preact.md +9 -5
  407. package/docs/en-GB/intlayer_with_vite+react.md +9 -5
  408. package/docs/en-GB/intlayer_with_vite+react_compiler.md +9 -5
  409. package/docs/en-GB/intlayer_with_vite+solid.md +9 -5
  410. package/docs/en-GB/intlayer_with_vite+svelte.md +8 -4
  411. package/docs/en-GB/intlayer_with_vite+vanilla.md +8 -4
  412. package/docs/en-GB/intlayer_with_vite+vue.md +9 -5
  413. package/docs/en-GB/live-sync.md +173 -0
  414. package/docs/en-GB/migration_from_i18next_to_intlayer.md +8 -4
  415. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +8 -4
  416. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +9 -7
  417. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  418. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +9 -7
  419. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +8 -4
  420. package/docs/en-GB/releases/v9.md +117 -26
  421. package/docs/en-GB/self_hosting.md +350 -0
  422. package/docs/es/bundle_optimization.md +16 -0
  423. package/docs/es/cli/index.md +1 -1
  424. package/docs/es/cli/scan.md +2 -2
  425. package/docs/es/configuration.md +42 -1
  426. package/docs/es/how_works_intlayer.md +2 -2
  427. package/docs/es/intlayer_CMS.md +85 -104
  428. package/docs/es/intlayer_with_adonisjs.md +8 -4
  429. package/docs/es/intlayer_with_analog.md +8 -4
  430. package/docs/es/intlayer_with_angular_19.md +8 -4
  431. package/docs/es/intlayer_with_angular_21.md +8 -4
  432. package/docs/es/intlayer_with_astro_lit.md +11 -7
  433. package/docs/es/intlayer_with_astro_preact.md +8 -4
  434. package/docs/es/intlayer_with_astro_react.md +8 -4
  435. package/docs/es/intlayer_with_astro_solid.md +8 -4
  436. package/docs/es/intlayer_with_astro_svelte.md +8 -4
  437. package/docs/es/intlayer_with_astro_vanilla.md +8 -4
  438. package/docs/es/intlayer_with_astro_vue.md +8 -4
  439. package/docs/es/intlayer_with_create_react_app.md +8 -4
  440. package/docs/es/intlayer_with_express.md +8 -4
  441. package/docs/es/intlayer_with_fastify.md +8 -4
  442. package/docs/es/intlayer_with_hono.md +8 -4
  443. package/docs/es/intlayer_with_lynx+react.md +8 -4
  444. package/docs/es/intlayer_with_nestjs.md +8 -4
  445. package/docs/es/intlayer_with_next-i18next.md +8 -4
  446. package/docs/es/intlayer_with_nextjs_14.md +8 -4
  447. package/docs/es/intlayer_with_nextjs_15.md +10 -8
  448. package/docs/es/intlayer_with_nextjs_16.md +10 -8
  449. package/docs/es/intlayer_with_nextjs_compiler.md +9 -7
  450. package/docs/es/intlayer_with_nextjs_no_locale_path.md +10 -8
  451. package/docs/es/intlayer_with_nextjs_page_router.md +8 -4
  452. package/docs/es/intlayer_with_nuxt.md +9 -5
  453. package/docs/es/intlayer_with_react_native+expo.md +8 -4
  454. package/docs/es/intlayer_with_react_router_v7.md +9 -5
  455. package/docs/es/intlayer_with_svelte_kit.md +8 -4
  456. package/docs/es/intlayer_with_tanstack+solid.md +9 -5
  457. package/docs/es/intlayer_with_tanstack.md +10 -7
  458. package/docs/es/intlayer_with_vite+lit.md +8 -4
  459. package/docs/es/intlayer_with_vite+preact.md +9 -5
  460. package/docs/es/intlayer_with_vite+react.md +9 -5
  461. package/docs/es/intlayer_with_vite+react_compiler.md +9 -5
  462. package/docs/es/intlayer_with_vite+solid.md +9 -5
  463. package/docs/es/intlayer_with_vite+svelte.md +8 -4
  464. package/docs/es/intlayer_with_vite+vanilla.md +8 -4
  465. package/docs/es/intlayer_with_vite+vue.md +9 -5
  466. package/docs/es/live-sync.md +176 -0
  467. package/docs/es/migration_from_i18next_to_intlayer.md +8 -4
  468. package/docs/es/migration_from_next-i18next_to_intlayer.md +8 -4
  469. package/docs/es/migration_from_next-intl_to_intlayer.md +9 -7
  470. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  471. package/docs/es/migration_from_react-i18next_to_intlayer.md +9 -7
  472. package/docs/es/migration_from_vue-i18n_to_intlayer.md +8 -4
  473. package/docs/es/releases/v9.md +131 -33
  474. package/docs/es/self_hosting.md +350 -0
  475. package/docs/fr/bundle_optimization.md +16 -0
  476. package/docs/fr/cli/index.md +1 -1
  477. package/docs/fr/cli/scan.md +2 -2
  478. package/docs/fr/configuration.md +42 -1
  479. package/docs/fr/how_works_intlayer.md +2 -2
  480. package/docs/fr/intlayer_CMS.md +86 -100
  481. package/docs/fr/intlayer_with_adonisjs.md +8 -4
  482. package/docs/fr/intlayer_with_analog.md +8 -4
  483. package/docs/fr/intlayer_with_angular_19.md +8 -4
  484. package/docs/fr/intlayer_with_angular_21.md +8 -4
  485. package/docs/fr/intlayer_with_astro_lit.md +11 -7
  486. package/docs/fr/intlayer_with_astro_preact.md +8 -4
  487. package/docs/fr/intlayer_with_astro_react.md +8 -4
  488. package/docs/fr/intlayer_with_astro_solid.md +8 -4
  489. package/docs/fr/intlayer_with_astro_svelte.md +8 -4
  490. package/docs/fr/intlayer_with_astro_vanilla.md +8 -4
  491. package/docs/fr/intlayer_with_astro_vue.md +8 -4
  492. package/docs/fr/intlayer_with_create_react_app.md +8 -4
  493. package/docs/fr/intlayer_with_express.md +8 -4
  494. package/docs/fr/intlayer_with_fastify.md +8 -4
  495. package/docs/fr/intlayer_with_hono.md +8 -4
  496. package/docs/fr/intlayer_with_lynx+react.md +8 -4
  497. package/docs/fr/intlayer_with_nestjs.md +8 -4
  498. package/docs/fr/intlayer_with_next-i18next.md +8 -4
  499. package/docs/fr/intlayer_with_nextjs_14.md +8 -4
  500. package/docs/fr/intlayer_with_nextjs_15.md +10 -8
  501. package/docs/fr/intlayer_with_nextjs_16.md +10 -8
  502. package/docs/fr/intlayer_with_nextjs_compiler.md +9 -7
  503. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +10 -8
  504. package/docs/fr/intlayer_with_nextjs_page_router.md +8 -4
  505. package/docs/fr/intlayer_with_nuxt.md +9 -5
  506. package/docs/fr/intlayer_with_react_native+expo.md +8 -4
  507. package/docs/fr/intlayer_with_react_router_v7.md +9 -5
  508. package/docs/fr/intlayer_with_svelte_kit.md +8 -4
  509. package/docs/fr/intlayer_with_tanstack+solid.md +9 -5
  510. package/docs/fr/intlayer_with_tanstack.md +10 -7
  511. package/docs/fr/intlayer_with_vite+lit.md +8 -4
  512. package/docs/fr/intlayer_with_vite+preact.md +9 -5
  513. package/docs/fr/intlayer_with_vite+react.md +9 -5
  514. package/docs/fr/intlayer_with_vite+react_compiler.md +9 -5
  515. package/docs/fr/intlayer_with_vite+solid.md +9 -5
  516. package/docs/fr/intlayer_with_vite+svelte.md +8 -4
  517. package/docs/fr/intlayer_with_vite+vanilla.md +8 -4
  518. package/docs/fr/intlayer_with_vite+vue.md +9 -5
  519. package/docs/fr/live-sync.md +174 -0
  520. package/docs/fr/migration_from_i18next_to_intlayer.md +8 -4
  521. package/docs/fr/migration_from_next-i18next_to_intlayer.md +8 -4
  522. package/docs/fr/migration_from_next-intl_to_intlayer.md +9 -7
  523. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  524. package/docs/fr/migration_from_react-i18next_to_intlayer.md +9 -7
  525. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +8 -4
  526. package/docs/fr/releases/v9.md +131 -25
  527. package/docs/fr/self_hosting.md +350 -0
  528. package/docs/hi/bundle_optimization.md +16 -0
  529. package/docs/hi/cli/index.md +1 -1
  530. package/docs/hi/cli/scan.md +2 -2
  531. package/docs/hi/configuration.md +42 -1
  532. package/docs/hi/how_works_intlayer.md +2 -2
  533. package/docs/hi/intlayer_CMS.md +14 -122
  534. package/docs/hi/intlayer_with_adonisjs.md +8 -4
  535. package/docs/hi/intlayer_with_analog.md +8 -4
  536. package/docs/hi/intlayer_with_angular_19.md +8 -4
  537. package/docs/hi/intlayer_with_angular_21.md +8 -4
  538. package/docs/hi/intlayer_with_astro_vue.md +8 -4
  539. package/docs/hi/intlayer_with_create_react_app.md +8 -4
  540. package/docs/hi/intlayer_with_express.md +8 -4
  541. package/docs/hi/intlayer_with_fastify.md +8 -4
  542. package/docs/hi/intlayer_with_hono.md +8 -4
  543. package/docs/hi/intlayer_with_lynx+react.md +8 -4
  544. package/docs/hi/intlayer_with_nestjs.md +8 -4
  545. package/docs/hi/intlayer_with_next-i18next.md +8 -4
  546. package/docs/hi/intlayer_with_nextjs_14.md +8 -4
  547. package/docs/hi/intlayer_with_nextjs_15.md +10 -8
  548. package/docs/hi/intlayer_with_nextjs_16.md +10 -8
  549. package/docs/hi/intlayer_with_nextjs_compiler.md +8 -4
  550. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +10 -8
  551. package/docs/hi/intlayer_with_nextjs_page_router.md +8 -4
  552. package/docs/hi/intlayer_with_nuxt.md +9 -5
  553. package/docs/hi/intlayer_with_react_native+expo.md +8 -4
  554. package/docs/hi/intlayer_with_react_router_v7.md +9 -5
  555. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +9 -5
  556. package/docs/hi/intlayer_with_svelte_kit.md +8 -4
  557. package/docs/hi/intlayer_with_tanstack+solid.md +9 -5
  558. package/docs/hi/intlayer_with_tanstack.md +10 -7
  559. package/docs/hi/intlayer_with_vite+lit.md +8 -4
  560. package/docs/hi/intlayer_with_vite+preact.md +9 -5
  561. package/docs/hi/intlayer_with_vite+react.md +9 -5
  562. package/docs/hi/intlayer_with_vite+react_compiler.md +9 -5
  563. package/docs/hi/intlayer_with_vite+solid.md +9 -5
  564. package/docs/hi/intlayer_with_vite+svelte.md +8 -4
  565. package/docs/hi/intlayer_with_vite+vanilla.md +8 -4
  566. package/docs/hi/intlayer_with_vite+vue.md +9 -5
  567. package/docs/hi/live-sync.md +174 -0
  568. package/docs/hi/migration_from_i18next_to_intlayer.md +8 -4
  569. package/docs/hi/migration_from_next-i18next_to_intlayer.md +8 -4
  570. package/docs/hi/migration_from_next-intl_to_intlayer.md +9 -7
  571. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  572. package/docs/hi/migration_from_react-i18next_to_intlayer.md +9 -7
  573. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +8 -4
  574. package/docs/hi/packages/intlayer/index.md +8 -4
  575. package/docs/hi/releases/v9.md +129 -33
  576. package/docs/hi/self_hosting.md +350 -0
  577. package/docs/id/bundle_optimization.md +16 -0
  578. package/docs/id/cli/index.md +1 -1
  579. package/docs/id/cli/scan.md +2 -2
  580. package/docs/id/configuration.md +42 -1
  581. package/docs/id/how_works_intlayer.md +2 -2
  582. package/docs/id/intlayer_CMS.md +5 -139
  583. package/docs/id/intlayer_with_adonisjs.md +8 -4
  584. package/docs/id/intlayer_with_analog.md +8 -4
  585. package/docs/id/intlayer_with_angular_19.md +8 -4
  586. package/docs/id/intlayer_with_angular_21.md +8 -4
  587. package/docs/id/intlayer_with_astro_lit.md +11 -7
  588. package/docs/id/intlayer_with_astro_preact.md +8 -4
  589. package/docs/id/intlayer_with_astro_react.md +8 -4
  590. package/docs/id/intlayer_with_astro_solid.md +8 -4
  591. package/docs/id/intlayer_with_astro_svelte.md +8 -4
  592. package/docs/id/intlayer_with_astro_vanilla.md +8 -4
  593. package/docs/id/intlayer_with_astro_vue.md +8 -4
  594. package/docs/id/intlayer_with_create_react_app.md +8 -4
  595. package/docs/id/intlayer_with_express.md +8 -4
  596. package/docs/id/intlayer_with_fastify.md +8 -4
  597. package/docs/id/intlayer_with_hono.md +8 -4
  598. package/docs/id/intlayer_with_lynx+react.md +8 -4
  599. package/docs/id/intlayer_with_nestjs.md +8 -4
  600. package/docs/id/intlayer_with_next-i18next.md +8 -4
  601. package/docs/id/intlayer_with_nextjs_14.md +8 -4
  602. package/docs/id/intlayer_with_nextjs_15.md +9 -7
  603. package/docs/id/intlayer_with_nextjs_16.md +10 -8
  604. package/docs/id/intlayer_with_nextjs_compiler.md +8 -4
  605. package/docs/id/intlayer_with_nextjs_no_locale_path.md +10 -8
  606. package/docs/id/intlayer_with_nextjs_page_router.md +8 -4
  607. package/docs/id/intlayer_with_nuxt.md +9 -5
  608. package/docs/id/intlayer_with_react_native+expo.md +8 -4
  609. package/docs/id/intlayer_with_react_router_v7.md +9 -5
  610. package/docs/id/intlayer_with_svelte_kit.md +8 -4
  611. package/docs/id/intlayer_with_tanstack+solid.md +9 -5
  612. package/docs/id/intlayer_with_tanstack.md +10 -7
  613. package/docs/id/intlayer_with_vite+lit.md +8 -4
  614. package/docs/id/intlayer_with_vite+preact.md +9 -5
  615. package/docs/id/intlayer_with_vite+react.md +9 -5
  616. package/docs/id/intlayer_with_vite+react_compiler.md +9 -5
  617. package/docs/id/intlayer_with_vite+solid.md +9 -5
  618. package/docs/id/intlayer_with_vite+svelte.md +8 -4
  619. package/docs/id/intlayer_with_vite+vanilla.md +8 -4
  620. package/docs/id/intlayer_with_vite+vue.md +9 -5
  621. package/docs/id/live-sync.md +185 -0
  622. package/docs/id/migration_from_i18next_to_intlayer.md +8 -4
  623. package/docs/id/migration_from_next-i18next_to_intlayer.md +8 -4
  624. package/docs/id/migration_from_next-intl_to_intlayer.md +9 -7
  625. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  626. package/docs/id/migration_from_react-i18next_to_intlayer.md +9 -7
  627. package/docs/id/migration_from_vue-i18n_to_intlayer.md +8 -4
  628. package/docs/id/releases/v9.md +101 -33
  629. package/docs/id/self_hosting.md +350 -0
  630. package/docs/it/bundle_optimization.md +16 -0
  631. package/docs/it/cli/index.md +1 -1
  632. package/docs/it/cli/scan.md +2 -2
  633. package/docs/it/configuration.md +42 -1
  634. package/docs/it/how_works_intlayer.md +2 -2
  635. package/docs/it/intlayer_CMS.md +87 -94
  636. package/docs/it/intlayer_with_adonisjs.md +8 -4
  637. package/docs/it/intlayer_with_analog.md +8 -4
  638. package/docs/it/intlayer_with_angular_19.md +8 -4
  639. package/docs/it/intlayer_with_angular_21.md +8 -4
  640. package/docs/it/intlayer_with_astro_lit.md +11 -7
  641. package/docs/it/intlayer_with_astro_preact.md +8 -4
  642. package/docs/it/intlayer_with_astro_react.md +8 -4
  643. package/docs/it/intlayer_with_astro_solid.md +8 -4
  644. package/docs/it/intlayer_with_astro_svelte.md +8 -4
  645. package/docs/it/intlayer_with_astro_vanilla.md +8 -4
  646. package/docs/it/intlayer_with_astro_vue.md +8 -4
  647. package/docs/it/intlayer_with_create_react_app.md +8 -4
  648. package/docs/it/intlayer_with_express.md +8 -4
  649. package/docs/it/intlayer_with_fastify.md +8 -4
  650. package/docs/it/intlayer_with_hono.md +8 -4
  651. package/docs/it/intlayer_with_lynx+react.md +8 -4
  652. package/docs/it/intlayer_with_nestjs.md +8 -4
  653. package/docs/it/intlayer_with_next-i18next.md +8 -4
  654. package/docs/it/intlayer_with_nextjs_14.md +8 -4
  655. package/docs/it/intlayer_with_nextjs_15.md +10 -8
  656. package/docs/it/intlayer_with_nextjs_16.md +10 -8
  657. package/docs/it/intlayer_with_nextjs_compiler.md +9 -7
  658. package/docs/it/intlayer_with_nextjs_no_locale_path.md +10 -8
  659. package/docs/it/intlayer_with_nextjs_page_router.md +8 -4
  660. package/docs/it/intlayer_with_nuxt.md +9 -5
  661. package/docs/it/intlayer_with_react_native+expo.md +8 -4
  662. package/docs/it/intlayer_with_react_router_v7.md +9 -5
  663. package/docs/it/intlayer_with_svelte_kit.md +8 -4
  664. package/docs/it/intlayer_with_tanstack+solid.md +9 -5
  665. package/docs/it/intlayer_with_tanstack.md +10 -7
  666. package/docs/it/intlayer_with_vite+lit.md +8 -4
  667. package/docs/it/intlayer_with_vite+preact.md +9 -5
  668. package/docs/it/intlayer_with_vite+react.md +10 -6
  669. package/docs/it/intlayer_with_vite+react_compiler.md +9 -5
  670. package/docs/it/intlayer_with_vite+solid.md +9 -5
  671. package/docs/it/intlayer_with_vite+svelte.md +8 -4
  672. package/docs/it/intlayer_with_vite+vanilla.md +8 -4
  673. package/docs/it/intlayer_with_vite+vue.md +9 -5
  674. package/docs/it/live-sync.md +174 -0
  675. package/docs/it/migration_from_i18next_to_intlayer.md +8 -4
  676. package/docs/it/migration_from_next-i18next_to_intlayer.md +8 -4
  677. package/docs/it/migration_from_next-intl_to_intlayer.md +8 -4
  678. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  679. package/docs/it/migration_from_react-i18next_to_intlayer.md +9 -7
  680. package/docs/it/migration_from_vue-i18n_to_intlayer.md +8 -4
  681. package/docs/it/releases/v9.md +131 -33
  682. package/docs/it/self_hosting.md +350 -0
  683. package/docs/ja/bundle_optimization.md +16 -0
  684. package/docs/ja/cli/index.md +1 -1
  685. package/docs/ja/cli/scan.md +2 -2
  686. package/docs/ja/configuration.md +42 -1
  687. package/docs/ja/how_works_intlayer.md +2 -2
  688. package/docs/ja/intlayer_CMS.md +149 -102
  689. package/docs/ja/intlayer_with_adonisjs.md +8 -4
  690. package/docs/ja/intlayer_with_analog.md +8 -4
  691. package/docs/ja/intlayer_with_angular_19.md +8 -4
  692. package/docs/ja/intlayer_with_angular_21.md +8 -4
  693. package/docs/ja/intlayer_with_astro_lit.md +11 -7
  694. package/docs/ja/intlayer_with_astro_preact.md +8 -4
  695. package/docs/ja/intlayer_with_astro_react.md +8 -4
  696. package/docs/ja/intlayer_with_astro_solid.md +8 -4
  697. package/docs/ja/intlayer_with_astro_svelte.md +8 -4
  698. package/docs/ja/intlayer_with_astro_vanilla.md +8 -4
  699. package/docs/ja/intlayer_with_astro_vue.md +8 -4
  700. package/docs/ja/intlayer_with_create_react_app.md +8 -4
  701. package/docs/ja/intlayer_with_express.md +8 -4
  702. package/docs/ja/intlayer_with_fastify.md +8 -4
  703. package/docs/ja/intlayer_with_hono.md +8 -4
  704. package/docs/ja/intlayer_with_lynx+react.md +8 -4
  705. package/docs/ja/intlayer_with_nestjs.md +8 -4
  706. package/docs/ja/intlayer_with_next-i18next.md +8 -4
  707. package/docs/ja/intlayer_with_nextjs_14.md +8 -4
  708. package/docs/ja/intlayer_with_nextjs_15.md +10 -8
  709. package/docs/ja/intlayer_with_nextjs_16.md +10 -8
  710. package/docs/ja/intlayer_with_nextjs_compiler.md +8 -4
  711. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +10 -8
  712. package/docs/ja/intlayer_with_nextjs_page_router.md +8 -4
  713. package/docs/ja/intlayer_with_nuxt.md +9 -5
  714. package/docs/ja/intlayer_with_react_native+expo.md +8 -4
  715. package/docs/ja/intlayer_with_tanstack+solid.md +9 -5
  716. package/docs/ja/intlayer_with_tanstack.md +10 -7
  717. package/docs/ja/intlayer_with_vite+lit.md +8 -4
  718. package/docs/ja/intlayer_with_vite+preact.md +9 -5
  719. package/docs/ja/intlayer_with_vite+react_compiler.md +9 -5
  720. package/docs/ja/intlayer_with_vite+solid.md +9 -5
  721. package/docs/ja/intlayer_with_vite+svelte.md +8 -4
  722. package/docs/ja/intlayer_with_vite+vanilla.md +8 -4
  723. package/docs/ja/intlayer_with_vite+vue.md +9 -5
  724. package/docs/ja/live-sync.md +185 -0
  725. package/docs/ja/migration_from_i18next_to_intlayer.md +8 -4
  726. package/docs/ja/migration_from_next-i18next_to_intlayer.md +8 -4
  727. package/docs/ja/migration_from_next-intl_to_intlayer.md +9 -7
  728. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  729. package/docs/ja/migration_from_react-i18next_to_intlayer.md +9 -7
  730. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +8 -4
  731. package/docs/ja/releases/v9.md +101 -33
  732. package/docs/ja/self_hosting.md +350 -0
  733. package/docs/ko/bundle_optimization.md +16 -0
  734. package/docs/ko/cli/index.md +1 -1
  735. package/docs/ko/cli/scan.md +2 -2
  736. package/docs/ko/configuration.md +42 -1
  737. package/docs/ko/how_works_intlayer.md +2 -2
  738. package/docs/ko/intlayer_CMS.md +147 -100
  739. package/docs/ko/intlayer_with_adonisjs.md +8 -4
  740. package/docs/ko/intlayer_with_analog.md +8 -4
  741. package/docs/ko/intlayer_with_angular_19.md +8 -4
  742. package/docs/ko/intlayer_with_angular_21.md +8 -4
  743. package/docs/ko/intlayer_with_astro_vue.md +8 -4
  744. package/docs/ko/intlayer_with_create_react_app.md +8 -4
  745. package/docs/ko/intlayer_with_express.md +8 -4
  746. package/docs/ko/intlayer_with_fastify.md +8 -4
  747. package/docs/ko/intlayer_with_hono.md +8 -4
  748. package/docs/ko/intlayer_with_nestjs.md +8 -4
  749. package/docs/ko/intlayer_with_next-i18next.md +8 -4
  750. package/docs/ko/intlayer_with_nextjs_15.md +10 -8
  751. package/docs/ko/intlayer_with_nextjs_16.md +10 -8
  752. package/docs/ko/intlayer_with_nextjs_compiler.md +9 -7
  753. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +10 -8
  754. package/docs/ko/intlayer_with_nextjs_page_router.md +8 -4
  755. package/docs/ko/intlayer_with_nuxt.md +9 -5
  756. package/docs/ko/intlayer_with_react_native+expo.md +8 -4
  757. package/docs/ko/intlayer_with_react_router_v7.md +9 -5
  758. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +9 -5
  759. package/docs/ko/intlayer_with_svelte_kit.md +8 -4
  760. package/docs/ko/intlayer_with_tanstack+solid.md +9 -5
  761. package/docs/ko/intlayer_with_tanstack.md +10 -7
  762. package/docs/ko/intlayer_with_vite+lit.md +8 -4
  763. package/docs/ko/intlayer_with_vite+preact.md +9 -5
  764. package/docs/ko/intlayer_with_vite+react_compiler.md +9 -5
  765. package/docs/ko/intlayer_with_vite+solid.md +9 -5
  766. package/docs/ko/intlayer_with_vite+svelte.md +8 -4
  767. package/docs/ko/intlayer_with_vite+vanilla.md +8 -4
  768. package/docs/ko/intlayer_with_vite+vue.md +9 -5
  769. package/docs/ko/live-sync.md +187 -0
  770. package/docs/ko/migration_from_i18next_to_intlayer.md +8 -4
  771. package/docs/ko/migration_from_next-i18next_to_intlayer.md +8 -4
  772. package/docs/ko/migration_from_next-intl_to_intlayer.md +9 -7
  773. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  774. package/docs/ko/migration_from_react-i18next_to_intlayer.md +9 -7
  775. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +8 -4
  776. package/docs/ko/releases/v9.md +100 -33
  777. package/docs/ko/self_hosting.md +350 -0
  778. package/docs/nl/bundle_optimization.md +16 -0
  779. package/docs/nl/cli/index.md +1 -1
  780. package/docs/nl/cli/scan.md +2 -2
  781. package/docs/nl/configuration.md +45 -1
  782. package/docs/nl/intlayer_with_angular_21.md +8 -4
  783. package/docs/nl/intlayer_with_fastify.md +8 -4
  784. package/docs/nl/intlayer_with_hono.md +8 -4
  785. package/docs/nl/intlayer_with_vite+lit.md +8 -4
  786. package/docs/nl/intlayer_with_vite+vanilla.md +8 -4
  787. package/docs/nl/releases/v9.md +349 -0
  788. package/docs/pl/bundle_optimization.md +16 -0
  789. package/docs/pl/cli/index.md +1 -1
  790. package/docs/pl/cli/scan.md +2 -2
  791. package/docs/pl/configuration.md +45 -1
  792. package/docs/pl/how_works_intlayer.md +2 -2
  793. package/docs/pl/intlayer_CMS.md +14 -133
  794. package/docs/pl/intlayer_with_adonisjs.md +8 -4
  795. package/docs/pl/intlayer_with_analog.md +8 -4
  796. package/docs/pl/intlayer_with_angular_19.md +8 -4
  797. package/docs/pl/intlayer_with_angular_21.md +8 -4
  798. package/docs/pl/intlayer_with_astro_lit.md +11 -7
  799. package/docs/pl/intlayer_with_astro_preact.md +8 -4
  800. package/docs/pl/intlayer_with_astro_react.md +8 -4
  801. package/docs/pl/intlayer_with_astro_solid.md +8 -4
  802. package/docs/pl/intlayer_with_astro_svelte.md +8 -4
  803. package/docs/pl/intlayer_with_astro_vanilla.md +8 -4
  804. package/docs/pl/intlayer_with_astro_vue.md +8 -4
  805. package/docs/pl/intlayer_with_create_react_app.md +8 -4
  806. package/docs/pl/intlayer_with_express.md +8 -4
  807. package/docs/pl/intlayer_with_fastify.md +8 -4
  808. package/docs/pl/intlayer_with_hono.md +8 -4
  809. package/docs/pl/intlayer_with_lynx+react.md +8 -4
  810. package/docs/pl/intlayer_with_nestjs.md +8 -4
  811. package/docs/pl/intlayer_with_next-i18next.md +8 -4
  812. package/docs/pl/intlayer_with_nextjs_14.md +8 -4
  813. package/docs/pl/intlayer_with_nextjs_15.md +9 -7
  814. package/docs/pl/intlayer_with_nextjs_16.md +10 -8
  815. package/docs/pl/intlayer_with_nextjs_compiler.md +8 -4
  816. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +10 -8
  817. package/docs/pl/intlayer_with_nextjs_page_router.md +8 -4
  818. package/docs/pl/intlayer_with_nuxt.md +9 -5
  819. package/docs/pl/intlayer_with_react_native+expo.md +8 -4
  820. package/docs/pl/intlayer_with_react_router_v7.md +9 -5
  821. package/docs/pl/intlayer_with_svelte_kit.md +8 -4
  822. package/docs/pl/intlayer_with_tanstack+solid.md +9 -5
  823. package/docs/pl/intlayer_with_tanstack.md +10 -7
  824. package/docs/pl/intlayer_with_vite+lit.md +8 -4
  825. package/docs/pl/intlayer_with_vite+preact.md +9 -5
  826. package/docs/pl/intlayer_with_vite+react.md +9 -5
  827. package/docs/pl/intlayer_with_vite+react_compiler.md +9 -5
  828. package/docs/pl/intlayer_with_vite+solid.md +9 -5
  829. package/docs/pl/intlayer_with_vite+svelte.md +8 -4
  830. package/docs/pl/intlayer_with_vite+vanilla.md +8 -4
  831. package/docs/pl/intlayer_with_vite+vue.md +9 -5
  832. package/docs/pl/live-sync.md +185 -0
  833. package/docs/pl/migration_from_next-i18next_to_intlayer.md +8 -4
  834. package/docs/pl/migration_from_next-intl_to_intlayer.md +9 -7
  835. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  836. package/docs/pl/migration_from_react-i18next_to_intlayer.md +9 -7
  837. package/docs/pl/releases/v9.md +128 -33
  838. package/docs/pl/self_hosting.md +350 -0
  839. package/docs/pt/bundle_optimization.md +16 -0
  840. package/docs/pt/cli/index.md +1 -1
  841. package/docs/pt/cli/scan.md +2 -2
  842. package/docs/pt/configuration.md +45 -1
  843. package/docs/pt/how_works_intlayer.md +2 -2
  844. package/docs/pt/intlayer_CMS.md +87 -109
  845. package/docs/pt/intlayer_with_adonisjs.md +8 -4
  846. package/docs/pt/intlayer_with_analog.md +8 -4
  847. package/docs/pt/intlayer_with_angular_19.md +8 -4
  848. package/docs/pt/intlayer_with_angular_21.md +8 -4
  849. package/docs/pt/intlayer_with_astro_lit.md +11 -7
  850. package/docs/pt/intlayer_with_astro_preact.md +8 -4
  851. package/docs/pt/intlayer_with_astro_react.md +8 -4
  852. package/docs/pt/intlayer_with_astro_solid.md +8 -4
  853. package/docs/pt/intlayer_with_astro_svelte.md +8 -4
  854. package/docs/pt/intlayer_with_astro_vanilla.md +8 -4
  855. package/docs/pt/intlayer_with_astro_vue.md +8 -4
  856. package/docs/pt/intlayer_with_create_react_app.md +8 -4
  857. package/docs/pt/intlayer_with_express.md +8 -4
  858. package/docs/pt/intlayer_with_fastify.md +8 -4
  859. package/docs/pt/intlayer_with_hono.md +8 -4
  860. package/docs/pt/intlayer_with_lynx+react.md +8 -4
  861. package/docs/pt/intlayer_with_nestjs.md +8 -4
  862. package/docs/pt/intlayer_with_next-i18next.md +8 -4
  863. package/docs/pt/intlayer_with_nextjs_14.md +8 -4
  864. package/docs/pt/intlayer_with_nextjs_15.md +10 -8
  865. package/docs/pt/intlayer_with_nextjs_16.md +10 -8
  866. package/docs/pt/intlayer_with_nextjs_compiler.md +9 -7
  867. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +10 -8
  868. package/docs/pt/intlayer_with_nextjs_page_router.md +8 -4
  869. package/docs/pt/intlayer_with_nuxt.md +9 -5
  870. package/docs/pt/intlayer_with_react_native+expo.md +8 -4
  871. package/docs/pt/intlayer_with_react_router_v7.md +9 -5
  872. package/docs/pt/intlayer_with_svelte_kit.md +8 -4
  873. package/docs/pt/intlayer_with_tanstack+solid.md +9 -5
  874. package/docs/pt/intlayer_with_tanstack.md +10 -7
  875. package/docs/pt/intlayer_with_vite+lit.md +8 -4
  876. package/docs/pt/intlayer_with_vite+preact.md +9 -5
  877. package/docs/pt/intlayer_with_vite+react.md +9 -5
  878. package/docs/pt/intlayer_with_vite+react_compiler.md +9 -5
  879. package/docs/pt/intlayer_with_vite+solid.md +9 -5
  880. package/docs/pt/intlayer_with_vite+svelte.md +8 -4
  881. package/docs/pt/intlayer_with_vite+vanilla.md +8 -4
  882. package/docs/pt/intlayer_with_vite+vue.md +9 -5
  883. package/docs/pt/live-sync.md +174 -0
  884. package/docs/pt/migration_from_i18next_to_intlayer.md +8 -4
  885. package/docs/pt/migration_from_next-i18next_to_intlayer.md +8 -4
  886. package/docs/pt/migration_from_next-intl_to_intlayer.md +9 -7
  887. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  888. package/docs/pt/migration_from_react-i18next_to_intlayer.md +9 -7
  889. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +8 -4
  890. package/docs/pt/releases/v9.md +131 -33
  891. package/docs/pt/self_hosting.md +350 -0
  892. package/docs/ru/bundle_optimization.md +16 -0
  893. package/docs/ru/cli/index.md +1 -1
  894. package/docs/ru/cli/scan.md +2 -2
  895. package/docs/ru/configuration.md +42 -1
  896. package/docs/ru/how_works_intlayer.md +2 -2
  897. package/docs/ru/intlayer_CMS.md +149 -102
  898. package/docs/ru/intlayer_with_adonisjs.md +8 -4
  899. package/docs/ru/intlayer_with_analog.md +8 -4
  900. package/docs/ru/intlayer_with_angular_19.md +8 -4
  901. package/docs/ru/intlayer_with_angular_21.md +8 -4
  902. package/docs/ru/intlayer_with_astro_vue.md +8 -4
  903. package/docs/ru/intlayer_with_create_react_app.md +8 -4
  904. package/docs/ru/intlayer_with_express.md +8 -4
  905. package/docs/ru/intlayer_with_fastify.md +8 -4
  906. package/docs/ru/intlayer_with_hono.md +8 -4
  907. package/docs/ru/intlayer_with_lynx+react.md +8 -4
  908. package/docs/ru/intlayer_with_nestjs.md +8 -4
  909. package/docs/ru/intlayer_with_next-i18next.md +8 -4
  910. package/docs/ru/intlayer_with_nextjs_14.md +8 -4
  911. package/docs/ru/intlayer_with_nextjs_15.md +10 -8
  912. package/docs/ru/intlayer_with_nextjs_16.md +10 -8
  913. package/docs/ru/intlayer_with_nextjs_compiler.md +9 -7
  914. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +10 -8
  915. package/docs/ru/intlayer_with_nextjs_page_router.md +8 -4
  916. package/docs/ru/intlayer_with_nuxt.md +9 -5
  917. package/docs/ru/intlayer_with_react_native+expo.md +8 -4
  918. package/docs/ru/intlayer_with_react_router_v7.md +9 -5
  919. package/docs/ru/intlayer_with_svelte_kit.md +8 -4
  920. package/docs/ru/intlayer_with_tanstack+solid.md +9 -5
  921. package/docs/ru/intlayer_with_tanstack.md +10 -7
  922. package/docs/ru/intlayer_with_vite+lit.md +8 -4
  923. package/docs/ru/intlayer_with_vite+preact.md +9 -5
  924. package/docs/ru/intlayer_with_vite+react.md +9 -5
  925. package/docs/ru/intlayer_with_vite+react_compiler.md +9 -5
  926. package/docs/ru/intlayer_with_vite+solid.md +9 -5
  927. package/docs/ru/intlayer_with_vite+svelte.md +8 -4
  928. package/docs/ru/intlayer_with_vite+vanilla.md +8 -4
  929. package/docs/ru/intlayer_with_vite+vue.md +9 -5
  930. package/docs/ru/live-sync.md +185 -0
  931. package/docs/ru/migration_from_i18next_to_intlayer.md +8 -4
  932. package/docs/ru/migration_from_next-i18next_to_intlayer.md +8 -4
  933. package/docs/ru/migration_from_next-intl_to_intlayer.md +9 -7
  934. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  935. package/docs/ru/migration_from_react-i18next_to_intlayer.md +9 -7
  936. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +8 -4
  937. package/docs/ru/releases/v9.md +129 -33
  938. package/docs/ru/self_hosting.md +350 -0
  939. package/docs/tr/bundle_optimization.md +16 -0
  940. package/docs/tr/cli/index.md +1 -1
  941. package/docs/tr/cli/scan.md +2 -2
  942. package/docs/tr/configuration.md +42 -1
  943. package/docs/tr/how_works_intlayer.md +2 -2
  944. package/docs/tr/intlayer_CMS.md +14 -121
  945. package/docs/tr/intlayer_with_adonisjs.md +8 -4
  946. package/docs/tr/intlayer_with_analog.md +8 -4
  947. package/docs/tr/intlayer_with_angular_19.md +8 -4
  948. package/docs/tr/intlayer_with_angular_21.md +8 -4
  949. package/docs/tr/intlayer_with_astro_lit.md +11 -7
  950. package/docs/tr/intlayer_with_astro_preact.md +8 -4
  951. package/docs/tr/intlayer_with_astro_react.md +8 -4
  952. package/docs/tr/intlayer_with_astro_solid.md +8 -4
  953. package/docs/tr/intlayer_with_astro_svelte.md +8 -4
  954. package/docs/tr/intlayer_with_astro_vanilla.md +8 -4
  955. package/docs/tr/intlayer_with_astro_vue.md +8 -4
  956. package/docs/tr/intlayer_with_create_react_app.md +8 -4
  957. package/docs/tr/intlayer_with_express.md +8 -4
  958. package/docs/tr/intlayer_with_fastify.md +8 -4
  959. package/docs/tr/intlayer_with_hono.md +8 -4
  960. package/docs/tr/intlayer_with_lynx+react.md +8 -4
  961. package/docs/tr/intlayer_with_nestjs.md +8 -4
  962. package/docs/tr/intlayer_with_next-i18next.md +8 -4
  963. package/docs/tr/intlayer_with_nextjs_14.md +8 -4
  964. package/docs/tr/intlayer_with_nextjs_15.md +10 -8
  965. package/docs/tr/intlayer_with_nextjs_16.md +10 -8
  966. package/docs/tr/intlayer_with_nextjs_compiler.md +8 -4
  967. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +10 -8
  968. package/docs/tr/intlayer_with_nextjs_page_router.md +8 -4
  969. package/docs/tr/intlayer_with_nuxt.md +9 -5
  970. package/docs/tr/intlayer_with_react_native+expo.md +8 -4
  971. package/docs/tr/intlayer_with_react_router_v7.md +9 -5
  972. package/docs/tr/intlayer_with_svelte_kit.md +8 -4
  973. package/docs/tr/intlayer_with_tanstack+solid.md +9 -5
  974. package/docs/tr/intlayer_with_tanstack.md +10 -7
  975. package/docs/tr/intlayer_with_vite+lit.md +8 -4
  976. package/docs/tr/intlayer_with_vite+preact.md +9 -5
  977. package/docs/tr/intlayer_with_vite+react.md +9 -5
  978. package/docs/tr/intlayer_with_vite+react_compiler.md +9 -5
  979. package/docs/tr/intlayer_with_vite+solid.md +9 -5
  980. package/docs/tr/intlayer_with_vite+svelte.md +8 -4
  981. package/docs/tr/intlayer_with_vite+vanilla.md +8 -4
  982. package/docs/tr/intlayer_with_vite+vue.md +9 -5
  983. package/docs/tr/live-sync.md +173 -0
  984. package/docs/tr/migration_from_i18next_to_intlayer.md +8 -4
  985. package/docs/tr/migration_from_next-i18next_to_intlayer.md +8 -4
  986. package/docs/tr/migration_from_next-intl_to_intlayer.md +9 -7
  987. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  988. package/docs/tr/migration_from_react-i18next_to_intlayer.md +9 -7
  989. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +8 -4
  990. package/docs/tr/releases/v9.md +116 -33
  991. package/docs/tr/self_hosting.md +350 -0
  992. package/docs/uk/bundle_optimization.md +16 -0
  993. package/docs/uk/cli/index.md +1 -1
  994. package/docs/uk/cli/scan.md +2 -2
  995. package/docs/uk/configuration.md +42 -1
  996. package/docs/uk/how_works_intlayer.md +2 -2
  997. package/docs/uk/intlayer_CMS.md +14 -133
  998. package/docs/uk/intlayer_with_adonisjs.md +8 -4
  999. package/docs/uk/intlayer_with_analog.md +8 -4
  1000. package/docs/uk/intlayer_with_angular_19.md +8 -4
  1001. package/docs/uk/intlayer_with_angular_21.md +8 -4
  1002. package/docs/uk/intlayer_with_astro_lit.md +11 -7
  1003. package/docs/uk/intlayer_with_astro_preact.md +8 -4
  1004. package/docs/uk/intlayer_with_astro_react.md +8 -4
  1005. package/docs/uk/intlayer_with_astro_solid.md +8 -4
  1006. package/docs/uk/intlayer_with_astro_svelte.md +8 -4
  1007. package/docs/uk/intlayer_with_astro_vanilla.md +8 -4
  1008. package/docs/uk/intlayer_with_astro_vue.md +8 -4
  1009. package/docs/uk/intlayer_with_create_react_app.md +8 -4
  1010. package/docs/uk/intlayer_with_express.md +8 -4
  1011. package/docs/uk/intlayer_with_fastify.md +8 -4
  1012. package/docs/uk/intlayer_with_hono.md +8 -4
  1013. package/docs/uk/intlayer_with_lynx+react.md +8 -4
  1014. package/docs/uk/intlayer_with_nestjs.md +8 -4
  1015. package/docs/uk/intlayer_with_next-i18next.md +8 -4
  1016. package/docs/uk/intlayer_with_nextjs_14.md +8 -4
  1017. package/docs/uk/intlayer_with_nextjs_15.md +10 -8
  1018. package/docs/uk/intlayer_with_nextjs_16.md +10 -8
  1019. package/docs/uk/intlayer_with_nextjs_compiler.md +8 -4
  1020. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +10 -8
  1021. package/docs/uk/intlayer_with_nextjs_page_router.md +8 -4
  1022. package/docs/uk/intlayer_with_nuxt.md +9 -5
  1023. package/docs/uk/intlayer_with_react_native+expo.md +8 -4
  1024. package/docs/uk/intlayer_with_react_router_v7.md +9 -5
  1025. package/docs/uk/intlayer_with_svelte_kit.md +8 -4
  1026. package/docs/uk/intlayer_with_tanstack+solid.md +9 -5
  1027. package/docs/uk/intlayer_with_tanstack.md +10 -7
  1028. package/docs/uk/intlayer_with_vite+lit.md +8 -4
  1029. package/docs/uk/intlayer_with_vite+preact.md +9 -5
  1030. package/docs/uk/intlayer_with_vite+react.md +9 -5
  1031. package/docs/uk/intlayer_with_vite+react_compiler.md +9 -5
  1032. package/docs/uk/intlayer_with_vite+solid.md +9 -5
  1033. package/docs/uk/intlayer_with_vite+svelte.md +8 -4
  1034. package/docs/uk/intlayer_with_vite+vanilla.md +8 -4
  1035. package/docs/uk/intlayer_with_vite+vue.md +9 -5
  1036. package/docs/uk/live-sync.md +185 -0
  1037. package/docs/uk/migration_from_i18next_to_intlayer.md +8 -4
  1038. package/docs/uk/migration_from_next-i18next_to_intlayer.md +8 -4
  1039. package/docs/uk/migration_from_next-intl_to_intlayer.md +9 -7
  1040. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1041. package/docs/uk/migration_from_react-i18next_to_intlayer.md +9 -7
  1042. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +8 -4
  1043. package/docs/uk/releases/v9.md +128 -33
  1044. package/docs/uk/self_hosting.md +350 -0
  1045. package/docs/ur/bundle_optimization.md +16 -0
  1046. package/docs/ur/cli/index.md +1 -1
  1047. package/docs/ur/cli/scan.md +2 -2
  1048. package/docs/ur/configuration.md +45 -1
  1049. package/docs/ur/intlayer_with_angular_21.md +8 -4
  1050. package/docs/ur/intlayer_with_fastify.md +8 -4
  1051. package/docs/ur/intlayer_with_hono.md +8 -4
  1052. package/docs/ur/intlayer_with_vite+lit.md +8 -4
  1053. package/docs/ur/intlayer_with_vite+vanilla.md +8 -4
  1054. package/docs/vi/bundle_optimization.md +16 -0
  1055. package/docs/vi/cli/index.md +1 -1
  1056. package/docs/vi/cli/scan.md +2 -2
  1057. package/docs/vi/configuration.md +42 -1
  1058. package/docs/vi/how_works_intlayer.md +2 -2
  1059. package/docs/vi/intlayer_CMS.md +5 -139
  1060. package/docs/vi/intlayer_with_adonisjs.md +8 -4
  1061. package/docs/vi/intlayer_with_analog.md +8 -4
  1062. package/docs/vi/intlayer_with_angular_19.md +8 -4
  1063. package/docs/vi/intlayer_with_angular_21.md +8 -4
  1064. package/docs/vi/intlayer_with_astro_lit.md +11 -7
  1065. package/docs/vi/intlayer_with_astro_preact.md +8 -4
  1066. package/docs/vi/intlayer_with_astro_react.md +8 -4
  1067. package/docs/vi/intlayer_with_astro_solid.md +8 -4
  1068. package/docs/vi/intlayer_with_astro_svelte.md +8 -4
  1069. package/docs/vi/intlayer_with_astro_vanilla.md +8 -4
  1070. package/docs/vi/intlayer_with_astro_vue.md +8 -4
  1071. package/docs/vi/intlayer_with_create_react_app.md +8 -4
  1072. package/docs/vi/intlayer_with_express.md +8 -4
  1073. package/docs/vi/intlayer_with_fastify.md +8 -4
  1074. package/docs/vi/intlayer_with_hono.md +8 -4
  1075. package/docs/vi/intlayer_with_lynx+react.md +8 -4
  1076. package/docs/vi/intlayer_with_nestjs.md +8 -4
  1077. package/docs/vi/intlayer_with_next-i18next.md +8 -4
  1078. package/docs/vi/intlayer_with_nextjs_14.md +8 -4
  1079. package/docs/vi/intlayer_with_nextjs_15.md +9 -7
  1080. package/docs/vi/intlayer_with_nextjs_16.md +10 -8
  1081. package/docs/vi/intlayer_with_nextjs_compiler.md +8 -4
  1082. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -8
  1083. package/docs/vi/intlayer_with_nextjs_page_router.md +8 -4
  1084. package/docs/vi/intlayer_with_nuxt.md +9 -5
  1085. package/docs/vi/intlayer_with_react_native+expo.md +8 -4
  1086. package/docs/vi/intlayer_with_react_router_v7.md +9 -5
  1087. package/docs/vi/intlayer_with_svelte_kit.md +8 -4
  1088. package/docs/vi/intlayer_with_tanstack+solid.md +9 -5
  1089. package/docs/vi/intlayer_with_tanstack.md +10 -7
  1090. package/docs/vi/intlayer_with_vite+lit.md +8 -4
  1091. package/docs/vi/intlayer_with_vite+preact.md +9 -5
  1092. package/docs/vi/intlayer_with_vite+react.md +9 -5
  1093. package/docs/vi/intlayer_with_vite+react_compiler.md +9 -5
  1094. package/docs/vi/intlayer_with_vite+solid.md +9 -5
  1095. package/docs/vi/intlayer_with_vite+svelte.md +8 -4
  1096. package/docs/vi/intlayer_with_vite+vanilla.md +8 -4
  1097. package/docs/vi/intlayer_with_vite+vue.md +9 -5
  1098. package/docs/vi/live-sync.md +185 -0
  1099. package/docs/vi/migration_from_i18next_to_intlayer.md +8 -4
  1100. package/docs/vi/migration_from_next-i18next_to_intlayer.md +8 -4
  1101. package/docs/vi/migration_from_next-intl_to_intlayer.md +9 -7
  1102. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1103. package/docs/vi/migration_from_react-i18next_to_intlayer.md +9 -7
  1104. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +8 -4
  1105. package/docs/vi/releases/v9.md +101 -33
  1106. package/docs/vi/self_hosting.md +350 -0
  1107. package/docs/zh/bundle_optimization.md +16 -0
  1108. package/docs/zh/cli/index.md +1 -1
  1109. package/docs/zh/cli/scan.md +2 -2
  1110. package/docs/zh/configuration.md +42 -1
  1111. package/docs/zh/how_works_intlayer.md +2 -2
  1112. package/docs/zh/intlayer_CMS.md +5 -129
  1113. package/docs/zh/intlayer_with_adonisjs.md +8 -4
  1114. package/docs/zh/intlayer_with_angular_21.md +8 -4
  1115. package/docs/zh/intlayer_with_astro.md +8 -4
  1116. package/docs/zh/intlayer_with_astro_lit.md +11 -7
  1117. package/docs/zh/intlayer_with_astro_preact.md +8 -4
  1118. package/docs/zh/intlayer_with_astro_react.md +8 -4
  1119. package/docs/zh/intlayer_with_astro_solid.md +8 -4
  1120. package/docs/zh/intlayer_with_astro_svelte.md +8 -4
  1121. package/docs/zh/intlayer_with_astro_vanilla.md +8 -4
  1122. package/docs/zh/intlayer_with_astro_vue.md +8 -4
  1123. package/docs/zh/intlayer_with_create_react_app.md +8 -4
  1124. package/docs/zh/intlayer_with_express.md +8 -4
  1125. package/docs/zh/intlayer_with_fastify.md +8 -4
  1126. package/docs/zh/intlayer_with_hono.md +8 -4
  1127. package/docs/zh/intlayer_with_nestjs.md +8 -4
  1128. package/docs/zh/intlayer_with_next-i18next.md +8 -4
  1129. package/docs/zh/intlayer_with_nextjs_14.md +8 -4
  1130. package/docs/zh/intlayer_with_nextjs_15.md +10 -8
  1131. package/docs/zh/intlayer_with_nextjs_16.md +10 -8
  1132. package/docs/zh/intlayer_with_nextjs_compiler.md +9 -7
  1133. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +10 -8
  1134. package/docs/zh/intlayer_with_nextjs_page_router.md +8 -4
  1135. package/docs/zh/intlayer_with_react_native+expo.md +8 -4
  1136. package/docs/zh/intlayer_with_react_router_v7.md +9 -5
  1137. package/docs/zh/intlayer_with_vite+solid.md +9 -5
  1138. package/docs/zh/intlayer_with_vite+svelte.md +8 -4
  1139. package/docs/zh/intlayer_with_vite+vue.md +9 -5
  1140. package/docs/zh/live-sync.md +175 -0
  1141. package/docs/zh/migration_from_i18next_to_intlayer.md +8 -4
  1142. package/docs/zh/migration_from_next-i18next_to_intlayer.md +8 -4
  1143. package/docs/zh/migration_from_next-intl_to_intlayer.md +9 -7
  1144. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1145. package/docs/zh/migration_from_react-i18next_to_intlayer.md +9 -7
  1146. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +8 -4
  1147. package/docs/zh/releases/v9.md +101 -25
  1148. package/docs/zh/self_hosting.md +350 -0
  1149. package/docs/zh-TW/bundle_optimization.md +16 -0
  1150. package/docs/zh-TW/intlayer_with_angular_21.md +8 -4
  1151. package/package.json +10 -10
  1152. package/src/generated/docs.entry.ts +60 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-06-14
3
- updatedAt: 2026-06-26
3
+ updatedAt: 2026-07-08
4
4
  title: 새로운 Intlayer v9 - 무엇이 달라졌나요?
5
5
  description: Intlayer v9의 새로운 기능을 알아보세요. 인기 있는 i18n 라이브러리를 위한 드롭인 호환성 패키지와 컬렉션(Collections), 베리언트(Variants) 지원을 소개합니다.
6
6
  keywords:
@@ -12,6 +12,7 @@ keywords:
12
12
  - i18next
13
13
  - next-intl
14
14
  - vue-i18n
15
+ youtubeVideo: https://www.youtube.com/watch?v=ia6JmVf-kkU
15
16
  slugs:
16
17
  - doc
17
18
  - releases
@@ -23,6 +24,14 @@ author: aymericzip
23
24
 
24
25
  Intlayer v9에 오신 것을 환영합니다! 이번 메이저 릴리스는 주요 i18n 라이브러리(`react-i18next`, `next-intl`, `vue-i18n` 등)를 위한 **호환 어댑터 패키지(Compat Adapter Packages)**를 통해 Intlayer로의 마이그레이션 경로를 획기적으로 단순화하고, **컬렉션(Collections)** 및 **베리언트(Variants)**와 같은 풍부한 콘텐츠 구조 지원을 추가하는 큰 이정표를 세웠습니다.
25
26
 
27
+ <iframe
28
+ src="https://www.youtube.com/embed/ia6JmVf-kkU"
29
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
30
+ title="Demo Video - New Intlayer v9 - What's new?"
31
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
32
+ loading="lazy"
33
+ />
34
+
26
35
  ## 목차
27
36
 
28
37
  <TOC levels={[2]} maxDepth={1} />
@@ -109,36 +118,40 @@ Intlayer v9은 정적인 키-값 객체를 넘어, 딕셔너리가 처음부터
109
118
 
110
119
  CMS에서 관리하는 순서가 있는 아이템 목록(예: FAQ, 제품 또는 블로그 목록)을 정의합니다:
111
120
 
112
- ```ts fileName="faq.content.ts"
121
+ ```ts fileName="faq.1.content.ts"
122
+ import { t, type Dictionary } from "intlayer";
123
+
124
+ export default {
125
+ key: "faq",
126
+ item: 1,
127
+ content: {
128
+ question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
129
+ answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
130
+ },
131
+ } satisfies Dictionary;
132
+ ```
133
+
134
+ ```ts fileName="faq.2.content.ts"
113
135
  import { t, type Dictionary } from "intlayer";
114
136
 
115
137
  export default {
116
138
  key: "faq",
117
- content: [
118
- {
119
- question: t({
120
- ko: "Intlayer가 무엇인가요?",
121
- en: "What is Intlayer?",
122
- fr: "Qu'est-ce qu'Intlayer ?",
123
- }),
124
- answer: t({
125
- ko: "i18n 툴킷입니다.",
126
- en: "An i18n toolkit.",
127
- fr: "Une boîte à outils i18n.",
128
- }),
129
- },
130
- ],
139
+ item: 2,
140
+ content: {
141
+ question: t({ en: "Is it free?", fr: "Est-ce gratuit ?" }),
142
+ answer: t({ en: "Yes, open-source.", fr: "Oui, open-source." }),
143
+ },
131
144
  } satisfies Dictionary;
132
145
  ```
133
146
 
134
147
  #### 사용법:
135
148
 
136
149
  ```ts
137
- // 모든 아이템 가져오기
150
+ // Fetch all items as an array
138
151
  const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
139
152
 
140
- // 인덱스로 단일 아이템 가져오기
141
- const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
153
+ // Fetch a single item by index
154
+ const faq = useIntlayer("faq", { item: 2 }); // -> { question: string, answer: string }
142
155
  ```
143
156
 
144
157
  ### 2. 베리언트 (Variants)
@@ -192,28 +205,52 @@ export default {
192
205
  ```ts
193
206
  // 요청된 아이템만 동적으로 가져옵니다 (Suspense 필요)
194
207
  const product = useIntlayer("product-copy", {
195
- id: "prod_123",
196
- category: "books",
208
+ variant: { id: "prod_123", category: "books" },
197
209
  });
198
210
  ```
199
211
 
200
212
  ---
201
213
 
202
- ## 동적 로딩번들 크기 최적화
203
-
204
- 번들 크기를 극도로 작게 유지하기 위해, Intlayer v9은 동적 지연 로딩(dynamic 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
- },
214
+ ## `@intlayer/analytics`: 콘텐츠 노출 추적 A/B 테스트
215
+
216
+ 새로운 선택적 패키지 [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)는 방문자에게 실제로 어떤 콘텐츠가 표시되는지 알려주며, **Collections & Variants**의 마지막 퍼즐을 완성하여 콘텐츠 A/B 테스트와 변형별 전환 측정을 가능하게 합니다.
217
+
218
+ - **프로바이더 수준 추적**: `IntlayerProvider`(React / Next.js / React Native)는 로드, 라우트 변경, 로케일 변경 시 `page_view` 이벤트를 자동으로 기록합니다.
219
+ - **노드 수준 추적**: `useIntlayer`가 해석될 때마다 `content_exposure` 이벤트가 전송됩니다 — 어떤 딕셔너리 키, 키 경로, 로케일, 그리고 (해당하는 경우) 어떤 A/B **변형**이 표시되었는지. 플러시 창 내에서 동일 노드에 대한 반복 노출은 하나의 이벤트로 병합됩니다.
220
+ - **결정론적 A/B 할당**: `getVariant(experimentKey, variants)`는 서버 왕복 없이 각 세션에 변형을 할당하므로 첫 렌더링 전 깜빡임이 없습니다.
221
+ - **`useConversion()`**: 세션이 노출된 변형에 목표(가입, 클릭, 구매 등)를 귀속시킵니다.
222
+ - **설치하지 않으면 비용 없음**: `@intlayer/editor`와 동일한 tree-shakeable 패턴 — `try/catch`로 감싼 동적 `import()`와, 이를 사용하지 않는 앱에서 전체 통합을 데드 코드로 제거하는 빌드 타임 환경 변수(`INTLAYER_ANALYTICS_ENABLED`).
223
+ - **새로운 설정 스키마 없음**: 기존 `editor.backendURL`(수집 엔드포인트 / 셀프 호스팅)과 `editor.clientId`(프로젝트 키이자 활성화 스위치)를 재사용합니다.
224
+ - **개인정보 보호**: 세션 익명 해시화(SHA-256, 원본 ID 미저장), IP 미저장, 국가 단위의 대략적인 위치 정보만 사용, 약 20초마다 배치로 요청 전송.
225
+ - **대시보드**: 새로운 **Analytics** 페이지(프로젝트 선택 시 사이드바에 표시)에서 활성 사용자, 오늘의 사용자, 지난 7/30/90일 사용자, 방문자 추이 그래프, 로케일 및 위치별 분석을 확인할 수 있습니다.
226
+
227
+ ```tsx fileName="CTAButton.tsx" codeFormat="tsx"
228
+ import { useConversion } from "react-intlayer";
229
+
230
+ const CTAButton = () => {
231
+ const trackConversion = useConversion();
232
+
233
+ return (
234
+ <button
235
+ onClick={() =>
236
+ trackConversion({
237
+ experimentKey: "homepage-hero",
238
+ variant: "black_friday",
239
+ goal: "cta_click",
240
+ })
241
+ }
242
+ >
243
+ Get started
244
+ </button>
245
+ );
213
246
  };
214
247
  ```
215
248
 
216
- 빌드 타임에 `@intlayer/swc` 및 `@intlayer/babel`이 파일을 스캔하여 `useIntlayer` / `getIntlayer` 호출을 트리 쉐이킹(tree-shaking)이 가능한 래퍼(`useDictionary` / `useDictionaryDynamic`)로 대체합니다. 선택한 컬렉션 아이템, 베리언트 또는 로케일에 필요한 콘텐츠만 로드되므로, 프로덕션 번들에 사용되지 않는 번역이 포함되는 것을 방지합니다.
249
+ ```bash packageManager="npm"
250
+ npm install @intlayer/analytics
251
+ ```
252
+
253
+ 현재 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
254
 
218
255
  ---
219
256
 
@@ -296,6 +333,34 @@ npm install intlayer react-native-intlayer
296
333
 
297
334
  ---
298
335
 
336
+ ## CMS SDK: Intlayer를 헤드리스 콘텐츠 데이터베이스로 사용하기
337
+
338
+ Intlayer v9는 CMS를 프로그래밍 방식으로 다루기 위한 깔끔하고 자동 인증되는 SDK를 `@intlayer/api`에 포함합니다. 프로젝트 가져오기, 사전 가져오기, 그리고 자체 서버·스크립트·CI에서의 푸시 또는 업데이트가 가능합니다. 인증(OAuth2 `client_credentials`)은 자동으로 처리되고 갱신됩니다.
339
+
340
+ SDK는 **두 개의 분리된 import**로 나뉘어, 실제로 사용하는 도메인만 번들에 포함됩니다:
341
+
342
+ 1. `createIntlayerCMS` — 자격 증명과 관리되는 토큰을 보유하는 가벼운 **인증기**(도메인 클라이언트는 번들되지 않음).
343
+ 2. `dictionaryEndpoint`, `projectEndpoint`, … — 도메인별 **엔드포인트 바인더**로, 각각 자체 서브패스에서 가져옵니다.
344
+
345
+ ```ts fileName="cms.ts"
346
+ import { createIntlayerCMS } from "@intlayer/api";
347
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
348
+
349
+ // 구성은 선택 사항입니다: 자격 증명은 INTLAYER_CLIENT_ID /
350
+ // INTLAYER_CLIENT_SECRET(`@intlayer/config/built`로 해석됨)로 폴백됩니다.
351
+ const cms = createIntlayerCMS();
352
+
353
+ // 읽기
354
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
355
+
356
+ // 쓰기 — CMS를 데이터베이스처럼 사용
357
+ await dictionaryEndpoint(cms).pushDictionaries([myDictionary]);
358
+ ```
359
+
360
+ > 보안: CMS 자격 증명은 콘텐츠에 대한 쓰기 권한을 부여합니다. 인증기는 항상 **서버 측**에서만 생성하고, `clientId` / `clientSecret`을 브라우저로 절대 보내지 마세요.
361
+
362
+ ---
363
+
299
364
  ## v8에서의 마이그레이션 노트
300
365
 
301
366
  v8에서 업그레이드하는 경우, v9에는 하위 호환성을 깨뜨리는 변경 사항(breaking changes)이 포함되어 있지 않습니다. 하지만 다음과 같은 주요 변경 사항이 있습니다:
@@ -310,4 +375,6 @@ v8에서 업그레이드하는 경우, v9에는 하위 호환성을 깨뜨리는
310
375
 
311
376
  - [호환 어댑터 패키지 가이드](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compat/index.md)
312
377
  - [동적 딕셔너리 - 컬렉션 및 베리언트](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dynamic_dictionaries/index.md)
378
+ - [Analytics - 콘텐츠 노출 추적 및 A/B 테스트](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
313
379
  - [설정 레퍼런스](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)
380
+ - [CMS SDK - @intlayer/api를 통한 프로그래밍 방식 접근](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)
@@ -0,0 +1,350 @@
1
+ ---
2
+ createdAt: 2026-06-30
3
+ updatedAt: 2026-06-30
4
+ title: Intlayer 자체 호스팅
5
+ description: 단일 명령으로 자신만의 인프라에서 완벽한 Intlayer 인스턴스를 실행하세요. Intlayer Cloud 계정이 필요하지 않습니다.
6
+ keywords:
7
+ - 자체 호스팅
8
+ - Docker
9
+ - Docker Compose
10
+ - Intlayer
11
+ - CMS
12
+ - 설치
13
+ - 인프라
14
+ slugs:
15
+ - doc
16
+ - self-hosting
17
+ author: aymericzip
18
+ ---
19
+
20
+ # Intlayer 자체 호스팅
21
+
22
+ Intlayer는 Intlayer Cloud 계정 없이도 자체 인프라에서 완전히 실행될 수 있습니다. 단일 명령으로 프로덕션 준비 스택을 부팅합니다:
23
+
24
+ ```sh
25
+ curl -fsSL https://intlayer.org/install.sh | sh
26
+ ```
27
+
28
+ 설치 프로그램은 `docker-compose.yml` 및 `.env` 파일을 다운로드하고, 필요한 비밀을 자동으로 생성하며, `docker compose up -d` 명령으로 모든 컨테이너를 시작합니다.
29
+
30
+ ## 목차
31
+
32
+ <TOC/>
33
+
34
+ ---
35
+
36
+ ## 아키텍처
37
+
38
+ ```
39
+ ┌─────────────────────────────┐
40
+ 브라우저 ──────▶ │ 앱 (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
+ (1-노드 RS) (S3 API) (SMTP) (이미지 내)
49
+ minio:9001 mailpit:8025
50
+ (콘솔) (웹 UI)
51
+ ```
52
+
53
+ Chromium (Puppeteer 스크린샷 생성에 사용됨)은 백엔드 이미지 내부에 번들로 제공되므로 별도의 컨테이너가 필요하지 않습니다.
54
+
55
+ ---
56
+
57
+ ## 사전 요구 사항
58
+
59
+ - **Docker** ≥ 24 및 **Docker Compose** ≥ v2. 둘 중 하나라도 없으면 설치 프로그램이 설치 링크를 출력하고 종료됩니다.
60
+ - 호스트에서 포트 `3000`, `3100`, `8025`, `9000`, `9001`이 사용 가능해야 합니다.
61
+ - Linux 또는 macOS 호스트 (또는 Windows의 WSL2).
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` 파일이 없으면 예제 파일을 복사하고 `openssl rand`를 통해 `BETTER_AUTH_SECRET`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`에 대한 임의의 비밀을 생성합니다.
76
+ 4. `docker compose pull` + `docker compose up -d`를 실행합니다.
77
+ 5. 다음 URL을 출력합니다: 대시보드 `:3000`, API `:3100`, 이메일 UI `:8025`, MinIO 콘솔 `:9001`.
78
+
79
+ 스택이 실행되면 **http://localhost:3000**을 열고 첫 번째 계정을 생성하세요.
80
+
81
+ ---
82
+
83
+ ## 서비스
84
+
85
+ | 서비스 | 이미지 | 호스트 포트 | 목적 |
86
+ | ----------- | ---------------------------------- | ----------------------------- | ----------------------------------------------- |
87
+ | **앱** | `apps/app/Dockerfile`에서 빌드 | `3000` | TanStack Start 대시보드 (CMS UI) |
88
+ | **백엔드** | `apps/backend/Dockerfile`에서 빌드 | `3100` | Fastify REST API (`/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` (웹 UI) | 로컬 트랜잭션 이메일 싱크 |
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` | 백엔드 API의 공개 URL |
111
+ | `APP_URL` | `http://localhost:3000` | 대시보드의 공개 URL |
112
+ | `DOMAIN` | `localhost` | 쿠키 도메인 |
113
+ | `MONGODB_URI` | `mongodb://mongo:27017/intlayer?replicaSet=rs0` | 전체 MongoDB 연결 URI |
114
+ | `REDIS_URL` | `redis://redis:6379` | Redis 연결 URL |
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` | AI 기반 번역 및 콘텐츠 감사 |
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
+ * 자체 호스팅 CMS 대시보드의 URL.
160
+ * 기본값: https://app.intlayer.org
161
+ */
162
+ cmsURL: process.env.INTLAYER_CMS_URL, // 예: http://localhost:3000
163
+
164
+ /**
165
+ * 자체 호스팅 백엔드 API의 URL.
166
+ * 기본값: https://back.intlayer.org
167
+ */
168
+ backendURL: process.env.INTLAYER_BACKEND_URL, // 예: http://localhost:3100
169
+ },
170
+ };
171
+
172
+ export default config;
173
+ ```
174
+
175
+ 프로젝트의 `.env` 파일에 환경 변수를 설정하세요:
176
+
177
+ ```sh
178
+ INTLAYER_CMS_URL=http://localhost:3000
179
+ INTLAYER_BACKEND_URL=http://localhost:3100
180
+ INTLAYER_CLIENT_ID=<your-client-id>
181
+ INTLAYER_CLIENT_SECRET=<your-client-secret>
182
+ ```
183
+
184
+ `http://localhost:3000/projects`의 자체 호스팅 대시보드 **프로젝트 → 접근 키**에서 접근 자격 증명을 생성하세요.
185
+
186
+ ### `@intlayer/api` SDK
187
+
188
+ `@intlayer/api` SDK를 프로그래밍 방식으로 사용할 때, `backendURL`을 명시적으로 전달하세요:
189
+
190
+ ```typescript fileName="cms.ts" codeFormat="typescript"
191
+ import { createIntlayerCMS } from "@intlayer/api";
192
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
193
+
194
+ const cms = createIntlayerCMS({
195
+ editor: {
196
+ clientId: process.env.INTLAYER_CLIENT_ID,
197
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
198
+ backendURL: process.env.INTLAYER_BACKEND_URL, // http://localhost:3100
199
+ },
200
+ });
201
+
202
+ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
203
+ ```
204
+
205
+ ---
206
+
207
+ ## 업그레이드
208
+
209
+ 기존 배포에서 설치 프로그램을 다시 실행하면 롤링 업그레이드가 수행됩니다:
210
+
211
+ ```sh
212
+ curl -fsSL https://intlayer.org/install.sh | sh
213
+ ```
214
+
215
+ 이는 최신 이미지를 가져오고 `docker compose pull && docker compose up -d`를 사용하여 컨테이너를 다시 시작합니다. 기존 볼륨(`mongo-data`, `redis-data`, `minio-data`)은 보존되므로 데이터 손실이 없습니다.
216
+
217
+ `./intlayer/` 디렉토리 내부에서 수동으로 업그레이드하려면:
218
+
219
+ ```sh
220
+ docker compose pull
221
+ docker compose up -d
222
+ ```
223
+
224
+ ---
225
+
226
+ ## 백업 및 복원
227
+
228
+ 모든 영구 데이터는 세 개의 명명된 Docker 볼륨에 저장됩니다.
229
+
230
+ ### 백업
231
+
232
+ ```sh
233
+ docker run --rm \
234
+ -v intlayer_mongo-data:/data \
235
+ -v "$(pwd)":/backup \
236
+ busybox tar czf /backup/mongo-data.tar.gz /data
237
+
238
+ docker run --rm \
239
+ -v intlayer_redis-data:/data \
240
+ -v "$(pwd)":/backup \
241
+ busybox tar czf /backup/redis-data.tar.gz /data
242
+
243
+ docker run --rm \
244
+ -v intlayer_minio-data:/data \
245
+ -v "$(pwd)":/backup \
246
+ busybox tar czf /backup/minio-data.tar.gz /data
247
+ ```
248
+
249
+ ### 복원
250
+
251
+ ```sh
252
+ docker run --rm \
253
+ -v intlayer_mongo-data:/data \
254
+ -v "$(pwd)":/backup \
255
+ busybox tar xzf /backup/mongo-data.tar.gz -C /
256
+
257
+ # redis-data 및 minio-data에 대해서도 반복합니다.
258
+ ```
259
+
260
+ ---
261
+
262
+ ## 리버스 프록시 사용 (Nginx / Caddy)
263
+
264
+ 프로덕션 배포의 경우, 앱 및 백엔드 컨테이너를 직접 노출하는 대신 리버스 프록시를 앞에 배치하세요.
265
+
266
+ ### Nginx 예시
267
+
268
+ ```nginx
269
+ server {
270
+ listen 80;
271
+ server_name cms.example.com;
272
+
273
+ location / {
274
+ proxy_pass http://localhost:3000;
275
+ proxy_set_header Host $host;
276
+ proxy_set_header X-Real-IP $remote_addr;
277
+ }
278
+ }
279
+
280
+ server {
281
+ listen 80;
282
+ server_name api.example.com;
283
+
284
+ location / {
285
+ proxy_pass http://localhost:3100;
286
+ proxy_set_header Host $host;
287
+ proxy_set_header X-Real-IP $remote_addr;
288
+ }
289
+ }
290
+ ```
291
+
292
+ 공개 도메인과 일치하도록 다음 `.env` 변수를 업데이트하세요:
293
+
294
+ ```sh
295
+ BACKEND_URL=https://api.example.com
296
+ APP_URL=https://cms.example.com
297
+ DOMAIN=example.com
298
+ VITE_BACKEND_URL=https://api.example.com
299
+ VITE_DOMAIN=example.com
300
+ ```
301
+
302
+ > `VITE_*` 변수는 빌드 시 대시보드 이미지에 내장됩니다. 이미지가 빌드된 후 이를 변경하는 경우, `app` 이미지를 다시 빌드(`docker compose build app`)하거나 런타임 구성 주입을 사용해야 합니다.
303
+
304
+ ---
305
+
306
+ ## 문제 해결
307
+
308
+ ### 첫 시작 시 백엔드 충돌 반복
309
+
310
+ 백엔드가 시작되기 전에 MongoDB와 Redis가 정상 상태여야 합니다. compose 파일은 `condition: service_healthy`와 함께 `depends_on`을 사용합니다. 백엔드 재시작이 반복적으로 발생하면 `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`를 열어 전송된 메시지를 확인하세요. 실제 이메일을 보내려면 `.env` 파일에 `MAIL_PROVIDER=resend` 및 `RESEND_API_KEY=<your-key>`를 설정한 다음 백엔드를 다시 시작하세요:
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/ko/intlayer_CMS.md)
348
+ - [설정 참조](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)
349
+ - [CMS SDK — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/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 vereist de `@intlayer/swc` plugin voor de optimize-stap (import-herschri
231
231
 
232
232
  > Deze plugin is niet standaard geïnstalleerd omdat SWC plugins nog experimenteel zijn voor Next.js. Dit kan in de toekomst veranderen.
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
  Zodra geïnstalleerd, zal Intlayer de plugin automatisch detecteren en gebruiken.
251
267
 
252
268
  Voor de **purge en minify** stappen (veldverwijdering en veldhernoeming), installeert u `@intlayer/babel` en voegt u de Babel-plugins toe. Omdat Next.js SWC gebruikt voor transformatie maar nog steeds `babel.config.js` evalueert voor pluginconfiguratie, draaien de Babel-plugins als een pre-stap voor SWC.
@@ -125,7 +125,7 @@ Om te zien hoe u beschikbare talen of andere parameters configureert, raadpleegt
125
125
 
126
126
  ### Authenticatie
127
127
 
128
- - **[Inloggen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/nl/login.md)** - Authenticeren bij het Intlayer CMS en inloggegevens verkrijgen
128
+ - **[Inloggen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/nl/cli/login.md)** - Authenticeren bij het Intlayer CMS en inloggegevens verkrijgen
129
129
 
130
130
  ### Kerncommando's
131
131
 
@@ -150,10 +150,10 @@ await scan("https://example.com", {
150
150
  });
151
151
  ```
152
152
 
153
- Voor toegang op een lager niveau retourneert `scanWebsite` van `@intlayer/chokidar/scan` een gestructureerd `ScanResult`-object:
153
+ Voor toegang op een lager niveau retourneert `scanWebsite` van `@intlayer/engine/scan` een gestructureerd `ScanResult`-object:
154
154
 
155
155
  ```ts
156
- import { scanWebsite } from "@intlayer/chokidar/scan";
156
+ import { scanWebsite } from "@intlayer/engine/scan";
157
157
 
158
158
  const result = await scanWebsite("https://example.com", { deep: false });
159
159
  console.log(result.score, result.totalPageSize, result.events);
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-06-17
3
+ updatedAt: 2026-07-11
4
4
  title: Configuratie (Configuration)
5
5
  description: Leer hoe u Intlayer configureert voor uw applicatie. Begrijp de verschillende instellingen en opties die beschikbaar zijn om Intlayer aan uw behoeften aan te passen.
6
6
  keywords:
@@ -14,6 +14,12 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 9.0.0
18
+ date: 2026-07-11
19
+ changes: "`analytics` configuratie toegevoegd"
20
+ - version: 9.0.0
21
+ date: 2026-06-24
22
+ changes: "Add `enableProxy` option to the routing configuration"
17
23
  - version: 8.10.0
18
24
  date: 2026-06-17
19
25
  changes: "Optie `format` toegevoegd aan de woordenboekconfiguratie"
@@ -352,6 +358,30 @@ const config: IntlayerConfig = {
352
358
  liveSync: true,
353
359
  },
354
360
 
361
+ /**
362
+ * Analytics-configuratie.
363
+ */
364
+ analytics: {
365
+ /**
366
+ * Of het verzamelen van analytics is ingeschakeld (paginaweergaven, content-exposities, A/B-events).
367
+ * Vereist dat `editor.clientId` is ingesteld voor attributie.
368
+ * Standaard: false
369
+ */
370
+ enabled: true,
371
+
372
+ /**
373
+ * Milliseconden tussen automatische gebundelde verzendingen naar de backend.
374
+ * Standaard: 20000
375
+ */
376
+ flushInterval: 20000,
377
+
378
+ /**
379
+ * Fractie van sessies om te registreren, van 0 (geen) tot 1 (alle).
380
+ * Standaard: 1
381
+ */
382
+ sampleRate: 1,
383
+ },
384
+
355
385
  /**
356
386
  * Instellingen voor vertalingen en genereren met behulp van AI.
357
387
  */
@@ -665,6 +695,20 @@ Definieert de instellingen voor de ingebouwde visuele editor, inclusief de serve
665
695
 
666
696
  ---
667
697
 
698
+ ### Analytics-configuratie (Analytics)
699
+
700
+ Definieert instellingen voor Intlayer analytics: het verzamelen van welke content daadwerkelijk aan gebruikers wordt getoond (paginaweergaven, content-exposities) en het mogelijk maken van A/B-testen op content.
701
+
702
+ Analytics is strikt opt-in: er wordt niets verzameld tenzij `analytics.enabled` expliciet is ingesteld op `true` **en** een projectsleutel (`editor.clientId`) is geconfigureerd voor attributie. Wanneer uitgeschakeld (standaard) wordt de volledige analytics-integratie uit uw applicatiebundel verwijderd (dead-code elimination).
703
+
704
+ | Veld | Beschrijving | Type | Standaard | Voorbeeld | Opmerking |
705
+ | --------------- | ------------------------------------------------------------------------------------------- | --------- | --------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------- |
706
+ | `enabled` | Schakelt het verzamelen van analytics in (paginaweergaven, content-exposities, A/B-events). | `boolean` | `false` | `true` | Vereist dat `editor.clientId` is ingesteld voor attributie; anders blijft analytics uitgeschakeld, zelfs als `enabled` op `true` staat. |
707
+ | `flushInterval` | Milliseconden tussen automatische gebundelde verzendingen naar de backend. | `number` | `20000` | `10000` | |
708
+ | `sampleRate` | Fractie van sessies om te registreren, van `0` (geen) tot `1` (alle). | `number` | `1` | `0.5` | Sampling is deterministisch per sessie, zodat een geregistreerde sessie al zijn events rapporteert (geen gedeeltelijke funnels). |
709
+
710
+ ---
711
+
668
712
  ### Routingconfiguratie (Routing)
669
713
 
670
714
  Instellingen die het gedrag van routing regelen, inclusief URL-structuur, opslag van locales en beheer van middleware.