@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.
- package/blog/ar/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ar/i18next_vs_intlayer.md +130 -16
- package/blog/ar/lingui_vs_intlayer.md +122 -15
- package/blog/ar/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/ar/next-intl_vs_intlayer.md +136 -20
- package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +119 -17
- package/blog/ar/vue-i18n_vs_intlayer.md +193 -31
- package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/de/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/de/i18next_vs_intlayer.md +128 -14
- package/blog/de/lingui_vs_intlayer.md +122 -15
- package/blog/de/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/de/next-intl_vs_intlayer.md +125 -15
- package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/de/vue-i18n_vs_intlayer.md +193 -31
- package/blog/en/i18next_vs_intlayer-i18next.md +121 -14
- package/blog/en/i18next_vs_intlayer.md +128 -14
- package/blog/en/lingui_vs_intlayer.md +124 -15
- package/blog/en/next-intl_vs_intlayer-next-intl.md +123 -14
- package/blog/en/next-intl_vs_intlayer.md +125 -13
- package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +115 -15
- package/blog/en/vue-i18n_vs_intlayer.md +188 -27
- package/blog/en-GB/i18next_vs_intlayer-i18next.md +121 -14
- package/blog/en-GB/i18next_vs_intlayer.md +128 -14
- package/blog/en-GB/lingui_vs_intlayer.md +122 -15
- package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/en-GB/next-intl_vs_intlayer.md +125 -15
- package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/en-GB/vue-i18n_vs_intlayer.md +187 -25
- package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +116 -0
- package/blog/es/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/es/i18next_vs_intlayer.md +128 -14
- package/blog/es/lingui_vs_intlayer.md +122 -15
- package/blog/es/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/es/next-intl_vs_intlayer.md +125 -15
- package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/es/vue-i18n_vs_intlayer.md +193 -31
- package/blog/fr/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/fr/i18next_vs_intlayer.md +128 -14
- package/blog/fr/lingui_vs_intlayer.md +122 -15
- package/blog/fr/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/fr/next-intl_vs_intlayer.md +127 -15
- package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +118 -17
- package/blog/fr/vue-i18n_vs_intlayer.md +192 -31
- package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +329 -7
- package/blog/hi/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/hi/i18next_vs_intlayer.md +130 -16
- package/blog/hi/lingui_vs_intlayer.md +122 -15
- package/blog/hi/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/hi/next-intl_vs_intlayer.md +135 -19
- package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/hi/vue-i18n_vs_intlayer.md +193 -31
- package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/id/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/id/i18next_vs_intlayer.md +128 -14
- package/blog/id/lingui_vs_intlayer.md +122 -15
- package/blog/id/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/id/next-intl_vs_intlayer.md +135 -19
- package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +354 -2
- package/blog/id/vue-i18n_vs_intlayer.md +188 -26
- package/blog/id/vue-i18n_vs_intlayer_benchmark.md +327 -7
- package/blog/it/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/it/i18next_vs_intlayer.md +128 -14
- package/blog/it/lingui_vs_intlayer.md +122 -15
- package/blog/it/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/it/next-intl_vs_intlayer.md +125 -15
- package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/it/vue-i18n_vs_intlayer.md +191 -31
- package/blog/it/vue-i18n_vs_intlayer_benchmark.md +332 -5
- package/blog/ja/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ja/i18next_vs_intlayer.md +129 -17
- package/blog/ja/lingui_vs_intlayer.md +122 -15
- package/blog/ja/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/ja/next-intl_vs_intlayer.md +124 -14
- package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/ja/vue-i18n_vs_intlayer.md +193 -31
- package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/ko/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ko/i18next_vs_intlayer.md +129 -17
- package/blog/ko/lingui_vs_intlayer.md +122 -15
- package/blog/ko/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/ko/next-intl_vs_intlayer.md +134 -18
- package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/ko/vue-i18n_vs_intlayer.md +193 -31
- package/blog/pl/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/pl/i18next_vs_intlayer.md +128 -14
- package/blog/pl/lingui_vs_intlayer.md +122 -15
- package/blog/pl/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/pl/next-intl_vs_intlayer.md +134 -18
- package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/pl/vue-i18n_vs_intlayer.md +188 -26
- package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/pt/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/pt/i18next_vs_intlayer.md +128 -14
- package/blog/pt/lingui_vs_intlayer.md +122 -15
- package/blog/pt/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/pt/next-intl_vs_intlayer.md +131 -15
- package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/pt/vue-i18n_vs_intlayer.md +193 -31
- package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/ru/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/ru/i18next_vs_intlayer.md +130 -16
- package/blog/ru/lingui_vs_intlayer.md +122 -15
- package/blog/ru/next-intl_vs_intlayer-next-intl.md +125 -16
- package/blog/ru/next-intl_vs_intlayer.md +123 -13
- package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +127 -27
- package/blog/ru/vue-i18n_vs_intlayer.md +193 -31
- package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +326 -19
- package/blog/tr/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/tr/i18next_vs_intlayer.md +128 -14
- package/blog/tr/lingui_vs_intlayer.md +122 -15
- package/blog/tr/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/tr/next-intl_vs_intlayer.md +136 -20
- package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/tr/vue-i18n_vs_intlayer.md +188 -26
- package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/uk/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/uk/i18next_vs_intlayer.md +130 -16
- package/blog/uk/lingui_vs_intlayer.md +122 -15
- package/blog/uk/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/uk/next-intl_vs_intlayer.md +135 -19
- package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +135 -17
- package/blog/uk/vue-i18n_vs_intlayer.md +188 -27
- package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/vi/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/vi/i18next_vs_intlayer.md +128 -14
- package/blog/vi/lingui_vs_intlayer.md +122 -15
- package/blog/vi/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/vi/next-intl_vs_intlayer.md +135 -19
- package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/vi/vue-i18n_vs_intlayer.md +188 -26
- package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +361 -0
- package/blog/zh/i18next_vs_intlayer-i18next.md +122 -15
- package/blog/zh/i18next_vs_intlayer.md +128 -14
- package/blog/zh/lingui_vs_intlayer.md +122 -15
- package/blog/zh/next-intl_vs_intlayer-next-intl.md +124 -15
- package/blog/zh/next-intl_vs_intlayer.md +125 -15
- package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
- package/blog/zh/vue-i18n_vs_intlayer.md +192 -31
- package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +340 -9
- package/dist/cjs/generated/docs.entry.cjs +40 -40
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/esm/generated/docs.entry.mjs +40 -40
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/types/generated/docs.entry.d.ts +2 -2
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/benchmark/nextjs.md +13 -13
- package/docs/ar/benchmark/solid.md +5 -5
- package/docs/ar/benchmark/svelte.md +4 -4
- package/docs/ar/benchmark/tanstack.md +14 -13
- package/docs/ar/benchmark/vue.md +5 -5
- package/docs/ar/chrome_extension.md +130 -0
- package/docs/ar/cli/index.md +6 -1
- package/docs/ar/cli/infra.md +162 -0
- package/docs/ar/cli/init.md +24 -1
- package/docs/ar/dictionary/html.md +173 -5
- package/docs/ar/dictionary/markdown.md +263 -1
- package/docs/ar/intlayer_with_analog.md +23 -1
- package/docs/ar/intlayer_with_angular_19.md +24 -1
- package/docs/ar/intlayer_with_angular_21.md +24 -1
- package/docs/ar/intlayer_with_astro.md +24 -1
- package/docs/ar/intlayer_with_astro_lit.md +25 -1
- package/docs/ar/intlayer_with_astro_preact.md +26 -1
- package/docs/ar/intlayer_with_astro_react.md +26 -1
- package/docs/ar/intlayer_with_astro_solid.md +26 -1
- package/docs/ar/intlayer_with_astro_svelte.md +25 -1
- package/docs/ar/intlayer_with_astro_vue.md +25 -1
- package/docs/ar/intlayer_with_remix_3.md +22 -1
- package/docs/ar/self_hosting.md +406 -231
- package/docs/de/benchmark/nextjs.md +13 -13
- package/docs/de/benchmark/solid.md +5 -5
- package/docs/de/benchmark/svelte.md +4 -4
- package/docs/de/benchmark/tanstack.md +14 -13
- package/docs/de/benchmark/vue.md +5 -5
- package/docs/de/chrome_extension.md +130 -0
- package/docs/de/cli/index.md +6 -1
- package/docs/de/cli/infra.md +162 -0
- package/docs/de/cli/init.md +24 -1
- package/docs/de/dictionary/html.md +173 -5
- package/docs/de/dictionary/markdown.md +263 -1
- package/docs/de/intlayer_with_analog.md +23 -1
- package/docs/de/intlayer_with_angular_19.md +24 -1
- package/docs/de/intlayer_with_angular_21.md +24 -1
- package/docs/de/intlayer_with_astro.md +24 -1
- package/docs/de/intlayer_with_astro_lit.md +25 -1
- package/docs/de/intlayer_with_astro_preact.md +26 -1
- package/docs/de/intlayer_with_astro_react.md +26 -1
- package/docs/de/intlayer_with_astro_solid.md +26 -1
- package/docs/de/intlayer_with_astro_svelte.md +25 -1
- package/docs/de/intlayer_with_astro_vue.md +25 -1
- package/docs/de/intlayer_with_remix_3.md +22 -1
- package/docs/de/self_hosting.md +404 -227
- package/docs/en/benchmark/nextjs.md +13 -13
- package/docs/en/benchmark/solid.md +5 -5
- package/docs/en/benchmark/svelte.md +4 -4
- package/docs/en/benchmark/tanstack.md +14 -13
- package/docs/en/benchmark/vue.md +5 -5
- package/docs/en/chrome_extension.md +130 -0
- package/docs/en/cli/index.md +6 -1
- package/docs/en/cli/infra.md +175 -0
- package/docs/en/cli/init.md +25 -1
- package/docs/en/dictionary/html.md +173 -5
- package/docs/en/dictionary/markdown.md +263 -1
- package/docs/en/intlayer_with_analog.md +23 -1
- package/docs/en/intlayer_with_angular_19.md +24 -1
- package/docs/en/intlayer_with_angular_21.md +24 -1
- package/docs/en/intlayer_with_astro.md +24 -1
- package/docs/en/intlayer_with_astro_lit.md +25 -1
- package/docs/en/intlayer_with_astro_preact.md +26 -1
- package/docs/en/intlayer_with_astro_react.md +26 -1
- package/docs/en/intlayer_with_astro_solid.md +26 -1
- package/docs/en/intlayer_with_astro_svelte.md +25 -1
- package/docs/en/intlayer_with_astro_vue.md +25 -1
- package/docs/en/intlayer_with_remix_3.md +22 -1
- package/docs/en/self_hosting.md +418 -176
- package/docs/en-GB/benchmark/nextjs.md +13 -13
- package/docs/en-GB/benchmark/solid.md +5 -5
- package/docs/en-GB/benchmark/svelte.md +4 -4
- package/docs/en-GB/benchmark/tanstack.md +14 -13
- package/docs/en-GB/benchmark/vue.md +5 -5
- package/docs/en-GB/chrome_extension.md +130 -0
- package/docs/en-GB/cli/index.md +6 -1
- package/docs/en-GB/cli/infra.md +162 -0
- package/docs/en-GB/cli/init.md +24 -1
- package/docs/en-GB/dictionary/html.md +173 -5
- package/docs/en-GB/dictionary/markdown.md +263 -1
- package/docs/en-GB/intlayer_with_analog.md +23 -1
- package/docs/en-GB/intlayer_with_angular_19.md +24 -1
- package/docs/en-GB/intlayer_with_angular_21.md +24 -1
- package/docs/en-GB/intlayer_with_astro.md +24 -1
- package/docs/en-GB/intlayer_with_astro_lit.md +25 -1
- package/docs/en-GB/intlayer_with_astro_preact.md +26 -1
- package/docs/en-GB/intlayer_with_astro_react.md +26 -1
- package/docs/en-GB/intlayer_with_astro_solid.md +26 -1
- package/docs/en-GB/intlayer_with_astro_svelte.md +25 -1
- package/docs/en-GB/intlayer_with_astro_vue.md +25 -1
- package/docs/en-GB/intlayer_with_remix_3.md +22 -1
- package/docs/en-GB/self_hosting.md +381 -206
- package/docs/es/benchmark/nextjs.md +13 -13
- package/docs/es/benchmark/solid.md +5 -5
- package/docs/es/benchmark/svelte.md +4 -4
- package/docs/es/benchmark/tanstack.md +14 -13
- package/docs/es/benchmark/vue.md +5 -5
- package/docs/es/chrome_extension.md +130 -0
- package/docs/es/cli/index.md +6 -1
- package/docs/es/cli/infra.md +162 -0
- package/docs/es/cli/init.md +24 -1
- package/docs/es/dictionary/html.md +173 -5
- package/docs/es/dictionary/markdown.md +263 -1
- package/docs/es/intlayer_with_analog.md +23 -1
- package/docs/es/intlayer_with_angular_19.md +24 -1
- package/docs/es/intlayer_with_angular_21.md +24 -1
- package/docs/es/intlayer_with_astro.md +24 -1
- package/docs/es/intlayer_with_astro_lit.md +25 -1
- package/docs/es/intlayer_with_astro_preact.md +26 -1
- package/docs/es/intlayer_with_astro_react.md +26 -1
- package/docs/es/intlayer_with_astro_solid.md +26 -1
- package/docs/es/intlayer_with_astro_svelte.md +25 -1
- package/docs/es/intlayer_with_astro_vue.md +25 -1
- package/docs/es/intlayer_with_remix_3.md +22 -1
- package/docs/es/self_hosting.md +400 -223
- package/docs/fr/benchmark/nextjs.md +13 -13
- package/docs/fr/benchmark/solid.md +5 -5
- package/docs/fr/benchmark/svelte.md +4 -4
- package/docs/fr/benchmark/tanstack.md +14 -13
- package/docs/fr/benchmark/vue.md +5 -5
- package/docs/fr/chrome_extension.md +130 -0
- package/docs/fr/cli/index.md +6 -1
- package/docs/fr/cli/infra.md +162 -0
- package/docs/fr/cli/init.md +24 -1
- package/docs/fr/dictionary/html.md +173 -5
- package/docs/fr/dictionary/markdown.md +265 -4
- package/docs/fr/intlayer_with_analog.md +23 -1
- package/docs/fr/intlayer_with_angular_19.md +24 -1
- package/docs/fr/intlayer_with_angular_21.md +24 -1
- package/docs/fr/intlayer_with_astro.md +24 -1
- package/docs/fr/intlayer_with_astro_lit.md +25 -1
- package/docs/fr/intlayer_with_astro_preact.md +26 -1
- package/docs/fr/intlayer_with_astro_react.md +26 -1
- package/docs/fr/intlayer_with_astro_solid.md +26 -1
- package/docs/fr/intlayer_with_astro_svelte.md +25 -1
- package/docs/fr/intlayer_with_astro_vue.md +25 -1
- package/docs/fr/intlayer_with_remix_3.md +22 -1
- package/docs/fr/self_hosting.md +401 -224
- package/docs/hi/benchmark/nextjs.md +13 -13
- package/docs/hi/benchmark/solid.md +5 -5
- package/docs/hi/benchmark/svelte.md +4 -4
- package/docs/hi/benchmark/tanstack.md +14 -13
- package/docs/hi/benchmark/vue.md +5 -5
- package/docs/hi/chrome_extension.md +130 -0
- package/docs/hi/cli/index.md +6 -1
- package/docs/hi/cli/infra.md +162 -0
- package/docs/hi/cli/init.md +24 -1
- package/docs/hi/dictionary/html.md +173 -5
- package/docs/hi/dictionary/markdown.md +263 -1
- package/docs/hi/intlayer_with_analog.md +23 -1
- package/docs/hi/intlayer_with_angular_19.md +24 -1
- package/docs/hi/intlayer_with_angular_21.md +24 -1
- package/docs/hi/intlayer_with_astro.md +24 -1
- package/docs/hi/intlayer_with_astro_lit.md +25 -1
- package/docs/hi/intlayer_with_astro_preact.md +26 -1
- package/docs/hi/intlayer_with_astro_react.md +26 -1
- package/docs/hi/intlayer_with_astro_solid.md +26 -1
- package/docs/hi/intlayer_with_astro_svelte.md +25 -1
- package/docs/hi/intlayer_with_astro_vue.md +25 -1
- package/docs/hi/intlayer_with_remix_3.md +22 -1
- package/docs/hi/self_hosting.md +409 -235
- package/docs/id/benchmark/nextjs.md +13 -13
- package/docs/id/benchmark/solid.md +5 -5
- package/docs/id/benchmark/svelte.md +4 -4
- package/docs/id/benchmark/tanstack.md +14 -13
- package/docs/id/benchmark/vue.md +5 -5
- package/docs/id/chrome_extension.md +130 -0
- package/docs/id/cli/index.md +6 -1
- package/docs/id/cli/infra.md +162 -0
- package/docs/id/cli/init.md +24 -1
- package/docs/id/dictionary/html.md +173 -5
- package/docs/id/dictionary/markdown.md +263 -1
- package/docs/id/intlayer_with_analog.md +23 -1
- package/docs/id/intlayer_with_angular_19.md +24 -1
- package/docs/id/intlayer_with_angular_21.md +24 -1
- package/docs/id/intlayer_with_astro.md +24 -1
- package/docs/id/intlayer_with_astro_lit.md +25 -1
- package/docs/id/intlayer_with_astro_preact.md +26 -1
- package/docs/id/intlayer_with_astro_react.md +26 -1
- package/docs/id/intlayer_with_astro_solid.md +26 -1
- package/docs/id/intlayer_with_astro_svelte.md +25 -1
- package/docs/id/intlayer_with_astro_vue.md +25 -1
- package/docs/id/intlayer_with_remix_3.md +22 -1
- package/docs/id/self_hosting.md +416 -243
- package/docs/it/benchmark/nextjs.md +13 -13
- package/docs/it/benchmark/solid.md +5 -5
- package/docs/it/benchmark/svelte.md +4 -4
- package/docs/it/benchmark/tanstack.md +14 -13
- package/docs/it/benchmark/vue.md +5 -5
- package/docs/it/chrome_extension.md +130 -0
- package/docs/it/cli/index.md +6 -1
- package/docs/it/cli/infra.md +162 -0
- package/docs/it/cli/init.md +24 -1
- package/docs/it/dictionary/html.md +173 -5
- package/docs/it/dictionary/markdown.md +263 -1
- package/docs/it/intlayer_with_analog.md +23 -1
- package/docs/it/intlayer_with_angular_19.md +24 -1
- package/docs/it/intlayer_with_angular_21.md +24 -1
- package/docs/it/intlayer_with_astro.md +24 -1
- package/docs/it/intlayer_with_astro_lit.md +25 -1
- package/docs/it/intlayer_with_astro_preact.md +26 -1
- package/docs/it/intlayer_with_astro_react.md +26 -1
- package/docs/it/intlayer_with_astro_solid.md +26 -1
- package/docs/it/intlayer_with_astro_svelte.md +25 -1
- package/docs/it/intlayer_with_astro_vue.md +25 -1
- package/docs/it/intlayer_with_remix_3.md +22 -1
- package/docs/it/self_hosting.md +412 -237
- package/docs/ja/benchmark/nextjs.md +13 -13
- package/docs/ja/benchmark/solid.md +5 -5
- package/docs/ja/benchmark/svelte.md +4 -4
- package/docs/ja/benchmark/tanstack.md +13 -12
- package/docs/ja/benchmark/vue.md +5 -5
- package/docs/ja/chrome_extension.md +130 -0
- package/docs/ja/cli/index.md +6 -1
- package/docs/ja/cli/infra.md +162 -0
- package/docs/ja/cli/init.md +24 -1
- package/docs/ja/dictionary/html.md +173 -5
- package/docs/ja/dictionary/markdown.md +263 -1
- package/docs/ja/intlayer_with_analog.md +23 -1
- package/docs/ja/intlayer_with_angular_19.md +24 -1
- package/docs/ja/intlayer_with_angular_21.md +24 -1
- package/docs/ja/intlayer_with_astro.md +24 -1
- package/docs/ja/intlayer_with_astro_lit.md +25 -1
- package/docs/ja/intlayer_with_astro_preact.md +26 -1
- package/docs/ja/intlayer_with_astro_react.md +26 -1
- package/docs/ja/intlayer_with_astro_solid.md +26 -1
- package/docs/ja/intlayer_with_astro_svelte.md +25 -1
- package/docs/ja/intlayer_with_astro_vue.md +25 -1
- package/docs/ja/intlayer_with_remix_3.md +22 -1
- package/docs/ja/self_hosting.md +398 -223
- package/docs/ko/benchmark/nextjs.md +13 -13
- package/docs/ko/benchmark/solid.md +5 -5
- package/docs/ko/benchmark/svelte.md +4 -4
- package/docs/ko/benchmark/tanstack.md +14 -13
- package/docs/ko/benchmark/vue.md +5 -5
- package/docs/ko/chrome_extension.md +130 -0
- package/docs/ko/cli/index.md +6 -1
- package/docs/ko/cli/infra.md +162 -0
- package/docs/ko/cli/init.md +24 -1
- package/docs/ko/dictionary/html.md +173 -5
- package/docs/ko/dictionary/markdown.md +263 -1
- package/docs/ko/intlayer_with_analog.md +23 -1
- package/docs/ko/intlayer_with_angular_19.md +24 -1
- package/docs/ko/intlayer_with_angular_21.md +24 -1
- package/docs/ko/intlayer_with_astro.md +24 -1
- package/docs/ko/intlayer_with_astro_lit.md +25 -1
- package/docs/ko/intlayer_with_astro_preact.md +26 -1
- package/docs/ko/intlayer_with_astro_react.md +26 -1
- package/docs/ko/intlayer_with_astro_solid.md +26 -1
- package/docs/ko/intlayer_with_astro_svelte.md +25 -1
- package/docs/ko/intlayer_with_astro_vue.md +25 -1
- package/docs/ko/intlayer_with_remix_3.md +22 -1
- package/docs/ko/self_hosting.md +411 -238
- package/docs/pl/benchmark/nextjs.md +13 -13
- package/docs/pl/benchmark/solid.md +5 -5
- package/docs/pl/benchmark/svelte.md +4 -4
- package/docs/pl/benchmark/tanstack.md +14 -13
- package/docs/pl/benchmark/vue.md +5 -5
- package/docs/pl/chrome_extension.md +130 -0
- package/docs/pl/cli/index.md +6 -1
- package/docs/pl/cli/infra.md +162 -0
- package/docs/pl/cli/init.md +24 -1
- package/docs/pl/dictionary/html.md +173 -5
- package/docs/pl/dictionary/markdown.md +263 -1
- package/docs/pl/intlayer_with_analog.md +23 -1
- package/docs/pl/intlayer_with_angular_19.md +24 -1
- package/docs/pl/intlayer_with_angular_21.md +24 -1
- package/docs/pl/intlayer_with_astro.md +24 -1
- package/docs/pl/intlayer_with_astro_lit.md +25 -1
- package/docs/pl/intlayer_with_astro_preact.md +26 -1
- package/docs/pl/intlayer_with_astro_react.md +26 -1
- package/docs/pl/intlayer_with_astro_solid.md +26 -1
- package/docs/pl/intlayer_with_astro_svelte.md +25 -1
- package/docs/pl/intlayer_with_astro_vue.md +25 -1
- package/docs/pl/intlayer_with_remix_3.md +22 -1
- package/docs/pl/self_hosting.md +408 -233
- package/docs/pt/benchmark/nextjs.md +13 -13
- package/docs/pt/benchmark/solid.md +5 -5
- package/docs/pt/benchmark/svelte.md +4 -4
- package/docs/pt/benchmark/tanstack.md +14 -13
- package/docs/pt/benchmark/vue.md +5 -5
- package/docs/pt/chrome_extension.md +130 -0
- package/docs/pt/cli/index.md +6 -1
- package/docs/pt/cli/infra.md +162 -0
- package/docs/pt/cli/init.md +24 -1
- package/docs/pt/dictionary/html.md +173 -5
- package/docs/pt/dictionary/markdown.md +263 -1
- package/docs/pt/intlayer_with_analog.md +23 -1
- package/docs/pt/intlayer_with_angular_19.md +24 -1
- package/docs/pt/intlayer_with_angular_21.md +24 -1
- package/docs/pt/intlayer_with_astro.md +24 -1
- package/docs/pt/intlayer_with_astro_lit.md +25 -1
- package/docs/pt/intlayer_with_astro_preact.md +26 -1
- package/docs/pt/intlayer_with_astro_react.md +26 -1
- package/docs/pt/intlayer_with_astro_solid.md +26 -1
- package/docs/pt/intlayer_with_astro_svelte.md +25 -1
- package/docs/pt/intlayer_with_astro_vue.md +25 -1
- package/docs/pt/intlayer_with_remix_3.md +22 -1
- package/docs/pt/self_hosting.md +399 -224
- package/docs/ru/benchmark/nextjs.md +13 -13
- package/docs/ru/benchmark/solid.md +5 -5
- package/docs/ru/benchmark/svelte.md +4 -4
- package/docs/ru/benchmark/tanstack.md +14 -13
- package/docs/ru/benchmark/vue.md +5 -5
- package/docs/ru/chrome_extension.md +130 -0
- package/docs/ru/cli/index.md +6 -1
- package/docs/ru/cli/infra.md +162 -0
- package/docs/ru/cli/init.md +24 -1
- package/docs/ru/dictionary/html.md +173 -5
- package/docs/ru/dictionary/markdown.md +263 -1
- package/docs/ru/intlayer_with_analog.md +23 -1
- package/docs/ru/intlayer_with_angular_19.md +24 -1
- package/docs/ru/intlayer_with_angular_21.md +24 -1
- package/docs/ru/intlayer_with_astro.md +24 -1
- package/docs/ru/intlayer_with_astro_lit.md +25 -1
- package/docs/ru/intlayer_with_astro_preact.md +26 -1
- package/docs/ru/intlayer_with_astro_react.md +26 -1
- package/docs/ru/intlayer_with_astro_solid.md +26 -1
- package/docs/ru/intlayer_with_astro_svelte.md +25 -1
- package/docs/ru/intlayer_with_astro_vue.md +25 -1
- package/docs/ru/intlayer_with_remix_3.md +22 -1
- package/docs/ru/self_hosting.md +403 -228
- package/docs/tr/benchmark/nextjs.md +13 -13
- package/docs/tr/benchmark/solid.md +5 -5
- package/docs/tr/benchmark/svelte.md +4 -4
- package/docs/tr/benchmark/tanstack.md +14 -13
- package/docs/tr/benchmark/vue.md +5 -5
- package/docs/tr/chrome_extension.md +130 -0
- package/docs/tr/cli/index.md +6 -1
- package/docs/tr/cli/infra.md +162 -0
- package/docs/tr/cli/init.md +24 -1
- package/docs/tr/dictionary/html.md +173 -5
- package/docs/tr/dictionary/markdown.md +263 -1
- package/docs/tr/intlayer_with_analog.md +23 -1
- package/docs/tr/intlayer_with_angular_19.md +24 -1
- package/docs/tr/intlayer_with_angular_21.md +24 -1
- package/docs/tr/intlayer_with_astro.md +24 -1
- package/docs/tr/intlayer_with_astro_lit.md +25 -1
- package/docs/tr/intlayer_with_astro_preact.md +26 -1
- package/docs/tr/intlayer_with_astro_react.md +26 -1
- package/docs/tr/intlayer_with_astro_solid.md +26 -1
- package/docs/tr/intlayer_with_astro_svelte.md +25 -1
- package/docs/tr/intlayer_with_astro_vue.md +25 -1
- package/docs/tr/intlayer_with_remix_3.md +22 -1
- package/docs/tr/self_hosting.md +410 -234
- package/docs/uk/benchmark/nextjs.md +13 -13
- package/docs/uk/benchmark/solid.md +5 -5
- package/docs/uk/benchmark/svelte.md +4 -4
- package/docs/uk/benchmark/tanstack.md +14 -13
- package/docs/uk/benchmark/vue.md +5 -5
- package/docs/uk/chrome_extension.md +130 -0
- package/docs/uk/cli/index.md +6 -1
- package/docs/uk/cli/infra.md +162 -0
- package/docs/uk/cli/init.md +24 -1
- package/docs/uk/dictionary/html.md +173 -5
- package/docs/uk/dictionary/markdown.md +263 -1
- package/docs/uk/intlayer_with_analog.md +23 -1
- package/docs/uk/intlayer_with_angular_19.md +24 -1
- package/docs/uk/intlayer_with_angular_21.md +24 -1
- package/docs/uk/intlayer_with_astro.md +24 -1
- package/docs/uk/intlayer_with_astro_lit.md +25 -1
- package/docs/uk/intlayer_with_astro_preact.md +26 -1
- package/docs/uk/intlayer_with_astro_react.md +26 -1
- package/docs/uk/intlayer_with_astro_solid.md +26 -1
- package/docs/uk/intlayer_with_astro_svelte.md +25 -1
- package/docs/uk/intlayer_with_astro_vue.md +25 -1
- package/docs/uk/intlayer_with_remix_3.md +22 -1
- package/docs/uk/self_hosting.md +413 -238
- package/docs/vi/benchmark/nextjs.md +13 -13
- package/docs/vi/benchmark/solid.md +5 -5
- package/docs/vi/benchmark/svelte.md +4 -4
- package/docs/vi/benchmark/tanstack.md +14 -13
- package/docs/vi/benchmark/vue.md +5 -5
- package/docs/vi/chrome_extension.md +130 -0
- package/docs/vi/cli/index.md +6 -1
- package/docs/vi/cli/infra.md +162 -0
- package/docs/vi/cli/init.md +24 -1
- package/docs/vi/dictionary/html.md +173 -5
- package/docs/vi/dictionary/markdown.md +263 -1
- package/docs/vi/intlayer_with_analog.md +23 -1
- package/docs/vi/intlayer_with_angular_19.md +24 -1
- package/docs/vi/intlayer_with_angular_21.md +24 -1
- package/docs/vi/intlayer_with_astro.md +24 -1
- package/docs/vi/intlayer_with_astro_lit.md +25 -1
- package/docs/vi/intlayer_with_astro_preact.md +26 -1
- package/docs/vi/intlayer_with_astro_react.md +26 -1
- package/docs/vi/intlayer_with_astro_solid.md +26 -1
- package/docs/vi/intlayer_with_astro_svelte.md +25 -1
- package/docs/vi/intlayer_with_astro_vue.md +25 -1
- package/docs/vi/intlayer_with_remix_3.md +22 -1
- package/docs/vi/self_hosting.md +408 -234
- package/docs/zh/benchmark/nextjs.md +13 -13
- package/docs/zh/benchmark/solid.md +5 -5
- package/docs/zh/benchmark/svelte.md +4 -4
- package/docs/zh/benchmark/tanstack.md +14 -13
- package/docs/zh/benchmark/vue.md +5 -5
- package/docs/zh/chrome_extension.md +130 -0
- package/docs/zh/cli/index.md +6 -1
- package/docs/zh/cli/infra.md +162 -0
- package/docs/zh/cli/init.md +24 -1
- package/docs/zh/dictionary/html.md +172 -5
- package/docs/zh/dictionary/markdown.md +262 -1
- package/docs/zh/intlayer_with_analog.md +23 -1
- package/docs/zh/intlayer_with_angular_19.md +24 -1
- package/docs/zh/intlayer_with_angular_21.md +24 -1
- package/docs/zh/intlayer_with_astro.md +24 -1
- package/docs/zh/intlayer_with_astro_lit.md +25 -1
- package/docs/zh/intlayer_with_astro_preact.md +26 -1
- package/docs/zh/intlayer_with_astro_react.md +26 -1
- package/docs/zh/intlayer_with_astro_solid.md +26 -1
- package/docs/zh/intlayer_with_astro_svelte.md +25 -1
- package/docs/zh/intlayer_with_astro_vue.md +25 -1
- package/docs/zh/intlayer_with_remix_3.md +22 -1
- package/docs/zh/self_hosting.md +410 -237
- package/legal/ar/privacy_notice.md +9 -3
- package/legal/de/privacy_notice.md +9 -3
- package/legal/en/privacy_notice.md +10 -3
- package/legal/en-GB/privacy_notice.md +9 -3
- package/legal/es/privacy_notice.md +9 -3
- package/legal/fr/privacy_notice.md +9 -3
- package/legal/hi/privacy_notice.md +9 -3
- package/legal/id/privacy_notice.md +9 -3
- package/legal/it/privacy_notice.md +9 -3
- package/legal/ja/privacy_notice.md +9 -3
- package/legal/ko/privacy_notice.md +9 -3
- package/legal/pl/privacy_notice.md +9 -3
- package/legal/pt/privacy_notice.md +9 -3
- package/legal/ru/privacy_notice.md +9 -3
- package/legal/tr/privacy_notice.md +9 -3
- package/legal/uk/privacy_notice.md +9 -3
- package/legal/vi/privacy_notice.md +9 -3
- package/legal/zh/privacy_notice.md +9 -3
- package/package.json +1 -1
- package/src/generated/docs.entry.ts +40 -40
- package/docs/ar/roadmap.md +0 -321
- package/docs/de/roadmap.md +0 -322
- package/docs/en/intlayer_with_astro_vanilla.md +0 -713
- package/docs/en/roadmap.md +0 -325
- package/docs/en-GB/roadmap.md +0 -322
- package/docs/es/roadmap.md +0 -322
- package/docs/fr/roadmap.md +0 -322
- package/docs/hi/roadmap.md +0 -322
- package/docs/id/roadmap.md +0 -325
- package/docs/it/roadmap.md +0 -322
- package/docs/ja/roadmap.md +0 -322
- package/docs/ko/roadmap.md +0 -322
- package/docs/pl/roadmap.md +0 -325
- package/docs/pt/roadmap.md +0 -322
- package/docs/ru/roadmap.md +0 -322
- package/docs/tr/roadmap.md +0 -325
- package/docs/uk/roadmap.md +0 -325
- package/docs/vi/roadmap.md +0 -325
- package/docs/zh/roadmap.md +0 -322
|
@@ -112,19 +112,19 @@ Finally, `Intlayer` applies a build-time optimisation 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.
|
|
116
|
-
- [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/next-intl.md) (v9.5.
|
|
117
|
-
- [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/next-i18next.md) (v9.5.
|
|
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-GB/packages/next-intlayer/exports.md) (v9.5.6)
|
|
116
|
+
- [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/next-intl.md) (v9.5.6)
|
|
117
|
+
- [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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 optimisation (v9.5.
|
|
68
|
+
- **Intlayer**: Recommended choice for professional Solid applications needing advanced features and optimisation (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.
|
|
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-GB/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.
|
|
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**: Comprehensive and standard for Svelte, but carries 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.
|
|
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-GB/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.
|
|
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 optimise.
|
|
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.
|
|
104
|
-
- `@intlayer/use-intl` (v9.5.
|
|
105
|
-
- [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/lingui.md) (v9.5.
|
|
106
|
-
- `react-i18next
|
|
107
|
-
- `
|
|
108
|
-
-
|
|
109
|
-
- `@
|
|
110
|
-
- `@
|
|
111
|
-
- `
|
|
112
|
-
- `
|
|
113
|
-
- `
|
|
114
|
-
- `
|
|
103
|
+
- [`react-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/packages/react-intlayer/exports.md) (v9.5.6)
|
|
104
|
+
- [`@intlayer/use-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/next-intl.md) (v9.5.6)
|
|
105
|
+
- [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/lingui.md) (v9.5.6)
|
|
106
|
+
- [`@intlayer/react-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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 lightest solution (v9.5.
|
|
68
|
+
- **Intlayer**: The lightest solution (v9.5.6) with built-in scoping and dynamic loading.
|
|
69
69
|
- **vue-i18n**: The industry standard with a rich ecosystem, but can become significantly heavier and harder to optimise for code-splitting in large applications.
|
|
70
70
|
- **fluent-vue**: Innovative message organisation but lacks type-safety and turns out to be an extremely heavy solution.
|
|
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.
|
|
103
|
-
- [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/compat/vue-i18n.md) (v9.5.
|
|
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-GB/packages/vue-intlayer/exports.md) (v9.5.6)
|
|
103
|
+
- [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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
|
+
- Localisation
|
|
13
|
+
- Development Tools
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- chrome-extension
|
|
17
|
+
history:
|
|
18
|
+
- version: 9.5.6
|
|
19
|
+
date: 2026-09-22
|
|
20
|
+
changes: "Initial 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 internationalisation: 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
|
+

|
|
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 localised internal links.
|
|
43
|
+
- **Navigate across locales**: switches the current page to any of its localised 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
|
+

|
|
77
|
+
|
|
78
|
+
The **Navigate** section lists the **Localised 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
|
+

|
|
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, localised 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 summarises 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`, localised links, sitemap and robots.txt are generated from your [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md). See the integration guide for your framework, for example [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_nextjs_16.md), [Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_with_nuxt.md) or [TanStack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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-GB/vs_code_extension.md)
|
|
129
|
+
- [MCP Server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/mcp_server.md)
|
|
130
|
+
- [LSP Server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/lsp.md)
|
package/docs/en-GB/cli/index.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-11
|
|
3
|
-
updatedAt: 2026-09-
|
|
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 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 learn how to configure the available languages or other parameters, take a lo
|
|
|
151
154
|
### Configuration
|
|
152
155
|
|
|
153
156
|
- **[Initialise Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/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-GB/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-GB/cli/configuration.md)** - Get your Intlayer configuration and push it to the CMS
|
|
155
159
|
|
|
156
160
|
### Doc Management
|
|
@@ -177,6 +181,7 @@ To learn how to configure the available languages or other parameters, take a lo
|
|
|
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,162 @@
|
|
|
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
|
+
▸ Pulling images
|
|
99
|
+
|
|
100
|
+
Everything is installed. Two steps left.
|
|
101
|
+
|
|
102
|
+
1. Configure a mailer in:
|
|
103
|
+
|
|
104
|
+
./intlayer/.env
|
|
105
|
+
|
|
106
|
+
Either RESEND_API_KEY (resend.com) or the MAIL_SMTP_* block — the first
|
|
107
|
+
account cannot be verified without a working mailer.
|
|
108
|
+
2. Start the stack:
|
|
109
|
+
|
|
110
|
+
cd ./intlayer && docker compose up -d
|
|
111
|
+
|
|
112
|
+
Then open http://localhost:3000 — first boot initialises the
|
|
113
|
+
datastores, so give it a minute. The first account you create becomes the
|
|
114
|
+
super admin.
|
|
115
|
+
|
|
116
|
+
Logs docker compose logs -f
|
|
117
|
+
Stop docker compose down
|
|
118
|
+
Upgrade docker compose pull && docker compose up -d
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Installer settings
|
|
122
|
+
|
|
123
|
+
The installer reads a few environment variables, which the CLI passes through untouched. Set them in your shell before running the command:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
INTLAYER_COMPOSE_DIR=./cms npx intlayer init infra --mode compose
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
| Variable | Default | Applies to | Description |
|
|
130
|
+
| ------------------------- | ------------------------- | ---------- | ---------------------------------------------------------- |
|
|
131
|
+
| `INTLAYER_MODE` | _(asked)_ | all | `desktop`, `docker` or `compose`, same as `--mode` |
|
|
132
|
+
| `INTLAYER_DOWNLOAD_DIR` | `~/Downloads` | desktop | Where the app installer is saved |
|
|
133
|
+
| `INTLAYER_IMAGE` | `intlayer/cms-all:latest` | docker | All-in-one image to pull |
|
|
134
|
+
| `INTLAYER_ENV_FILE` | `./intlayer.env` | docker | Where to write the environment file |
|
|
135
|
+
| `INTLAYER_CONTAINER_NAME` | `intlayer` | docker | Container name |
|
|
136
|
+
| `INTLAYER_DATA_VOLUME` | `intlayer-data` | docker | Named volume mounted at `/data` |
|
|
137
|
+
| `INTLAYER_APP_PORT` | `3000` | docker | Host port for the dashboard |
|
|
138
|
+
| `INTLAYER_API_PORT` | `3100` | docker | Host port for the API |
|
|
139
|
+
| `INTLAYER_S3_PORT` | `9000` | docker | Host port for the MinIO S3 API |
|
|
140
|
+
| `INTLAYER_CONSOLE_PORT` | `9001` | docker | Host port for the MinIO console |
|
|
141
|
+
| `INTLAYER_COMPOSE_DIR` | `./intlayer` | compose | Where `docker-compose.yml` and `.env` are written |
|
|
142
|
+
| `INTLAYER_SELFHOST_REF` | `main` | both | Git ref the compose file and env template are fetched from |
|
|
143
|
+
|
|
144
|
+
> 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-GB/self_hosting.md#limitations).
|
|
145
|
+
|
|
146
|
+
## Requirements
|
|
147
|
+
|
|
148
|
+
- **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.
|
|
149
|
+
- **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.
|
|
150
|
+
|
|
151
|
+
## Notes
|
|
152
|
+
|
|
153
|
+
- 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).
|
|
154
|
+
- The installer is downloaded to a temporary directory and deleted once it exits, whatever the outcome.
|
|
155
|
+
- 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.
|
|
156
|
+
- The Docker modes still need a mailer to send sign-in emails. After the installer finishes, configure Resend or SMTP in the generated environment file: see [Global mailer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/self_hosting.md#global-mailer).
|
|
157
|
+
|
|
158
|
+
## Related
|
|
159
|
+
|
|
160
|
+
- [Self-hosting guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/self_hosting.md) - Architecture, first-run steps and limitations of each mode
|
|
161
|
+
- [Initialize Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/cli/init.md) - The parent `init` command and its interactive checklist
|
|
162
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/intlayer_CMS.md) - What the dashboard you just installed does
|
package/docs/en-GB/cli/init.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-12-30
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: Initialise Intlayer
|
|
5
5
|
description: Learn how to initialise 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: "Added --no-gitignore option"
|
|
@@ -125,6 +128,26 @@ bun x intlayer init --no-gitignore
|
|
|
125
128
|
|
|
126
129
|
This will set up all configuration files but will not modify your `.gitignore` file.
|
|
127
130
|
|
|
131
|
+
### Set up the infrastructure (desktop app or self-hosting):
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npx intlayer init infra
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Downloads and runs the hosted installer (`https://intlayer.org/install.sh`, or `install.ps1` on Windows), which asks how you want to run Intlayer:
|
|
138
|
+
|
|
139
|
+
- **Desktop app** - installs the native dashboard on your machine, connected to the Intlayer Cloud.
|
|
140
|
+
- **All-in-one Docker** - dashboard + API + MongoDB + Redis + MinIO in a single container.
|
|
141
|
+
- **Docker Compose** - one container per service, for scalable self-hosting.
|
|
142
|
+
|
|
143
|
+
Skip the menu with `--mode`:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
npx intlayer init infra --mode compose
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
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-GB/cli/infra.md) for the installer settings, and the [self-hosting guide](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/self_hosting.md) for what each mode sets up.
|
|
150
|
+
|
|
128
151
|
## Output Example:
|
|
129
152
|
|
|
130
153
|
```bash
|