@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 @@ Webpack이나 Turbopack을 사용하고 `generateStaticParams`가 정의되어
|
|
|
112
112
|
이 벤치마크에서는 다음과 같은 라이브러리를 비교했습니다:
|
|
113
113
|
|
|
114
114
|
- `Base App` (i18n 라이브러리 없음)
|
|
115
|
-
- `next-intlayer` (v9.5.
|
|
116
|
-
- [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compat/next-intl.md) (v9.5.
|
|
117
|
-
- [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/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/ko/packages/next-intlayer/exports.md) (v9.5.6)
|
|
116
|
+
- [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compat/next-intl.md) (v9.5.6)
|
|
117
|
+
- [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/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
|
Next.js 버전 `16.3.4`와 App Router를 사용했습니다.
|
|
130
130
|
|
|
@@ -65,7 +65,7 @@ style="border:none;"
|
|
|
65
65
|
|
|
66
66
|
## TL;DR
|
|
67
67
|
|
|
68
|
-
- **Intlayer**: 고급 기능과 최적화가 필요한 전문 Solid 애플리케이션을 위한 추천 선택(v9.5.
|
|
68
|
+
- **Intlayer**: 고급 기능과 최적화가 필요한 전문 Solid 애플리케이션을 위한 추천 선택(v9.5.6).
|
|
69
69
|
- **@solid-primitives/i18n**: 단순한 프로젝트를 위한 훌륭한 경량 대안이지만 지연 로딩과 같은 고급 기능이 부족합니다.
|
|
70
70
|
- **solid-i18next**: 표준적이지만 무거운 옵션(Intlayer의 약 3.5배)으로 React i18next와 동일한 단점을 공유합니다.
|
|
71
71
|
- **Paraglide**: 혁신적인 접근 방식이지만 DX가 복잡하고 일부 설정에서 트리 쉐이킹 문제가 발생합니다.
|
|
@@ -100,10 +100,10 @@ i18n 누수 문제를 빠르게 파악하기 위해 [여기](https://intlayer.or
|
|
|
100
100
|
이 벤치마크에서는 다음과 같은 라이브러리를 비교했습니다:
|
|
101
101
|
|
|
102
102
|
- `Base App` (i18n 라이브러리 없음)
|
|
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/ko/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
|
프레임워크는 `Solid`이며 **10개의 페이지**와 **10개의 언어**를 가진 다국어 앱을 사용했습니다.
|
|
109
109
|
|
|
@@ -65,7 +65,7 @@ style="border:none;"
|
|
|
65
65
|
|
|
66
66
|
## TL;DR
|
|
67
67
|
|
|
68
|
-
- **Intlayer**: 가장 성능 효율적인 선택(v9.5.
|
|
68
|
+
- **Intlayer**: 가장 성능 효율적인 선택(v9.5.6)으로, 발자국(footprint)이 가장 작습니다.
|
|
69
69
|
- **Paraglide**: 트리 쉐이킹(tree-shaking)을 위한 강력한 후보이지만, 개발자 경험이 더 복잡하고 반응성 오버헤드가 있습니다.
|
|
70
70
|
- **svelte-i18n**: Svelte를 위한 표준적이고 기능이 완비된 솔루션이지만, 번들 무게가 훨씬 더 큽니다(Intlayer의 약 4.5배).
|
|
71
71
|
|
|
@@ -99,9 +99,9 @@ i18n 누수 문제를 빠르게 파악하기 위해 [여기](https://intlayer.or
|
|
|
99
99
|
이 벤치마크에서는 다음과 같은 라이브러리를 비교했습니다:
|
|
100
100
|
|
|
101
101
|
- `Base App` (i18n 라이브러리 없음)
|
|
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/ko/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
|
프레임워크는 `Svelte`이며 **10개의 페이지**와 **10개의 언어**를 가진 다국어 앱을 사용했습니다.
|
|
107
107
|
|
|
@@ -65,7 +65,7 @@ history:
|
|
|
65
65
|
|
|
66
66
|
## TL;DR
|
|
67
67
|
|
|
68
|
-
- **Intlayer**: TanStack Start에서 최고의 성능과 가장 작은 번들 크(v9.5.
|
|
68
|
+
- **Intlayer**: TanStack Start에서 최고의 성능과 가장 작은 번들 크(v9.5.6)를 제공합니다.
|
|
69
69
|
- **react-i18next** & **use-intl**: 큰 에코시스템을 가진 성숙한 대안이지만, 훨씬 더 무겁고 최적화가 복잡합니다.
|
|
70
70
|
- **Paraglide**: 혁신적인 트리 쉐이킹 아이디어이지만 실제로는 작동하지 않습니다. TanStack Start에서 복잡한 DX와 반응성 오버헤드가 발생합니다.
|
|
71
71
|
- **피해야 할 솔루션**: **General Translation (GT)** 및 **Lingo.dev**. 심각한 성능 문제, AI 쿼터 제한 및 벤더 종속성(vendor lock-in) 때문입니다.
|
|
@@ -100,18 +100,19 @@ i18n 누수 문제를 빠르게 파악하기 위해 [여기](https://intlayer.or
|
|
|
100
100
|
이 벤치마크에서는 다음과 같은 라이브러리를 비교했습니다:
|
|
101
101
|
|
|
102
102
|
- `Base App` (i18n 라이브러리 없음)
|
|
103
|
-
- `react-intlayer` (v9.5.
|
|
104
|
-
- `@intlayer/use-intl` (v9.5.
|
|
105
|
-
- [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/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/ko/packages/react-intlayer/exports.md) (v9.5.6)
|
|
104
|
+
- [`@intlayer/use-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compat/next-intl.md) (v9.5.6)
|
|
105
|
+
- [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/compat/lingui.md) (v9.5.6)
|
|
106
|
+
- [`@intlayer/react-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/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
|
프레임워크는 `TanStack Start`이며 **10개의 페이지**와 **10개의 언어**를 가진 다국어 앱을 사용했습니다.
|
|
117
118
|
|
package/docs/ko/benchmark/vue.md
CHANGED
|
@@ -65,7 +65,7 @@ style="border:none;"
|
|
|
65
65
|
|
|
66
66
|
## TL;DR
|
|
67
67
|
|
|
68
|
-
- **Intlayer**: 내장된 스코핑(scoping)과 동적 로딩을 제공하는 가장 가벼운 솔루션(v9.5.
|
|
68
|
+
- **Intlayer**: 내장된 스코핑(scoping)과 동적 로딩을 제공하는 가장 가벼운 솔루션(v9.5.6).
|
|
69
69
|
- **vue-i18n**: 풍부한 에코시스템을 가진 업계 표준이지만, 대규모 애플리케이션에서 코드 분할 최적화가 어렵고 상당히 무거워질 수 있습니다.
|
|
70
70
|
- **fluent-vue**: 혁신적인 메시지 구성을 제공하지만 타입 안전성이 부족하고 극도로 무거운 솔루션입니다.
|
|
71
71
|
|
|
@@ -99,10 +99,10 @@ i18n 누수 문제를 빠르게 파악하기 위해 [여기](https://intlayer.or
|
|
|
99
99
|
이 벤치마크에서는 다음과 같은 라이브러리를 비교했습니다:
|
|
100
100
|
|
|
101
101
|
- `Base App` (i18n 라이브러리 없음)
|
|
102
|
-
- `vue-intlayer` (v9.5.
|
|
103
|
-
- [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/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/ko/packages/vue-intlayer/exports.md) (v9.5.6)
|
|
103
|
+
- [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/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
|
프레임워크는 `Vue`이며 **10개의 페이지**와 **10개의 언어**를 가진 다국어 앱을 사용했습니다.
|
|
108
108
|
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-22
|
|
3
|
+
updatedAt: 2026-09-22
|
|
4
|
+
title: Chrome & Firefox 확장 프로그램, i18n & SEO 스캐너
|
|
5
|
+
description: Intlayer Chrome 확장 프로그램을 사용하여 모든 웹사이트의 i18n 설정을 검사하세요. 프레임워크, i18n 라이브러리, 로케일, hreflang 및 SEO 태그를 감지하고 전체 i18n SEO 감사를 실행합니다.
|
|
6
|
+
keywords:
|
|
7
|
+
- Chrome 확장 프로그램
|
|
8
|
+
- i18n 스캐너
|
|
9
|
+
- hreflang 검사기
|
|
10
|
+
- 다국어 SEO
|
|
11
|
+
- Intlayer
|
|
12
|
+
- 현지화
|
|
13
|
+
- 개발 도구
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- chrome-extension
|
|
17
|
+
history:
|
|
18
|
+
- version: 9.5.6
|
|
19
|
+
date: 2026-09-22
|
|
20
|
+
changes: "초기 이력"
|
|
21
|
+
author: aymericzip
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Chrome & Firefox 확장 프로그램: i18n & SEO 스캐너
|
|
25
|
+
|
|
26
|
+
## 개요
|
|
27
|
+
|
|
28
|
+
[**Intlayer i18n Scanner**](https://chromewebstore.google.com/detail/intlayer_i18n_scanner/pmlehcgmjmfimmjnembihbakhnheiabc)는 **Intlayer**의 공식 Chrome 확장 프로그램입니다. 웹사이트에서 실행하여 사이트가 국제화를 어떻게 처리하는지 확인할 수 있습니다. 어떤 프레임워크와 i18n 라이브러리를 사용하는지, 어떤 로케일을 제공하는지, 다국어 SEO 태그가 올바르게 설정되었는지 즉시 점검할 수 있습니다.
|
|
29
|
+
|
|
30
|
+
Intlayer 사용 여부와 상관없이 모든 웹사이트에서 작동합니다.
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
[Chrome 확장 프로그램 링크](https://chromewebstore.google.com/detail/intlayer_i18n_scanner/pmlehcgmjmfimmjnembihbakhnheiabc)
|
|
35
|
+
|
|
36
|
+
[Firefox 부가 기능 링크](https://addons.mozilla.org/en-US/firefox/addon/intlayer-i18n-scanner/)
|
|
37
|
+
|
|
38
|
+
## 주요 기능
|
|
39
|
+
|
|
40
|
+
- **기술 감지**: 프레임워크(Next.js, Nuxt, Astro, SvelteKit, Angular, Vue.js, Qwik, React, Gatsby, WordPress) 및 i18n 라이브러리(Intlayer, i18next, Vue I18n, @nuxtjs/i18n, Angular @angular/localize, next-intl / next-i18next, Weglot, Localize, WPML, Polylang)를 식별합니다. 각 감지 항목은 전역 변수, 쿠키, DOM 마커 등 이를 유발한 증거를 보여줍니다.
|
|
41
|
+
- **로케일**: `lang` 속성, hreflang 및 `og:locale` 태그, URL 로케일 접두사, 로케일 쿠키 또는 스토리지 항목에서 찾은 로케일을 나열합니다.
|
|
42
|
+
- **SEO i18n 태그**: `html lang`, `html dir`, 표준(canonical) 링크, hreflang 태그, `x-default`, `og:locale` 및 현지화된 내부 링크 비율을 검사합니다.
|
|
43
|
+
- **로케일 간 이동**: hreflang 태그를 기반으로 현재 페이지를 클릭 한 번으로 현지화된 버전으로 전환합니다.
|
|
44
|
+
- **사이트맵 검색**: 사이트의 사이트맵에 나열된 모든 페이지를 검색하고 현재 탭에서 엽니다.
|
|
45
|
+
- **전체 감사**: [i18n SEO Scanner](https://intlayer.org/i18n-seo-scanner)와 동일한 감사를 실행하고 실시간 점수를 표시합니다.
|
|
46
|
+
|
|
47
|
+
## 설치
|
|
48
|
+
|
|
49
|
+
<Tabs group="browser">
|
|
50
|
+
<Tab label="Chrome" value="chrome">
|
|
51
|
+
|
|
52
|
+
Chrome 웹 스토어에서 [**Intlayer i18n Scanner**](https://chromewebstore.google.com/detail/intlayer_i18n_scanner/pmlehcgmjmfimmjnembihbakhnheiabc)를 설치한 후 툴바에 고정하세요.
|
|
53
|
+
|
|
54
|
+
이 확장 프로그램은 Chrome 및 Chrome 웹 스토어 확장을 지원하는 모든 Chromium 기반 브라우저(Edge, Brave, Arc, Opera)에서 작동합니다.
|
|
55
|
+
|
|
56
|
+
</Tab>
|
|
57
|
+
<Tab label="Firefox" value="firefox">
|
|
58
|
+
|
|
59
|
+
Firefox 부가 기능에서 [**Intlayer i18n Scanner**](https://addons.mozilla.org/en-US/firefox/addon/intlayer-i18n-scanner/)를 설치한 후 툴바에 고정하세요.
|
|
60
|
+
|
|
61
|
+
</Tab>
|
|
62
|
+
</Tabs>
|
|
63
|
+
|
|
64
|
+
## 사용법
|
|
65
|
+
|
|
66
|
+
### 페이지 검사
|
|
67
|
+
|
|
68
|
+
1. 검사하려는 웹사이트를 엽니다.
|
|
69
|
+
2. 툴바의 **Intlayer i18n Scanner** 아이콘을 클릭합니다.
|
|
70
|
+
3. 팝업에 현재 페이지에 대한 **감지된 기술**, **로케일**, **SEO i18n 태그** 섹션이 표시됩니다.
|
|
71
|
+
|
|
72
|
+
감지는 브라우저에서 로컬로 실행되며, 현재 활성 탭에서만 동작합니다.
|
|
73
|
+
|
|
74
|
+
### 로케일 간 이동
|
|
75
|
+
|
|
76
|
+

|
|
77
|
+
|
|
78
|
+
**탐색** 섹션에는 현재 페이지의 hreflang 태그에서 읽은 **현지화된 버전**이 표시됩니다. 로케일을 클릭하면 해당 버전이 현재 탭에서 열립니다.
|
|
79
|
+
|
|
80
|
+
**사이트맵 페이지**에서 사이트맵의 URL을 검색하고, 결과를 클릭해 해당 페이지를 엽니다.
|
|
81
|
+
|
|
82
|
+
### 전체 감사 실행
|
|
83
|
+
|
|
84
|
+

|
|
85
|
+
|
|
86
|
+
**전체 감사** 섹션으로 스크롤하고 **전체 i18n 감사 실행**을 클릭합니다. 각 검사가 완료될 때마다 결과가 실시간으로 스트리밍되며 다음 그룹으로 분류됩니다.
|
|
87
|
+
|
|
88
|
+
- **페이지**: `html lang` 및 `dir` 속성, 현재 로케일, hreflang 태그, `x-default`, 표준 링크, 현지화된 내부 링크, 언어 선택기, 국기 아이콘 및 JavaScript 번들에 포함된 미사용 로케일 콘텐츠.
|
|
89
|
+
- **Robots.txt**: 존재 여부 및 로케일 경로가 크롤링 가능하게 유지되는지 여부.
|
|
90
|
+
- **사이트맵**: 존재 여부, 나열된 모든 로케일, 대체 링크 및 `x-default`.
|
|
91
|
+
- **도메인**: 사이트 전체에서 발견된 로케일 수.
|
|
92
|
+
|
|
93
|
+
각 검사는 통과, 경고 또는 실패로 표시되며, 점수는 페이지의 전반적인 i18n SEO 상태를 요약합니다.
|
|
94
|
+
|
|
95
|
+
## 개인정보 보호 및 권한
|
|
96
|
+
|
|
97
|
+
확장 프로그램은 최소한의 권한만 요청합니다.
|
|
98
|
+
|
|
99
|
+
- **activeTab** 및 **scripting**: 감지기는 사용자가 보고 있는 탭에서 팝업을 열 때만 실행됩니다.
|
|
100
|
+
- **back.intlayer.org**: 전체 감사를 실행할 때만 사용됩니다. 현재 페이지의 URL이 검사를 위해 Intlayer API로 전송됩니다.
|
|
101
|
+
|
|
102
|
+
브라우징 기록은 수집되지 않으며 백그라운드에서 실행되는 항목이 없습니다.
|
|
103
|
+
|
|
104
|
+
## FAQ
|
|
105
|
+
|
|
106
|
+
<FAQ>
|
|
107
|
+
|
|
108
|
+
<Question title="웹사이트에서 Intlayer를 사용해야 하나요?">
|
|
109
|
+
|
|
110
|
+
아닙니다. 어떤 프레임워크나 i18n 라이브러리를 사용하든 상관없이 모든 웹사이트를 검사할 수 있습니다.
|
|
111
|
+
|
|
112
|
+
</Question>
|
|
113
|
+
<Question title="기술이 감지되지 않는 이유는 무엇인가요?">
|
|
114
|
+
|
|
115
|
+
감지는 전역 변수, 쿠키, 메타 태그, DOM 마커 등 페이지가 브라우저에 노출하는 정보에 의존합니다. 일부 프로덕션 빌드는 이러한 마커를 제거하므로 라이브러리를 사용 중이더라도 흔적이 남지 않을 수 있습니다.
|
|
116
|
+
|
|
117
|
+
</Question>
|
|
118
|
+
<Question title="감사에서 발견된 문제를 어떻게 해결하나요?">
|
|
119
|
+
|
|
120
|
+
대부분의 검사는 라우팅 또는 메타데이터 설정과 관련이 있습니다. Intlayer를 사용하면 hreflang, 표준 링크, `x-default`, 현지화된 링크, 사이트맵 및 robots.txt가 [설정](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)에서 자동으로 생성됩니다. 사용 중인 프레임워크(예: [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_nextjs_16.md), [Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_nuxt.md), [TanStack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_tanstack.md))의 통합 가이드를 참조하세요.
|
|
121
|
+
|
|
122
|
+
</Question>
|
|
123
|
+
|
|
124
|
+
</FAQ>
|
|
125
|
+
|
|
126
|
+
## 관련 도구
|
|
127
|
+
|
|
128
|
+
- [VS Code 확장 프로그램](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/vs_code_extension.md)
|
|
129
|
+
- [MCP 서버](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/mcp_server.md)
|
|
130
|
+
- [LSP 서버](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/lsp.md)
|
package/docs/ko/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 - 다국어 웹사이트를 위한 모든 Intlayer CLI 명령어
|
|
5
5
|
description: Intlayer CLI를 사용하여 다국어 웹사이트를 관리하는 방법을 알아보세요. 이 온라인 문서의 단계를 따라 몇 분 만에 프로젝트를 설정하세요.
|
|
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: "init infra 명령어 추가"
|
|
20
23
|
- version: 9.5.2
|
|
21
24
|
date: 2026-09-12
|
|
22
25
|
changes: "`ci` 명령어를 `--ci` 플래그로 대체"
|
|
@@ -151,6 +154,7 @@ Intlayer는 여러 설정 파일 형식을 허용합니다:
|
|
|
151
154
|
### 구성
|
|
152
155
|
|
|
153
156
|
- **[Intlayer 초기화 (Init)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/init.md)** - 자동 구성을 사용하여 프로젝트에 Intlayer를 설정합니다.
|
|
157
|
+
- **[인프라 설정 (Set Up Infrastructure)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/infra.md)** - 데스크톱 앱을 설치하거나 Docker(올인원 또는 Compose)로 CMS를 셀프 호스팅합니다
|
|
154
158
|
- **[구성 관리](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/configuration.md)** - Intlayer 구성을 가져오고 CMS로 전송합니다.
|
|
155
159
|
|
|
156
160
|
### 문서 관리
|
|
@@ -177,6 +181,7 @@ Intlayer는 여러 설정 파일 형식을 허용합니다:
|
|
|
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: Intlayer CLI init infra 명령어를 사용하여 데스크톱 앱을 설치하거나 Docker(올인원 컨테이너 또는 Docker Compose 스택)로 Intlayer CMS를 셀프 호스팅하는 방법을 알아봅니다.
|
|
6
|
+
keywords:
|
|
7
|
+
- CLI
|
|
8
|
+
- 인프라
|
|
9
|
+
- 셀프 호스팅
|
|
10
|
+
- 데스크톱 앱
|
|
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: "init infra 명령어 추가"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Intlayer CLI Init Infra 명령어
|
|
28
|
+
|
|
29
|
+
## 설명
|
|
30
|
+
|
|
31
|
+
`init infra` 명령어는 로컬 머신에 Intlayer 인프라를 설정합니다. 사용 중인 플랫폼용 호스팅 설치 프로그램(macOS / Linux는 `https://intlayer.org/install.sh`, Windows는 `https://intlayer.org/install.ps1`)을 다운로드하고 터미널에 연결하여 실행하므로 설치 프로그램 메뉴와 진행 상황이 그대로 표시됩니다.
|
|
32
|
+
|
|
33
|
+
설치 프로그램은 Intlayer 실행 방법을 선택하도록 안내합니다:
|
|
34
|
+
|
|
35
|
+
- **데스크톱 앱**: 운영체제 및 CPU에 맞는 네이티브 대시보드를 다운로드하여 열거나 설치합니다. 데스크톱 빌드는 Intlayer Cloud 백엔드와 통신합니다.
|
|
36
|
+
- **올인원 Docker**: 단일 볼륨 기반의 단일 컨테이너에서 대시보드 + API + MongoDB + Redis + MinIO를 실행합니다. 시크릿이 생성된 `./intlayer.env`를 작성하고 `intlayer/cms-all` 이미지를 가져옵니다.
|
|
37
|
+
- **Docker Compose**: 확장 가능한 셀프 호스팅을 위한 서비스당 하나의 컨테이너 구성입니다. `./intlayer/`에 `docker-compose.yml` 및 `.env`를 작성하고 이미지를 가져옵니다.
|
|
38
|
+
|
|
39
|
+
호스팅된 설치 프로그램이 설정 흐름의 유일한 정보원입니다. CLI는 동일한 단계를 다시 구현하지 않고 설치 프로그램을 실행하므로 `npx intlayer init infra`와 `curl -fsSL https://intlayer.org/install.sh | sh`는 완전히 동일하게 작동합니다.
|
|
40
|
+
|
|
41
|
+
## 사용법
|
|
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
|
+
`npx intlayer init --interactive` 체크리스트의 **인프라 (데스크톱 앱 / 셀프 호스팅)** 항목에서도 동일한 단계가 제공됩니다.
|
|
60
|
+
|
|
61
|
+
## 옵션
|
|
62
|
+
|
|
63
|
+
- `-m, --mode <mode>` - 선택 사항. 설치 프로그램 메뉴를 건너뛰고 특정 모드를 직접 실행합니다. 허용되는 값: `desktop`, `docker`(올인원) 또는 `compose`. 다른 값을 입력하면 지원되는 모드 목록과 함께 오류가 발생합니다.
|
|
64
|
+
|
|
65
|
+
## 예시
|
|
66
|
+
|
|
67
|
+
### 대화형으로 모드 선택
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx intlayer init infra
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 데스크톱 앱 설치
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npx intlayer init infra --mode desktop
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 올인원 컨테이너로 셀프 호스팅
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npx intlayer init infra --mode docker
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Docker Compose로 셀프 호스팅
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npx intlayer init infra --mode compose
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 출력 예시
|
|
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
|
+
## 설치 프로그램 설정
|
|
122
|
+
|
|
123
|
+
설치 프로그램은 몇 가지 환경 변수를 읽으며, CLI는 이를 그대로 전달합니다. 명령을 실행하기 전에 셸에서 설정하세요:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
INTLAYER_COMPOSE_DIR=./cms npx intlayer init infra --mode compose
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
| 변수 | 기본값 | 적용 대상 | 설명 |
|
|
130
|
+
| ------------------------- | ------------------------- | --------- | --------------------------------------------------- |
|
|
131
|
+
| `INTLAYER_MODE` | _(질문됨)_ | 모두 | `desktop`, `docker` 또는 `compose`, `--mode`와 동일 |
|
|
132
|
+
| `INTLAYER_DOWNLOAD_DIR` | `~/Downloads` | desktop | 앱 설치 프로그램이 저장되는 위치 |
|
|
133
|
+
| `INTLAYER_IMAGE` | `intlayer/cms-all:latest` | docker | 가져올 올인원 이미지 |
|
|
134
|
+
| `INTLAYER_ENV_FILE` | `./intlayer.env` | docker | 환경 설정 파일을 작성할 위치 |
|
|
135
|
+
| `INTLAYER_CONTAINER_NAME` | `intlayer` | docker | 컨테이너 이름 |
|
|
136
|
+
| `INTLAYER_DATA_VOLUME` | `intlayer-data` | docker | `/data`에 마운트된 네임드 볼륨 |
|
|
137
|
+
| `INTLAYER_APP_PORT` | `3000` | docker | 대시보드 호스트 포트 |
|
|
138
|
+
| `INTLAYER_API_PORT` | `3100` | docker | API 호스트 포트 |
|
|
139
|
+
| `INTLAYER_S3_PORT` | `9000` | docker | MinIO S3 API 호스트 포트 |
|
|
140
|
+
| `INTLAYER_CONSOLE_PORT` | `9001` | docker | MinIO 콘솔 호스트 포트 |
|
|
141
|
+
| `INTLAYER_COMPOSE_DIR` | `./intlayer` | compose | `docker-compose.yml` 및 `.env`가 작성되는 위치 |
|
|
142
|
+
| `INTLAYER_SELFHOST_REF` | `main` | 둘 다 | compose 파일 및 env 템플릿을 가져오는 Git ref |
|
|
143
|
+
|
|
144
|
+
> 포트 변수는 매핑의 **호스트** 측만 변경합니다. 게시된 이미지에는 `http://localhost:3000`, `http://localhost:3100`, `http://localhost:9000`이 대시보드 번들에 컴파일되어 있으므로 자체 이미지를 빌드하지 않는 한 기본값을 유지하세요: [셀프 호스팅 가이드](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/self_hosting.md#limitations)를 참조하세요.
|
|
145
|
+
|
|
146
|
+
## 요구 사항
|
|
147
|
+
|
|
148
|
+
- **데스크톱 앱**은 [Node.js](https://nodejs.org)가 필요합니다: 앱은 대시보드 서버를 내장하고 있으며 머신의 `node` 바이너리로 시작합니다.
|
|
149
|
+
- **Docker 모드**는 [Docker](https://docs.docker.com/get-docker/)가 필요합니다(Windows에서는 WSL 2 백엔드의 Docker Desktop). Compose 모드에는 `docker compose` 플러그인도 필요합니다.
|
|
150
|
+
|
|
151
|
+
## 참고 사항
|
|
152
|
+
|
|
153
|
+
- 명령을 다시 실행해도 안전합니다: 기존 환경 파일은 절대 덮어쓰지 않으므로 업그레이드 경로로도 사용됩니다(최신 이미지를 가져오고 시크릿을 유지함).
|
|
154
|
+
- 설치 프로그램은 임시 디렉터리에 다운로드되며 결과에 관계없이 종료 시 삭제됩니다.
|
|
155
|
+
- 명령어의 종료 코드는 설치 프로그램의 종료 코드입니다. 다운로드 자체가 실패하면 CLI에서 직접 설치 프로그램을 실행할 수 있도록 해당하는 `curl … | sh`(또는 `irm … | iex`) 명령을 출력합니다.
|
|
156
|
+
- Docker 모드에서는 로그인 이메일을 전송하기 위해 메일러가 필요합니다. 설치 프로그램이 완료된 후 생성된 환경 파일에서 Resend 또는 SMTP를 구성하세요: [글로벌 메일러](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/self_hosting.md#global-mailer)를 참조하세요.
|
|
157
|
+
|
|
158
|
+
## 관련 문서
|
|
159
|
+
|
|
160
|
+
- [셀프 호스팅 가이드](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/self_hosting.md) - 각 모드의 아키텍처, 초기 실행 단계 및 제한 사항
|
|
161
|
+
- [Intlayer 초기화](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/init.md) - 상위 `init` 명령어 및 대화형 체크리스트
|
|
162
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md) - 방금 설치한 대시보드의 기능
|
package/docs/ko/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: Intlayer 초기화
|
|
5
5
|
description: 프로젝트에서 Intlayer를 초기화하는 방법을 알아봅니다.
|
|
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: "init infra 하위 명령어 추가"
|
|
17
20
|
- version: 8.6.4
|
|
18
21
|
date: 2026-03-31
|
|
19
22
|
changes: "--no-gitignore 옵션 추가"
|
|
@@ -125,6 +128,26 @@ bun x intlayer init --no-gitignore
|
|
|
125
128
|
|
|
126
129
|
이 명령어는 모든 설정 파일을 구성하지만 `.gitignore`는 수정하지 않습니다.
|
|
127
130
|
|
|
131
|
+
### 인프라 설정 (데스크톱 앱 또는 셀프 호스팅):
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npx intlayer init infra
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
호스팅된 설치 프로그램(macOS / Linux의 `https://intlayer.org/install.sh`, Windows의 `install.ps1`)을 다운로드하고 실행하여 Intlayer 실행 방법을 선택하도록 안내합니다:
|
|
138
|
+
|
|
139
|
+
- **데스크톱 앱** - Intlayer Cloud에 연결된 네이티브 대시보드를 로컬 머신에 설치합니다.
|
|
140
|
+
- **올인원 Docker** - 단일 컨테이너 내에 대시보드 + API + MongoDB + Redis + MinIO가 모두 포함됩니다.
|
|
141
|
+
- **Docker Compose** - 확장 가능한 셀프 호스팅을 위한 서비스당 하나의 컨테이너 구성입니다.
|
|
142
|
+
|
|
143
|
+
`--mode` 옵션으로 메뉴를 건너뛸 수 있습니다:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
npx intlayer init infra --mode compose
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
`npx intlayer init --interactive`에서도 동일한 단계가 제공됩니다. 설치 프로그램 설정은 [`init infra` 레퍼런스](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/infra.md)를, 각 모드가 설정하는 세부 내용은 [셀프 호스팅 가이드](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/self_hosting.md)를 참조하세요.
|
|
150
|
+
|
|
128
151
|
## 출력 예시:
|
|
129
152
|
|
|
130
153
|
```bash
|