@intlayer/docs 9.5.6 → 9.5.7

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 (601) hide show
  1. package/blog/ar/i18next_vs_intlayer-i18next.md +122 -15
  2. package/blog/ar/i18next_vs_intlayer.md +130 -16
  3. package/blog/ar/lingui_vs_intlayer.md +122 -15
  4. package/blog/ar/next-intl_vs_intlayer-next-intl.md +124 -15
  5. package/blog/ar/next-intl_vs_intlayer.md +136 -20
  6. package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +119 -17
  7. package/blog/ar/vue-i18n_vs_intlayer.md +193 -31
  8. package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +361 -0
  9. package/blog/de/i18next_vs_intlayer-i18next.md +122 -15
  10. package/blog/de/i18next_vs_intlayer.md +128 -14
  11. package/blog/de/lingui_vs_intlayer.md +122 -15
  12. package/blog/de/next-intl_vs_intlayer-next-intl.md +124 -15
  13. package/blog/de/next-intl_vs_intlayer.md +125 -15
  14. package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  15. package/blog/de/vue-i18n_vs_intlayer.md +193 -31
  16. package/blog/en/i18next_vs_intlayer-i18next.md +121 -14
  17. package/blog/en/i18next_vs_intlayer.md +128 -14
  18. package/blog/en/lingui_vs_intlayer.md +124 -15
  19. package/blog/en/next-intl_vs_intlayer-next-intl.md +123 -14
  20. package/blog/en/next-intl_vs_intlayer.md +125 -13
  21. package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +115 -15
  22. package/blog/en/vue-i18n_vs_intlayer.md +188 -27
  23. package/blog/en-GB/i18next_vs_intlayer-i18next.md +121 -14
  24. package/blog/en-GB/i18next_vs_intlayer.md +128 -14
  25. package/blog/en-GB/lingui_vs_intlayer.md +122 -15
  26. package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +124 -15
  27. package/blog/en-GB/next-intl_vs_intlayer.md +125 -15
  28. package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  29. package/blog/en-GB/vue-i18n_vs_intlayer.md +187 -25
  30. package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +116 -0
  31. package/blog/es/i18next_vs_intlayer-i18next.md +122 -15
  32. package/blog/es/i18next_vs_intlayer.md +128 -14
  33. package/blog/es/lingui_vs_intlayer.md +122 -15
  34. package/blog/es/next-intl_vs_intlayer-next-intl.md +124 -15
  35. package/blog/es/next-intl_vs_intlayer.md +125 -15
  36. package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  37. package/blog/es/vue-i18n_vs_intlayer.md +193 -31
  38. package/blog/fr/i18next_vs_intlayer-i18next.md +122 -15
  39. package/blog/fr/i18next_vs_intlayer.md +128 -14
  40. package/blog/fr/lingui_vs_intlayer.md +122 -15
  41. package/blog/fr/next-intl_vs_intlayer-next-intl.md +124 -15
  42. package/blog/fr/next-intl_vs_intlayer.md +127 -15
  43. package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +118 -17
  44. package/blog/fr/vue-i18n_vs_intlayer.md +192 -31
  45. package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +329 -7
  46. package/blog/hi/i18next_vs_intlayer-i18next.md +122 -15
  47. package/blog/hi/i18next_vs_intlayer.md +130 -16
  48. package/blog/hi/lingui_vs_intlayer.md +122 -15
  49. package/blog/hi/next-intl_vs_intlayer-next-intl.md +124 -15
  50. package/blog/hi/next-intl_vs_intlayer.md +135 -19
  51. package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  52. package/blog/hi/vue-i18n_vs_intlayer.md +193 -31
  53. package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  54. package/blog/id/i18next_vs_intlayer-i18next.md +122 -15
  55. package/blog/id/i18next_vs_intlayer.md +128 -14
  56. package/blog/id/lingui_vs_intlayer.md +122 -15
  57. package/blog/id/next-intl_vs_intlayer-next-intl.md +124 -15
  58. package/blog/id/next-intl_vs_intlayer.md +135 -19
  59. package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +354 -2
  60. package/blog/id/vue-i18n_vs_intlayer.md +188 -26
  61. package/blog/id/vue-i18n_vs_intlayer_benchmark.md +327 -7
  62. package/blog/it/i18next_vs_intlayer-i18next.md +122 -15
  63. package/blog/it/i18next_vs_intlayer.md +128 -14
  64. package/blog/it/lingui_vs_intlayer.md +122 -15
  65. package/blog/it/next-intl_vs_intlayer-next-intl.md +124 -15
  66. package/blog/it/next-intl_vs_intlayer.md +125 -15
  67. package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  68. package/blog/it/vue-i18n_vs_intlayer.md +191 -31
  69. package/blog/it/vue-i18n_vs_intlayer_benchmark.md +332 -5
  70. package/blog/ja/i18next_vs_intlayer-i18next.md +122 -15
  71. package/blog/ja/i18next_vs_intlayer.md +129 -17
  72. package/blog/ja/lingui_vs_intlayer.md +122 -15
  73. package/blog/ja/next-intl_vs_intlayer-next-intl.md +124 -15
  74. package/blog/ja/next-intl_vs_intlayer.md +124 -14
  75. package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  76. package/blog/ja/vue-i18n_vs_intlayer.md +193 -31
  77. package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +361 -0
  78. package/blog/ko/i18next_vs_intlayer-i18next.md +122 -15
  79. package/blog/ko/i18next_vs_intlayer.md +129 -17
  80. package/blog/ko/lingui_vs_intlayer.md +122 -15
  81. package/blog/ko/next-intl_vs_intlayer-next-intl.md +124 -15
  82. package/blog/ko/next-intl_vs_intlayer.md +134 -18
  83. package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  84. package/blog/ko/vue-i18n_vs_intlayer.md +193 -31
  85. package/blog/pl/i18next_vs_intlayer-i18next.md +122 -15
  86. package/blog/pl/i18next_vs_intlayer.md +128 -14
  87. package/blog/pl/lingui_vs_intlayer.md +122 -15
  88. package/blog/pl/next-intl_vs_intlayer-next-intl.md +124 -15
  89. package/blog/pl/next-intl_vs_intlayer.md +134 -18
  90. package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  91. package/blog/pl/vue-i18n_vs_intlayer.md +188 -26
  92. package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +361 -0
  93. package/blog/pt/i18next_vs_intlayer-i18next.md +122 -15
  94. package/blog/pt/i18next_vs_intlayer.md +128 -14
  95. package/blog/pt/lingui_vs_intlayer.md +122 -15
  96. package/blog/pt/next-intl_vs_intlayer-next-intl.md +124 -15
  97. package/blog/pt/next-intl_vs_intlayer.md +131 -15
  98. package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  99. package/blog/pt/vue-i18n_vs_intlayer.md +193 -31
  100. package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +361 -0
  101. package/blog/ru/i18next_vs_intlayer-i18next.md +122 -15
  102. package/blog/ru/i18next_vs_intlayer.md +130 -16
  103. package/blog/ru/lingui_vs_intlayer.md +122 -15
  104. package/blog/ru/next-intl_vs_intlayer-next-intl.md +125 -16
  105. package/blog/ru/next-intl_vs_intlayer.md +123 -13
  106. package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +127 -27
  107. package/blog/ru/vue-i18n_vs_intlayer.md +193 -31
  108. package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +326 -19
  109. package/blog/tr/i18next_vs_intlayer-i18next.md +122 -15
  110. package/blog/tr/i18next_vs_intlayer.md +128 -14
  111. package/blog/tr/lingui_vs_intlayer.md +122 -15
  112. package/blog/tr/next-intl_vs_intlayer-next-intl.md +124 -15
  113. package/blog/tr/next-intl_vs_intlayer.md +136 -20
  114. package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  115. package/blog/tr/vue-i18n_vs_intlayer.md +188 -26
  116. package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +361 -0
  117. package/blog/uk/i18next_vs_intlayer-i18next.md +122 -15
  118. package/blog/uk/i18next_vs_intlayer.md +130 -16
  119. package/blog/uk/lingui_vs_intlayer.md +122 -15
  120. package/blog/uk/next-intl_vs_intlayer-next-intl.md +124 -15
  121. package/blog/uk/next-intl_vs_intlayer.md +135 -19
  122. package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +135 -17
  123. package/blog/uk/vue-i18n_vs_intlayer.md +188 -27
  124. package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +361 -0
  125. package/blog/vi/i18next_vs_intlayer-i18next.md +122 -15
  126. package/blog/vi/i18next_vs_intlayer.md +128 -14
  127. package/blog/vi/lingui_vs_intlayer.md +122 -15
  128. package/blog/vi/next-intl_vs_intlayer-next-intl.md +124 -15
  129. package/blog/vi/next-intl_vs_intlayer.md +135 -19
  130. package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  131. package/blog/vi/vue-i18n_vs_intlayer.md +188 -26
  132. package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  133. package/blog/zh/i18next_vs_intlayer-i18next.md +122 -15
  134. package/blog/zh/i18next_vs_intlayer.md +128 -14
  135. package/blog/zh/lingui_vs_intlayer.md +122 -15
  136. package/blog/zh/next-intl_vs_intlayer-next-intl.md +124 -15
  137. package/blog/zh/next-intl_vs_intlayer.md +125 -15
  138. package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  139. package/blog/zh/vue-i18n_vs_intlayer.md +192 -31
  140. package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +340 -9
  141. package/dist/cjs/generated/docs.entry.cjs +40 -40
  142. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  143. package/dist/cjs/index.cjs +2 -2
  144. package/dist/esm/generated/docs.entry.mjs +40 -40
  145. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  146. package/dist/esm/index.mjs +2 -2
  147. package/dist/types/generated/docs.entry.d.ts +2 -2
  148. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  149. package/docs/ar/benchmark/nextjs.md +13 -13
  150. package/docs/ar/benchmark/solid.md +5 -5
  151. package/docs/ar/benchmark/svelte.md +4 -4
  152. package/docs/ar/benchmark/tanstack.md +14 -13
  153. package/docs/ar/benchmark/vue.md +5 -5
  154. package/docs/ar/chrome_extension.md +130 -0
  155. package/docs/ar/cli/index.md +6 -1
  156. package/docs/ar/cli/infra.md +162 -0
  157. package/docs/ar/cli/init.md +24 -1
  158. package/docs/ar/dictionary/html.md +173 -5
  159. package/docs/ar/dictionary/markdown.md +263 -1
  160. package/docs/ar/intlayer_with_analog.md +23 -1
  161. package/docs/ar/intlayer_with_angular_19.md +24 -1
  162. package/docs/ar/intlayer_with_angular_21.md +24 -1
  163. package/docs/ar/intlayer_with_astro.md +24 -1
  164. package/docs/ar/intlayer_with_astro_lit.md +25 -1
  165. package/docs/ar/intlayer_with_astro_preact.md +26 -1
  166. package/docs/ar/intlayer_with_astro_react.md +26 -1
  167. package/docs/ar/intlayer_with_astro_solid.md +26 -1
  168. package/docs/ar/intlayer_with_astro_svelte.md +25 -1
  169. package/docs/ar/intlayer_with_astro_vue.md +25 -1
  170. package/docs/ar/intlayer_with_remix_3.md +22 -1
  171. package/docs/ar/self_hosting.md +406 -231
  172. package/docs/de/benchmark/nextjs.md +13 -13
  173. package/docs/de/benchmark/solid.md +5 -5
  174. package/docs/de/benchmark/svelte.md +4 -4
  175. package/docs/de/benchmark/tanstack.md +14 -13
  176. package/docs/de/benchmark/vue.md +5 -5
  177. package/docs/de/chrome_extension.md +130 -0
  178. package/docs/de/cli/index.md +6 -1
  179. package/docs/de/cli/infra.md +162 -0
  180. package/docs/de/cli/init.md +24 -1
  181. package/docs/de/dictionary/html.md +173 -5
  182. package/docs/de/dictionary/markdown.md +263 -1
  183. package/docs/de/intlayer_with_analog.md +23 -1
  184. package/docs/de/intlayer_with_angular_19.md +24 -1
  185. package/docs/de/intlayer_with_angular_21.md +24 -1
  186. package/docs/de/intlayer_with_astro.md +24 -1
  187. package/docs/de/intlayer_with_astro_lit.md +25 -1
  188. package/docs/de/intlayer_with_astro_preact.md +26 -1
  189. package/docs/de/intlayer_with_astro_react.md +26 -1
  190. package/docs/de/intlayer_with_astro_solid.md +26 -1
  191. package/docs/de/intlayer_with_astro_svelte.md +25 -1
  192. package/docs/de/intlayer_with_astro_vue.md +25 -1
  193. package/docs/de/intlayer_with_remix_3.md +22 -1
  194. package/docs/de/self_hosting.md +404 -227
  195. package/docs/en/benchmark/nextjs.md +13 -13
  196. package/docs/en/benchmark/solid.md +5 -5
  197. package/docs/en/benchmark/svelte.md +4 -4
  198. package/docs/en/benchmark/tanstack.md +14 -13
  199. package/docs/en/benchmark/vue.md +5 -5
  200. package/docs/en/chrome_extension.md +130 -0
  201. package/docs/en/cli/index.md +6 -1
  202. package/docs/en/cli/infra.md +175 -0
  203. package/docs/en/cli/init.md +25 -1
  204. package/docs/en/dictionary/html.md +173 -5
  205. package/docs/en/dictionary/markdown.md +263 -1
  206. package/docs/en/intlayer_with_analog.md +23 -1
  207. package/docs/en/intlayer_with_angular_19.md +24 -1
  208. package/docs/en/intlayer_with_angular_21.md +24 -1
  209. package/docs/en/intlayer_with_astro.md +24 -1
  210. package/docs/en/intlayer_with_astro_lit.md +25 -1
  211. package/docs/en/intlayer_with_astro_preact.md +26 -1
  212. package/docs/en/intlayer_with_astro_react.md +26 -1
  213. package/docs/en/intlayer_with_astro_solid.md +26 -1
  214. package/docs/en/intlayer_with_astro_svelte.md +25 -1
  215. package/docs/en/intlayer_with_astro_vue.md +25 -1
  216. package/docs/en/intlayer_with_remix_3.md +22 -1
  217. package/docs/en/self_hosting.md +418 -176
  218. package/docs/en-GB/benchmark/nextjs.md +13 -13
  219. package/docs/en-GB/benchmark/solid.md +5 -5
  220. package/docs/en-GB/benchmark/svelte.md +4 -4
  221. package/docs/en-GB/benchmark/tanstack.md +14 -13
  222. package/docs/en-GB/benchmark/vue.md +5 -5
  223. package/docs/en-GB/chrome_extension.md +130 -0
  224. package/docs/en-GB/cli/index.md +6 -1
  225. package/docs/en-GB/cli/infra.md +162 -0
  226. package/docs/en-GB/cli/init.md +24 -1
  227. package/docs/en-GB/dictionary/html.md +173 -5
  228. package/docs/en-GB/dictionary/markdown.md +263 -1
  229. package/docs/en-GB/intlayer_with_analog.md +23 -1
  230. package/docs/en-GB/intlayer_with_angular_19.md +24 -1
  231. package/docs/en-GB/intlayer_with_angular_21.md +24 -1
  232. package/docs/en-GB/intlayer_with_astro.md +24 -1
  233. package/docs/en-GB/intlayer_with_astro_lit.md +25 -1
  234. package/docs/en-GB/intlayer_with_astro_preact.md +26 -1
  235. package/docs/en-GB/intlayer_with_astro_react.md +26 -1
  236. package/docs/en-GB/intlayer_with_astro_solid.md +26 -1
  237. package/docs/en-GB/intlayer_with_astro_svelte.md +25 -1
  238. package/docs/en-GB/intlayer_with_astro_vue.md +25 -1
  239. package/docs/en-GB/intlayer_with_remix_3.md +22 -1
  240. package/docs/en-GB/self_hosting.md +381 -206
  241. package/docs/es/benchmark/nextjs.md +13 -13
  242. package/docs/es/benchmark/solid.md +5 -5
  243. package/docs/es/benchmark/svelte.md +4 -4
  244. package/docs/es/benchmark/tanstack.md +14 -13
  245. package/docs/es/benchmark/vue.md +5 -5
  246. package/docs/es/chrome_extension.md +130 -0
  247. package/docs/es/cli/index.md +6 -1
  248. package/docs/es/cli/infra.md +162 -0
  249. package/docs/es/cli/init.md +24 -1
  250. package/docs/es/dictionary/html.md +173 -5
  251. package/docs/es/dictionary/markdown.md +263 -1
  252. package/docs/es/intlayer_with_analog.md +23 -1
  253. package/docs/es/intlayer_with_angular_19.md +24 -1
  254. package/docs/es/intlayer_with_angular_21.md +24 -1
  255. package/docs/es/intlayer_with_astro.md +24 -1
  256. package/docs/es/intlayer_with_astro_lit.md +25 -1
  257. package/docs/es/intlayer_with_astro_preact.md +26 -1
  258. package/docs/es/intlayer_with_astro_react.md +26 -1
  259. package/docs/es/intlayer_with_astro_solid.md +26 -1
  260. package/docs/es/intlayer_with_astro_svelte.md +25 -1
  261. package/docs/es/intlayer_with_astro_vue.md +25 -1
  262. package/docs/es/intlayer_with_remix_3.md +22 -1
  263. package/docs/es/self_hosting.md +400 -223
  264. package/docs/fr/benchmark/nextjs.md +13 -13
  265. package/docs/fr/benchmark/solid.md +5 -5
  266. package/docs/fr/benchmark/svelte.md +4 -4
  267. package/docs/fr/benchmark/tanstack.md +14 -13
  268. package/docs/fr/benchmark/vue.md +5 -5
  269. package/docs/fr/chrome_extension.md +130 -0
  270. package/docs/fr/cli/index.md +6 -1
  271. package/docs/fr/cli/infra.md +162 -0
  272. package/docs/fr/cli/init.md +24 -1
  273. package/docs/fr/dictionary/html.md +173 -5
  274. package/docs/fr/dictionary/markdown.md +265 -4
  275. package/docs/fr/intlayer_with_analog.md +23 -1
  276. package/docs/fr/intlayer_with_angular_19.md +24 -1
  277. package/docs/fr/intlayer_with_angular_21.md +24 -1
  278. package/docs/fr/intlayer_with_astro.md +24 -1
  279. package/docs/fr/intlayer_with_astro_lit.md +25 -1
  280. package/docs/fr/intlayer_with_astro_preact.md +26 -1
  281. package/docs/fr/intlayer_with_astro_react.md +26 -1
  282. package/docs/fr/intlayer_with_astro_solid.md +26 -1
  283. package/docs/fr/intlayer_with_astro_svelte.md +25 -1
  284. package/docs/fr/intlayer_with_astro_vue.md +25 -1
  285. package/docs/fr/intlayer_with_remix_3.md +22 -1
  286. package/docs/fr/self_hosting.md +401 -224
  287. package/docs/hi/benchmark/nextjs.md +13 -13
  288. package/docs/hi/benchmark/solid.md +5 -5
  289. package/docs/hi/benchmark/svelte.md +4 -4
  290. package/docs/hi/benchmark/tanstack.md +14 -13
  291. package/docs/hi/benchmark/vue.md +5 -5
  292. package/docs/hi/chrome_extension.md +130 -0
  293. package/docs/hi/cli/index.md +6 -1
  294. package/docs/hi/cli/infra.md +162 -0
  295. package/docs/hi/cli/init.md +24 -1
  296. package/docs/hi/dictionary/html.md +173 -5
  297. package/docs/hi/dictionary/markdown.md +263 -1
  298. package/docs/hi/intlayer_with_analog.md +23 -1
  299. package/docs/hi/intlayer_with_angular_19.md +24 -1
  300. package/docs/hi/intlayer_with_angular_21.md +24 -1
  301. package/docs/hi/intlayer_with_astro.md +24 -1
  302. package/docs/hi/intlayer_with_astro_lit.md +25 -1
  303. package/docs/hi/intlayer_with_astro_preact.md +26 -1
  304. package/docs/hi/intlayer_with_astro_react.md +26 -1
  305. package/docs/hi/intlayer_with_astro_solid.md +26 -1
  306. package/docs/hi/intlayer_with_astro_svelte.md +25 -1
  307. package/docs/hi/intlayer_with_astro_vue.md +25 -1
  308. package/docs/hi/intlayer_with_remix_3.md +22 -1
  309. package/docs/hi/self_hosting.md +409 -235
  310. package/docs/id/benchmark/nextjs.md +13 -13
  311. package/docs/id/benchmark/solid.md +5 -5
  312. package/docs/id/benchmark/svelte.md +4 -4
  313. package/docs/id/benchmark/tanstack.md +14 -13
  314. package/docs/id/benchmark/vue.md +5 -5
  315. package/docs/id/chrome_extension.md +130 -0
  316. package/docs/id/cli/index.md +6 -1
  317. package/docs/id/cli/infra.md +162 -0
  318. package/docs/id/cli/init.md +24 -1
  319. package/docs/id/dictionary/html.md +173 -5
  320. package/docs/id/dictionary/markdown.md +263 -1
  321. package/docs/id/intlayer_with_analog.md +23 -1
  322. package/docs/id/intlayer_with_angular_19.md +24 -1
  323. package/docs/id/intlayer_with_angular_21.md +24 -1
  324. package/docs/id/intlayer_with_astro.md +24 -1
  325. package/docs/id/intlayer_with_astro_lit.md +25 -1
  326. package/docs/id/intlayer_with_astro_preact.md +26 -1
  327. package/docs/id/intlayer_with_astro_react.md +26 -1
  328. package/docs/id/intlayer_with_astro_solid.md +26 -1
  329. package/docs/id/intlayer_with_astro_svelte.md +25 -1
  330. package/docs/id/intlayer_with_astro_vue.md +25 -1
  331. package/docs/id/intlayer_with_remix_3.md +22 -1
  332. package/docs/id/self_hosting.md +416 -243
  333. package/docs/it/benchmark/nextjs.md +13 -13
  334. package/docs/it/benchmark/solid.md +5 -5
  335. package/docs/it/benchmark/svelte.md +4 -4
  336. package/docs/it/benchmark/tanstack.md +14 -13
  337. package/docs/it/benchmark/vue.md +5 -5
  338. package/docs/it/chrome_extension.md +130 -0
  339. package/docs/it/cli/index.md +6 -1
  340. package/docs/it/cli/infra.md +162 -0
  341. package/docs/it/cli/init.md +24 -1
  342. package/docs/it/dictionary/html.md +173 -5
  343. package/docs/it/dictionary/markdown.md +263 -1
  344. package/docs/it/intlayer_with_analog.md +23 -1
  345. package/docs/it/intlayer_with_angular_19.md +24 -1
  346. package/docs/it/intlayer_with_angular_21.md +24 -1
  347. package/docs/it/intlayer_with_astro.md +24 -1
  348. package/docs/it/intlayer_with_astro_lit.md +25 -1
  349. package/docs/it/intlayer_with_astro_preact.md +26 -1
  350. package/docs/it/intlayer_with_astro_react.md +26 -1
  351. package/docs/it/intlayer_with_astro_solid.md +26 -1
  352. package/docs/it/intlayer_with_astro_svelte.md +25 -1
  353. package/docs/it/intlayer_with_astro_vue.md +25 -1
  354. package/docs/it/intlayer_with_remix_3.md +22 -1
  355. package/docs/it/self_hosting.md +412 -237
  356. package/docs/ja/benchmark/nextjs.md +13 -13
  357. package/docs/ja/benchmark/solid.md +5 -5
  358. package/docs/ja/benchmark/svelte.md +4 -4
  359. package/docs/ja/benchmark/tanstack.md +13 -12
  360. package/docs/ja/benchmark/vue.md +5 -5
  361. package/docs/ja/chrome_extension.md +130 -0
  362. package/docs/ja/cli/index.md +6 -1
  363. package/docs/ja/cli/infra.md +162 -0
  364. package/docs/ja/cli/init.md +24 -1
  365. package/docs/ja/dictionary/html.md +173 -5
  366. package/docs/ja/dictionary/markdown.md +263 -1
  367. package/docs/ja/intlayer_with_analog.md +23 -1
  368. package/docs/ja/intlayer_with_angular_19.md +24 -1
  369. package/docs/ja/intlayer_with_angular_21.md +24 -1
  370. package/docs/ja/intlayer_with_astro.md +24 -1
  371. package/docs/ja/intlayer_with_astro_lit.md +25 -1
  372. package/docs/ja/intlayer_with_astro_preact.md +26 -1
  373. package/docs/ja/intlayer_with_astro_react.md +26 -1
  374. package/docs/ja/intlayer_with_astro_solid.md +26 -1
  375. package/docs/ja/intlayer_with_astro_svelte.md +25 -1
  376. package/docs/ja/intlayer_with_astro_vue.md +25 -1
  377. package/docs/ja/intlayer_with_remix_3.md +22 -1
  378. package/docs/ja/self_hosting.md +398 -223
  379. package/docs/ko/benchmark/nextjs.md +13 -13
  380. package/docs/ko/benchmark/solid.md +5 -5
  381. package/docs/ko/benchmark/svelte.md +4 -4
  382. package/docs/ko/benchmark/tanstack.md +14 -13
  383. package/docs/ko/benchmark/vue.md +5 -5
  384. package/docs/ko/chrome_extension.md +130 -0
  385. package/docs/ko/cli/index.md +6 -1
  386. package/docs/ko/cli/infra.md +162 -0
  387. package/docs/ko/cli/init.md +24 -1
  388. package/docs/ko/dictionary/html.md +173 -5
  389. package/docs/ko/dictionary/markdown.md +263 -1
  390. package/docs/ko/intlayer_with_analog.md +23 -1
  391. package/docs/ko/intlayer_with_angular_19.md +24 -1
  392. package/docs/ko/intlayer_with_angular_21.md +24 -1
  393. package/docs/ko/intlayer_with_astro.md +24 -1
  394. package/docs/ko/intlayer_with_astro_lit.md +25 -1
  395. package/docs/ko/intlayer_with_astro_preact.md +26 -1
  396. package/docs/ko/intlayer_with_astro_react.md +26 -1
  397. package/docs/ko/intlayer_with_astro_solid.md +26 -1
  398. package/docs/ko/intlayer_with_astro_svelte.md +25 -1
  399. package/docs/ko/intlayer_with_astro_vue.md +25 -1
  400. package/docs/ko/intlayer_with_remix_3.md +22 -1
  401. package/docs/ko/self_hosting.md +411 -238
  402. package/docs/pl/benchmark/nextjs.md +13 -13
  403. package/docs/pl/benchmark/solid.md +5 -5
  404. package/docs/pl/benchmark/svelte.md +4 -4
  405. package/docs/pl/benchmark/tanstack.md +14 -13
  406. package/docs/pl/benchmark/vue.md +5 -5
  407. package/docs/pl/chrome_extension.md +130 -0
  408. package/docs/pl/cli/index.md +6 -1
  409. package/docs/pl/cli/infra.md +162 -0
  410. package/docs/pl/cli/init.md +24 -1
  411. package/docs/pl/dictionary/html.md +173 -5
  412. package/docs/pl/dictionary/markdown.md +263 -1
  413. package/docs/pl/intlayer_with_analog.md +23 -1
  414. package/docs/pl/intlayer_with_angular_19.md +24 -1
  415. package/docs/pl/intlayer_with_angular_21.md +24 -1
  416. package/docs/pl/intlayer_with_astro.md +24 -1
  417. package/docs/pl/intlayer_with_astro_lit.md +25 -1
  418. package/docs/pl/intlayer_with_astro_preact.md +26 -1
  419. package/docs/pl/intlayer_with_astro_react.md +26 -1
  420. package/docs/pl/intlayer_with_astro_solid.md +26 -1
  421. package/docs/pl/intlayer_with_astro_svelte.md +25 -1
  422. package/docs/pl/intlayer_with_astro_vue.md +25 -1
  423. package/docs/pl/intlayer_with_remix_3.md +22 -1
  424. package/docs/pl/self_hosting.md +408 -233
  425. package/docs/pt/benchmark/nextjs.md +13 -13
  426. package/docs/pt/benchmark/solid.md +5 -5
  427. package/docs/pt/benchmark/svelte.md +4 -4
  428. package/docs/pt/benchmark/tanstack.md +14 -13
  429. package/docs/pt/benchmark/vue.md +5 -5
  430. package/docs/pt/chrome_extension.md +130 -0
  431. package/docs/pt/cli/index.md +6 -1
  432. package/docs/pt/cli/infra.md +162 -0
  433. package/docs/pt/cli/init.md +24 -1
  434. package/docs/pt/dictionary/html.md +173 -5
  435. package/docs/pt/dictionary/markdown.md +263 -1
  436. package/docs/pt/intlayer_with_analog.md +23 -1
  437. package/docs/pt/intlayer_with_angular_19.md +24 -1
  438. package/docs/pt/intlayer_with_angular_21.md +24 -1
  439. package/docs/pt/intlayer_with_astro.md +24 -1
  440. package/docs/pt/intlayer_with_astro_lit.md +25 -1
  441. package/docs/pt/intlayer_with_astro_preact.md +26 -1
  442. package/docs/pt/intlayer_with_astro_react.md +26 -1
  443. package/docs/pt/intlayer_with_astro_solid.md +26 -1
  444. package/docs/pt/intlayer_with_astro_svelte.md +25 -1
  445. package/docs/pt/intlayer_with_astro_vue.md +25 -1
  446. package/docs/pt/intlayer_with_remix_3.md +22 -1
  447. package/docs/pt/self_hosting.md +399 -224
  448. package/docs/ru/benchmark/nextjs.md +13 -13
  449. package/docs/ru/benchmark/solid.md +5 -5
  450. package/docs/ru/benchmark/svelte.md +4 -4
  451. package/docs/ru/benchmark/tanstack.md +14 -13
  452. package/docs/ru/benchmark/vue.md +5 -5
  453. package/docs/ru/chrome_extension.md +130 -0
  454. package/docs/ru/cli/index.md +6 -1
  455. package/docs/ru/cli/infra.md +162 -0
  456. package/docs/ru/cli/init.md +24 -1
  457. package/docs/ru/dictionary/html.md +173 -5
  458. package/docs/ru/dictionary/markdown.md +263 -1
  459. package/docs/ru/intlayer_with_analog.md +23 -1
  460. package/docs/ru/intlayer_with_angular_19.md +24 -1
  461. package/docs/ru/intlayer_with_angular_21.md +24 -1
  462. package/docs/ru/intlayer_with_astro.md +24 -1
  463. package/docs/ru/intlayer_with_astro_lit.md +25 -1
  464. package/docs/ru/intlayer_with_astro_preact.md +26 -1
  465. package/docs/ru/intlayer_with_astro_react.md +26 -1
  466. package/docs/ru/intlayer_with_astro_solid.md +26 -1
  467. package/docs/ru/intlayer_with_astro_svelte.md +25 -1
  468. package/docs/ru/intlayer_with_astro_vue.md +25 -1
  469. package/docs/ru/intlayer_with_remix_3.md +22 -1
  470. package/docs/ru/self_hosting.md +403 -228
  471. package/docs/tr/benchmark/nextjs.md +13 -13
  472. package/docs/tr/benchmark/solid.md +5 -5
  473. package/docs/tr/benchmark/svelte.md +4 -4
  474. package/docs/tr/benchmark/tanstack.md +14 -13
  475. package/docs/tr/benchmark/vue.md +5 -5
  476. package/docs/tr/chrome_extension.md +130 -0
  477. package/docs/tr/cli/index.md +6 -1
  478. package/docs/tr/cli/infra.md +162 -0
  479. package/docs/tr/cli/init.md +24 -1
  480. package/docs/tr/dictionary/html.md +173 -5
  481. package/docs/tr/dictionary/markdown.md +263 -1
  482. package/docs/tr/intlayer_with_analog.md +23 -1
  483. package/docs/tr/intlayer_with_angular_19.md +24 -1
  484. package/docs/tr/intlayer_with_angular_21.md +24 -1
  485. package/docs/tr/intlayer_with_astro.md +24 -1
  486. package/docs/tr/intlayer_with_astro_lit.md +25 -1
  487. package/docs/tr/intlayer_with_astro_preact.md +26 -1
  488. package/docs/tr/intlayer_with_astro_react.md +26 -1
  489. package/docs/tr/intlayer_with_astro_solid.md +26 -1
  490. package/docs/tr/intlayer_with_astro_svelte.md +25 -1
  491. package/docs/tr/intlayer_with_astro_vue.md +25 -1
  492. package/docs/tr/intlayer_with_remix_3.md +22 -1
  493. package/docs/tr/self_hosting.md +410 -234
  494. package/docs/uk/benchmark/nextjs.md +13 -13
  495. package/docs/uk/benchmark/solid.md +5 -5
  496. package/docs/uk/benchmark/svelte.md +4 -4
  497. package/docs/uk/benchmark/tanstack.md +14 -13
  498. package/docs/uk/benchmark/vue.md +5 -5
  499. package/docs/uk/chrome_extension.md +130 -0
  500. package/docs/uk/cli/index.md +6 -1
  501. package/docs/uk/cli/infra.md +162 -0
  502. package/docs/uk/cli/init.md +24 -1
  503. package/docs/uk/dictionary/html.md +173 -5
  504. package/docs/uk/dictionary/markdown.md +263 -1
  505. package/docs/uk/intlayer_with_analog.md +23 -1
  506. package/docs/uk/intlayer_with_angular_19.md +24 -1
  507. package/docs/uk/intlayer_with_angular_21.md +24 -1
  508. package/docs/uk/intlayer_with_astro.md +24 -1
  509. package/docs/uk/intlayer_with_astro_lit.md +25 -1
  510. package/docs/uk/intlayer_with_astro_preact.md +26 -1
  511. package/docs/uk/intlayer_with_astro_react.md +26 -1
  512. package/docs/uk/intlayer_with_astro_solid.md +26 -1
  513. package/docs/uk/intlayer_with_astro_svelte.md +25 -1
  514. package/docs/uk/intlayer_with_astro_vue.md +25 -1
  515. package/docs/uk/intlayer_with_remix_3.md +22 -1
  516. package/docs/uk/self_hosting.md +413 -238
  517. package/docs/vi/benchmark/nextjs.md +13 -13
  518. package/docs/vi/benchmark/solid.md +5 -5
  519. package/docs/vi/benchmark/svelte.md +4 -4
  520. package/docs/vi/benchmark/tanstack.md +14 -13
  521. package/docs/vi/benchmark/vue.md +5 -5
  522. package/docs/vi/chrome_extension.md +130 -0
  523. package/docs/vi/cli/index.md +6 -1
  524. package/docs/vi/cli/infra.md +162 -0
  525. package/docs/vi/cli/init.md +24 -1
  526. package/docs/vi/dictionary/html.md +173 -5
  527. package/docs/vi/dictionary/markdown.md +263 -1
  528. package/docs/vi/intlayer_with_analog.md +23 -1
  529. package/docs/vi/intlayer_with_angular_19.md +24 -1
  530. package/docs/vi/intlayer_with_angular_21.md +24 -1
  531. package/docs/vi/intlayer_with_astro.md +24 -1
  532. package/docs/vi/intlayer_with_astro_lit.md +25 -1
  533. package/docs/vi/intlayer_with_astro_preact.md +26 -1
  534. package/docs/vi/intlayer_with_astro_react.md +26 -1
  535. package/docs/vi/intlayer_with_astro_solid.md +26 -1
  536. package/docs/vi/intlayer_with_astro_svelte.md +25 -1
  537. package/docs/vi/intlayer_with_astro_vue.md +25 -1
  538. package/docs/vi/intlayer_with_remix_3.md +22 -1
  539. package/docs/vi/self_hosting.md +408 -234
  540. package/docs/zh/benchmark/nextjs.md +13 -13
  541. package/docs/zh/benchmark/solid.md +5 -5
  542. package/docs/zh/benchmark/svelte.md +4 -4
  543. package/docs/zh/benchmark/tanstack.md +14 -13
  544. package/docs/zh/benchmark/vue.md +5 -5
  545. package/docs/zh/chrome_extension.md +130 -0
  546. package/docs/zh/cli/index.md +6 -1
  547. package/docs/zh/cli/infra.md +162 -0
  548. package/docs/zh/cli/init.md +24 -1
  549. package/docs/zh/dictionary/html.md +172 -5
  550. package/docs/zh/dictionary/markdown.md +262 -1
  551. package/docs/zh/intlayer_with_analog.md +23 -1
  552. package/docs/zh/intlayer_with_angular_19.md +24 -1
  553. package/docs/zh/intlayer_with_angular_21.md +24 -1
  554. package/docs/zh/intlayer_with_astro.md +24 -1
  555. package/docs/zh/intlayer_with_astro_lit.md +25 -1
  556. package/docs/zh/intlayer_with_astro_preact.md +26 -1
  557. package/docs/zh/intlayer_with_astro_react.md +26 -1
  558. package/docs/zh/intlayer_with_astro_solid.md +26 -1
  559. package/docs/zh/intlayer_with_astro_svelte.md +25 -1
  560. package/docs/zh/intlayer_with_astro_vue.md +25 -1
  561. package/docs/zh/intlayer_with_remix_3.md +22 -1
  562. package/docs/zh/self_hosting.md +410 -237
  563. package/legal/ar/privacy_notice.md +9 -3
  564. package/legal/de/privacy_notice.md +9 -3
  565. package/legal/en/privacy_notice.md +10 -3
  566. package/legal/en-GB/privacy_notice.md +9 -3
  567. package/legal/es/privacy_notice.md +9 -3
  568. package/legal/fr/privacy_notice.md +9 -3
  569. package/legal/hi/privacy_notice.md +9 -3
  570. package/legal/id/privacy_notice.md +9 -3
  571. package/legal/it/privacy_notice.md +9 -3
  572. package/legal/ja/privacy_notice.md +9 -3
  573. package/legal/ko/privacy_notice.md +9 -3
  574. package/legal/pl/privacy_notice.md +9 -3
  575. package/legal/pt/privacy_notice.md +9 -3
  576. package/legal/ru/privacy_notice.md +9 -3
  577. package/legal/tr/privacy_notice.md +9 -3
  578. package/legal/uk/privacy_notice.md +9 -3
  579. package/legal/vi/privacy_notice.md +9 -3
  580. package/legal/zh/privacy_notice.md +9 -3
  581. package/package.json +1 -1
  582. package/src/generated/docs.entry.ts +40 -40
  583. package/docs/ar/roadmap.md +0 -321
  584. package/docs/de/roadmap.md +0 -322
  585. package/docs/en/intlayer_with_astro_vanilla.md +0 -713
  586. package/docs/en/roadmap.md +0 -325
  587. package/docs/en-GB/roadmap.md +0 -322
  588. package/docs/es/roadmap.md +0 -322
  589. package/docs/fr/roadmap.md +0 -322
  590. package/docs/hi/roadmap.md +0 -322
  591. package/docs/id/roadmap.md +0 -325
  592. package/docs/it/roadmap.md +0 -322
  593. package/docs/ja/roadmap.md +0 -322
  594. package/docs/ko/roadmap.md +0 -322
  595. package/docs/pl/roadmap.md +0 -325
  596. package/docs/pt/roadmap.md +0 -322
  597. package/docs/ru/roadmap.md +0 -322
  598. package/docs/tr/roadmap.md +0 -325
  599. package/docs/uk/roadmap.md +0 -325
  600. package/docs/vi/roadmap.md +0 -325
  601. package/docs/zh/roadmap.md +0 -322
@@ -112,19 +112,19 @@ Finally, `Intlayer` applies a build-time optimization so `useIntlayer('my-key')`
112
112
  For this benchmark, we compared the following libraries:
113
113
 
114
114
  - `Base App` (No i18n library)
115
- - `next-intlayer` (v9.5.1)
116
- - [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/next-intl.md) (v9.5.1)
117
- - [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/next-i18next.md) (v9.5.1)
118
- - `next-i18next` (v16.3.0)
119
- - `next-intl` (v4.14.2)
120
- - `@lingui/core` (v6.6.0)
121
- - `next-translate` (v3.2.0)
122
- - `next-international` (v1.3.1)
123
- - `@inlang/paraglide-js` (v2.15.1)
124
- - `@tolgee/react` (v7.2.0)
125
- - `@lingo.dev/compiler` (v0.4.12)
126
- - `wuchale` (v0.26.6)
127
- - `gt-next` (v11.1.24)
115
+ - [`next-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/next-intlayer/exports.md) (v9.5.6)
116
+ - [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/next-intl.md) (v9.5.6)
117
+ - [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/next-i18next.md) (v9.5.6)
118
+ - [`next-i18next`](https://github.com/i18next/next-i18next) (v16.3.0)
119
+ - [`next-intl`](https://github.com/amannn/next-intl) (v4.14.2)
120
+ - [`@lingui/core`](https://github.com/lingui/js-lingui) (v6.6.0)
121
+ - [`next-translate`](https://github.com/aralroca/next-translate) (v3.2.0)
122
+ - [`next-international`](https://github.com/QuiiBz/next-international) (v1.3.1)
123
+ - [`@inlang/paraglide-js`](https://github.com/opral/paraglide-js) (v2.15.1)
124
+ - [`@tolgee/react`](https://github.com/tolgee/tolgee-js) (v7.2.0)
125
+ - [`@lingo.dev/compiler`](https://github.com/lingodotdev/lingo.dev) (v0.4.12)
126
+ - [`wuchale`](https://github.com/wuchalejs/wuchale) (v0.26.6)
127
+ - [`gt-next`](https://github.com/generaltranslation/gt) (v11.1.24)
128
128
 
129
129
  I used `Next.js` version `16.3.4` with the App Router.
130
130
 
@@ -65,7 +65,7 @@ The other impact is on developer experience: how you declare content, types, nam
65
65
 
66
66
  ## TL;DR
67
67
 
68
- - **Intlayer**: Recommended choice for professional Solid applications needing advanced features and optimization (v9.5.0).
68
+ - **Intlayer**: Recommended choice for professional Solid applications needing advanced features and optimization (v9.5.6).
69
69
  - **@solid-primitives/i18n**: Excellent lightweight alternative for simple projects, though lacks advanced features like lazy loading.
70
70
  - **solid-i18next**: Standard but heavy option (~3.5× Intlayer) with same downsides as React i18next.
71
71
  - **Paraglide**: Innovative approach but complex DX and tree-shaking issues in some setups.
@@ -100,10 +100,10 @@ Syntaxes built around `t('a.b.c')` are very convenient but often encourage keepi
100
100
  For this benchmark, we compared the following libraries:
101
101
 
102
102
  - `Base App` (No i18n library)
103
- - `solid-intlayer` (v9.5.0)
104
- - `@solid-primitives/i18n` (v2.2.1)
105
- - `i18next` (v26.0.8) + `@mbarzda/solid-i18next` (v1.4.1)
106
- - `@inlang/paraglide-js` (v2.25.1)
103
+ - [`solid-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/solid-intlayer/exports.md) (v9.5.6)
104
+ - [`@solid-primitives/i18n`](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n) (v2.2.1)
105
+ - [`i18next`](https://github.com/i18next/i18next) (v26.0.8) + [`@mbarzda/solid-i18next`](https://github.com/mbarzda/solid-i18next) (v1.4.1)
106
+ - [`@inlang/paraglide-js`](https://github.com/opral/paraglide-js) (v2.25.1)
107
107
 
108
108
  The framework is `Solid` with a multilingual app of **10 pages** and **10 languages**.
109
109
 
@@ -65,7 +65,7 @@ The other impact is on developer experience: how you declare content, types, nam
65
65
 
66
66
  ## TL;DR
67
67
 
68
- - **Intlayer**: The most performance-efficient choice (v9.5.0) with the smallest footprint.
68
+ - **Intlayer**: The most performance-efficient choice (v9.5.6) with the smallest footprint.
69
69
  - **Paraglide**: Strong contender for tree-shaking but has a more complex developer experience and reactivity overhead.
70
70
  - **svelte-i18n**: Feature-complete and standard for Svelte, but carries a much larger bundle weight (~4.5× Intlayer).
71
71
 
@@ -99,9 +99,9 @@ Syntaxes built around `t('a.b.c')` are very convenient but often encourage keepi
99
99
  For this benchmark, we compared the following libraries:
100
100
 
101
101
  - `Base App` (No i18n library)
102
- - `svelte-intlayer` (v9.5.0)
103
- - `svelte-i18n` (v4.0.1)
104
- - `@inlang/paraglide-js` (v2.25.1)
102
+ - [`svelte-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/svelte-intlayer/exports.md) (v9.5.6)
103
+ - [`svelte-i18n`](https://github.com/kaisermann/svelte-i18n) (v4.0.1)
104
+ - [`@inlang/paraglide-js`](https://github.com/opral/paraglide-js) (v2.25.1)
105
105
 
106
106
  The framework is `Svelte` with a multilingual app of **10 pages** and **10 languages**.
107
107
 
@@ -65,7 +65,7 @@ The other impact is on developer experience: how you declare content, types, nam
65
65
 
66
66
  ## TL;DR
67
67
 
68
- - **Intlayer**: Provides the best performance and smallest bundle size (v9.5.1) for TanStack Start.
68
+ - **Intlayer**: Provides the best performance and smallest bundle size (v9.5.6) for TanStack Start.
69
69
  - **react-i18next** & **use-intl**: Mature alternatives with large ecosystems, but significantly heavier and more complex to optimize.
70
70
  - **Paraglide**: Innovative tree-shaking idea that does not work in practice. Complex DX and reactivity overhead in TanStack Start.
71
71
  - **Avoid**: **General Translation (GT)** and **Lingo.dev** due to severe performance issues, AI quota limits, and vendor lock-in.
@@ -100,18 +100,19 @@ Syntaxes built around `const t = useTranslation()` + `t('a.b.c')` are very conve
100
100
  For this benchmark, we compared the following libraries:
101
101
 
102
102
  - `Base App` (No i18n library)
103
- - `react-intlayer` (v9.5.1)
104
- - `@intlayer/use-intl` (v9.5.1)
105
- - [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/lingui.md) (v9.5.1)
106
- - `react-i18next` (v17.0.13)
107
- - `use-intl` (v4.14.2)
108
- - `@lingui/core` (v6.6.0)
109
- - `@inlang/paraglide-js` (v2.15.1)
110
- - `@tolgee/react` (v7.2.0)
111
- - `react-intl` (v10.1.26)
112
- - `wuchale` (v0.26.6)
113
- - `gt-react` (v10.18.3)
114
- - `lingo.dev` (v0.138.7)
103
+ - [`react-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/exports.md) (v9.5.6)
104
+ - [`@intlayer/use-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/next-intl.md) (v9.5.6)
105
+ - [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/lingui.md) (v9.5.6)
106
+ - [`@intlayer/react-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/react-i18next.md) (v9.5.6)
107
+ - [`react-i18next`](https://github.com/i18next/react-i18next) (v17.0.13)
108
+ - [`use-intl`](https://github.com/amannn/next-intl/tree/main/packages/use-intl) (v4.14.2)
109
+ - [`@lingui/core`](https://github.com/lingui/js-lingui) (v6.6.0)
110
+ - [`@inlang/paraglide-js`](https://github.com/opral/paraglide-js) (v2.15.1)
111
+ - [`@tolgee/react`](https://github.com/tolgee/tolgee-js) (v7.2.0)
112
+ - [`react-intl`](https://github.com/formatjs/formatjs) (v10.1.26)
113
+ - [`wuchale`](https://github.com/wuchalejs/wuchale) (v0.26.6)
114
+ - [`gt-react`](https://github.com/generaltranslation/gt) (v10.18.3)
115
+ - [`lingo.dev`](https://github.com/lingodotdev/lingo.dev) (v0.138.7)
115
116
 
116
117
  The framework is `TanStack Start` with a multilingual app of **10 pages** and **10 languages**.
117
118
 
@@ -65,7 +65,7 @@ The other impact is on developer experience: how you declare content, types, nam
65
65
 
66
66
  ## TL;DR
67
67
 
68
- - **Intlayer**: The most lightweight solution (v9.5.0) with built-in scoping and dynamic loading.
68
+ - **Intlayer**: The most lightweight solution (v9.5.6) with built-in scoping and dynamic loading.
69
69
  - **vue-i18n**: The industry standard with a rich ecosystem but can be significantly heavier and harder to optimize for code-splitting in large applications.
70
70
  - **fluent-vue**: Innovative message organization but lacks type safety and is extremely heavy.
71
71
 
@@ -99,10 +99,10 @@ Syntaxes built around `const { t } = useI18n()` + `t('a.b.c')` are very convenie
99
99
  For this benchmark, we compared the following libraries:
100
100
 
101
101
  - `Base App` (No i18n library)
102
- - `vue-intlayer` (v9.5.0)
103
- - [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/vue-i18n.md) (v9.5.1)
104
- - `vue-i18n` (v11.4.0)
105
- - `fluent-vue` (v3.8.2)
102
+ - [`vue-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/vue-intlayer/exports.md) (v9.5.6)
103
+ - [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/vue-i18n.md) (v9.5.6)
104
+ - [`vue-i18n`](https://github.com/intlify/vue-i18n) (v11.4.0)
105
+ - [`fluent-vue`](https://github.com/fluent-vue/fluent-vue) (v3.8.2)
106
106
 
107
107
  The framework is `Vue` with a multilingual app of **10 pages** and **10 languages**.
108
108
 
@@ -0,0 +1,130 @@
1
+ ---
2
+ createdAt: 2026-09-22
3
+ updatedAt: 2026-09-22
4
+ title: Chrome & Firefox Extension, i18n & SEO Scanner
5
+ description: Inspect the i18n setup of any website with the Intlayer Chrome extension. Detect the framework, i18n library, locales, hreflang and SEO tags, and run a full i18n SEO audit.
6
+ keywords:
7
+ - Chrome Extension
8
+ - i18n Scanner
9
+ - hreflang Checker
10
+ - Multilingual SEO
11
+ - Intlayer
12
+ - Localization
13
+ - Development Tools
14
+ slugs:
15
+ - doc
16
+ - chrome-extension
17
+ history:
18
+ - version: 9.5.6
19
+ date: 2026-09-22
20
+ changes: "Init history"
21
+ author: aymericzip
22
+ ---
23
+
24
+ # Chrome & Firefox Extension: i18n & SEO Scanner
25
+
26
+ ## Overview
27
+
28
+ [**Intlayer i18n Scanner**](https://chromewebstore.google.com/detail/intlayer_i18n_scanner/pmlehcgmjmfimmjnembihbakhnheiabc) is the official Chrome extension for **Intlayer**. Open it on any website to see how the site handles internationalization: which framework and i18n library it uses, which locales it exposes, and whether its multilingual SEO tags are set up correctly.
29
+
30
+ It works on every website, whether or not it uses Intlayer.
31
+
32
+ ![Intlayer Chrome Extension](https://github.com/aymericzip/intlayer/blob/main/docs/assets/chrome_extension.png?raw=true)
33
+
34
+ [Chrome extension link](https://chromewebstore.google.com/detail/intlayer_i18n_scanner/pmlehcgmjmfimmjnembihbakhnheiabc)
35
+
36
+ [Firefox add-on link](https://addons.mozilla.org/en-US/firefox/addon/intlayer-i18n-scanner/)
37
+
38
+ ## Features
39
+
40
+ - **Technology detection**: identifies the framework (Next.js, Nuxt, Astro, SvelteKit, Angular, Vue.js, Qwik, React, Gatsby, WordPress) and the i18n library (Intlayer, i18next, Vue I18n, @nuxtjs/i18n, Angular @angular/localize, next-intl / next-i18next, Weglot, Localize, WPML, Polylang). Each detection shows the evidence that triggered it, such as a global variable, a cookie or a DOM marker.
41
+ - **Locales**: lists the locales found in the `lang` attribute, hreflang and `og:locale` tags, the URL locale prefix, and locale cookies or storage entries.
42
+ - **SEO i18n tags**: checks `html lang`, `html dir`, the canonical link, hreflang tags, `x-default`, `og:locale` and the ratio of localized internal links.
43
+ - **Navigate across locales**: switches the current page to any of its localized versions in one click, based on its hreflang tags.
44
+ - **Search in sitemap**: searches every page listed in the site's sitemap and opens it in the current tab.
45
+ - **Full audit**: runs the same audit as the [i18n SEO Scanner](https://intlayer.org/i18n-seo-scanner) and shows a live score.
46
+
47
+ ## Installation
48
+
49
+ <Tabs group="browser">
50
+ <Tab label="Chrome" value="chrome">
51
+
52
+ Install [**Intlayer i18n Scanner**](https://chromewebstore.google.com/detail/intlayer_i18n_scanner/pmlehcgmjmfimmjnembihbakhnheiabc) from the Chrome Web Store, then pin it to your toolbar.
53
+
54
+ The extension works in Chrome and in any Chromium based browser that supports Chrome Web Store extensions (Edge, Brave, Arc, Opera).
55
+
56
+ </Tab>
57
+ <Tab label="Firefox" value="firefox">
58
+
59
+ Install [**Intlayer i18n Scanner**](https://addons.mozilla.org/en-US/firefox/addon/intlayer-i18n-scanner/) from Firefox Add-ons, then pin it to your toolbar.
60
+
61
+ </Tab>
62
+ </Tabs>
63
+
64
+ ## Usage
65
+
66
+ ### Inspect a page
67
+
68
+ 1. Open the website you want to inspect.
69
+ 2. Click the **Intlayer i18n Scanner** icon in the toolbar.
70
+ 3. The popup shows the **Detected technologies**, **Locales** and **SEO i18n tags** sections for the current page.
71
+
72
+ Detection runs locally in your browser, on the current tab only.
73
+
74
+ ### Navigate between locales
75
+
76
+ ![Intlayer Chrome Extension navigation](https://github.com/aymericzip/intlayer/blob/main/docs/assets/chrome_extension_navigation.png?raw=true)
77
+
78
+ The **Navigate** section lists the **Localized versions** of the current page, read from its hreflang tags. Click a locale to open that version in the current tab.
79
+
80
+ Under **Sitemap pages**, type to search the URLs of the site's sitemap, then click a result to open it.
81
+
82
+ ### Run a full audit
83
+
84
+ ![Intlayer Chrome Extension audit score](https://github.com/aymericzip/intlayer/blob/main/docs/assets/chrome_extension_audit_score.png?raw=true)
85
+
86
+ Scroll to the **Full audit** section and click **Run full i18n audit**. Results stream in as each check completes, grouped into:
87
+
88
+ - **Page**: `html lang` and `dir` attributes, current locale, hreflang tags, `x-default`, canonical link, localized internal links, language selector, flag icons, and unused locale content shipped in the JavaScript bundle.
89
+ - **Robots.txt**: presence, and whether locale paths stay crawlable.
90
+ - **Sitemap**: presence, every locale listed, alternate links and `x-default`.
91
+ - **Domain**: number of locales discovered across the site.
92
+
93
+ Each check is marked as passed, warning or failed, and the score summarizes the overall i18n SEO health of the page.
94
+
95
+ ## Privacy and permissions
96
+
97
+ The extension requests minimal permissions:
98
+
99
+ - **activeTab** and **scripting**: the detector runs only on the tab you are viewing, and only when you open the popup.
100
+ - **back.intlayer.org**: used only when you run a full audit. The URL of the current page is sent to the Intlayer API to be scanned.
101
+
102
+ No browsing history is collected and nothing runs in the background.
103
+
104
+ ## FAQ
105
+
106
+ <FAQ>
107
+
108
+ <Question title="Does the website need to use Intlayer?">
109
+
110
+ No. The extension inspects any website, whatever framework or i18n library it uses.
111
+
112
+ </Question>
113
+ <Question title="Why is a technology not detected?">
114
+
115
+ Detection relies on what the page exposes in the browser: global variables, cookies, meta tags and DOM markers. Some production builds strip these markers, so a library can be in use without leaving a visible trace.
116
+
117
+ </Question>
118
+ <Question title="How do I fix the issues found by the audit?">
119
+
120
+ Most checks map to a routing or metadata setting. With Intlayer, hreflang, canonical, `x-default`, localized links, sitemap and robots.txt are generated from your [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md). See the integration guide for your framework, for example [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_16.md), [Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nuxt.md) or [TanStack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_tanstack.md).
121
+
122
+ </Question>
123
+
124
+ </FAQ>
125
+
126
+ ## Related tools
127
+
128
+ - [VS Code Extension](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/vs_code_extension.md)
129
+ - [MCP Server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)
130
+ - [LSP Server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-11
3
- updatedAt: 2026-09-12
3
+ updatedAt: 2026-09-21
4
4
  title: CLI - All Intlayer CLI commands for your multilingual website
5
5
  description: Discover how to use the Intlayer CLI to manage your multilingual website. Follow the steps in this online documentation to set up your project in a few minutes.
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  - concept
18
18
  - cli
19
19
  history:
20
+ - version: 9.5.6
21
+ date: 2026-09-21
22
+ changes: "Add init infra command"
20
23
  - version: 9.5.2
21
24
  date: 2026-09-12
22
25
  changes: "Replace the `ci` command by the `--ci` flag"
@@ -151,6 +154,7 @@ To see how to configure available locales, or other parameters, refer to the [co
151
154
  ### Configuration
152
155
 
153
156
  - **[Initialize Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/init.md)** - Set up Intlayer in your project with automatic configuration
157
+ - **[Set Up Infrastructure](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/infra.md)** - Install the desktop app or self-host the CMS with Docker (all-in-one or Compose)
154
158
  - **[Manage Configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/configuration.md)** - Get and push your Intlayer configuration to the CMS
155
159
 
156
160
  ### Documentation Management
@@ -177,6 +181,7 @@ To see how to configure available locales, or other parameters, refer to the [co
177
181
  ```json fileName="package.json"
178
182
  "scripts": {
179
183
  "intlayer:init": "npx intlayer init",
184
+ "intlayer:infra": "npx intlayer init infra",
180
185
  "intlayer:login": "npx intlayer login",
181
186
  "intlayer:build": "npx intlayer build",
182
187
  "intlayer:watch": "npx intlayer build --watch",
@@ -0,0 +1,175 @@
1
+ ---
2
+ createdAt: 2026-09-21
3
+ updatedAt: 2026-09-21
4
+ title: CLI - Init Infra
5
+ description: Learn how to use the Intlayer CLI init infra command to install the desktop app or self-host the Intlayer CMS with Docker (all-in-one container or Docker Compose stack).
6
+ keywords:
7
+ - CLI
8
+ - Infrastructure
9
+ - Self-hosting
10
+ - Desktop app
11
+ - Docker
12
+ - Docker Compose
13
+ - CMS
14
+ - Intlayer
15
+ slugs:
16
+ - doc
17
+ - concept
18
+ - cli
19
+ - infra
20
+ history:
21
+ - version: 9.5.6
22
+ date: 2026-09-21
23
+ changes: "Add init infra command"
24
+ author: aymericzip
25
+ ---
26
+
27
+ # Intlayer CLI Init Infra Command
28
+
29
+ ## Description
30
+
31
+ The `init infra` command sets up the Intlayer infrastructure on your machine. It downloads the hosted installer for your platform (`https://intlayer.org/install.sh` on macOS / Linux, `https://intlayer.org/install.ps1` on Windows) and runs it with your terminal attached, so the installer's own menu and progress output reach you unchanged.
32
+
33
+ The installer asks how you want to run Intlayer:
34
+
35
+ - **Desktop app**: downloads the native dashboard for your OS and CPU and opens or installs it. The desktop build talks to the Intlayer Cloud backend.
36
+ - **All-in-one Docker**: dashboard + API + MongoDB + Redis + MinIO in a single container backed by one volume. Writes `./intlayer.env` with the secrets generated and pulls the `intlayer/cms-all` image.
37
+ - **Docker Compose**: one container per service, for scalable self-hosting. Writes `docker-compose.yml` and `.env` into `./intlayer/` and pulls the images.
38
+
39
+ The hosted installer is the single source of truth for the setup flow: the CLI runs it rather than re-implementing the same steps, so `npx intlayer init infra` and `curl -fsSL https://intlayer.org/install.sh | sh` do exactly the same thing.
40
+
41
+ ## Usage
42
+
43
+ ```bash packageManager="npm"
44
+ npx intlayer init infra [options]
45
+ ```
46
+
47
+ ```bash packageManager="yarn"
48
+ yarn intlayer init infra [options]
49
+ ```
50
+
51
+ ```bash packageManager="pnpm"
52
+ pnpm intlayer init infra [options]
53
+ ```
54
+
55
+ ```bash packageManager="bun"
56
+ bun x intlayer init infra [options]
57
+ ```
58
+
59
+ The same step is offered from the checklist of `npx intlayer init --interactive`, under **Infrastructure (desktop app / self-hosting)**.
60
+
61
+ ## Options
62
+
63
+ - `-m, --mode <mode>` - Optional. Skip the installer's menu and run one mode directly. Accepted values: `desktop`, `docker` (all-in-one) or `compose`. Any other value exits with an error listing the accepted modes.
64
+
65
+ ## Examples
66
+
67
+ ### Pick the mode interactively
68
+
69
+ ```bash
70
+ npx intlayer init infra
71
+ ```
72
+
73
+ ### Install the desktop app
74
+
75
+ ```bash
76
+ npx intlayer init infra --mode desktop
77
+ ```
78
+
79
+ ### Self-host with the all-in-one container
80
+
81
+ ```bash
82
+ npx intlayer init infra --mode docker
83
+ ```
84
+
85
+ ### Self-host with Docker Compose
86
+
87
+ ```bash
88
+ npx intlayer init infra --mode compose
89
+ ```
90
+
91
+ ## Example output
92
+
93
+ ```bash
94
+ npx intlayer init infra --mode compose
95
+ ◇ Installer downloaded
96
+ ▸ Fetching docker-compose.yml into ./intlayer
97
+ ▸ Writing ./intlayer/.env
98
+
99
+ Let's fill in .env. Press Enter to accept a suggestion;
100
+ every value can be changed later in the file.
101
+
102
+ ? Domain Intlayer will be served on (empty = localhost only):
103
+
104
+ How should Intlayer send emails? The first account cannot be verified
105
+ without a working mailer.
106
+
107
+ 1) Resend API key from resend.com
108
+ 2) SMTP relay Your own SMTP server
109
+ 3) Later Fill in the file by hand before starting
110
+
111
+ ? Choice [1-3]: 1
112
+ ? Resend API key:
113
+ ? Sender address [Intlayer <no-reply@example.com>]:
114
+ ? OpenAI API key, enables AI translation (empty = skip):
115
+ ▸ Pulling images
116
+
117
+ Everything is installed.
118
+
119
+ 1. Start the stack:
120
+
121
+ cd ./intlayer && docker compose up -d
122
+
123
+ Then open http://localhost:3000
124
+ First boot initialises the datastores, so give it a minute. The first
125
+ account you create becomes the super admin.
126
+
127
+ Logs docker compose logs -f
128
+ Stop docker compose down
129
+ Upgrade docker compose pull && docker compose up -d
130
+ ```
131
+
132
+ Given a domain (for instance `example.org`), the installer suggests `https://cms.example.org`, `https://back.example.org` and `https://s3.example.org/intlayer` for the dashboard, the API and the object storage, writes them to the environment file, and switches the start command to a build from the repository, since the published dashboard image only works on `localhost`. See [Custom domain](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md#custom-domain).
133
+
134
+ ## Installer settings
135
+
136
+ The installer reads a few environment variables, which the CLI passes through untouched. Set them in your shell before running the command:
137
+
138
+ ```bash
139
+ INTLAYER_COMPOSE_DIR=./cms npx intlayer init infra --mode compose
140
+ ```
141
+
142
+ | Variable | Default | Applies to | Description |
143
+ | ------------------------- | ------------------------- | ---------- | ---------------------------------------------------------- |
144
+ | `INTLAYER_MODE` | _(asked)_ | all | `desktop`, `docker` or `compose`, same as `--mode` |
145
+ | `INTLAYER_DOWNLOAD_DIR` | `~/Downloads` | desktop | Where the app installer is saved |
146
+ | `INTLAYER_IMAGE` | `intlayer/cms-all:latest` | docker | All-in-one image to pull |
147
+ | `INTLAYER_ENV_FILE` | `./intlayer.env` | docker | Where to write the environment file |
148
+ | `INTLAYER_CONTAINER_NAME` | `intlayer` | docker | Container name |
149
+ | `INTLAYER_DATA_VOLUME` | `intlayer-data` | docker | Named volume mounted at `/data` |
150
+ | `INTLAYER_APP_PORT` | `3000` | docker | Host port for the dashboard |
151
+ | `INTLAYER_API_PORT` | `3100` | docker | Host port for the API |
152
+ | `INTLAYER_S3_PORT` | `9000` | docker | Host port for the MinIO S3 API |
153
+ | `INTLAYER_CONSOLE_PORT` | `9001` | docker | Host port for the MinIO console |
154
+ | `INTLAYER_COMPOSE_DIR` | `./intlayer` | compose | Where `docker-compose.yml` and `.env` are written |
155
+ | `INTLAYER_SELFHOST_REF` | `main` | both | Git ref the compose file and env template are fetched from |
156
+
157
+ > The port variables only change the **host** side of the mapping. The published images have `http://localhost:3000`, `http://localhost:3100` and `http://localhost:9000` compiled into the dashboard bundle, so keep the defaults unless you build your own images: see the [self-hosting guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md#limitations).
158
+
159
+ ## Requirements
160
+
161
+ - **Desktop app** needs [Node.js](https://nodejs.org): the app embeds the dashboard's server and starts it with the machine's own `node` binary.
162
+ - **Docker modes** need [Docker](https://docs.docker.com/get-docker/) (Docker Desktop with the WSL 2 backend on Windows). The Compose mode also needs the `docker compose` plugin.
163
+
164
+ ## Notes
165
+
166
+ - Re-running the command is safe: an existing environment file is never overwritten, so it doubles as the upgrade path (the installer pulls the latest images and keeps your secrets).
167
+ - The installer is downloaded to a temporary directory and deleted once it exits, whatever the outcome.
168
+ - The command's exit code is the installer's. If the download itself fails, the CLI prints the equivalent `curl … | sh` (or `irm … | iex`) command so you can run the installer directly.
169
+ - The Docker modes need a mailer to send sign-in emails. The installer asks for one; if you skip the question (or run without a terminal, where the questions are skipped altogether), configure Resend or SMTP in the generated environment file: see [Global mailer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md#global-mailer).
170
+
171
+ ## Related
172
+
173
+ - [Self-hosting guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md) - Architecture, first-run steps and limitations of each mode
174
+ - [Initialize Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/init.md) - The parent `init` command and its interactive checklist
175
+ - [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) - What the dashboard you just installed does
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-12-30
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-09-21
4
4
  title: Initialize Intlayer
5
5
  description: Learn how to initialize Intlayer in your project.
6
6
  keywords:
@@ -14,6 +14,9 @@ slugs:
14
14
  - cli
15
15
  - init
16
16
  history:
17
+ - version: 9.5.6
18
+ date: 2026-09-21
19
+ changes: "Add init infra sub-command"
17
20
  - version: 8.6.4
18
21
  date: 2026-03-31
19
22
  changes: "Add --no-gitignore option"
@@ -51,6 +54,7 @@ The `init` command automatically sets up Intlayer in your project by configuring
51
54
 
52
55
  - `--project-root [projectRoot]` - Optional. Specify the project root directory. If not provided, the command will search for the project root starting from the current working directory.
53
56
  - `--no-gitignore` - Optional. Skip the automatic update of the `.gitignore` file. If this flag is set, `.intlayer` will not be added to `.gitignore`.
57
+ - `-i, --interactive` - Optional. Pick the setup steps from a checklist (packages, CI, skills, MCP, compiler, infrastructure, …) instead of running the default set.
54
58
 
55
59
  ## What it does:
56
60
 
@@ -125,6 +129,26 @@ bun x intlayer init --no-gitignore
125
129
 
126
130
  This will set up all configuration files but will not modify your `.gitignore`.
127
131
 
132
+ ### Set up the infrastructure (desktop app or self-hosting):
133
+
134
+ ```bash
135
+ npx intlayer init infra
136
+ ```
137
+
138
+ Downloads and runs the hosted installer (`https://intlayer.org/install.sh`, or `install.ps1` on Windows), which asks how you want to run Intlayer:
139
+
140
+ - **Desktop app** — installs the native dashboard on your machine, connected to the Intlayer Cloud.
141
+ - **All-in-one Docker** — dashboard + API + MongoDB + Redis + MinIO in a single container.
142
+ - **Docker Compose** — one container per service, for scalable self-hosting.
143
+
144
+ Skip the menu with `--mode`:
145
+
146
+ ```bash
147
+ npx intlayer init infra --mode compose
148
+ ```
149
+
150
+ The same step is offered by `npx intlayer init --interactive`. See the [`init infra` reference](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/infra.md) for the installer settings, and the [self-hosting guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/self_hosting.md) for what each mode sets up.
151
+
128
152
  ## Example output:
129
153
 
130
154
  ```bash