@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 @@ Intlayer пытается оптимизировать все эти аспек
|
|
|
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/ru/compat/next-intl.md) (v9.5.
|
|
117
|
-
- [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/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/ru/packages/next-intlayer/exports.md) (v9.5.6)
|
|
116
|
+
- [`@intlayer/next-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compat/next-intl.md) (v9.5.6)
|
|
117
|
+
- [`@intlayer/next-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/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
|
|
|
@@ -64,7 +64,7 @@ history:
|
|
|
64
64
|
|
|
65
65
|
## TL;DR
|
|
66
66
|
|
|
67
|
-
- **Intlayer**: Рекомендуемый выбор для профессиональных Solid-приложений, требующих расширенных функций и оптимизации (v9.5.
|
|
67
|
+
- **Intlayer**: Рекомендуемый выбор для профессиональных Solid-приложений, требующих расширенных функций и оптимизации (v9.5.6).
|
|
68
68
|
- **@solid-primitives/i18n**: Отличная легкая альтернатива для простых проектов, хотя ей не хватает расширенных функций, таких как ленивая загрузка.
|
|
69
69
|
- **solid-i18next**: Стандартный, но тяжелый вариант (~3.5 раза больше Intlayer) с теми же недостатками, что и React i18next.
|
|
70
70
|
- **Paraglide**: Инновационный подход, но сложный DX и проблемы с tree-shaking в некоторых конфигурациях.
|
|
@@ -99,10 +99,10 @@ history:
|
|
|
99
99
|
Для этого бенчмарка мы сравнили следующие библиотеки:
|
|
100
100
|
|
|
101
101
|
- `Base App` (Без библиотеки i18n)
|
|
102
|
-
- `solid-intlayer` (v9.5.
|
|
103
|
-
- `@solid-primitives/i18n` (v2.2.1)
|
|
104
|
-
- `i18next` (v26.0.8) + `@mbarzda/solid-i18next` (v1.4.1)
|
|
105
|
-
- `@inlang/paraglide-js` (v2.25.1)
|
|
102
|
+
- [`solid-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/solid-intlayer/exports.md) (v9.5.6)
|
|
103
|
+
- [`@solid-primitives/i18n`](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n) (v2.2.1)
|
|
104
|
+
- [`i18next`](https://github.com/i18next/i18next) (v26.0.8) + [`@mbarzda/solid-i18next`](https://github.com/mbarzda/solid-i18next) (v1.4.1)
|
|
105
|
+
- [`@inlang/paraglide-js`](https://github.com/opral/paraglide-js) (v2.25.1)
|
|
106
106
|
|
|
107
107
|
Фреймворк - `Solid` с мультиязычным приложением из **10 страниц** и **10 языков**.
|
|
108
108
|
|
|
@@ -65,7 +65,7 @@ style="border:none;"
|
|
|
65
65
|
|
|
66
66
|
## TL;DR
|
|
67
67
|
|
|
68
|
-
- **Intlayer**: Самый эффективный выбор с точки зрения производительности (v9.5.
|
|
68
|
+
- **Intlayer**: Самый эффективный выбор с точки зрения производительности (v9.5.6) с минимальным влиянием на размер.
|
|
69
69
|
- **Paraglide**: Сильный конкурент для tree-shaking, но имеет более сложный опыт разработки и накладные расходы на реактивность.
|
|
70
70
|
- **svelte-i18n**: Полнофункциональный и стандартный для Svelte, но имеет гораздо больший вес бандла (~4.5 раз больше Intlayer).
|
|
71
71
|
|
|
@@ -99,9 +99,9 @@ style="border:none;"
|
|
|
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/ru/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**: Обеспечивает лучшую производительность и наименьший размер бандла (v9.5.
|
|
68
|
+
- **Intlayer**: Обеспечивает лучшую производительность и наименьший размер бандла (v9.5.6) для TanStack Start.
|
|
69
69
|
- **react-i18next** и **use-intl**: Зрелые альтернативы с большими экосистемами, но значительно тяжелее и сложнее в оптимизации.
|
|
70
70
|
- **Paraglide**: Инновационная идея tree-shaking, которая не работает на практике. Сложный DX и накладные расходы на реактивность в TanStack Start.
|
|
71
71
|
- **Избегайте**: **General Translation (GT)** и **Lingo.dev** из-за серьезных проблем с производительностью, лимитов AI и привязки к вендору (vendor lock-in).
|
|
@@ -100,18 +100,19 @@ history:
|
|
|
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/ru/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/ru/packages/react-intlayer/exports.md) (v9.5.6)
|
|
104
|
+
- [`@intlayer/use-intl`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compat/next-intl.md) (v9.5.6)
|
|
105
|
+
- [`@intlayer/lingui`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compat/lingui.md) (v9.5.6)
|
|
106
|
+
- [`@intlayer/react-i18next`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/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/ru/benchmark/vue.md
CHANGED
|
@@ -65,7 +65,7 @@ style="border:none;"
|
|
|
65
65
|
|
|
66
66
|
## TL;DR
|
|
67
67
|
|
|
68
|
-
- **Intlayer**: Самое легкое решение (v9.5.
|
|
68
|
+
- **Intlayer**: Самое легкое решение (v9.5.6) со встроенным разделением (scoping) и динамической загрузкой.
|
|
69
69
|
- **vue-i18n**: Индустриальный стандарт с богатой экосистемой, но может быть значительно тяжелее и сложнее в оптимизации для разделения кода в больших приложениях.
|
|
70
70
|
- **fluent-vue**: Инновационная организация сообщений, но не хватает типобезопасности и является чрезвычайно тяжелым решением.
|
|
71
71
|
|
|
@@ -99,10 +99,10 @@ style="border:none;"
|
|
|
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/ru/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/ru/packages/vue-intlayer/exports.md) (v9.5.6)
|
|
103
|
+
- [`@intlayer/vue-i18n`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/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: Проверяйте настройку i18n любого веб-сайта с помощью расширения Intlayer для Chrome. Определяйте фреймворк, библиотеку 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) — официальное расширение Chrome для **Intlayer**. Откройте его на любом веб-сайте, чтобы узнать, как сайт обрабатывает интернационализацию: какой фреймворк и библиотеку 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). Каждое определение показывает признаки, вызвавшие его, такие как глобальная переменная, cookie или DOM-маркер.
|
|
41
|
+
- **Локали**: выводит список локалей, найденных в атрибуте `lang`, тегах hreflang и `og:locale`, префиксе локали в URL, а также cookie или записях локального хранилища.
|
|
42
|
+
- **SEO-теги i18n**: проверяет `html lang`, `html dir`, каноническую ссылку, теги hreflang, `x-default`, `og:locale` и соотношение локализованных внутренних ссылок.
|
|
43
|
+
- **Переход между локалями**: переключает текущую страницу на любую из её локализованных версий в один клик, на основе тегов hreflang.
|
|
44
|
+
- **Поиск по sitemap**: ищет среди всех страниц из sitemap сайта и открывает их в текущей вкладке.
|
|
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
|
+
Установите [**Intlayer i18n Scanner**](https://chromewebstore.google.com/detail/intlayer_i18n_scanner/pmlehcgmjmfimmjnembihbakhnheiabc) из интернет-магазина Chrome, затем закрепите его на панели инструментов.
|
|
53
|
+
|
|
54
|
+
Расширение работает в Chrome и в любом браузере на базе Chromium, поддерживающем расширения интернет-магазина Chrome (Edge, Brave, Arc, Opera).
|
|
55
|
+
|
|
56
|
+
</Tab>
|
|
57
|
+
<Tab label="Firefox" value="firefox">
|
|
58
|
+
|
|
59
|
+
Установите [**Intlayer i18n Scanner**](https://addons.mozilla.org/en-US/firefox/addon/intlayer-i18n-scanner/) из каталога дополнений Firefox, затем закрепите его на панели инструментов.
|
|
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
|
+
В блоке **Страницы из sitemap** введите запрос для поиска по URL из sitemap сайта и нажмите на результат, чтобы открыть его.
|
|
81
|
+
|
|
82
|
+
### Запуск полного аудита
|
|
83
|
+
|
|
84
|
+

|
|
85
|
+
|
|
86
|
+
Прокрутите до раздела **Полный аудит** и нажмите **Запустить полный аудит i18n**. Результаты поступают по мере завершения каждой проверки, сгруппированные по категориям:
|
|
87
|
+
|
|
88
|
+
- **Страница**: атрибуты `html lang` и `dir`, текущая локаль, теги hreflang, `x-default`, каноническая ссылка, локализованные внутренние ссылки, переключатель языка, значки флагов и неиспользуемый контент локали, переданный в JavaScript-бандле.
|
|
89
|
+
- **Robots.txt**: наличие файла и доступность путей локалей для сканирования поисковыми роботами.
|
|
90
|
+
- **Sitemap**: наличие файла, список всех локалей, альтернативные ссылки и `x-default`.
|
|
91
|
+
- **Домен**: количество локалей, обнаруженных на всем сайте.
|
|
92
|
+
|
|
93
|
+
Каждая проверка помечается как пройденная, предупреждение или ошибка, а итоговая оценка отражает общее состояние i18n SEO страницы.
|
|
94
|
+
|
|
95
|
+
## Конфиденциальность и разрешения
|
|
96
|
+
|
|
97
|
+
Расширение запрашивает минимальные разрешения:
|
|
98
|
+
|
|
99
|
+
- **activeTab** и **scripting**: детектор работает только на просматриваемой вами вкладке и только при открытии всплывающего окна.
|
|
100
|
+
- **back.intlayer.org**: используется только при запуске полного аудита. URL-адрес текущей страницы отправляется в API Intlayer для сканирования.
|
|
101
|
+
|
|
102
|
+
История просмотров не собирается, и в фоновом режиме ничего не работает.
|
|
103
|
+
|
|
104
|
+
## FAQ
|
|
105
|
+
|
|
106
|
+
<FAQ>
|
|
107
|
+
|
|
108
|
+
<Question title="Нужно ли, чтобы сайт использовал Intlayer?">
|
|
109
|
+
|
|
110
|
+
Нет. Расширение проверяет любой веб-сайт, независимо от используемого фреймворка или библиотеки i18n.
|
|
111
|
+
|
|
112
|
+
</Question>
|
|
113
|
+
<Question title="Почему технология не обнаружена?">
|
|
114
|
+
|
|
115
|
+
Обнаружение основывается на том, что страница раскрывает в браузере: глобальных переменных, cookies, метатегах и маркерах DOM. Некоторые производственные сборки удаляют эти маркеры, поэтому библиотека может использоваться без видимых следов.
|
|
116
|
+
|
|
117
|
+
</Question>
|
|
118
|
+
<Question title="Как исправить проблемы, обнаруженные аудитом?">
|
|
119
|
+
|
|
120
|
+
Большинство проверок соответствуют настройкам маршрутизации или метаданных. В Intlayer теги hreflang, каноническая ссылка, `x-default`, локализованные ссылки, sitemap и robots.txt генерируются из вашей [конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md). Ознакомьтесь с руководством по интеграции для вашего фреймворка, например [Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_with_nextjs_16.md), [Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_with_nuxt.md) или [TanStack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/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/ru/vs_code_extension.md)
|
|
129
|
+
- [Сервер MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/mcp_server.md)
|
|
130
|
+
- [Сервер LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/lsp.md)
|
package/docs/ru/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
|
- **[Initialize Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/init.md)** - Настройка Intlayer в вашем проекте с автоматической конфигурацией
|
|
157
|
+
- **[Настройка инфраструктуры](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/infra.md)** - Установите десктопное приложение или запустите CMS на своей инфраструктуре с помощью Docker (all-in-one или Compose)
|
|
154
158
|
- **[Manage Configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/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: Узнайте, как использовать команду init infra CLI Intlayer для установки десктопного приложения или самостоятельного хостинга CMS Intlayer с помощью Docker (контейнер «все в одном» или стек Docker Compose).
|
|
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 на вашем компьютере. Она загружает размещенный установщик для вашей платформы (`https://intlayer.org/install.sh` на macOS / Linux, `https://intlayer.org/install.ps1` на Windows) и запускает его в подключенном терминале, поэтому меню и ход выполнения отображаются без изменений.
|
|
32
|
+
|
|
33
|
+
Установщик предлагает выбрать способ запуска Intlayer:
|
|
34
|
+
|
|
35
|
+
- **Десктопное приложение**: загружает нативное приложение для вашей ОС и процессора и открывает или устанавливает его. Десктопная сборка взаимодействует с бэкендом Intlayer Cloud.
|
|
36
|
+
- **Docker «все в одном» (All-in-one)**: панель управления + API + MongoDB + Redis + MinIO в едином контейнере с одним томом данных. Записывает `./intlayer.env` со сгенерированными секретами и загружает образ `intlayer/cms-all`.
|
|
37
|
+
- **Docker Compose**: один контейнер на сервис для масштабируемого хостинга. Записывает `docker-compose.yml` и `.env` в `./intlayer/` и загружает образы.
|
|
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` (all-in-one) или `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` | оба | Git ref, из которого загружаются compose-файл и шаблон env |
|
|
143
|
+
|
|
144
|
+
> Переменные портов изменяют только сопоставление со стороны **хоста**. В опубликованных образах значения `http://localhost:3000`, `http://localhost:3100` и `http://localhost:9000` скомпилированы в сборку, поэтому сохраняйте значения по умолчанию, если не собираете собственные образы: смотрите [руководство по самостоятельному хостингу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/self_hosting.md#limitations).
|
|
145
|
+
|
|
146
|
+
## Требования
|
|
147
|
+
|
|
148
|
+
- **Десктопное приложение** требует [Node.js](https://nodejs.org): приложение включает сервер панели управления и запускает его с помощью установленного бинарного файла `node`.
|
|
149
|
+
- **Режимы Docker** требуют [Docker](https://docs.docker.com/get-docker/) (Docker Desktop с WSL 2 в Windows). Для режима 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/ru/self_hosting.md#global-mailer).
|
|
157
|
+
|
|
158
|
+
## Связанные документы
|
|
159
|
+
|
|
160
|
+
- [Руководство по самостоятельному хостингу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/self_hosting.md) - Архитектура, первые шаги и ограничения каждого режима
|
|
161
|
+
- [Инициализация Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/init.md) - Родительская команда `init` и её интерактивный список
|
|
162
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md) - Возможности установленной панели управления
|
package/docs/ru/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
|
+
Загружает и запускает размещенный установщик (`https://intlayer.org/install.sh`, или `install.ps1` в Windows), который предлагает выбрать способ запуска Intlayer:
|
|
138
|
+
|
|
139
|
+
- **Десктопное приложение** - устанавливает нативное приложение панели управления на ваш компьютер, подключенное к Intlayer Cloud.
|
|
140
|
+
- **Docker «все в одном» (All-in-one)** - панель управления + 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/ru/cli/infra.md) для параметров установщика и [руководство по самостоятельному хостингу](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/self_hosting.md) для описания каждого режима.
|
|
150
|
+
|
|
128
151
|
## Пример вывода:
|
|
129
152
|
|
|
130
153
|
```bash
|