@intlayer/docs 9.0.0-canary.10 → 9.0.0-canary.12

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 (1044) 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-GB/internationalization_and_SEO.md +6 -0
  26. package/blog/en-GB/intlayer_with_i18next.md +8 -4
  27. package/blog/en-GB/intlayer_with_next-i18next.md +8 -4
  28. package/blog/en-GB/intlayer_with_next-intl.md +8 -4
  29. package/blog/en-GB/intlayer_with_react-i18next.md +8 -4
  30. package/blog/en-GB/intlayer_with_react-intl.md +8 -4
  31. package/blog/en-GB/intlayer_with_vue-i18n.md +8 -4
  32. package/blog/en-GB/nextjs-multilingual-seo-comparison.md +6 -0
  33. package/blog/es/internationalization_and_SEO.md +6 -0
  34. package/blog/es/intlayer_with_i18next.md +8 -4
  35. package/blog/es/intlayer_with_next-i18next.md +8 -4
  36. package/blog/es/intlayer_with_next-intl.md +8 -4
  37. package/blog/es/intlayer_with_react-i18next.md +8 -4
  38. package/blog/es/intlayer_with_react-intl.md +8 -4
  39. package/blog/es/intlayer_with_vue-i18n.md +8 -4
  40. package/blog/es/nextjs-multilingual-seo-comparison.md +6 -0
  41. package/blog/fr/internationalization_and_SEO.md +6 -0
  42. package/blog/fr/intlayer_with_i18next.md +8 -4
  43. package/blog/fr/intlayer_with_next-i18next.md +8 -4
  44. package/blog/fr/intlayer_with_next-intl.md +8 -4
  45. package/blog/fr/intlayer_with_react-i18next.md +8 -4
  46. package/blog/fr/intlayer_with_react-intl.md +8 -4
  47. package/blog/fr/intlayer_with_vue-i18n.md +8 -4
  48. package/blog/fr/nextjs-multilingual-seo-comparison.md +6 -0
  49. package/blog/hi/internationalization_and_SEO.md +6 -0
  50. package/blog/hi/intlayer_with_i18next.md +8 -4
  51. package/blog/hi/intlayer_with_next-i18next.md +8 -4
  52. package/blog/hi/intlayer_with_next-intl.md +8 -4
  53. package/blog/hi/intlayer_with_react-i18next.md +8 -4
  54. package/blog/hi/intlayer_with_react-intl.md +8 -4
  55. package/blog/hi/intlayer_with_vue-i18n.md +8 -4
  56. package/blog/hi/nextjs-multilingual-seo-comparison.md +6 -0
  57. package/blog/id/internationalization_and_SEO.md +6 -0
  58. package/blog/id/intlayer_with_i18next.md +8 -4
  59. package/blog/id/intlayer_with_next-i18next.md +8 -4
  60. package/blog/id/intlayer_with_next-intl.md +8 -4
  61. package/blog/id/intlayer_with_react-i18next.md +8 -4
  62. package/blog/id/intlayer_with_react-intl.md +8 -4
  63. package/blog/id/intlayer_with_vue-i18n.md +8 -4
  64. package/blog/id/nextjs-multilingual-seo-comparison.md +6 -0
  65. package/blog/it/internationalization_and_SEO.md +6 -0
  66. package/blog/it/intlayer_with_i18next.md +8 -4
  67. package/blog/it/intlayer_with_next-i18next.md +8 -4
  68. package/blog/it/intlayer_with_next-intl.md +8 -4
  69. package/blog/it/intlayer_with_react-i18next.md +8 -4
  70. package/blog/it/intlayer_with_react-intl.md +8 -4
  71. package/blog/it/intlayer_with_vue-i18n.md +8 -4
  72. package/blog/it/nextjs-multilingual-seo-comparison.md +6 -0
  73. package/blog/ja/internationalization_and_SEO.md +6 -0
  74. package/blog/ja/intlayer_with_i18next.md +8 -4
  75. package/blog/ja/intlayer_with_next-i18next.md +8 -4
  76. package/blog/ja/intlayer_with_next-intl.md +8 -4
  77. package/blog/ja/intlayer_with_react-i18next.md +8 -4
  78. package/blog/ja/intlayer_with_react-intl.md +8 -4
  79. package/blog/ja/intlayer_with_vue-i18n.md +8 -4
  80. package/blog/ja/nextjs-multilingual-seo-comparison.md +6 -0
  81. package/blog/ko/internationalization_and_SEO.md +6 -0
  82. package/blog/ko/intlayer_with_i18next.md +8 -4
  83. package/blog/ko/intlayer_with_next-i18next.md +8 -4
  84. package/blog/ko/intlayer_with_next-intl.md +8 -4
  85. package/blog/ko/intlayer_with_react-i18next.md +8 -4
  86. package/blog/ko/intlayer_with_react-intl.md +8 -4
  87. package/blog/ko/intlayer_with_vue-i18n.md +8 -4
  88. package/blog/ko/nextjs-multilingual-seo-comparison.md +6 -0
  89. package/blog/pl/internationalization_and_SEO.md +6 -0
  90. package/blog/pl/intlayer_with_i18next.md +8 -4
  91. package/blog/pl/intlayer_with_next-i18next.md +8 -4
  92. package/blog/pl/intlayer_with_next-intl.md +8 -4
  93. package/blog/pl/intlayer_with_react-i18next.md +8 -4
  94. package/blog/pl/intlayer_with_react-intl.md +8 -4
  95. package/blog/pl/intlayer_with_vue-i18n.md +8 -4
  96. package/blog/pl/nextjs-multilingual-seo-comparison.md +6 -0
  97. package/blog/pt/internationalization_and_SEO.md +6 -0
  98. package/blog/pt/intlayer_with_i18next.md +8 -4
  99. package/blog/pt/intlayer_with_next-i18next.md +8 -4
  100. package/blog/pt/intlayer_with_next-intl.md +8 -4
  101. package/blog/pt/intlayer_with_react-i18next.md +8 -4
  102. package/blog/pt/intlayer_with_react-intl.md +8 -4
  103. package/blog/pt/intlayer_with_vue-i18n.md +8 -4
  104. package/blog/pt/nextjs-multilingual-seo-comparison.md +6 -0
  105. package/blog/ru/internationalization_and_SEO.md +6 -0
  106. package/blog/ru/intlayer_with_i18next.md +8 -4
  107. package/blog/ru/intlayer_with_next-i18next.md +8 -4
  108. package/blog/ru/intlayer_with_next-intl.md +8 -4
  109. package/blog/ru/intlayer_with_react-i18next.md +8 -4
  110. package/blog/ru/intlayer_with_react-intl.md +8 -4
  111. package/blog/ru/intlayer_with_vue-i18n.md +8 -4
  112. package/blog/ru/nextjs-multilingual-seo-comparison.md +6 -0
  113. package/blog/tr/internationalization_and_SEO.md +6 -0
  114. package/blog/tr/intlayer_with_i18next.md +8 -4
  115. package/blog/tr/intlayer_with_next-i18next.md +8 -4
  116. package/blog/tr/intlayer_with_next-intl.md +8 -4
  117. package/blog/tr/intlayer_with_react-i18next.md +8 -4
  118. package/blog/tr/intlayer_with_react-intl.md +8 -4
  119. package/blog/tr/intlayer_with_vue-i18n.md +8 -4
  120. package/blog/tr/nextjs-multilingual-seo-comparison.md +6 -0
  121. package/blog/uk/internationalization_and_SEO.md +6 -0
  122. package/blog/uk/intlayer_with_i18next.md +8 -4
  123. package/blog/uk/intlayer_with_next-i18next.md +8 -4
  124. package/blog/uk/intlayer_with_next-intl.md +8 -4
  125. package/blog/uk/intlayer_with_react-i18next.md +8 -4
  126. package/blog/uk/intlayer_with_react-intl.md +8 -4
  127. package/blog/uk/intlayer_with_vue-i18n.md +8 -4
  128. package/blog/uk/nextjs-multilingual-seo-comparison.md +6 -0
  129. package/blog/vi/internationalization_and_SEO.md +6 -0
  130. package/blog/vi/intlayer_with_i18next.md +8 -4
  131. package/blog/vi/intlayer_with_next-i18next.md +8 -4
  132. package/blog/vi/intlayer_with_next-intl.md +8 -4
  133. package/blog/vi/intlayer_with_react-i18next.md +8 -4
  134. package/blog/vi/intlayer_with_react-intl.md +8 -4
  135. package/blog/vi/intlayer_with_vue-i18n.md +8 -4
  136. package/blog/vi/nextjs-multilingual-seo-comparison.md +6 -0
  137. package/blog/zh/internationalization_and_SEO.md +6 -0
  138. package/blog/zh/nextjs-multilingual-seo-comparison.md +6 -0
  139. package/dist/cjs/generated/docs.entry.cjs +20 -0
  140. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  141. package/dist/esm/generated/docs.entry.mjs +20 -0
  142. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  143. package/dist/types/generated/docs.entry.d.ts +1 -0
  144. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  145. package/docs/ar/bundle_optimization.md +16 -0
  146. package/docs/ar/cli/scan.md +2 -2
  147. package/docs/ar/how_works_intlayer.md +2 -2
  148. package/docs/ar/intlayer_CMS.md +16 -1
  149. package/docs/ar/intlayer_with_adonisjs.md +8 -4
  150. package/docs/ar/intlayer_with_analog.md +8 -4
  151. package/docs/ar/intlayer_with_angular_19.md +8 -4
  152. package/docs/ar/intlayer_with_angular_21.md +8 -4
  153. package/docs/ar/intlayer_with_astro_lit.md +11 -7
  154. package/docs/ar/intlayer_with_astro_preact.md +8 -4
  155. package/docs/ar/intlayer_with_astro_react.md +8 -4
  156. package/docs/ar/intlayer_with_astro_solid.md +8 -4
  157. package/docs/ar/intlayer_with_astro_svelte.md +8 -4
  158. package/docs/ar/intlayer_with_astro_vanilla.md +8 -4
  159. package/docs/ar/intlayer_with_astro_vue.md +8 -4
  160. package/docs/ar/intlayer_with_create_react_app.md +8 -4
  161. package/docs/ar/intlayer_with_express.md +8 -4
  162. package/docs/ar/intlayer_with_fastify.md +8 -4
  163. package/docs/ar/intlayer_with_hono.md +8 -4
  164. package/docs/ar/intlayer_with_lynx+react.md +8 -4
  165. package/docs/ar/intlayer_with_nestjs.md +8 -4
  166. package/docs/ar/intlayer_with_next-i18next.md +8 -4
  167. package/docs/ar/intlayer_with_nextjs_14.md +8 -4
  168. package/docs/ar/intlayer_with_nextjs_15.md +10 -8
  169. package/docs/ar/intlayer_with_nextjs_16.md +10 -8
  170. package/docs/ar/intlayer_with_nextjs_compiler.md +9 -7
  171. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +10 -8
  172. package/docs/ar/intlayer_with_nextjs_page_router.md +8 -4
  173. package/docs/ar/intlayer_with_nuxt.md +9 -5
  174. package/docs/ar/intlayer_with_react_native+expo.md +8 -4
  175. package/docs/ar/intlayer_with_react_router_v7.md +9 -5
  176. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +9 -5
  177. package/docs/ar/intlayer_with_svelte_kit.md +8 -4
  178. package/docs/ar/intlayer_with_tanstack+solid.md +9 -5
  179. package/docs/ar/intlayer_with_tanstack.md +10 -7
  180. package/docs/ar/intlayer_with_vite+lit.md +8 -4
  181. package/docs/ar/intlayer_with_vite+preact.md +9 -5
  182. package/docs/ar/intlayer_with_vite+react.md +9 -5
  183. package/docs/ar/intlayer_with_vite+react_compiler.md +9 -5
  184. package/docs/ar/intlayer_with_vite+solid.md +9 -5
  185. package/docs/ar/intlayer_with_vite+svelte.md +8 -4
  186. package/docs/ar/intlayer_with_vite+vanilla.md +8 -4
  187. package/docs/ar/intlayer_with_vite+vue.md +9 -5
  188. package/docs/ar/migration_from_i18next_to_intlayer.md +8 -4
  189. package/docs/ar/migration_from_next-i18next_to_intlayer.md +8 -4
  190. package/docs/ar/migration_from_next-intl_to_intlayer.md +9 -7
  191. package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  192. package/docs/ar/migration_from_react-i18next_to_intlayer.md +9 -7
  193. package/docs/ar/migration_from_vue-i18n_to_intlayer.md +8 -4
  194. package/docs/ar/releases/v9.md +58 -19
  195. package/docs/ar/self_hosting.md +350 -0
  196. package/docs/bn/bundle_optimization.md +16 -0
  197. package/docs/bn/cli/scan.md +2 -2
  198. package/docs/bn/intlayer_CMS.md +570 -0
  199. package/docs/bn/intlayer_with_angular_21.md +8 -4
  200. package/docs/bn/intlayer_with_fastify.md +8 -4
  201. package/docs/bn/intlayer_with_hono.md +8 -4
  202. package/docs/bn/intlayer_with_vite+lit.md +8 -4
  203. package/docs/bn/intlayer_with_vite+vanilla.md +8 -4
  204. package/docs/bn/releases/v9.md +340 -0
  205. package/docs/cs/bundle_optimization.md +16 -0
  206. package/docs/cs/cli/scan.md +2 -2
  207. package/docs/cs/intlayer_with_angular_21.md +8 -4
  208. package/docs/cs/intlayer_with_fastify.md +8 -4
  209. package/docs/cs/intlayer_with_hono.md +8 -4
  210. package/docs/cs/intlayer_with_vite+lit.md +8 -4
  211. package/docs/cs/intlayer_with_vite+vanilla.md +8 -4
  212. package/docs/cs/releases/v9.md +340 -0
  213. package/docs/de/bundle_optimization.md +16 -0
  214. package/docs/de/cli/scan.md +2 -2
  215. package/docs/de/how_works_intlayer.md +2 -2
  216. package/docs/de/intlayer_CMS.md +117 -1
  217. package/docs/de/intlayer_with_adonisjs.md +8 -4
  218. package/docs/de/intlayer_with_analog.md +8 -4
  219. package/docs/de/intlayer_with_angular_19.md +8 -4
  220. package/docs/de/intlayer_with_angular_21.md +8 -4
  221. package/docs/de/intlayer_with_astro_lit.md +11 -7
  222. package/docs/de/intlayer_with_astro_preact.md +8 -4
  223. package/docs/de/intlayer_with_astro_react.md +8 -4
  224. package/docs/de/intlayer_with_astro_solid.md +8 -4
  225. package/docs/de/intlayer_with_astro_svelte.md +8 -4
  226. package/docs/de/intlayer_with_astro_vanilla.md +8 -4
  227. package/docs/de/intlayer_with_astro_vue.md +8 -4
  228. package/docs/de/intlayer_with_create_react_app.md +8 -4
  229. package/docs/de/intlayer_with_express.md +8 -4
  230. package/docs/de/intlayer_with_fastify.md +8 -4
  231. package/docs/de/intlayer_with_hono.md +8 -4
  232. package/docs/de/intlayer_with_lynx+react.md +8 -4
  233. package/docs/de/intlayer_with_nestjs.md +8 -4
  234. package/docs/de/intlayer_with_next-i18next.md +8 -4
  235. package/docs/de/intlayer_with_nextjs_14.md +8 -4
  236. package/docs/de/intlayer_with_nextjs_15.md +10 -8
  237. package/docs/de/intlayer_with_nextjs_16.md +10 -8
  238. package/docs/de/intlayer_with_nextjs_no_locale_path.md +10 -8
  239. package/docs/de/intlayer_with_nextjs_page_router.md +8 -4
  240. package/docs/de/intlayer_with_nuxt.md +9 -5
  241. package/docs/de/intlayer_with_react_native+expo.md +8 -4
  242. package/docs/de/intlayer_with_react_router_v7.md +9 -5
  243. package/docs/de/intlayer_with_svelte_kit.md +8 -4
  244. package/docs/de/intlayer_with_tanstack+solid.md +9 -5
  245. package/docs/de/intlayer_with_tanstack.md +10 -7
  246. package/docs/de/intlayer_with_vite+lit.md +8 -4
  247. package/docs/de/intlayer_with_vite+preact.md +9 -5
  248. package/docs/de/intlayer_with_vite+react.md +9 -5
  249. package/docs/de/intlayer_with_vite+react_compiler.md +9 -5
  250. package/docs/de/intlayer_with_vite+solid.md +9 -5
  251. package/docs/de/intlayer_with_vite+vanilla.md +8 -4
  252. package/docs/de/intlayer_with_vite+vue.md +9 -5
  253. package/docs/de/migration_from_i18next_to_intlayer.md +8 -4
  254. package/docs/de/migration_from_next-i18next_to_intlayer.md +8 -4
  255. package/docs/de/migration_from_next-intl_to_intlayer.md +9 -7
  256. package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  257. package/docs/de/migration_from_react-i18next_to_intlayer.md +9 -7
  258. package/docs/de/migration_from_vue-i18n_to_intlayer.md +8 -4
  259. package/docs/de/releases/v9.md +61 -19
  260. package/docs/de/self_hosting.md +350 -0
  261. package/docs/en/bundle_optimization.md +16 -0
  262. package/docs/en/cli/scan.md +2 -2
  263. package/docs/en/how_works_intlayer.md +2 -2
  264. package/docs/en/intlayer_CMS.md +171 -1
  265. package/docs/en/intlayer_with_adonisjs.md +8 -4
  266. package/docs/en/intlayer_with_analog.md +8 -4
  267. package/docs/en/intlayer_with_angular_19.md +8 -4
  268. package/docs/en/intlayer_with_angular_21.md +8 -4
  269. package/docs/en/intlayer_with_astro.md +8 -4
  270. package/docs/en/intlayer_with_astro_lit.md +11 -7
  271. package/docs/en/intlayer_with_astro_preact.md +8 -4
  272. package/docs/en/intlayer_with_astro_react.md +8 -4
  273. package/docs/en/intlayer_with_astro_solid.md +8 -4
  274. package/docs/en/intlayer_with_astro_svelte.md +8 -4
  275. package/docs/en/intlayer_with_astro_vanilla.md +8 -4
  276. package/docs/en/intlayer_with_astro_vue.md +8 -4
  277. package/docs/en/intlayer_with_create_react_app.md +8 -4
  278. package/docs/en/intlayer_with_express.md +8 -4
  279. package/docs/en/intlayer_with_fastify.md +8 -4
  280. package/docs/en/intlayer_with_hono.md +8 -4
  281. package/docs/en/intlayer_with_lynx+react.md +8 -4
  282. package/docs/en/intlayer_with_nestjs.md +8 -4
  283. package/docs/en/intlayer_with_next-i18next.md +8 -4
  284. package/docs/en/intlayer_with_nextjs_14.md +8 -4
  285. package/docs/en/intlayer_with_nextjs_15.md +9 -7
  286. package/docs/en/intlayer_with_nextjs_16.md +10 -8
  287. package/docs/en/intlayer_with_nextjs_compiler.md +10 -8
  288. package/docs/en/intlayer_with_nextjs_no_locale_path.md +10 -8
  289. package/docs/en/intlayer_with_nextjs_page_router.md +8 -4
  290. package/docs/en/intlayer_with_nuxt.md +9 -5
  291. package/docs/en/intlayer_with_react_native+expo.md +8 -4
  292. package/docs/en/intlayer_with_react_router_v7.md +9 -5
  293. package/docs/en/intlayer_with_svelte_kit.md +8 -4
  294. package/docs/en/intlayer_with_tanstack+solid.md +9 -5
  295. package/docs/en/intlayer_with_tanstack.md +10 -7
  296. package/docs/en/intlayer_with_vite+lit.md +8 -4
  297. package/docs/en/intlayer_with_vite+preact.md +9 -5
  298. package/docs/en/intlayer_with_vite+react.md +9 -5
  299. package/docs/en/intlayer_with_vite+react_compiler.md +9 -5
  300. package/docs/en/intlayer_with_vite+solid.md +9 -5
  301. package/docs/en/intlayer_with_vite+svelte.md +8 -4
  302. package/docs/en/intlayer_with_vite+vanilla.md +8 -4
  303. package/docs/en/intlayer_with_vite+vue.md +9 -5
  304. package/docs/en/migration_from_i18next_to_intlayer.md +8 -4
  305. package/docs/en/migration_from_next-i18next_to_intlayer.md +8 -4
  306. package/docs/en/migration_from_next-intl_to_intlayer.md +9 -7
  307. package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  308. package/docs/en/migration_from_react-i18next_to_intlayer.md +9 -7
  309. package/docs/en/migration_from_vue-i18n_to_intlayer.md +8 -4
  310. package/docs/en/releases/v9.md +45 -20
  311. package/docs/en/self_hosting.md +292 -0
  312. package/docs/en-GB/bundle_optimization.md +16 -0
  313. package/docs/en-GB/cli/scan.md +2 -2
  314. package/docs/en-GB/how_works_intlayer.md +2 -2
  315. package/docs/en-GB/intlayer_CMS.md +16 -1
  316. package/docs/en-GB/intlayer_with_adonisjs.md +8 -4
  317. package/docs/en-GB/intlayer_with_analog.md +8 -4
  318. package/docs/en-GB/intlayer_with_angular_19.md +8 -4
  319. package/docs/en-GB/intlayer_with_angular_21.md +8 -4
  320. package/docs/en-GB/intlayer_with_astro_lit.md +11 -7
  321. package/docs/en-GB/intlayer_with_astro_preact.md +8 -4
  322. package/docs/en-GB/intlayer_with_astro_react.md +8 -4
  323. package/docs/en-GB/intlayer_with_astro_solid.md +8 -4
  324. package/docs/en-GB/intlayer_with_astro_svelte.md +8 -4
  325. package/docs/en-GB/intlayer_with_astro_vanilla.md +8 -4
  326. package/docs/en-GB/intlayer_with_astro_vue.md +8 -4
  327. package/docs/en-GB/intlayer_with_create_react_app.md +16 -8
  328. package/docs/en-GB/intlayer_with_express.md +8 -4
  329. package/docs/en-GB/intlayer_with_fastify.md +8 -4
  330. package/docs/en-GB/intlayer_with_hono.md +8 -4
  331. package/docs/en-GB/intlayer_with_lynx+react.md +16 -8
  332. package/docs/en-GB/intlayer_with_nestjs.md +8 -4
  333. package/docs/en-GB/intlayer_with_next-i18next.md +8 -4
  334. package/docs/en-GB/intlayer_with_nextjs_14.md +8 -4
  335. package/docs/en-GB/intlayer_with_nextjs_15.md +10 -8
  336. package/docs/en-GB/intlayer_with_nextjs_16.md +10 -8
  337. package/docs/en-GB/intlayer_with_nextjs_compiler.md +9 -7
  338. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +10 -8
  339. package/docs/en-GB/intlayer_with_nextjs_page_router.md +8 -4
  340. package/docs/en-GB/intlayer_with_nuxt.md +9 -5
  341. package/docs/en-GB/intlayer_with_react_native+expo.md +8 -4
  342. package/docs/en-GB/intlayer_with_react_router_v7.md +9 -5
  343. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +9 -5
  344. package/docs/en-GB/intlayer_with_svelte_kit.md +8 -4
  345. package/docs/en-GB/intlayer_with_tanstack+solid.md +9 -5
  346. package/docs/en-GB/intlayer_with_tanstack.md +10 -7
  347. package/docs/en-GB/intlayer_with_vite+lit.md +8 -4
  348. package/docs/en-GB/intlayer_with_vite+preact.md +9 -5
  349. package/docs/en-GB/intlayer_with_vite+react.md +9 -5
  350. package/docs/en-GB/intlayer_with_vite+react_compiler.md +9 -5
  351. package/docs/en-GB/intlayer_with_vite+solid.md +9 -5
  352. package/docs/en-GB/intlayer_with_vite+svelte.md +8 -4
  353. package/docs/en-GB/intlayer_with_vite+vanilla.md +8 -4
  354. package/docs/en-GB/intlayer_with_vite+vue.md +9 -5
  355. package/docs/en-GB/migration_from_i18next_to_intlayer.md +8 -4
  356. package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +8 -4
  357. package/docs/en-GB/migration_from_next-intl_to_intlayer.md +9 -7
  358. package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  359. package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +9 -7
  360. package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +8 -4
  361. package/docs/en-GB/releases/v9.md +47 -20
  362. package/docs/en-GB/self_hosting.md +350 -0
  363. package/docs/es/bundle_optimization.md +16 -0
  364. package/docs/es/cli/scan.md +2 -2
  365. package/docs/es/how_works_intlayer.md +2 -2
  366. package/docs/es/intlayer_CMS.md +117 -1
  367. package/docs/es/intlayer_with_adonisjs.md +8 -4
  368. package/docs/es/intlayer_with_analog.md +8 -4
  369. package/docs/es/intlayer_with_angular_19.md +8 -4
  370. package/docs/es/intlayer_with_angular_21.md +8 -4
  371. package/docs/es/intlayer_with_astro_lit.md +11 -7
  372. package/docs/es/intlayer_with_astro_preact.md +8 -4
  373. package/docs/es/intlayer_with_astro_react.md +8 -4
  374. package/docs/es/intlayer_with_astro_solid.md +8 -4
  375. package/docs/es/intlayer_with_astro_svelte.md +8 -4
  376. package/docs/es/intlayer_with_astro_vanilla.md +8 -4
  377. package/docs/es/intlayer_with_astro_vue.md +8 -4
  378. package/docs/es/intlayer_with_create_react_app.md +8 -4
  379. package/docs/es/intlayer_with_express.md +8 -4
  380. package/docs/es/intlayer_with_fastify.md +8 -4
  381. package/docs/es/intlayer_with_hono.md +8 -4
  382. package/docs/es/intlayer_with_lynx+react.md +8 -4
  383. package/docs/es/intlayer_with_nestjs.md +8 -4
  384. package/docs/es/intlayer_with_next-i18next.md +8 -4
  385. package/docs/es/intlayer_with_nextjs_14.md +8 -4
  386. package/docs/es/intlayer_with_nextjs_15.md +10 -8
  387. package/docs/es/intlayer_with_nextjs_16.md +10 -8
  388. package/docs/es/intlayer_with_nextjs_compiler.md +9 -7
  389. package/docs/es/intlayer_with_nextjs_no_locale_path.md +10 -8
  390. package/docs/es/intlayer_with_nextjs_page_router.md +8 -4
  391. package/docs/es/intlayer_with_nuxt.md +9 -5
  392. package/docs/es/intlayer_with_react_native+expo.md +8 -4
  393. package/docs/es/intlayer_with_react_router_v7.md +9 -5
  394. package/docs/es/intlayer_with_svelte_kit.md +8 -4
  395. package/docs/es/intlayer_with_tanstack+solid.md +9 -5
  396. package/docs/es/intlayer_with_tanstack.md +10 -7
  397. package/docs/es/intlayer_with_vite+lit.md +8 -4
  398. package/docs/es/intlayer_with_vite+preact.md +9 -5
  399. package/docs/es/intlayer_with_vite+react.md +9 -5
  400. package/docs/es/intlayer_with_vite+react_compiler.md +9 -5
  401. package/docs/es/intlayer_with_vite+solid.md +9 -5
  402. package/docs/es/intlayer_with_vite+svelte.md +8 -4
  403. package/docs/es/intlayer_with_vite+vanilla.md +8 -4
  404. package/docs/es/intlayer_with_vite+vue.md +9 -5
  405. package/docs/es/migration_from_i18next_to_intlayer.md +8 -4
  406. package/docs/es/migration_from_next-i18next_to_intlayer.md +8 -4
  407. package/docs/es/migration_from_next-intl_to_intlayer.md +9 -7
  408. package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  409. package/docs/es/migration_from_react-i18next_to_intlayer.md +9 -7
  410. package/docs/es/migration_from_vue-i18n_to_intlayer.md +8 -4
  411. package/docs/es/releases/v9.md +61 -19
  412. package/docs/es/self_hosting.md +350 -0
  413. package/docs/fr/bundle_optimization.md +16 -0
  414. package/docs/fr/cli/scan.md +2 -2
  415. package/docs/fr/how_works_intlayer.md +2 -2
  416. package/docs/fr/intlayer_CMS.md +117 -1
  417. package/docs/fr/intlayer_with_adonisjs.md +8 -4
  418. package/docs/fr/intlayer_with_analog.md +8 -4
  419. package/docs/fr/intlayer_with_angular_19.md +8 -4
  420. package/docs/fr/intlayer_with_angular_21.md +8 -4
  421. package/docs/fr/intlayer_with_astro_lit.md +11 -7
  422. package/docs/fr/intlayer_with_astro_preact.md +8 -4
  423. package/docs/fr/intlayer_with_astro_react.md +8 -4
  424. package/docs/fr/intlayer_with_astro_solid.md +8 -4
  425. package/docs/fr/intlayer_with_astro_svelte.md +8 -4
  426. package/docs/fr/intlayer_with_astro_vanilla.md +8 -4
  427. package/docs/fr/intlayer_with_astro_vue.md +8 -4
  428. package/docs/fr/intlayer_with_create_react_app.md +8 -4
  429. package/docs/fr/intlayer_with_express.md +8 -4
  430. package/docs/fr/intlayer_with_fastify.md +8 -4
  431. package/docs/fr/intlayer_with_hono.md +8 -4
  432. package/docs/fr/intlayer_with_lynx+react.md +8 -4
  433. package/docs/fr/intlayer_with_nestjs.md +8 -4
  434. package/docs/fr/intlayer_with_next-i18next.md +8 -4
  435. package/docs/fr/intlayer_with_nextjs_14.md +8 -4
  436. package/docs/fr/intlayer_with_nextjs_15.md +10 -8
  437. package/docs/fr/intlayer_with_nextjs_16.md +10 -8
  438. package/docs/fr/intlayer_with_nextjs_compiler.md +9 -7
  439. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +10 -8
  440. package/docs/fr/intlayer_with_nextjs_page_router.md +8 -4
  441. package/docs/fr/intlayer_with_nuxt.md +9 -5
  442. package/docs/fr/intlayer_with_react_native+expo.md +8 -4
  443. package/docs/fr/intlayer_with_react_router_v7.md +9 -5
  444. package/docs/fr/intlayer_with_svelte_kit.md +8 -4
  445. package/docs/fr/intlayer_with_tanstack+solid.md +9 -5
  446. package/docs/fr/intlayer_with_tanstack.md +10 -7
  447. package/docs/fr/intlayer_with_vite+lit.md +8 -4
  448. package/docs/fr/intlayer_with_vite+preact.md +9 -5
  449. package/docs/fr/intlayer_with_vite+react.md +9 -5
  450. package/docs/fr/intlayer_with_vite+react_compiler.md +9 -5
  451. package/docs/fr/intlayer_with_vite+solid.md +9 -5
  452. package/docs/fr/intlayer_with_vite+svelte.md +8 -4
  453. package/docs/fr/intlayer_with_vite+vanilla.md +8 -4
  454. package/docs/fr/intlayer_with_vite+vue.md +9 -5
  455. package/docs/fr/migration_from_i18next_to_intlayer.md +8 -4
  456. package/docs/fr/migration_from_next-i18next_to_intlayer.md +8 -4
  457. package/docs/fr/migration_from_next-intl_to_intlayer.md +9 -7
  458. package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  459. package/docs/fr/migration_from_react-i18next_to_intlayer.md +9 -7
  460. package/docs/fr/migration_from_vue-i18n_to_intlayer.md +8 -4
  461. package/docs/fr/releases/v9.md +61 -19
  462. package/docs/fr/self_hosting.md +350 -0
  463. package/docs/hi/bundle_optimization.md +16 -0
  464. package/docs/hi/cli/scan.md +2 -2
  465. package/docs/hi/how_works_intlayer.md +2 -2
  466. package/docs/hi/intlayer_CMS.md +16 -1
  467. package/docs/hi/intlayer_with_adonisjs.md +8 -4
  468. package/docs/hi/intlayer_with_analog.md +8 -4
  469. package/docs/hi/intlayer_with_angular_19.md +8 -4
  470. package/docs/hi/intlayer_with_angular_21.md +8 -4
  471. package/docs/hi/intlayer_with_astro_vue.md +8 -4
  472. package/docs/hi/intlayer_with_create_react_app.md +8 -4
  473. package/docs/hi/intlayer_with_express.md +8 -4
  474. package/docs/hi/intlayer_with_fastify.md +8 -4
  475. package/docs/hi/intlayer_with_hono.md +8 -4
  476. package/docs/hi/intlayer_with_lynx+react.md +8 -4
  477. package/docs/hi/intlayer_with_nestjs.md +8 -4
  478. package/docs/hi/intlayer_with_next-i18next.md +8 -4
  479. package/docs/hi/intlayer_with_nextjs_14.md +8 -4
  480. package/docs/hi/intlayer_with_nextjs_15.md +10 -8
  481. package/docs/hi/intlayer_with_nextjs_16.md +10 -8
  482. package/docs/hi/intlayer_with_nextjs_compiler.md +8 -4
  483. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +10 -8
  484. package/docs/hi/intlayer_with_nextjs_page_router.md +8 -4
  485. package/docs/hi/intlayer_with_nuxt.md +9 -5
  486. package/docs/hi/intlayer_with_react_native+expo.md +8 -4
  487. package/docs/hi/intlayer_with_react_router_v7.md +9 -5
  488. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +9 -5
  489. package/docs/hi/intlayer_with_svelte_kit.md +8 -4
  490. package/docs/hi/intlayer_with_tanstack+solid.md +9 -5
  491. package/docs/hi/intlayer_with_tanstack.md +10 -7
  492. package/docs/hi/intlayer_with_vite+lit.md +8 -4
  493. package/docs/hi/intlayer_with_vite+preact.md +9 -5
  494. package/docs/hi/intlayer_with_vite+react.md +9 -5
  495. package/docs/hi/intlayer_with_vite+react_compiler.md +9 -5
  496. package/docs/hi/intlayer_with_vite+solid.md +9 -5
  497. package/docs/hi/intlayer_with_vite+svelte.md +8 -4
  498. package/docs/hi/intlayer_with_vite+vanilla.md +8 -4
  499. package/docs/hi/intlayer_with_vite+vue.md +9 -5
  500. package/docs/hi/migration_from_i18next_to_intlayer.md +8 -4
  501. package/docs/hi/migration_from_next-i18next_to_intlayer.md +8 -4
  502. package/docs/hi/migration_from_next-intl_to_intlayer.md +9 -7
  503. package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  504. package/docs/hi/migration_from_react-i18next_to_intlayer.md +9 -7
  505. package/docs/hi/migration_from_vue-i18n_to_intlayer.md +8 -4
  506. package/docs/hi/packages/intlayer/index.md +8 -4
  507. package/docs/hi/releases/v9.md +59 -19
  508. package/docs/hi/self_hosting.md +350 -0
  509. package/docs/id/bundle_optimization.md +16 -0
  510. package/docs/id/cli/scan.md +2 -2
  511. package/docs/id/how_works_intlayer.md +2 -2
  512. package/docs/id/intlayer_with_adonisjs.md +8 -4
  513. package/docs/id/intlayer_with_analog.md +8 -4
  514. package/docs/id/intlayer_with_angular_19.md +8 -4
  515. package/docs/id/intlayer_with_angular_21.md +8 -4
  516. package/docs/id/intlayer_with_astro_lit.md +11 -7
  517. package/docs/id/intlayer_with_astro_preact.md +8 -4
  518. package/docs/id/intlayer_with_astro_react.md +8 -4
  519. package/docs/id/intlayer_with_astro_solid.md +8 -4
  520. package/docs/id/intlayer_with_astro_svelte.md +8 -4
  521. package/docs/id/intlayer_with_astro_vanilla.md +8 -4
  522. package/docs/id/intlayer_with_astro_vue.md +8 -4
  523. package/docs/id/intlayer_with_create_react_app.md +8 -4
  524. package/docs/id/intlayer_with_express.md +8 -4
  525. package/docs/id/intlayer_with_fastify.md +8 -4
  526. package/docs/id/intlayer_with_hono.md +8 -4
  527. package/docs/id/intlayer_with_lynx+react.md +8 -4
  528. package/docs/id/intlayer_with_nestjs.md +8 -4
  529. package/docs/id/intlayer_with_next-i18next.md +8 -4
  530. package/docs/id/intlayer_with_nextjs_14.md +8 -4
  531. package/docs/id/intlayer_with_nextjs_15.md +9 -7
  532. package/docs/id/intlayer_with_nextjs_16.md +10 -8
  533. package/docs/id/intlayer_with_nextjs_compiler.md +8 -4
  534. package/docs/id/intlayer_with_nextjs_no_locale_path.md +10 -8
  535. package/docs/id/intlayer_with_nextjs_page_router.md +8 -4
  536. package/docs/id/intlayer_with_nuxt.md +9 -5
  537. package/docs/id/intlayer_with_react_native+expo.md +8 -4
  538. package/docs/id/intlayer_with_react_router_v7.md +9 -5
  539. package/docs/id/intlayer_with_svelte_kit.md +8 -4
  540. package/docs/id/intlayer_with_tanstack+solid.md +9 -5
  541. package/docs/id/intlayer_with_tanstack.md +10 -7
  542. package/docs/id/intlayer_with_vite+lit.md +8 -4
  543. package/docs/id/intlayer_with_vite+preact.md +9 -5
  544. package/docs/id/intlayer_with_vite+react.md +9 -5
  545. package/docs/id/intlayer_with_vite+react_compiler.md +9 -5
  546. package/docs/id/intlayer_with_vite+solid.md +9 -5
  547. package/docs/id/intlayer_with_vite+svelte.md +8 -4
  548. package/docs/id/intlayer_with_vite+vanilla.md +8 -4
  549. package/docs/id/intlayer_with_vite+vue.md +9 -5
  550. package/docs/id/migration_from_i18next_to_intlayer.md +8 -4
  551. package/docs/id/migration_from_next-i18next_to_intlayer.md +8 -4
  552. package/docs/id/migration_from_next-intl_to_intlayer.md +9 -7
  553. package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  554. package/docs/id/migration_from_react-i18next_to_intlayer.md +9 -7
  555. package/docs/id/migration_from_vue-i18n_to_intlayer.md +8 -4
  556. package/docs/id/releases/v9.md +31 -19
  557. package/docs/id/self_hosting.md +350 -0
  558. package/docs/it/bundle_optimization.md +16 -0
  559. package/docs/it/cli/scan.md +2 -2
  560. package/docs/it/how_works_intlayer.md +2 -2
  561. package/docs/it/intlayer_CMS.md +117 -1
  562. package/docs/it/intlayer_with_adonisjs.md +8 -4
  563. package/docs/it/intlayer_with_analog.md +8 -4
  564. package/docs/it/intlayer_with_angular_19.md +8 -4
  565. package/docs/it/intlayer_with_angular_21.md +8 -4
  566. package/docs/it/intlayer_with_astro_lit.md +11 -7
  567. package/docs/it/intlayer_with_astro_preact.md +8 -4
  568. package/docs/it/intlayer_with_astro_react.md +8 -4
  569. package/docs/it/intlayer_with_astro_solid.md +8 -4
  570. package/docs/it/intlayer_with_astro_svelte.md +8 -4
  571. package/docs/it/intlayer_with_astro_vanilla.md +8 -4
  572. package/docs/it/intlayer_with_astro_vue.md +8 -4
  573. package/docs/it/intlayer_with_create_react_app.md +8 -4
  574. package/docs/it/intlayer_with_express.md +8 -4
  575. package/docs/it/intlayer_with_fastify.md +8 -4
  576. package/docs/it/intlayer_with_hono.md +8 -4
  577. package/docs/it/intlayer_with_lynx+react.md +8 -4
  578. package/docs/it/intlayer_with_nestjs.md +8 -4
  579. package/docs/it/intlayer_with_next-i18next.md +8 -4
  580. package/docs/it/intlayer_with_nextjs_14.md +8 -4
  581. package/docs/it/intlayer_with_nextjs_15.md +10 -8
  582. package/docs/it/intlayer_with_nextjs_16.md +10 -8
  583. package/docs/it/intlayer_with_nextjs_compiler.md +9 -7
  584. package/docs/it/intlayer_with_nextjs_no_locale_path.md +10 -8
  585. package/docs/it/intlayer_with_nextjs_page_router.md +8 -4
  586. package/docs/it/intlayer_with_nuxt.md +9 -5
  587. package/docs/it/intlayer_with_react_native+expo.md +8 -4
  588. package/docs/it/intlayer_with_react_router_v7.md +9 -5
  589. package/docs/it/intlayer_with_svelte_kit.md +8 -4
  590. package/docs/it/intlayer_with_tanstack+solid.md +9 -5
  591. package/docs/it/intlayer_with_tanstack.md +10 -7
  592. package/docs/it/intlayer_with_vite+lit.md +8 -4
  593. package/docs/it/intlayer_with_vite+preact.md +9 -5
  594. package/docs/it/intlayer_with_vite+react.md +10 -6
  595. package/docs/it/intlayer_with_vite+react_compiler.md +9 -5
  596. package/docs/it/intlayer_with_vite+solid.md +9 -5
  597. package/docs/it/intlayer_with_vite+svelte.md +8 -4
  598. package/docs/it/intlayer_with_vite+vanilla.md +8 -4
  599. package/docs/it/intlayer_with_vite+vue.md +9 -5
  600. package/docs/it/migration_from_i18next_to_intlayer.md +8 -4
  601. package/docs/it/migration_from_next-i18next_to_intlayer.md +8 -4
  602. package/docs/it/migration_from_next-intl_to_intlayer.md +8 -4
  603. package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  604. package/docs/it/migration_from_react-i18next_to_intlayer.md +9 -7
  605. package/docs/it/migration_from_vue-i18n_to_intlayer.md +8 -4
  606. package/docs/it/releases/v9.md +61 -19
  607. package/docs/it/self_hosting.md +350 -0
  608. package/docs/ja/bundle_optimization.md +16 -0
  609. package/docs/ja/cli/scan.md +2 -2
  610. package/docs/ja/how_works_intlayer.md +2 -2
  611. package/docs/ja/intlayer_CMS.md +191 -10
  612. package/docs/ja/intlayer_with_adonisjs.md +8 -4
  613. package/docs/ja/intlayer_with_analog.md +8 -4
  614. package/docs/ja/intlayer_with_angular_19.md +8 -4
  615. package/docs/ja/intlayer_with_angular_21.md +8 -4
  616. package/docs/ja/intlayer_with_astro_lit.md +11 -7
  617. package/docs/ja/intlayer_with_astro_preact.md +8 -4
  618. package/docs/ja/intlayer_with_astro_react.md +8 -4
  619. package/docs/ja/intlayer_with_astro_solid.md +8 -4
  620. package/docs/ja/intlayer_with_astro_svelte.md +8 -4
  621. package/docs/ja/intlayer_with_astro_vanilla.md +8 -4
  622. package/docs/ja/intlayer_with_astro_vue.md +8 -4
  623. package/docs/ja/intlayer_with_create_react_app.md +8 -4
  624. package/docs/ja/intlayer_with_express.md +8 -4
  625. package/docs/ja/intlayer_with_fastify.md +8 -4
  626. package/docs/ja/intlayer_with_hono.md +8 -4
  627. package/docs/ja/intlayer_with_lynx+react.md +8 -4
  628. package/docs/ja/intlayer_with_nestjs.md +8 -4
  629. package/docs/ja/intlayer_with_next-i18next.md +8 -4
  630. package/docs/ja/intlayer_with_nextjs_14.md +8 -4
  631. package/docs/ja/intlayer_with_nextjs_15.md +10 -8
  632. package/docs/ja/intlayer_with_nextjs_16.md +10 -8
  633. package/docs/ja/intlayer_with_nextjs_compiler.md +8 -4
  634. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +10 -8
  635. package/docs/ja/intlayer_with_nextjs_page_router.md +8 -4
  636. package/docs/ja/intlayer_with_nuxt.md +9 -5
  637. package/docs/ja/intlayer_with_react_native+expo.md +8 -4
  638. package/docs/ja/intlayer_with_tanstack+solid.md +9 -5
  639. package/docs/ja/intlayer_with_tanstack.md +10 -7
  640. package/docs/ja/intlayer_with_vite+lit.md +8 -4
  641. package/docs/ja/intlayer_with_vite+preact.md +9 -5
  642. package/docs/ja/intlayer_with_vite+react_compiler.md +9 -5
  643. package/docs/ja/intlayer_with_vite+solid.md +9 -5
  644. package/docs/ja/intlayer_with_vite+svelte.md +8 -4
  645. package/docs/ja/intlayer_with_vite+vanilla.md +8 -4
  646. package/docs/ja/intlayer_with_vite+vue.md +9 -5
  647. package/docs/ja/migration_from_i18next_to_intlayer.md +8 -4
  648. package/docs/ja/migration_from_next-i18next_to_intlayer.md +8 -4
  649. package/docs/ja/migration_from_next-intl_to_intlayer.md +9 -7
  650. package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  651. package/docs/ja/migration_from_react-i18next_to_intlayer.md +9 -7
  652. package/docs/ja/migration_from_vue-i18n_to_intlayer.md +8 -4
  653. package/docs/ja/releases/v9.md +31 -19
  654. package/docs/ja/self_hosting.md +350 -0
  655. package/docs/ko/bundle_optimization.md +16 -0
  656. package/docs/ko/cli/scan.md +2 -2
  657. package/docs/ko/how_works_intlayer.md +2 -2
  658. package/docs/ko/intlayer_CMS.md +189 -6
  659. package/docs/ko/intlayer_with_adonisjs.md +8 -4
  660. package/docs/ko/intlayer_with_analog.md +8 -4
  661. package/docs/ko/intlayer_with_angular_19.md +8 -4
  662. package/docs/ko/intlayer_with_angular_21.md +8 -4
  663. package/docs/ko/intlayer_with_astro_vue.md +8 -4
  664. package/docs/ko/intlayer_with_create_react_app.md +8 -4
  665. package/docs/ko/intlayer_with_express.md +8 -4
  666. package/docs/ko/intlayer_with_fastify.md +8 -4
  667. package/docs/ko/intlayer_with_hono.md +8 -4
  668. package/docs/ko/intlayer_with_nestjs.md +8 -4
  669. package/docs/ko/intlayer_with_next-i18next.md +8 -4
  670. package/docs/ko/intlayer_with_nextjs_15.md +10 -8
  671. package/docs/ko/intlayer_with_nextjs_16.md +10 -8
  672. package/docs/ko/intlayer_with_nextjs_compiler.md +9 -7
  673. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +10 -8
  674. package/docs/ko/intlayer_with_nextjs_page_router.md +8 -4
  675. package/docs/ko/intlayer_with_nuxt.md +9 -5
  676. package/docs/ko/intlayer_with_react_native+expo.md +8 -4
  677. package/docs/ko/intlayer_with_react_router_v7.md +9 -5
  678. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +9 -5
  679. package/docs/ko/intlayer_with_svelte_kit.md +8 -4
  680. package/docs/ko/intlayer_with_tanstack+solid.md +9 -5
  681. package/docs/ko/intlayer_with_tanstack.md +10 -7
  682. package/docs/ko/intlayer_with_vite+lit.md +8 -4
  683. package/docs/ko/intlayer_with_vite+preact.md +9 -5
  684. package/docs/ko/intlayer_with_vite+react_compiler.md +9 -5
  685. package/docs/ko/intlayer_with_vite+solid.md +9 -5
  686. package/docs/ko/intlayer_with_vite+svelte.md +8 -4
  687. package/docs/ko/intlayer_with_vite+vanilla.md +8 -4
  688. package/docs/ko/intlayer_with_vite+vue.md +9 -5
  689. package/docs/ko/migration_from_i18next_to_intlayer.md +8 -4
  690. package/docs/ko/migration_from_next-i18next_to_intlayer.md +8 -4
  691. package/docs/ko/migration_from_next-intl_to_intlayer.md +9 -7
  692. package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  693. package/docs/ko/migration_from_react-i18next_to_intlayer.md +9 -7
  694. package/docs/ko/migration_from_vue-i18n_to_intlayer.md +8 -4
  695. package/docs/ko/releases/v9.md +30 -19
  696. package/docs/ko/self_hosting.md +350 -0
  697. package/docs/nl/bundle_optimization.md +16 -0
  698. package/docs/nl/cli/scan.md +2 -2
  699. package/docs/nl/intlayer_with_angular_21.md +8 -4
  700. package/docs/nl/intlayer_with_fastify.md +8 -4
  701. package/docs/nl/intlayer_with_hono.md +8 -4
  702. package/docs/nl/intlayer_with_vite+lit.md +8 -4
  703. package/docs/nl/intlayer_with_vite+vanilla.md +8 -4
  704. package/docs/nl/releases/v9.md +340 -0
  705. package/docs/pl/bundle_optimization.md +16 -0
  706. package/docs/pl/cli/scan.md +2 -2
  707. package/docs/pl/how_works_intlayer.md +2 -2
  708. package/docs/pl/intlayer_CMS.md +16 -1
  709. package/docs/pl/intlayer_with_adonisjs.md +8 -4
  710. package/docs/pl/intlayer_with_analog.md +8 -4
  711. package/docs/pl/intlayer_with_angular_19.md +8 -4
  712. package/docs/pl/intlayer_with_angular_21.md +8 -4
  713. package/docs/pl/intlayer_with_astro_lit.md +11 -7
  714. package/docs/pl/intlayer_with_astro_preact.md +8 -4
  715. package/docs/pl/intlayer_with_astro_react.md +8 -4
  716. package/docs/pl/intlayer_with_astro_solid.md +8 -4
  717. package/docs/pl/intlayer_with_astro_svelte.md +8 -4
  718. package/docs/pl/intlayer_with_astro_vanilla.md +8 -4
  719. package/docs/pl/intlayer_with_astro_vue.md +8 -4
  720. package/docs/pl/intlayer_with_create_react_app.md +8 -4
  721. package/docs/pl/intlayer_with_express.md +8 -4
  722. package/docs/pl/intlayer_with_fastify.md +8 -4
  723. package/docs/pl/intlayer_with_hono.md +8 -4
  724. package/docs/pl/intlayer_with_lynx+react.md +8 -4
  725. package/docs/pl/intlayer_with_nestjs.md +8 -4
  726. package/docs/pl/intlayer_with_next-i18next.md +8 -4
  727. package/docs/pl/intlayer_with_nextjs_14.md +8 -4
  728. package/docs/pl/intlayer_with_nextjs_15.md +9 -7
  729. package/docs/pl/intlayer_with_nextjs_16.md +10 -8
  730. package/docs/pl/intlayer_with_nextjs_compiler.md +8 -4
  731. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +10 -8
  732. package/docs/pl/intlayer_with_nextjs_page_router.md +8 -4
  733. package/docs/pl/intlayer_with_nuxt.md +9 -5
  734. package/docs/pl/intlayer_with_react_native+expo.md +8 -4
  735. package/docs/pl/intlayer_with_react_router_v7.md +9 -5
  736. package/docs/pl/intlayer_with_svelte_kit.md +8 -4
  737. package/docs/pl/intlayer_with_tanstack+solid.md +9 -5
  738. package/docs/pl/intlayer_with_tanstack.md +10 -7
  739. package/docs/pl/intlayer_with_vite+lit.md +8 -4
  740. package/docs/pl/intlayer_with_vite+preact.md +9 -5
  741. package/docs/pl/intlayer_with_vite+react.md +9 -5
  742. package/docs/pl/intlayer_with_vite+react_compiler.md +9 -5
  743. package/docs/pl/intlayer_with_vite+solid.md +9 -5
  744. package/docs/pl/intlayer_with_vite+svelte.md +8 -4
  745. package/docs/pl/intlayer_with_vite+vanilla.md +8 -4
  746. package/docs/pl/intlayer_with_vite+vue.md +9 -5
  747. package/docs/pl/migration_from_next-i18next_to_intlayer.md +8 -4
  748. package/docs/pl/migration_from_next-intl_to_intlayer.md +9 -7
  749. package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  750. package/docs/pl/migration_from_react-i18next_to_intlayer.md +9 -7
  751. package/docs/pl/releases/v9.md +58 -19
  752. package/docs/pl/self_hosting.md +350 -0
  753. package/docs/pt/bundle_optimization.md +16 -0
  754. package/docs/pt/cli/scan.md +2 -2
  755. package/docs/pt/how_works_intlayer.md +2 -2
  756. package/docs/pt/intlayer_CMS.md +117 -1
  757. package/docs/pt/intlayer_with_adonisjs.md +8 -4
  758. package/docs/pt/intlayer_with_analog.md +8 -4
  759. package/docs/pt/intlayer_with_angular_19.md +8 -4
  760. package/docs/pt/intlayer_with_angular_21.md +8 -4
  761. package/docs/pt/intlayer_with_astro_lit.md +11 -7
  762. package/docs/pt/intlayer_with_astro_preact.md +8 -4
  763. package/docs/pt/intlayer_with_astro_react.md +8 -4
  764. package/docs/pt/intlayer_with_astro_solid.md +8 -4
  765. package/docs/pt/intlayer_with_astro_svelte.md +8 -4
  766. package/docs/pt/intlayer_with_astro_vanilla.md +8 -4
  767. package/docs/pt/intlayer_with_astro_vue.md +8 -4
  768. package/docs/pt/intlayer_with_create_react_app.md +8 -4
  769. package/docs/pt/intlayer_with_express.md +8 -4
  770. package/docs/pt/intlayer_with_fastify.md +8 -4
  771. package/docs/pt/intlayer_with_hono.md +8 -4
  772. package/docs/pt/intlayer_with_lynx+react.md +8 -4
  773. package/docs/pt/intlayer_with_nestjs.md +8 -4
  774. package/docs/pt/intlayer_with_next-i18next.md +8 -4
  775. package/docs/pt/intlayer_with_nextjs_14.md +8 -4
  776. package/docs/pt/intlayer_with_nextjs_15.md +10 -8
  777. package/docs/pt/intlayer_with_nextjs_16.md +10 -8
  778. package/docs/pt/intlayer_with_nextjs_compiler.md +9 -7
  779. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +10 -8
  780. package/docs/pt/intlayer_with_nextjs_page_router.md +8 -4
  781. package/docs/pt/intlayer_with_nuxt.md +9 -5
  782. package/docs/pt/intlayer_with_react_native+expo.md +8 -4
  783. package/docs/pt/intlayer_with_react_router_v7.md +9 -5
  784. package/docs/pt/intlayer_with_svelte_kit.md +8 -4
  785. package/docs/pt/intlayer_with_tanstack+solid.md +9 -5
  786. package/docs/pt/intlayer_with_tanstack.md +10 -7
  787. package/docs/pt/intlayer_with_vite+lit.md +8 -4
  788. package/docs/pt/intlayer_with_vite+preact.md +9 -5
  789. package/docs/pt/intlayer_with_vite+react.md +9 -5
  790. package/docs/pt/intlayer_with_vite+react_compiler.md +9 -5
  791. package/docs/pt/intlayer_with_vite+solid.md +9 -5
  792. package/docs/pt/intlayer_with_vite+svelte.md +8 -4
  793. package/docs/pt/intlayer_with_vite+vanilla.md +8 -4
  794. package/docs/pt/intlayer_with_vite+vue.md +9 -5
  795. package/docs/pt/migration_from_i18next_to_intlayer.md +8 -4
  796. package/docs/pt/migration_from_next-i18next_to_intlayer.md +8 -4
  797. package/docs/pt/migration_from_next-intl_to_intlayer.md +9 -7
  798. package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  799. package/docs/pt/migration_from_react-i18next_to_intlayer.md +9 -7
  800. package/docs/pt/migration_from_vue-i18n_to_intlayer.md +8 -4
  801. package/docs/pt/releases/v9.md +61 -19
  802. package/docs/pt/self_hosting.md +350 -0
  803. package/docs/ru/bundle_optimization.md +16 -0
  804. package/docs/ru/cli/scan.md +2 -2
  805. package/docs/ru/how_works_intlayer.md +2 -2
  806. package/docs/ru/intlayer_CMS.md +196 -15
  807. package/docs/ru/intlayer_with_adonisjs.md +8 -4
  808. package/docs/ru/intlayer_with_analog.md +8 -4
  809. package/docs/ru/intlayer_with_angular_19.md +8 -4
  810. package/docs/ru/intlayer_with_angular_21.md +8 -4
  811. package/docs/ru/intlayer_with_astro_vue.md +8 -4
  812. package/docs/ru/intlayer_with_create_react_app.md +8 -4
  813. package/docs/ru/intlayer_with_express.md +8 -4
  814. package/docs/ru/intlayer_with_fastify.md +8 -4
  815. package/docs/ru/intlayer_with_hono.md +8 -4
  816. package/docs/ru/intlayer_with_lynx+react.md +8 -4
  817. package/docs/ru/intlayer_with_nestjs.md +8 -4
  818. package/docs/ru/intlayer_with_next-i18next.md +8 -4
  819. package/docs/ru/intlayer_with_nextjs_14.md +8 -4
  820. package/docs/ru/intlayer_with_nextjs_15.md +10 -8
  821. package/docs/ru/intlayer_with_nextjs_16.md +10 -8
  822. package/docs/ru/intlayer_with_nextjs_compiler.md +9 -7
  823. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +10 -8
  824. package/docs/ru/intlayer_with_nextjs_page_router.md +8 -4
  825. package/docs/ru/intlayer_with_nuxt.md +9 -5
  826. package/docs/ru/intlayer_with_react_native+expo.md +8 -4
  827. package/docs/ru/intlayer_with_react_router_v7.md +9 -5
  828. package/docs/ru/intlayer_with_svelte_kit.md +8 -4
  829. package/docs/ru/intlayer_with_tanstack+solid.md +9 -5
  830. package/docs/ru/intlayer_with_tanstack.md +10 -7
  831. package/docs/ru/intlayer_with_vite+lit.md +8 -4
  832. package/docs/ru/intlayer_with_vite+preact.md +9 -5
  833. package/docs/ru/intlayer_with_vite+react.md +9 -5
  834. package/docs/ru/intlayer_with_vite+react_compiler.md +9 -5
  835. package/docs/ru/intlayer_with_vite+solid.md +9 -5
  836. package/docs/ru/intlayer_with_vite+svelte.md +8 -4
  837. package/docs/ru/intlayer_with_vite+vanilla.md +8 -4
  838. package/docs/ru/intlayer_with_vite+vue.md +9 -5
  839. package/docs/ru/migration_from_i18next_to_intlayer.md +8 -4
  840. package/docs/ru/migration_from_next-i18next_to_intlayer.md +8 -4
  841. package/docs/ru/migration_from_next-intl_to_intlayer.md +9 -7
  842. package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  843. package/docs/ru/migration_from_react-i18next_to_intlayer.md +9 -7
  844. package/docs/ru/migration_from_vue-i18n_to_intlayer.md +8 -4
  845. package/docs/ru/releases/v9.md +59 -19
  846. package/docs/ru/self_hosting.md +350 -0
  847. package/docs/tr/bundle_optimization.md +16 -0
  848. package/docs/tr/cli/scan.md +2 -2
  849. package/docs/tr/how_works_intlayer.md +2 -2
  850. package/docs/tr/intlayer_CMS.md +16 -1
  851. package/docs/tr/intlayer_with_adonisjs.md +8 -4
  852. package/docs/tr/intlayer_with_analog.md +8 -4
  853. package/docs/tr/intlayer_with_angular_19.md +8 -4
  854. package/docs/tr/intlayer_with_angular_21.md +8 -4
  855. package/docs/tr/intlayer_with_astro_lit.md +11 -7
  856. package/docs/tr/intlayer_with_astro_preact.md +8 -4
  857. package/docs/tr/intlayer_with_astro_react.md +8 -4
  858. package/docs/tr/intlayer_with_astro_solid.md +8 -4
  859. package/docs/tr/intlayer_with_astro_svelte.md +8 -4
  860. package/docs/tr/intlayer_with_astro_vanilla.md +8 -4
  861. package/docs/tr/intlayer_with_astro_vue.md +8 -4
  862. package/docs/tr/intlayer_with_create_react_app.md +8 -4
  863. package/docs/tr/intlayer_with_express.md +8 -4
  864. package/docs/tr/intlayer_with_fastify.md +8 -4
  865. package/docs/tr/intlayer_with_hono.md +8 -4
  866. package/docs/tr/intlayer_with_lynx+react.md +8 -4
  867. package/docs/tr/intlayer_with_nestjs.md +8 -4
  868. package/docs/tr/intlayer_with_next-i18next.md +8 -4
  869. package/docs/tr/intlayer_with_nextjs_14.md +8 -4
  870. package/docs/tr/intlayer_with_nextjs_15.md +10 -8
  871. package/docs/tr/intlayer_with_nextjs_16.md +10 -8
  872. package/docs/tr/intlayer_with_nextjs_compiler.md +8 -4
  873. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +10 -8
  874. package/docs/tr/intlayer_with_nextjs_page_router.md +8 -4
  875. package/docs/tr/intlayer_with_nuxt.md +9 -5
  876. package/docs/tr/intlayer_with_react_native+expo.md +8 -4
  877. package/docs/tr/intlayer_with_react_router_v7.md +9 -5
  878. package/docs/tr/intlayer_with_svelte_kit.md +8 -4
  879. package/docs/tr/intlayer_with_tanstack+solid.md +9 -5
  880. package/docs/tr/intlayer_with_tanstack.md +10 -7
  881. package/docs/tr/intlayer_with_vite+lit.md +8 -4
  882. package/docs/tr/intlayer_with_vite+preact.md +9 -5
  883. package/docs/tr/intlayer_with_vite+react.md +9 -5
  884. package/docs/tr/intlayer_with_vite+react_compiler.md +9 -5
  885. package/docs/tr/intlayer_with_vite+solid.md +9 -5
  886. package/docs/tr/intlayer_with_vite+svelte.md +8 -4
  887. package/docs/tr/intlayer_with_vite+vanilla.md +8 -4
  888. package/docs/tr/intlayer_with_vite+vue.md +9 -5
  889. package/docs/tr/migration_from_i18next_to_intlayer.md +8 -4
  890. package/docs/tr/migration_from_next-i18next_to_intlayer.md +8 -4
  891. package/docs/tr/migration_from_next-intl_to_intlayer.md +9 -7
  892. package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  893. package/docs/tr/migration_from_react-i18next_to_intlayer.md +9 -7
  894. package/docs/tr/migration_from_vue-i18n_to_intlayer.md +8 -4
  895. package/docs/tr/releases/v9.md +46 -19
  896. package/docs/tr/self_hosting.md +350 -0
  897. package/docs/uk/bundle_optimization.md +16 -0
  898. package/docs/uk/cli/scan.md +2 -2
  899. package/docs/uk/how_works_intlayer.md +2 -2
  900. package/docs/uk/intlayer_CMS.md +16 -1
  901. package/docs/uk/intlayer_with_adonisjs.md +8 -4
  902. package/docs/uk/intlayer_with_analog.md +8 -4
  903. package/docs/uk/intlayer_with_angular_19.md +8 -4
  904. package/docs/uk/intlayer_with_angular_21.md +8 -4
  905. package/docs/uk/intlayer_with_astro_lit.md +11 -7
  906. package/docs/uk/intlayer_with_astro_preact.md +8 -4
  907. package/docs/uk/intlayer_with_astro_react.md +8 -4
  908. package/docs/uk/intlayer_with_astro_solid.md +8 -4
  909. package/docs/uk/intlayer_with_astro_svelte.md +8 -4
  910. package/docs/uk/intlayer_with_astro_vanilla.md +8 -4
  911. package/docs/uk/intlayer_with_astro_vue.md +8 -4
  912. package/docs/uk/intlayer_with_create_react_app.md +8 -4
  913. package/docs/uk/intlayer_with_express.md +8 -4
  914. package/docs/uk/intlayer_with_fastify.md +8 -4
  915. package/docs/uk/intlayer_with_hono.md +8 -4
  916. package/docs/uk/intlayer_with_lynx+react.md +8 -4
  917. package/docs/uk/intlayer_with_nestjs.md +8 -4
  918. package/docs/uk/intlayer_with_next-i18next.md +8 -4
  919. package/docs/uk/intlayer_with_nextjs_14.md +8 -4
  920. package/docs/uk/intlayer_with_nextjs_15.md +10 -8
  921. package/docs/uk/intlayer_with_nextjs_16.md +10 -8
  922. package/docs/uk/intlayer_with_nextjs_compiler.md +8 -4
  923. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +10 -8
  924. package/docs/uk/intlayer_with_nextjs_page_router.md +8 -4
  925. package/docs/uk/intlayer_with_nuxt.md +9 -5
  926. package/docs/uk/intlayer_with_react_native+expo.md +8 -4
  927. package/docs/uk/intlayer_with_react_router_v7.md +9 -5
  928. package/docs/uk/intlayer_with_svelte_kit.md +8 -4
  929. package/docs/uk/intlayer_with_tanstack+solid.md +9 -5
  930. package/docs/uk/intlayer_with_tanstack.md +10 -7
  931. package/docs/uk/intlayer_with_vite+lit.md +8 -4
  932. package/docs/uk/intlayer_with_vite+preact.md +9 -5
  933. package/docs/uk/intlayer_with_vite+react.md +9 -5
  934. package/docs/uk/intlayer_with_vite+react_compiler.md +9 -5
  935. package/docs/uk/intlayer_with_vite+solid.md +9 -5
  936. package/docs/uk/intlayer_with_vite+svelte.md +8 -4
  937. package/docs/uk/intlayer_with_vite+vanilla.md +8 -4
  938. package/docs/uk/intlayer_with_vite+vue.md +9 -5
  939. package/docs/uk/migration_from_i18next_to_intlayer.md +8 -4
  940. package/docs/uk/migration_from_next-i18next_to_intlayer.md +8 -4
  941. package/docs/uk/migration_from_next-intl_to_intlayer.md +9 -7
  942. package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  943. package/docs/uk/migration_from_react-i18next_to_intlayer.md +9 -7
  944. package/docs/uk/migration_from_vue-i18n_to_intlayer.md +8 -4
  945. package/docs/uk/releases/v9.md +58 -19
  946. package/docs/uk/self_hosting.md +350 -0
  947. package/docs/ur/bundle_optimization.md +16 -0
  948. package/docs/ur/cli/scan.md +2 -2
  949. package/docs/ur/intlayer_with_angular_21.md +8 -4
  950. package/docs/ur/intlayer_with_fastify.md +8 -4
  951. package/docs/ur/intlayer_with_hono.md +8 -4
  952. package/docs/ur/intlayer_with_vite+lit.md +8 -4
  953. package/docs/ur/intlayer_with_vite+vanilla.md +8 -4
  954. package/docs/vi/bundle_optimization.md +16 -0
  955. package/docs/vi/cli/scan.md +2 -2
  956. package/docs/vi/how_works_intlayer.md +2 -2
  957. package/docs/vi/intlayer_with_adonisjs.md +8 -4
  958. package/docs/vi/intlayer_with_analog.md +8 -4
  959. package/docs/vi/intlayer_with_angular_19.md +8 -4
  960. package/docs/vi/intlayer_with_angular_21.md +8 -4
  961. package/docs/vi/intlayer_with_astro_lit.md +11 -7
  962. package/docs/vi/intlayer_with_astro_preact.md +8 -4
  963. package/docs/vi/intlayer_with_astro_react.md +8 -4
  964. package/docs/vi/intlayer_with_astro_solid.md +8 -4
  965. package/docs/vi/intlayer_with_astro_svelte.md +8 -4
  966. package/docs/vi/intlayer_with_astro_vanilla.md +8 -4
  967. package/docs/vi/intlayer_with_astro_vue.md +8 -4
  968. package/docs/vi/intlayer_with_create_react_app.md +8 -4
  969. package/docs/vi/intlayer_with_express.md +8 -4
  970. package/docs/vi/intlayer_with_fastify.md +8 -4
  971. package/docs/vi/intlayer_with_hono.md +8 -4
  972. package/docs/vi/intlayer_with_lynx+react.md +8 -4
  973. package/docs/vi/intlayer_with_nestjs.md +8 -4
  974. package/docs/vi/intlayer_with_next-i18next.md +8 -4
  975. package/docs/vi/intlayer_with_nextjs_14.md +8 -4
  976. package/docs/vi/intlayer_with_nextjs_15.md +9 -7
  977. package/docs/vi/intlayer_with_nextjs_16.md +10 -8
  978. package/docs/vi/intlayer_with_nextjs_compiler.md +8 -4
  979. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -8
  980. package/docs/vi/intlayer_with_nextjs_page_router.md +8 -4
  981. package/docs/vi/intlayer_with_nuxt.md +9 -5
  982. package/docs/vi/intlayer_with_react_native+expo.md +8 -4
  983. package/docs/vi/intlayer_with_react_router_v7.md +9 -5
  984. package/docs/vi/intlayer_with_svelte_kit.md +8 -4
  985. package/docs/vi/intlayer_with_tanstack+solid.md +9 -5
  986. package/docs/vi/intlayer_with_tanstack.md +10 -7
  987. package/docs/vi/intlayer_with_vite+lit.md +8 -4
  988. package/docs/vi/intlayer_with_vite+preact.md +9 -5
  989. package/docs/vi/intlayer_with_vite+react.md +9 -5
  990. package/docs/vi/intlayer_with_vite+react_compiler.md +9 -5
  991. package/docs/vi/intlayer_with_vite+solid.md +9 -5
  992. package/docs/vi/intlayer_with_vite+svelte.md +8 -4
  993. package/docs/vi/intlayer_with_vite+vanilla.md +8 -4
  994. package/docs/vi/intlayer_with_vite+vue.md +9 -5
  995. package/docs/vi/migration_from_i18next_to_intlayer.md +8 -4
  996. package/docs/vi/migration_from_next-i18next_to_intlayer.md +8 -4
  997. package/docs/vi/migration_from_next-intl_to_intlayer.md +9 -7
  998. package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  999. package/docs/vi/migration_from_react-i18next_to_intlayer.md +9 -7
  1000. package/docs/vi/migration_from_vue-i18n_to_intlayer.md +8 -4
  1001. package/docs/vi/releases/v9.md +31 -19
  1002. package/docs/vi/self_hosting.md +350 -0
  1003. package/docs/zh/bundle_optimization.md +16 -0
  1004. package/docs/zh/cli/scan.md +2 -2
  1005. package/docs/zh/how_works_intlayer.md +2 -2
  1006. package/docs/zh/intlayer_with_adonisjs.md +8 -4
  1007. package/docs/zh/intlayer_with_angular_21.md +8 -4
  1008. package/docs/zh/intlayer_with_astro.md +8 -4
  1009. package/docs/zh/intlayer_with_astro_lit.md +11 -7
  1010. package/docs/zh/intlayer_with_astro_preact.md +8 -4
  1011. package/docs/zh/intlayer_with_astro_react.md +8 -4
  1012. package/docs/zh/intlayer_with_astro_solid.md +8 -4
  1013. package/docs/zh/intlayer_with_astro_svelte.md +8 -4
  1014. package/docs/zh/intlayer_with_astro_vanilla.md +8 -4
  1015. package/docs/zh/intlayer_with_astro_vue.md +8 -4
  1016. package/docs/zh/intlayer_with_create_react_app.md +8 -4
  1017. package/docs/zh/intlayer_with_express.md +8 -4
  1018. package/docs/zh/intlayer_with_fastify.md +8 -4
  1019. package/docs/zh/intlayer_with_hono.md +8 -4
  1020. package/docs/zh/intlayer_with_nestjs.md +8 -4
  1021. package/docs/zh/intlayer_with_next-i18next.md +8 -4
  1022. package/docs/zh/intlayer_with_nextjs_14.md +8 -4
  1023. package/docs/zh/intlayer_with_nextjs_15.md +10 -8
  1024. package/docs/zh/intlayer_with_nextjs_16.md +10 -8
  1025. package/docs/zh/intlayer_with_nextjs_compiler.md +9 -7
  1026. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +10 -8
  1027. package/docs/zh/intlayer_with_nextjs_page_router.md +8 -4
  1028. package/docs/zh/intlayer_with_react_native+expo.md +8 -4
  1029. package/docs/zh/intlayer_with_react_router_v7.md +9 -5
  1030. package/docs/zh/intlayer_with_vite+solid.md +9 -5
  1031. package/docs/zh/intlayer_with_vite+svelte.md +8 -4
  1032. package/docs/zh/intlayer_with_vite+vue.md +9 -5
  1033. package/docs/zh/migration_from_i18next_to_intlayer.md +8 -4
  1034. package/docs/zh/migration_from_next-i18next_to_intlayer.md +8 -4
  1035. package/docs/zh/migration_from_next-intl_to_intlayer.md +9 -7
  1036. package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +8 -4
  1037. package/docs/zh/migration_from_react-i18next_to_intlayer.md +9 -7
  1038. package/docs/zh/migration_from_vue-i18n_to_intlayer.md +8 -4
  1039. package/docs/zh/releases/v9.md +31 -19
  1040. package/docs/zh/self_hosting.md +350 -0
  1041. package/docs/zh-TW/bundle_optimization.md +16 -0
  1042. package/docs/zh-TW/intlayer_with_angular_21.md +8 -4
  1043. package/package.json +6 -6
  1044. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,350 @@
1
+ ---
2
+ createdAt: 2026-06-30
3
+ updatedAt: 2026-06-30
4
+ title: Intlayerのセルフホスティング
5
+ description: 単一のコマンドでIntlayerの完全なインスタンスを独自のインフラストラクチャ上で実行できます。Intlayer Cloudアカウントは不要です。
6
+ keywords:
7
+ - セルフホスティング
8
+ - Docker
9
+ - Docker Compose
10
+ - Intlayer
11
+ - CMS
12
+ - インストール
13
+ - インフラストラクチャ
14
+ slugs:
15
+ - doc
16
+ - self-hosting
17
+ author: aymericzip
18
+ ---
19
+
20
+ # Intlayerのセルフホスティング
21
+
22
+ Intlayerは、Intlayer Cloudアカウントを必要とせず、独自のインフラストラクチャ上で完全に実行できます。単一のコマンドで、本番環境に対応したスタックを起動します。
23
+
24
+ ```sh
25
+ curl -fsSL https://intlayer.org/install.sh | sh
26
+ ```
27
+
28
+ インストーラーは `docker-compose.yml` と `.env` をダウンロードし、必要なシークレットを自動生成して、すべてのコンテナを `docker compose up -d` で起動します。
29
+
30
+ ## 目次
31
+
32
+ <TOC/>
33
+
34
+ ---
35
+
36
+ ## アーキテクチャ
37
+
38
+ ```
39
+ ┌─────────────────────────────┐
40
+ browser ──────▶ │ app (TanStack Start) :3000│ ──┐
41
+ └─────────────────────────────┘ │ VITE_BACKEND_URL
42
+ ┌─────────────────────────────┐ │
43
+ │ backend (Fastify/Bun) :3100│ ◀─┘
44
+ └──────────────┬──────────────┘
45
+ ┌──────────┬─────────┼──────────┬───────────┐
46
+ ▼ ▼ ▼ ▼ ▼
47
+ mongo:27017 redis:6379 minio:9000 mailpit:1025 Chromium
48
+ (1ノード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` が存在しない場合、例をコピーし、`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`、メールUI `:8025`、MinIOコンソール `:9001`。
78
+
79
+ スタックが起動したら、**http://localhost:3000** を開き、最初のIntlayerアカウントを作成してください。
80
+
81
+ ---
82
+
83
+ ## サービス
84
+
85
+ | サービス | イメージ | ホストポート | 目的 |
86
+ | ----------- | ------------------------------------ | -------------------------------- | ------------------------------------------------------------ |
87
+ | **app** | `apps/app/Dockerfile` からビルド | `3000` | TanStack Start ダッシュボード (CMS UI) |
88
+ | **backend** | `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
+ 自己ホスト型ダッシュボードの **Projects → Access keys** (`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
+ すべての永続データは、3つの名前付き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
+ 本番環境のデプロイでは、appコンテナとbackendコンテナを直接公開するのではなく、リバースプロキシをそれらの前に配置します。
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/ja/intlayer_CMS.md)
348
+ - [設定リファレンス](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)
349
+ - [CMS SDK — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/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는 빌드 시 SWC를 사용하므로 optimize(가져오기 재작성)
231
231
 
232
232
  > Next.js에서 SWC 플러그인이 아직 실험 단계이므로 이 플러그인은 기본적으로 설치되지 않습니다. 향후 변경될 수 있습니다.
233
233
 
234
+ <Tabs>
235
+ <Tab value="npm">
236
+
234
237
  ```bash packageManager="npm"
235
238
  npm install -D @intlayer/swc
236
239
  ```
@@ -247,6 +250,19 @@ pnpm add -D @intlayer/swc
247
250
  bun add -d @intlayer/swc
248
251
  ```
249
252
 
253
+ </Tab>
254
+ <Tab value="Crates.io (rust)">
255
+
256
+ ```toml fileName="Cargo.toml"
257
+ [dependencies]
258
+ intlayer-swc-plugin = "*"
259
+ ```
260
+
261
+ [View on Crates.io](https://crates.io/crates/intlayer-swc-plugin)
262
+
263
+ </Tab>
264
+ </Tabs>
265
+
250
266
  설치되면 Intlayer가 플러그인을 자동으로 감지하여 사용합니다.
251
267
 
252
268
  **purge 및 minify** 패스(필드 제거 및 필드 이름 변경)의 경우 `@intlayer/babel`을 함께 설치하고 Babel 플러그인을 추가합니다. Next.js는 변환을 위해 SWC를 사용하지만 플러그인 구성을 위해 `babel.config.js`를 계속 평가하므로 Babel 플러그인은 SWC 이전의 사전 패스(pre-pass)로 실행됩니다.
@@ -150,10 +150,10 @@ await scan("https://example.com", {
150
150
  });
151
151
  ```
152
152
 
153
- 더 낮은 수준의 액세스를 위해 `@intlayer/chokidar/scan`의 `scanWebsite`는 구조화된 `ScanResult` 객체를 반환합니다:
153
+ 더 낮은 수준의 액세스를 위해 `@intlayer/engine/scan`의 `scanWebsite`는 구조화된 `ScanResult` 객체를 반환합니다:
154
154
 
155
155
  ```ts
156
- import { scanWebsite } from "@intlayer/chokidar/scan";
156
+ import { scanWebsite } from "@intlayer/engine/scan";
157
157
 
158
158
  const result = await scanWebsite("https://example.com", { deep: false });
159
159
  console.log(result.score, result.totalPageSize, result.events);
@@ -217,9 +217,9 @@ Express를 기반으로 한 서버는 시각적 편집기 요청을 수신하고
217
217
 
218
218
  `@intlayer/dictionaries-entry`, `@intlayer/unmerged-dictionaries-entry` 및 `@intlayer/dynamic-dictionaries-entry` 패키지는 Intlayer 사전의 진입 경로를 반환합니다. 브라우저에서 파일 시스템을 검색하는 것이 불가능하기 때문에, Webpack이나 Rollup과 같은 번들러를 사용하여 사전의 진입 경로를 가져오는 것은 불가능합니다. 이 패키지들은 별칭(alias)으로 설계되어 Vite, Webpack, Turbopack 등 다양한 번들러에서 번들링 최적화를 가능하게 합니다.
219
219
 
220
- ### @intlayer/chokidar
220
+ ### @intlayer/engine
221
221
 
222
- `@intlayer/chokidar` 패키지는 콘텐츠 파일을 모니터링하고 수정될 때마다 변경된 사전을 재생성하는 데 사용됩니다.
222
+ `@intlayer/engine` 패키지는 콘텐츠 파일을 모니터링하고 수정될 때마다 변경된 사전을 재생성하는 데 사용됩니다.
223
223
 
224
224
  ### @intlayer/editor
225
225
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-08-23
3
- updatedAt: 2025-08-23
3
+ updatedAt: 2026-06-29
4
4
  title: Intlayer CMS | Intlayer CMS에 콘텐츠 외부화하기
5
5
  description: 콘텐츠 관리를 팀에 위임하기 위해 Intlayer CMS에 콘텐츠를 외부화하세요.
6
6
  keywords:
@@ -18,6 +18,12 @@ slugs:
18
18
  - cms
19
19
  youtubeVideo: https://www.youtube.com/watch?v=UDDTnirwi_4
20
20
  history:
21
+ - version: 9.0.0
22
+ date: 2026-06-30
23
+ changes: "Self-Hosting 섹션 추가: Docker Compose 부트스트랩, 서비스 인벤토리, SDK 구성, 선택적 기능 및 업그레이드 참고 사항"
24
+ - version: 9.0.0
25
+ date: 2026-06-29
26
+ changes: "프로그래밍 방식 CMS 액세스를 위한 @intlayer/api SDK (createIntlayerCMS) 섹션 추가"
21
27
  - version: 6.0.1
22
28
  date: 2025-09-22
23
29
  changes: "라이브 동기화 문서 추가"
@@ -241,6 +247,158 @@ bun x intlayer dictionary push -d my-first-dictionary-key --env production
241
247
 
242
248
  그런 다음 [Intlayer CMS](https://app.intlayer.org/content)에서 사전을 보고 관리할 수 있습니다.
243
249
 
250
+ ## `@intlayer/api` SDK를 사용한 프로그래밍 방식 액세스
251
+
252
+ CLI 및 시각적 편집기를 넘어, Intlayer는 [`@intlayer/api`](https://www.npmjs.com/package/@intlayer/api) 패키지에 타입이 지정된 SDK를 제공합니다. 이를 통해 CMS를 **헤드리스 콘텐츠 데이터베이스**로 취급할 수 있습니다. 프로젝트를 가져오고, 사전을 가져오며, 자신만의 애플리케이션, 스크립트 또는 CI 파이프라인에서 직접 푸시하거나 업데이트할 수 있습니다.
253
+
254
+ SDK는 인증을 자동으로 처리합니다. `clientId` 및 `clientSecret`이 (Intlayer 구성 또는 환경에서) 사용 가능한 한, OAuth2 액세스 토큰을 자동으로 획득하고 새로 고치며 모든 요청에 서명합니다.
255
+
256
+ ### 설치
257
+
258
+ ```bash packageManager="npm"
259
+ npm install @intlayer/api
260
+ ```
261
+
262
+ ```bash packageManager="yarn"
263
+ yarn add @intlayer/api
264
+ ```
265
+
266
+ ```bash packageManager="pnpm"
267
+ pnpm add @intlayer/api
268
+ ```
269
+
270
+ ```bash packageManager="bun"
271
+ bun add @intlayer/api
272
+ ```
273
+
274
+ ### 작동 방식: 인증기 + 엔드포인트
275
+
276
+ SDK는 번들 크기를 작게 유지하기 위해 의도적으로 **두 개의 개별 임포트**로 분리되어 있습니다:
277
+
278
+ 1. `createIntlayerCMS` — 경량 **인증기**를 생성합니다. 자격 증명과 관리되는 액세스 토큰만 포함하며, 특정 도메인에 대해서는 알지 못합니다.
279
+ 2. `dictionaryEndpoint`, `projectEndpoint`, … — 도메인별 **엔드포인트 바인더**로, 각각 자체 하위 경로 (`@intlayer/api/dictionary`, `@intlayer/api/project`, …)에서 임포트됩니다. 필요한 엔드포인트에 인증기를 전달합니다.
280
+
281
+ 각 엔드포인트가 개별적으로 임포트되므로, 번들에는 실제로 사용하는 도메인만 포함됩니다. `dictionaryEndpoint`를 임포트해도 프로젝트, AI 또는 다른 도메인 클라이언트가 함께 포함되지 않습니다.
282
+
283
+ ```typescript fileName="cms.ts" codeFormat="typescript"
284
+ import { createIntlayerCMS } from "@intlayer/api";
285
+
286
+ // 구성은 선택 사항입니다: 생략하면, 자격 증명은
287
+ // INTLAYER_CLIENT_ID 및 INTLAYER_CLIENT_SECRET 환경 변수를 해석하는
288
+ // `@intlayer/config/built`에서 읽어옵니다.
289
+ export const cmsAuthenticator = createIntlayerCMS();
290
+ ```
291
+
292
+ > [!WARNING]
293
+ > CMS 자격 증명 (`clientId` / `clientSecret`)은 콘텐츠에 대한 **쓰기 권한**을 부여합니다. 인증기는 **서버 측**에서만 생성해야 합니다 (서버 액션, 라우트 핸들러, 스크립트, CI). 클라이언트 측 코드에 임포트하거나 브라우저에 자격 증명을 노출하지 마십시오.
294
+
295
+ 빌드 시간 구성에 의존하지 않으려면 자격 증명을 명시적으로 전달하세요:
296
+
297
+ ```typescript fileName="cms.ts" codeFormat="typescript"
298
+ import { createIntlayerCMS } from "@intlayer/api";
299
+
300
+ export const cmsAuthenticator = createIntlayerCMS({
301
+ editor: {
302
+ clientId: process.env.INTLAYER_CLIENT_ID,
303
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
304
+ // 선택 사항, 자체 호스팅 백엔드의 경우:
305
+ // backendURL: process.env.INTLAYER_BACKEND_URL,
306
+ },
307
+ });
308
+ ```
309
+
310
+ > [Intlayer Dashboard - Projects](https://app.intlayer.org/projects)에서 새 액세스 키를 생성하여 자격 증명을 얻으세요.
311
+
312
+ ### 프로젝트 가져오기
313
+
314
+ ```typescript fileName="projects.ts" codeFormat="typescript"
315
+ import { createIntlayerCMS } from "@intlayer/api";
316
+ import { projectEndpoint } from "@intlayer/api/project";
317
+
318
+ const cmsAuthenticator = createIntlayerCMS();
319
+
320
+ // 자격 증명으로 액세스 가능한 프로젝트 목록을 가져옵니다.
321
+ const { data: projects } =
322
+ await projectEndpoint(cmsAuthenticator).getProjects();
323
+
324
+ // 선택된 프로젝트의 통합된 현지화 인사이트를 읽습니다.
325
+ const { data: insights } =
326
+ await projectEndpoint(cmsAuthenticator).getProjectInsights();
327
+ ```
328
+
329
+ ### 사전 가져오기
330
+
331
+ ```typescript fileName="read-dictionaries.ts" codeFormat="typescript"
332
+ import { createIntlayerCMS } from "@intlayer/api";
333
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
334
+
335
+ const cmsAuthenticator = createIntlayerCMS();
336
+
337
+ // 프로젝트의 모든 원격 사전을 나열합니다.
338
+ const { data: dictionaries } =
339
+ await dictionaryEndpoint(cmsAuthenticator).getDictionaries();
340
+
341
+ // 또는 키로 단일 사전을 가져옵니다.
342
+ const { data: dictionary } = await dictionaryEndpoint(
343
+ cmsAuthenticator
344
+ ).getDictionary("my-first-dictionary-key");
345
+ ```
346
+
347
+ ### 사전 푸시 및 업데이트
348
+
349
+ CMS를 데이터베이스로 사용하여 콘텐츠를 다시 작성합니다:
350
+
351
+ ```typescript fileName="write-dictionaries.ts" codeFormat="typescript"
352
+ import { createIntlayerCMS } from "@intlayer/api";
353
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
354
+
355
+ const cmsAuthenticator = createIntlayerCMS();
356
+
357
+ // 새 사전을 생성합니다.
358
+ await dictionaryEndpoint(cmsAuthenticator).addDictionary({
359
+ key: "my-first-dictionary-key",
360
+ content: { title: "Hello world" },
361
+ });
362
+
363
+ // 사전 배치(batch)를 Upsert 합니다 (한 번의 호출로 생성 또는 업데이트).
364
+ await dictionaryEndpoint(cmsAuthenticator).pushDictionaries([
365
+ { key: "home", content: { title: "Home" } },
366
+ { key: "about", content: { title: "About" } },
367
+ ]);
368
+
369
+ // 기존 사전을 업데이트합니다.
370
+ await dictionaryEndpoint(cmsAuthenticator).updateDictionary({
371
+ id: "<dictionary-id>",
372
+ key: "home",
373
+ content: { title: "Updated title" },
374
+ });
375
+ ```
376
+
377
+ > 팁: 바인딩된 엔드포인트를 재사용하여 반복을 피하세요:
378
+ >
379
+ > ```typescript codeFormat="typescript"
380
+ > const dictionary = dictionaryEndpoint(cmsAuthenticator);
381
+ > await dictionary.pushDictionaries([myDictionary]);
382
+ > const { data } = await dictionary.getDictionaries();
383
+ > ```
384
+
385
+ ### 단일 메서드 추출
386
+
387
+ 모든 엔드포인트 메서드는 이미 인증되어 있으며 독립적입니다 (자체 토큰 처리 기능을 가짐). 따라서 메서드를 추출하여 전달할 수 있습니다. 예를 들어 종속성으로 주입하는 경우입니다.
388
+
389
+ ```typescript fileName="push.ts" codeFormat="typescript"
390
+ import { createIntlayerCMS } from "@intlayer/api";
391
+ import { dictionaryEndpoint } from "@intlayer/api/dictionary";
392
+
393
+ const dictionary = dictionaryEndpoint(createIntlayerCMS());
394
+
395
+ // 이미 인증됨 — 각 호출 시 토큰을 자동으로 새로 고칩니다.
396
+ export const pushDictionaries = dictionary.pushDictionaries;
397
+
398
+ // 사용 예시
399
+ await pushDictionaries([{ key: "home", content: { title: "Home" } }]);
400
+ ```
401
+
244
402
  ## 라이브 동기화
245
403
 
246
404
  라이브 동기화는 앱이 런타임에 CMS 콘텐츠 변경 사항을 반영할 수 있게 합니다. 재빌드나 재배포가 필요 없습니다. 활성화되면 업데이트가 라이브 동기화 서버로 스트리밍되어 애플리케이션이 읽는 사전을 갱신합니다.
@@ -271,7 +429,7 @@ const config: IntlayerConfig = {
271
429
  /**
272
430
  * 사전이 어떻게 가져오는지를 제어합니다:
273
431
  *
274
- * - "live": 사전은 Live Sync API를 사용하여 동적으로 가져옵니다.
432
+ * - "fetch": 사전은 Live Sync API를 사용하여 동적으로 가져옵니다.
275
433
  * useIntlayer를 useDictionaryDynamic으로 대체합니다.
276
434
  *
277
435
  * 참고: 라이브 모드는 Live Sync API를 사용하여 사전을 가져옵니다. API 호출이
@@ -288,6 +446,19 @@ export default config;
288
446
 
289
447
  애플리케이션을 감싸기 위해 Live Sync 서버를 시작하세요:
290
448
 
449
+ 독립형 서버 사용 예시:
450
+
451
+ ```json5 fileName="package.json"
452
+ {
453
+ "scripts": {
454
+ // ... 다른 스크립트들
455
+ "live:start": "npx intlayer live",
456
+ },
457
+ }
458
+ ```
459
+
460
+ `--process` 인수를 사용하여 애플리케이션 서버를 병렬로 사용할 수도 있습니다.
461
+
291
462
  Next.js 사용 예시:
292
463
 
293
464
  ```json5 fileName="package.json"
@@ -320,11 +491,11 @@ CMS로부터 변경 알림을 받기 위해, Live Sync 서버는 백엔드와 SS
320
491
 
321
492
  플로우 차트 (CMS/백엔드 -> Live Sync 서버 -> 애플리케이션 서버 -> 프론트엔드):
322
493
 
323
- ![Live Sync Logic Schema](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_logic_schema.svg)
494
+ ![Live Sync Flow CMS/Backend/Live Sync Server/Application Server/Frontend Schema](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_flow_scema.svg)
324
495
 
325
496
  작동 방식:
326
497
 
327
- ![Live Sync Flow CMS/Backend/Live Sync Server/Application Server/Frontend Schema](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_flow_scema.svg)
498
+ ![Live Sync Logic Schema](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_logic_schema.svg)
328
499
 
329
500
  ### 개발 워크플로우 (로컬)
330
501
 
@@ -356,7 +527,7 @@ const config: IntlayerConfig = {
356
527
  importMode: "fetch",
357
528
  },
358
529
  build: {
359
- optimize: true,
530
+ optimize: true, // 기본값: process.env.NODE_ENV === 'production'
360
531
  },
361
532
  };
362
533
 
@@ -373,6 +544,18 @@ export default config;
373
544
  - `live` 플래그는 빌드 시 각 사전에 대해 평가됩니다. 빌드 시 원격 콘텐츠가 `live=true`로 표시되지 않았다면, 해당 사전에 대해 라이브 싱크를 활성화하려면 다시 빌드해야 합니다.
374
545
  - 라이브 싱크 서버는 `.intlayer`에 쓸 수 있어야 합니다. 컨테이너 환경에서는 `/.intlayer`에 쓰기 권한이 있는지 확인하세요.
375
546
 
547
+ ## 자체 호스팅
548
+
549
+ Intlayer는 자체 인프라에서 완전히 실행될 수 있습니다. 한 줄의 명령어로 Docker Compose를 사용하여 전체 스택(대시보드, API, 데이터베이스, 객체 스토리지 및 이메일)을 부트스트랩할 수 있습니다:
550
+
551
+ ```sh
552
+ curl -fsSL https://intlayer.org/install.sh | sh
553
+ ```
554
+
555
+ 전체 설정 가이드, 환경 변수 참조, 업그레이드 지침 및 백업/복원 절차는 [자체 호스팅 가이드](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/self_hosting.md)를 참조하세요.
556
+
557
+ ---
558
+
376
559
  ## 디버그
377
560
 
378
561
  CMS에서 문제가 발생하면 다음을 확인하세요:
@@ -386,4 +569,4 @@ CMS에서 문제가 발생하면 다음을 확인하세요:
386
569
 
387
570
  - 프로젝트 구성이 Intlayer CMS에 푸시되었는지 확인하세요.
388
571
 
389
- - 비주얼 에디터는 iframe을 사용하여 웹사이트를 표시합니다. 웹사이트의 콘텐츠 보안 정책(CSP)이 CMS URL을 `frame-ancestors`로 허용하는지 확인하세요(기본값은 'https://intlayer.org'). 에디터 콘솔에서 오류가 있는지 확인하세요.
572
+ - 비주얼 에디터는 iframe을 사용하여 웹사이트를 표시합니다. 웹사이트의 콘텐츠 보안 정책(CSP)이 CMS URL을 `frame-ancestors`로 허용하는지 확인하세요(기본값은 'https://app.intlayer.org'). 에디터 콘솔에서 오류가 있는지 확인하세요.