@intlayer/docs 9.5.5 → 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/README.md +0 -1
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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 +42 -32
- package/docs/ar/intlayer_with_astro_lit.md +56 -36
- package/docs/ar/intlayer_with_astro_preact.md +57 -36
- package/docs/ar/intlayer_with_astro_react.md +57 -36
- package/docs/ar/intlayer_with_astro_solid.md +57 -36
- package/docs/ar/intlayer_with_astro_svelte.md +56 -36
- package/docs/ar/intlayer_with_astro_vue.md +56 -36
- package/docs/ar/intlayer_with_react_router_v7.md +12 -1
- package/docs/ar/intlayer_with_remix_3.md +22 -1
- package/docs/ar/intlayer_with_solid_start.md +14 -7
- package/docs/ar/intlayer_with_svelte_kit.md +12 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ar/intlayer_with_tanstack.md +13 -6
- package/docs/ar/intlayer_with_vite+lit.md +75 -3
- package/docs/ar/intlayer_with_vite+preact.md +27 -19
- package/docs/ar/intlayer_with_vite+react.md +27 -19
- package/docs/ar/intlayer_with_vite+solid.md +27 -19
- package/docs/ar/intlayer_with_vite+svelte.md +27 -19
- package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ar/intlayer_with_vite+vue.md +27 -19
- package/docs/ar/introduction.md +0 -1
- package/docs/ar/readme.md +0 -1
- package/docs/ar/releases/v8.md +1 -5
- package/docs/ar/self_hosting.md +406 -231
- package/docs/bn/intlayer_with_vite+lit.md +75 -3
- package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
- package/docs/bn/introduction.md +0 -1
- package/docs/cs/intlayer_with_vite+lit.md +75 -3
- package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
- package/docs/cs/introduction.md +0 -1
- 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 +35 -25
- package/docs/de/intlayer_with_astro_lit.md +47 -27
- package/docs/de/intlayer_with_astro_preact.md +48 -27
- package/docs/de/intlayer_with_astro_react.md +48 -27
- package/docs/de/intlayer_with_astro_solid.md +48 -27
- package/docs/de/intlayer_with_astro_svelte.md +47 -27
- package/docs/de/intlayer_with_astro_vue.md +47 -27
- package/docs/de/intlayer_with_react_router_v7.md +12 -1
- package/docs/de/intlayer_with_remix_3.md +22 -1
- package/docs/de/intlayer_with_solid_start.md +14 -7
- package/docs/de/intlayer_with_svelte_kit.md +12 -1
- package/docs/de/intlayer_with_tanstack+solid.md +13 -2
- package/docs/de/intlayer_with_tanstack.md +13 -6
- package/docs/de/intlayer_with_vite+lit.md +75 -3
- package/docs/de/intlayer_with_vite+preact.md +16 -3
- package/docs/de/intlayer_with_vite+react.md +16 -3
- package/docs/de/intlayer_with_vite+solid.md +16 -3
- package/docs/de/intlayer_with_vite+svelte.md +16 -3
- package/docs/de/intlayer_with_vite+vanilla.md +16 -3
- package/docs/de/intlayer_with_vite+vue.md +16 -3
- package/docs/de/introduction.md +0 -1
- package/docs/de/readme.md +0 -1
- package/docs/de/releases/v8.md +1 -5
- 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 +29 -21
- package/docs/en/intlayer_with_astro_lit.md +46 -26
- package/docs/en/intlayer_with_astro_preact.md +47 -26
- package/docs/en/intlayer_with_astro_react.md +47 -26
- package/docs/en/intlayer_with_astro_solid.md +47 -26
- package/docs/en/intlayer_with_astro_svelte.md +46 -26
- package/docs/en/intlayer_with_astro_vue.md +46 -26
- package/docs/en/intlayer_with_react_router_v7.md +12 -1
- package/docs/en/intlayer_with_remix_3.md +22 -1
- package/docs/en/intlayer_with_solid_start.md +14 -7
- package/docs/en/intlayer_with_svelte_kit.md +12 -1
- package/docs/en/intlayer_with_tanstack+solid.md +13 -2
- package/docs/en/intlayer_with_tanstack.md +12 -5
- package/docs/en/intlayer_with_vite+lit.md +75 -3
- package/docs/en/intlayer_with_vite+preact.md +16 -3
- package/docs/en/intlayer_with_vite+react.md +16 -3
- package/docs/en/intlayer_with_vite+solid.md +16 -3
- package/docs/en/intlayer_with_vite+svelte.md +16 -3
- package/docs/en/intlayer_with_vite+vanilla.md +16 -3
- package/docs/en/intlayer_with_vite+vue.md +16 -3
- package/docs/en/introduction.md +0 -1
- package/docs/en/readme.md +0 -1
- package/docs/en/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/en-GB/intlayer_with_astro_lit.md +47 -27
- package/docs/en-GB/intlayer_with_astro_preact.md +48 -27
- package/docs/en-GB/intlayer_with_astro_react.md +48 -27
- package/docs/en-GB/intlayer_with_astro_solid.md +48 -27
- package/docs/en-GB/intlayer_with_astro_svelte.md +47 -27
- package/docs/en-GB/intlayer_with_astro_vue.md +47 -27
- package/docs/en-GB/intlayer_with_react_router_v7.md +12 -1
- package/docs/en-GB/intlayer_with_remix_3.md +22 -1
- package/docs/en-GB/intlayer_with_solid_start.md +14 -7
- package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +13 -2
- package/docs/en-GB/intlayer_with_tanstack.md +13 -6
- package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
- package/docs/en-GB/intlayer_with_vite+preact.md +16 -3
- package/docs/en-GB/intlayer_with_vite+react.md +16 -3
- package/docs/en-GB/intlayer_with_vite+solid.md +25 -15
- package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
- package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
- package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
- package/docs/en-GB/introduction.md +0 -1
- package/docs/en-GB/readme.md +0 -1
- package/docs/en-GB/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/es/intlayer_with_astro_lit.md +47 -27
- package/docs/es/intlayer_with_astro_preact.md +48 -27
- package/docs/es/intlayer_with_astro_react.md +48 -27
- package/docs/es/intlayer_with_astro_solid.md +48 -27
- package/docs/es/intlayer_with_astro_svelte.md +47 -27
- package/docs/es/intlayer_with_astro_vue.md +47 -27
- package/docs/es/intlayer_with_react_router_v7.md +12 -1
- package/docs/es/intlayer_with_remix_3.md +22 -1
- package/docs/es/intlayer_with_solid_start.md +14 -7
- package/docs/es/intlayer_with_svelte_kit.md +12 -1
- package/docs/es/intlayer_with_tanstack+solid.md +13 -2
- package/docs/es/intlayer_with_tanstack.md +13 -6
- package/docs/es/intlayer_with_vite+lit.md +75 -3
- package/docs/es/intlayer_with_vite+preact.md +16 -3
- package/docs/es/intlayer_with_vite+react.md +16 -3
- package/docs/es/intlayer_with_vite+solid.md +16 -3
- package/docs/es/intlayer_with_vite+svelte.md +16 -3
- package/docs/es/intlayer_with_vite+vanilla.md +16 -3
- package/docs/es/intlayer_with_vite+vue.md +16 -3
- package/docs/es/introduction.md +0 -1
- package/docs/es/readme.md +0 -1
- package/docs/es/releases/v8.md +1 -5
- 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 +36 -26
- package/docs/fr/intlayer_with_astro_lit.md +48 -28
- package/docs/fr/intlayer_with_astro_preact.md +49 -28
- package/docs/fr/intlayer_with_astro_react.md +49 -28
- package/docs/fr/intlayer_with_astro_solid.md +49 -28
- package/docs/fr/intlayer_with_astro_svelte.md +48 -28
- package/docs/fr/intlayer_with_astro_vue.md +48 -28
- package/docs/fr/intlayer_with_react_router_v7.md +15 -4
- package/docs/fr/intlayer_with_remix_3.md +22 -1
- package/docs/fr/intlayer_with_solid_start.md +14 -7
- package/docs/fr/intlayer_with_svelte_kit.md +15 -4
- package/docs/fr/intlayer_with_tanstack+solid.md +15 -4
- package/docs/fr/intlayer_with_tanstack.md +13 -6
- package/docs/fr/intlayer_with_vite+lit.md +75 -3
- package/docs/fr/intlayer_with_vite+preact.md +19 -6
- package/docs/fr/intlayer_with_vite+react.md +19 -6
- package/docs/fr/intlayer_with_vite+solid.md +19 -6
- package/docs/fr/intlayer_with_vite+svelte.md +19 -6
- package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
- package/docs/fr/intlayer_with_vite+vue.md +19 -6
- package/docs/fr/introduction.md +0 -1
- package/docs/fr/readme.md +0 -1
- package/docs/fr/releases/v8.md +1 -5
- 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 +38 -31
- package/docs/hi/intlayer_with_astro_lit.md +50 -33
- package/docs/hi/intlayer_with_astro_preact.md +51 -33
- package/docs/hi/intlayer_with_astro_react.md +51 -33
- package/docs/hi/intlayer_with_astro_solid.md +51 -33
- package/docs/hi/intlayer_with_astro_svelte.md +50 -33
- package/docs/hi/intlayer_with_astro_vue.md +50 -33
- package/docs/hi/intlayer_with_react_router_v7.md +20 -12
- package/docs/hi/intlayer_with_remix_3.md +22 -1
- package/docs/hi/intlayer_with_solid_start.md +14 -7
- package/docs/hi/intlayer_with_svelte_kit.md +20 -12
- package/docs/hi/intlayer_with_tanstack+solid.md +13 -2
- package/docs/hi/intlayer_with_tanstack.md +21 -17
- package/docs/hi/intlayer_with_vite+lit.md +75 -3
- package/docs/hi/intlayer_with_vite+preact.md +24 -14
- package/docs/hi/intlayer_with_vite+react.md +24 -14
- package/docs/hi/intlayer_with_vite+solid.md +24 -14
- package/docs/hi/intlayer_with_vite+svelte.md +24 -14
- package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
- package/docs/hi/intlayer_with_vite+vue.md +24 -14
- package/docs/hi/introduction.md +0 -1
- package/docs/hi/readme.md +0 -1
- package/docs/hi/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/id/intlayer_with_astro_lit.md +47 -27
- package/docs/id/intlayer_with_astro_preact.md +48 -27
- package/docs/id/intlayer_with_astro_react.md +48 -27
- package/docs/id/intlayer_with_astro_solid.md +48 -27
- package/docs/id/intlayer_with_astro_svelte.md +47 -27
- package/docs/id/intlayer_with_astro_vue.md +47 -27
- package/docs/id/intlayer_with_react_router_v7.md +12 -1
- package/docs/id/intlayer_with_remix_3.md +22 -1
- package/docs/id/intlayer_with_solid_start.md +14 -7
- package/docs/id/intlayer_with_svelte_kit.md +12 -1
- package/docs/id/intlayer_with_tanstack+solid.md +13 -2
- package/docs/id/intlayer_with_tanstack.md +13 -6
- package/docs/id/intlayer_with_vite+lit.md +75 -3
- package/docs/id/intlayer_with_vite+preact.md +16 -3
- package/docs/id/intlayer_with_vite+react.md +16 -3
- package/docs/id/intlayer_with_vite+solid.md +16 -3
- package/docs/id/intlayer_with_vite+svelte.md +16 -3
- package/docs/id/intlayer_with_vite+vanilla.md +16 -3
- package/docs/id/intlayer_with_vite+vue.md +16 -3
- package/docs/id/introduction.md +0 -1
- package/docs/id/readme.md +0 -1
- package/docs/id/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/it/intlayer_with_astro_lit.md +47 -27
- package/docs/it/intlayer_with_astro_preact.md +48 -27
- package/docs/it/intlayer_with_astro_react.md +48 -27
- package/docs/it/intlayer_with_astro_solid.md +48 -27
- package/docs/it/intlayer_with_astro_svelte.md +47 -27
- package/docs/it/intlayer_with_astro_vue.md +47 -27
- package/docs/it/intlayer_with_react_router_v7.md +12 -1
- package/docs/it/intlayer_with_remix_3.md +22 -1
- package/docs/it/intlayer_with_solid_start.md +14 -7
- package/docs/it/intlayer_with_svelte_kit.md +12 -1
- package/docs/it/intlayer_with_tanstack+solid.md +13 -2
- package/docs/it/intlayer_with_tanstack.md +13 -6
- package/docs/it/intlayer_with_vite+lit.md +75 -3
- package/docs/it/intlayer_with_vite+preact.md +16 -3
- package/docs/it/intlayer_with_vite+react.md +16 -3
- package/docs/it/intlayer_with_vite+solid.md +16 -3
- package/docs/it/intlayer_with_vite+svelte.md +16 -3
- package/docs/it/intlayer_with_vite+vanilla.md +16 -3
- package/docs/it/intlayer_with_vite+vue.md +16 -3
- package/docs/it/introduction.md +0 -1
- package/docs/it/readme.md +0 -1
- package/docs/it/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/ja/intlayer_with_astro_lit.md +47 -27
- package/docs/ja/intlayer_with_astro_preact.md +48 -27
- package/docs/ja/intlayer_with_astro_react.md +48 -27
- package/docs/ja/intlayer_with_astro_solid.md +48 -27
- package/docs/ja/intlayer_with_astro_svelte.md +47 -27
- package/docs/ja/intlayer_with_astro_vue.md +47 -27
- package/docs/ja/intlayer_with_react_router_v7.md +12 -1
- package/docs/ja/intlayer_with_remix_3.md +22 -1
- package/docs/ja/intlayer_with_solid_start.md +14 -7
- package/docs/ja/intlayer_with_svelte_kit.md +21 -15
- package/docs/ja/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ja/intlayer_with_tanstack.md +13 -6
- package/docs/ja/intlayer_with_vite+lit.md +75 -3
- package/docs/ja/intlayer_with_vite+preact.md +16 -3
- package/docs/ja/intlayer_with_vite+react.md +16 -3
- package/docs/ja/intlayer_with_vite+solid.md +16 -3
- package/docs/ja/intlayer_with_vite+svelte.md +16 -3
- package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ja/intlayer_with_vite+vue.md +16 -3
- package/docs/ja/introduction.md +0 -1
- package/docs/ja/readme.md +0 -1
- package/docs/ja/releases/v8.md +1 -5
- 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 +29 -21
- package/docs/ko/intlayer_with_astro_lit.md +47 -27
- package/docs/ko/intlayer_with_astro_preact.md +48 -27
- package/docs/ko/intlayer_with_astro_react.md +48 -27
- package/docs/ko/intlayer_with_astro_solid.md +48 -27
- package/docs/ko/intlayer_with_astro_svelte.md +47 -27
- package/docs/ko/intlayer_with_astro_vue.md +47 -27
- package/docs/ko/intlayer_with_react_router_v7.md +12 -1
- package/docs/ko/intlayer_with_remix_3.md +22 -1
- package/docs/ko/intlayer_with_solid_start.md +14 -7
- package/docs/ko/intlayer_with_svelte_kit.md +12 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ko/intlayer_with_tanstack.md +13 -6
- package/docs/ko/intlayer_with_vite+lit.md +75 -3
- package/docs/ko/intlayer_with_vite+preact.md +16 -3
- package/docs/ko/intlayer_with_vite+react.md +16 -3
- package/docs/ko/intlayer_with_vite+solid.md +26 -16
- package/docs/ko/intlayer_with_vite+svelte.md +16 -3
- package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ko/intlayer_with_vite+vue.md +16 -3
- package/docs/ko/introduction.md +0 -1
- package/docs/ko/readme.md +0 -1
- package/docs/ko/releases/v8.md +1 -5
- package/docs/ko/self_hosting.md +411 -238
- package/docs/nl/intlayer_with_vite+lit.md +75 -3
- package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
- package/docs/nl/introduction.md +0 -1
- 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 +29 -21
- package/docs/pl/intlayer_with_astro_lit.md +47 -27
- package/docs/pl/intlayer_with_astro_preact.md +48 -27
- package/docs/pl/intlayer_with_astro_react.md +48 -27
- package/docs/pl/intlayer_with_astro_solid.md +48 -27
- package/docs/pl/intlayer_with_astro_svelte.md +47 -27
- package/docs/pl/intlayer_with_astro_vue.md +47 -27
- package/docs/pl/intlayer_with_react_router_v7.md +12 -1
- package/docs/pl/intlayer_with_remix_3.md +22 -1
- package/docs/pl/intlayer_with_solid_start.md +14 -7
- package/docs/pl/intlayer_with_svelte_kit.md +12 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +13 -2
- package/docs/pl/intlayer_with_tanstack.md +13 -6
- package/docs/pl/intlayer_with_vite+lit.md +75 -3
- package/docs/pl/intlayer_with_vite+preact.md +16 -3
- package/docs/pl/intlayer_with_vite+react.md +16 -3
- package/docs/pl/intlayer_with_vite+solid.md +16 -3
- package/docs/pl/intlayer_with_vite+svelte.md +16 -3
- package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
- package/docs/pl/intlayer_with_vite+vue.md +16 -3
- package/docs/pl/introduction.md +0 -1
- package/docs/pl/readme.md +0 -1
- package/docs/pl/releases/v8.md +1 -5
- 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 +29 -21
- package/docs/pt/intlayer_with_astro_lit.md +47 -27
- package/docs/pt/intlayer_with_astro_preact.md +48 -27
- package/docs/pt/intlayer_with_astro_react.md +48 -27
- package/docs/pt/intlayer_with_astro_solid.md +48 -27
- package/docs/pt/intlayer_with_astro_svelte.md +47 -27
- package/docs/pt/intlayer_with_astro_vue.md +47 -27
- package/docs/pt/intlayer_with_react_router_v7.md +12 -1
- package/docs/pt/intlayer_with_remix_3.md +22 -1
- package/docs/pt/intlayer_with_solid_start.md +14 -7
- package/docs/pt/intlayer_with_svelte_kit.md +12 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +13 -2
- package/docs/pt/intlayer_with_tanstack.md +13 -6
- package/docs/pt/intlayer_with_vite+lit.md +75 -3
- package/docs/pt/intlayer_with_vite+preact.md +16 -3
- package/docs/pt/intlayer_with_vite+react.md +16 -3
- package/docs/pt/intlayer_with_vite+solid.md +16 -3
- package/docs/pt/intlayer_with_vite+svelte.md +16 -3
- package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
- package/docs/pt/intlayer_with_vite+vue.md +16 -3
- package/docs/pt/introduction.md +0 -1
- package/docs/pt/readme.md +0 -1
- package/docs/pt/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/ru/intlayer_with_astro_lit.md +47 -27
- package/docs/ru/intlayer_with_astro_preact.md +48 -27
- package/docs/ru/intlayer_with_astro_react.md +48 -27
- package/docs/ru/intlayer_with_astro_solid.md +48 -27
- package/docs/ru/intlayer_with_astro_svelte.md +47 -27
- package/docs/ru/intlayer_with_astro_vue.md +47 -27
- package/docs/ru/intlayer_with_react_router_v7.md +12 -1
- package/docs/ru/intlayer_with_remix_3.md +22 -1
- package/docs/ru/intlayer_with_solid_start.md +14 -7
- package/docs/ru/intlayer_with_svelte_kit.md +12 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +13 -2
- package/docs/ru/intlayer_with_tanstack.md +13 -6
- package/docs/ru/intlayer_with_vite+lit.md +75 -3
- package/docs/ru/intlayer_with_vite+preact.md +16 -3
- package/docs/ru/intlayer_with_vite+react.md +16 -3
- package/docs/ru/intlayer_with_vite+solid.md +16 -3
- package/docs/ru/intlayer_with_vite+svelte.md +16 -3
- package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ru/intlayer_with_vite+vue.md +16 -3
- package/docs/ru/introduction.md +0 -1
- package/docs/ru/readme.md +0 -1
- package/docs/ru/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/tr/intlayer_with_astro_lit.md +48 -28
- package/docs/tr/intlayer_with_astro_preact.md +49 -28
- package/docs/tr/intlayer_with_astro_react.md +49 -28
- package/docs/tr/intlayer_with_astro_solid.md +49 -28
- package/docs/tr/intlayer_with_astro_svelte.md +48 -28
- package/docs/tr/intlayer_with_astro_vue.md +48 -28
- package/docs/tr/intlayer_with_react_router_v7.md +12 -1
- package/docs/tr/intlayer_with_remix_3.md +22 -1
- package/docs/tr/intlayer_with_solid_start.md +14 -7
- package/docs/tr/intlayer_with_svelte_kit.md +12 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +13 -2
- package/docs/tr/intlayer_with_tanstack.md +13 -6
- package/docs/tr/intlayer_with_vite+lit.md +75 -3
- package/docs/tr/intlayer_with_vite+preact.md +16 -3
- package/docs/tr/intlayer_with_vite+react.md +16 -3
- package/docs/tr/intlayer_with_vite+solid.md +16 -3
- package/docs/tr/intlayer_with_vite+svelte.md +16 -3
- package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
- package/docs/tr/intlayer_with_vite+vue.md +16 -3
- package/docs/tr/introduction.md +0 -1
- package/docs/tr/readme.md +0 -1
- package/docs/tr/releases/v8.md +1 -5
- 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 +35 -25
- package/docs/uk/intlayer_with_astro_lit.md +47 -27
- package/docs/uk/intlayer_with_astro_preact.md +48 -27
- package/docs/uk/intlayer_with_astro_react.md +48 -27
- package/docs/uk/intlayer_with_astro_solid.md +48 -27
- package/docs/uk/intlayer_with_astro_svelte.md +47 -27
- package/docs/uk/intlayer_with_astro_vue.md +47 -27
- package/docs/uk/intlayer_with_react_router_v7.md +12 -1
- package/docs/uk/intlayer_with_remix_3.md +22 -1
- package/docs/uk/intlayer_with_solid_start.md +14 -7
- package/docs/uk/intlayer_with_svelte_kit.md +12 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +13 -2
- package/docs/uk/intlayer_with_tanstack.md +13 -6
- package/docs/uk/intlayer_with_vite+lit.md +75 -3
- package/docs/uk/intlayer_with_vite+preact.md +16 -3
- package/docs/uk/intlayer_with_vite+react.md +16 -3
- package/docs/uk/intlayer_with_vite+solid.md +16 -3
- package/docs/uk/intlayer_with_vite+svelte.md +16 -3
- package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
- package/docs/uk/intlayer_with_vite+vue.md +16 -3
- package/docs/uk/introduction.md +0 -1
- package/docs/uk/readme.md +0 -1
- package/docs/uk/releases/v8.md +1 -5
- package/docs/uk/self_hosting.md +413 -238
- package/docs/ur/intlayer_with_vite+lit.md +75 -3
- package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ur/introduction.md +0 -1
- 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 +35 -25
- package/docs/vi/intlayer_with_astro_lit.md +47 -27
- package/docs/vi/intlayer_with_astro_preact.md +48 -27
- package/docs/vi/intlayer_with_astro_react.md +48 -27
- package/docs/vi/intlayer_with_astro_solid.md +48 -27
- package/docs/vi/intlayer_with_astro_svelte.md +47 -27
- package/docs/vi/intlayer_with_astro_vue.md +47 -27
- package/docs/vi/intlayer_with_react_router_v7.md +12 -1
- package/docs/vi/intlayer_with_remix_3.md +22 -1
- package/docs/vi/intlayer_with_solid_start.md +14 -7
- package/docs/vi/intlayer_with_svelte_kit.md +12 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +13 -2
- package/docs/vi/intlayer_with_tanstack.md +13 -6
- package/docs/vi/intlayer_with_vite+lit.md +75 -3
- package/docs/vi/intlayer_with_vite+preact.md +16 -3
- package/docs/vi/intlayer_with_vite+react.md +16 -3
- package/docs/vi/intlayer_with_vite+solid.md +16 -3
- package/docs/vi/intlayer_with_vite+svelte.md +16 -3
- package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
- package/docs/vi/intlayer_with_vite+vue.md +16 -3
- package/docs/vi/introduction.md +0 -1
- package/docs/vi/readme.md +0 -1
- package/docs/vi/releases/v8.md +1 -5
- 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 +29 -21
- package/docs/zh/intlayer_with_astro_lit.md +47 -27
- package/docs/zh/intlayer_with_astro_preact.md +48 -27
- package/docs/zh/intlayer_with_astro_react.md +48 -27
- package/docs/zh/intlayer_with_astro_solid.md +48 -27
- package/docs/zh/intlayer_with_astro_svelte.md +47 -27
- package/docs/zh/intlayer_with_astro_vue.md +47 -27
- package/docs/zh/intlayer_with_react_router_v7.md +12 -1
- package/docs/zh/intlayer_with_remix_3.md +22 -1
- package/docs/zh/intlayer_with_solid_start.md +14 -7
- package/docs/zh/intlayer_with_svelte_kit.md +12 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +13 -2
- package/docs/zh/intlayer_with_tanstack.md +13 -6
- package/docs/zh/intlayer_with_vite+lit.md +75 -3
- package/docs/zh/intlayer_with_vite+preact.md +16 -3
- package/docs/zh/intlayer_with_vite+react.md +16 -3
- package/docs/zh/intlayer_with_vite+solid.md +16 -3
- package/docs/zh/intlayer_with_vite+svelte.md +16 -3
- package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
- package/docs/zh/intlayer_with_vite+vue.md +16 -3
- package/docs/zh/introduction.md +0 -1
- package/docs/zh/readme.md +0 -1
- package/docs/zh/releases/v8.md +1 -5
- package/docs/zh/self_hosting.md +410 -237
- package/docs/zh-TW/introduction.md +0 -1
- 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 +6 -6
- package/src/generated/docs.entry.ts +40 -40
- package/docs/ar/intlayer_with_astro_vanilla.md +0 -709
- package/docs/ar/roadmap.md +0 -321
- package/docs/de/intlayer_with_astro_vanilla.md +0 -705
- package/docs/de/roadmap.md +0 -322
- package/docs/en/intlayer_with_astro_vanilla.md +0 -706
- package/docs/en/roadmap.md +0 -325
- package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -709
- package/docs/en-GB/roadmap.md +0 -322
- package/docs/es/intlayer_with_astro_vanilla.md +0 -701
- package/docs/es/roadmap.md +0 -322
- package/docs/fr/intlayer_with_astro_vanilla.md +0 -701
- package/docs/fr/roadmap.md +0 -322
- package/docs/hi/intlayer_with_astro_vanilla.md +0 -720
- package/docs/hi/roadmap.md +0 -322
- package/docs/id/intlayer_with_astro_vanilla.md +0 -705
- package/docs/id/roadmap.md +0 -325
- package/docs/it/intlayer_with_astro_vanilla.md +0 -705
- package/docs/it/roadmap.md +0 -322
- package/docs/ja/intlayer_with_astro_vanilla.md +0 -708
- package/docs/ja/roadmap.md +0 -322
- package/docs/ko/intlayer_with_astro_vanilla.md +0 -720
- package/docs/ko/roadmap.md +0 -322
- package/docs/pl/intlayer_with_astro_vanilla.md +0 -705
- package/docs/pl/roadmap.md +0 -325
- package/docs/pt/intlayer_with_astro_vanilla.md +0 -705
- package/docs/pt/roadmap.md +0 -322
- package/docs/ru/intlayer_with_astro_vanilla.md +0 -716
- package/docs/ru/roadmap.md +0 -322
- package/docs/tr/intlayer_with_astro_vanilla.md +0 -705
- package/docs/tr/roadmap.md +0 -325
- package/docs/uk/intlayer_with_astro_vanilla.md +0 -705
- package/docs/uk/roadmap.md +0 -325
- package/docs/vi/intlayer_with_astro_vanilla.md +0 -705
- package/docs/vi/roadmap.md +0 -325
- package/docs/zh/intlayer_with_astro_vanilla.md +0 -704
- package/docs/zh/roadmap.md +0 -322
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-01-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: Konten HTML
|
|
5
5
|
description: Pelajari cara mendeklarasikan dan menggunakan konten HTML dengan komponen kustom di Intlayer. Ikuti dokumentasi ini untuk menyematkan konten mirip HTML yang kaya dengan penggantian komponen dinamis dalam proyek yang di-internasionalisasi.
|
|
6
6
|
keywords:
|
|
@@ -13,6 +13,8 @@ keywords:
|
|
|
13
13
|
- React
|
|
14
14
|
- Vue
|
|
15
15
|
- Svelte
|
|
16
|
+
- Remix
|
|
17
|
+
- Astro
|
|
16
18
|
slugs:
|
|
17
19
|
- doc
|
|
18
20
|
- concept
|
|
@@ -235,6 +237,83 @@ Saat Anda mengakses konten melalui `useIntlayer`, node HTML sudah disiapkan untu
|
|
|
235
237
|
```
|
|
236
238
|
|
|
237
239
|
</Tab>
|
|
240
|
+
<Tab label="Remix" value="remix">
|
|
241
|
+
Di Remix 3, node HTML diselesaikan menjadi string HTML. Sisipkan dengan prop `innerHTML` dari Remix JSX, atau dengan `html.raw` dalam tampilan `html-template`.
|
|
242
|
+
|
|
243
|
+
```tsx fileName="src/views/home.tsx"
|
|
244
|
+
import { useIntlayer } from "remix-intlayer";
|
|
245
|
+
|
|
246
|
+
export const HomePage = () => () => {
|
|
247
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
248
|
+
|
|
249
|
+
return <div innerHTML={myHtmlContent.value} />;
|
|
250
|
+
};
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
```ts fileName="src/views/home.ts"
|
|
254
|
+
import { html } from "remix/html-template";
|
|
255
|
+
import { useIntlayer } from "remix-intlayer";
|
|
256
|
+
|
|
257
|
+
export const renderHomePage = () => {
|
|
258
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
259
|
+
|
|
260
|
+
return html.raw`<div>${myHtmlContent.value}</div>`;
|
|
261
|
+
};
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
> Remix secara default menghindari nilai yang diinterpolasi. `innerHTML` dan `html.raw` adalah dua pengecualian, yang dibutuhkan oleh string HTML.
|
|
265
|
+
|
|
266
|
+
Gunakan metode `.use()` untuk mengganti tag atau memetakan komponen kustom. Penggantian adalah fungsi yang mengembalikan string HTML:
|
|
267
|
+
|
|
268
|
+
```tsx
|
|
269
|
+
<div
|
|
270
|
+
innerHTML={myHtmlContent.use({
|
|
271
|
+
p: ({ children }) => `<p class="prose">${children}</p>`,
|
|
272
|
+
CustomLink: ({ children }) => `<a href="/details">${children}</a>`,
|
|
273
|
+
})}
|
|
274
|
+
/>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
</Tab>
|
|
278
|
+
<Tab label="Astro" value="astro">
|
|
279
|
+
Di Astro, node HTML diselesaikan menjadi string HTML. Sisipkan dengan direktif `set:html` dalam template, atau dengan `innerHTML` dalam `<script>` klien.
|
|
280
|
+
|
|
281
|
+
```astro fileName="src/pages/index.astro"
|
|
282
|
+
---
|
|
283
|
+
import { useIntlayer } from "astro-intlayer";
|
|
284
|
+
|
|
285
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
<div set:html={myHtmlContent.value} />
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
```astro fileName="src/components/Content.astro"
|
|
292
|
+
<div id="content"></div>
|
|
293
|
+
|
|
294
|
+
<script>
|
|
295
|
+
import { useIntlayer } from "astro-intlayer";
|
|
296
|
+
|
|
297
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
298
|
+
|
|
299
|
+
document.querySelector("#content")!.innerHTML = myHtmlContent.value;
|
|
300
|
+
</script>
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
> Astro secara default menghindari `{ekspresi}`. `set:html` adalah pengecualian, yang dibutuhkan oleh string HTML.
|
|
304
|
+
|
|
305
|
+
Gunakan metode `.use()` untuk mengganti tag atau memetakan komponen kustom. Penggantian adalah fungsi yang mengembalikan string HTML:
|
|
306
|
+
|
|
307
|
+
```astro
|
|
308
|
+
<div
|
|
309
|
+
set:html={myHtmlContent.use({
|
|
310
|
+
p: ({ children }) => `<p class="prose">${children}</p>`,
|
|
311
|
+
CustomLink: ({ children }) => `<a href="/details">${children}</a>`,
|
|
312
|
+
})}
|
|
313
|
+
/>
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
</Tab>
|
|
238
317
|
</Tabs>
|
|
239
318
|
|
|
240
319
|
## Konfigurasi Global dengan `HTMLProvider`
|
|
@@ -470,6 +549,41 @@ Anda dapat mengonfigurasi rendering HTML secara global untuk seluruh aplikasi An
|
|
|
470
549
|
> Mengimpor renderer HTML Anda secara dinamis adalah cara yang baik untuk mengurangi ukuran bundle aplikasi Anda.
|
|
471
550
|
|
|
472
551
|
</Tab>
|
|
552
|
+
<Tab label="Remix" value="remix">
|
|
553
|
+
|
|
554
|
+
Remix tidak memiliki pohon komponen untuk menampung provider, sehingga konfigurasi diinstal sekali, sebagai singleton, saat server dimulai. Ini mengonfigurasi renderer yang dikembalikan oleh `useHTMLRenderer()`. Node `html` yang dikembalikan oleh `useIntlayer` dirender apa adanya; ganti tag per node dengan `.use()`.
|
|
555
|
+
|
|
556
|
+
```typescript fileName="src/router.ts"
|
|
557
|
+
import { installIntlayerHTML } from "remix-intlayer/html";
|
|
558
|
+
|
|
559
|
+
installIntlayerHTML({
|
|
560
|
+
renderHTML: (html) => html.replaceAll("<p>", '<p class="prose">'),
|
|
561
|
+
});
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
> Gunakan `installIntlayerHTMLDynamic(async () => …)` untuk memuat renderer secara lazy; loader hanya berjalan pada panggilan pertama.
|
|
565
|
+
|
|
566
|
+
</Tab>
|
|
567
|
+
<Tab label="Astro" value="astro">
|
|
568
|
+
|
|
569
|
+
Astro tidak memiliki pohon komponen untuk menampung provider, sehingga konfigurasi diinstal sekali, sebagai singleton, di middleware (server) dan dalam `<script>` klien (browser). Ini mengonfigurasi renderer yang dikembalikan oleh `useHTMLRenderer()`. Node `html` yang dikembalikan oleh `useIntlayer` dirender apa adanya; ganti tag per node dengan `.use()`.
|
|
570
|
+
|
|
571
|
+
```typescript fileName="src/middleware.ts"
|
|
572
|
+
import { installIntlayerHTML } from "astro-intlayer/html";
|
|
573
|
+
import { defineMiddleware } from "astro:middleware";
|
|
574
|
+
|
|
575
|
+
// Berjalan sekali saat server dimulai; middleware Intlayer itu sendiri
|
|
576
|
+
// didaftarkan oleh integrasi, sebelum file ini.
|
|
577
|
+
installIntlayerHTML({
|
|
578
|
+
renderHTML: (html) => html.replaceAll("<p>", '<p class="prose">'),
|
|
579
|
+
});
|
|
580
|
+
|
|
581
|
+
export const onRequest = defineMiddleware((_context, next) => next());
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
> Gunakan `installIntlayerHTMLDynamic(async () => …)` untuk memuat renderer secara lazy; loader hanya berjalan pada panggilan pertama.
|
|
585
|
+
|
|
586
|
+
</Tab>
|
|
473
587
|
</Tabs>
|
|
474
588
|
|
|
475
589
|
### Merender Manual & Alat Lanjutan
|
|
@@ -642,15 +756,69 @@ Jika Anda perlu merender string HTML mentah atau memiliki kontrol lebih atas pem
|
|
|
642
756
|
```
|
|
643
757
|
|
|
644
758
|
</Tab>
|
|
759
|
+
<Tab label="Remix" value="remix">
|
|
760
|
+
#### `useHTMLRenderer()` Hook
|
|
761
|
+
|
|
762
|
+
Dapatkan fungsi renderer yang telah dikonfigurasi sebelumnya oleh `installIntlayerHTML()`. Ini mengembalikan string HTML.
|
|
763
|
+
|
|
764
|
+
```tsx
|
|
765
|
+
import { useHTMLRenderer } from "remix-intlayer/html";
|
|
766
|
+
|
|
767
|
+
const renderHTML = useHTMLRenderer();
|
|
768
|
+
|
|
769
|
+
return <div innerHTML={renderHTML("<p>Hello <strong>World</strong></p>")} />;
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
#### Utilitas `renderHTML()`
|
|
773
|
+
|
|
774
|
+
Utilitas mandiri yang mengabaikan konfigurasi global.
|
|
775
|
+
|
|
776
|
+
```tsx
|
|
777
|
+
import { renderHTML } from "remix-intlayer/html";
|
|
778
|
+
|
|
779
|
+
const html = renderHTML("<p>Hello</p>");
|
|
780
|
+
```
|
|
781
|
+
|
|
782
|
+
</Tab>
|
|
783
|
+
<Tab label="Astro" value="astro">
|
|
784
|
+
#### `useHTMLRenderer()` Hook
|
|
785
|
+
|
|
786
|
+
Dapatkan fungsi renderer yang telah dikonfigurasi sebelumnya oleh `installIntlayerHTML()`. Ini mengembalikan string HTML.
|
|
787
|
+
|
|
788
|
+
```astro
|
|
789
|
+
---
|
|
790
|
+
import { useHTMLRenderer } from "astro-intlayer/html";
|
|
791
|
+
|
|
792
|
+
const renderHTML = useHTMLRenderer();
|
|
793
|
+
---
|
|
794
|
+
|
|
795
|
+
<div set:html={renderHTML("<p>Hello <strong>World</strong></p>")} />
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
#### Utilitas `renderHTML()`
|
|
799
|
+
|
|
800
|
+
Utilitas mandiri yang mengabaikan konfigurasi global.
|
|
801
|
+
|
|
802
|
+
```astro
|
|
803
|
+
---
|
|
804
|
+
import { renderHTML } from "astro-intlayer/html";
|
|
805
|
+
|
|
806
|
+
const html = renderHTML("<p>Hello</p>");
|
|
807
|
+
---
|
|
808
|
+
|
|
809
|
+
<div set:html={html} />
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
</Tab>
|
|
645
813
|
</Tabs>
|
|
646
814
|
|
|
647
815
|
## Referensi Opsi
|
|
648
816
|
|
|
649
817
|
Opsi-opsi ini dapat diteruskan ke `HTMLProvider`, `HTMLRenderer`, `useHTMLRenderer`, dan `renderHTML`.
|
|
650
818
|
|
|
651
|
-
| Opsi | Tipe | Default | Deskripsi
|
|
652
|
-
| :----------- | :-------------------- | :------ |
|
|
653
|
-
| `components` | `Record<string, any>` | `{}` | Peta dari tag HTML atau nama komponen kustom ke komponen.
|
|
654
|
-
| `renderHTML` | `Function` | `null` | Fungsi
|
|
819
|
+
| Opsi | Tipe | Default | Deskripsi |
|
|
820
|
+
| :----------- | :-------------------- | :------ | :------------------------------------------------------------------------------------------------------------------ |
|
|
821
|
+
| `components` | `Record<string, any>` | `{}` | Peta dari tag HTML atau nama komponen kustom ke komponen. |
|
|
822
|
+
| `renderHTML` | `Function` | `null` | Fungsi rendering kustom untuk sepenuhnya menggantikan parser HTML default (penyedia Vue, Svelte, Remix, dan Astro). |
|
|
655
823
|
|
|
656
824
|
> Catatan: Untuk React dan Preact, tag HTML standar disediakan secara otomatis. Anda hanya perlu meneruskan prop `components` jika ingin menimpanya atau menambahkan komponen kustom.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: Markdown
|
|
5
5
|
description: Pelajari cara mendeklarasikan dan menggunakan konten Markdown di situs web multibahasa Anda dengan Intlayer. Ikuti langkah-langkah dalam dokumentasi online ini untuk mengintegrasikan Markdown dengan mulus ke dalam proyek Anda.
|
|
6
6
|
keywords:
|
|
@@ -11,6 +11,8 @@ keywords:
|
|
|
11
11
|
- Next.js
|
|
12
12
|
- JavaScript
|
|
13
13
|
- React
|
|
14
|
+
- Remix
|
|
15
|
+
- Astro
|
|
14
16
|
slugs:
|
|
15
17
|
- doc
|
|
16
18
|
- concept
|
|
@@ -487,6 +489,111 @@ Rendering Markdown mendukung **MDX** — gunakan komponen JSX/kerangka kerja apa
|
|
|
487
489
|
```
|
|
488
490
|
|
|
489
491
|
</Tab>
|
|
492
|
+
<Tab label="Remix" value="remix">
|
|
493
|
+
Di Remix 3, node Markdown dirender di server menjadi string HTML. Sisipkan dengan prop `innerHTML` dari Remix JSX, atau dengan `html.raw` dalam tampilan `html-template`.
|
|
494
|
+
|
|
495
|
+
```tsx fileName="src/views/home.tsx"
|
|
496
|
+
import { useIntlayer } from "remix-intlayer";
|
|
497
|
+
|
|
498
|
+
export const HomePage = () => () => {
|
|
499
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
500
|
+
|
|
501
|
+
return <div innerHTML={myMarkdownContent.value} />;
|
|
502
|
+
};
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
```ts fileName="src/views/home.ts"
|
|
506
|
+
import { html } from "remix/html-template";
|
|
507
|
+
import { useIntlayer } from "remix-intlayer";
|
|
508
|
+
|
|
509
|
+
export const renderHomePage = () => {
|
|
510
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
511
|
+
|
|
512
|
+
return html.raw`<div>${myMarkdownContent.value}</div>`;
|
|
513
|
+
};
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
> Remix secara default menghindari nilai yang diinterpolasi. `innerHTML` dan `html.raw` adalah dua pengecualian, yang dibutuhkan oleh string Markdown yang dirender.
|
|
517
|
+
|
|
518
|
+
Anda juga dapat memberikan penggantian lokal untuk tag tertentu menggunakan metode `.use()`. Penggantian adalah fungsi yang mengembalikan string HTML:
|
|
519
|
+
|
|
520
|
+
```tsx
|
|
521
|
+
<div
|
|
522
|
+
innerHTML={myMarkdownContent.use({
|
|
523
|
+
h1: ({ children }) => `<h1 class="text-3xl font-bold">${children}</h1>`,
|
|
524
|
+
})}
|
|
525
|
+
/>
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
`.value` adalah string HTML yang dirender, sedangkan `String()` / `.toString()` mengembalikan sumber Markdown mentah:
|
|
529
|
+
|
|
530
|
+
```tsx
|
|
531
|
+
myMarkdownContent.value // "<h1>…</h1>"
|
|
532
|
+
String(myMarkdownContent) // "# …"
|
|
533
|
+
myMarkdownContent.toString() // "# …"
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
Dan Anda dapat mengakses metadata markdown Anda seperti:
|
|
537
|
+
|
|
538
|
+
```tsx
|
|
539
|
+
myMarkdownContent.metadata
|
|
540
|
+
myMarkdownContent.metadata.title
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
</Tab>
|
|
544
|
+
<Tab label="Astro" value="astro">
|
|
545
|
+
Di Astro, node Markdown dirender menjadi string HTML. Sisipkan dengan direktif `set:html` dalam template, atau dengan `innerHTML` dalam `<script>` klien.
|
|
546
|
+
|
|
547
|
+
```astro fileName="src/pages/index.astro"
|
|
548
|
+
---
|
|
549
|
+
import { useIntlayer } from "astro-intlayer";
|
|
550
|
+
|
|
551
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
552
|
+
---
|
|
553
|
+
|
|
554
|
+
<div set:html={myMarkdownContent.value} />
|
|
555
|
+
```
|
|
556
|
+
|
|
557
|
+
```astro fileName="src/components/Content.astro"
|
|
558
|
+
<div id="content"></div>
|
|
559
|
+
|
|
560
|
+
<script>
|
|
561
|
+
import { useIntlayer } from "astro-intlayer";
|
|
562
|
+
|
|
563
|
+
const { myMarkdownContent } = useIntlayer("app");
|
|
564
|
+
|
|
565
|
+
document.querySelector("#content")!.innerHTML = myMarkdownContent.value;
|
|
566
|
+
</script>
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
> Astro secara default menghindari `{ekspresi}`. `set:html` adalah pengecualian, yang dibutuhkan oleh string Markdown yang dirender.
|
|
570
|
+
|
|
571
|
+
Anda juga dapat memberikan penggantian lokal untuk tag tertentu menggunakan metode `.use()`. Penggantian adalah fungsi yang mengembalikan string HTML:
|
|
572
|
+
|
|
573
|
+
```astro
|
|
574
|
+
<div
|
|
575
|
+
set:html={myMarkdownContent.use({
|
|
576
|
+
h1: ({ children }) => `<h1 class="text-3xl font-bold">${children}</h1>`,
|
|
577
|
+
})}
|
|
578
|
+
/>
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
`.value` adalah string HTML yang dirender, sedangkan `String()` / `.toString()` mengembalikan sumber Markdown mentah:
|
|
582
|
+
|
|
583
|
+
```astro
|
|
584
|
+
myMarkdownContent.value // "<h1>…</h1>"
|
|
585
|
+
String(myMarkdownContent) // "# …"
|
|
586
|
+
myMarkdownContent.toString() // "# …"
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
Dan Anda dapat mengakses metadata markdown Anda seperti:
|
|
590
|
+
|
|
591
|
+
```astro
|
|
592
|
+
myMarkdownContent.metadata
|
|
593
|
+
myMarkdownContent.metadata.title
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
</Tab>
|
|
490
597
|
</Tabs>
|
|
491
598
|
|
|
492
599
|
### 2. Utilitas Pembantu (Hanya String Markdown)
|
|
@@ -698,6 +805,60 @@ Utilitas ini merender **hanya string Markdown mentah** dan independen dari `useI
|
|
|
698
805
|
```
|
|
699
806
|
|
|
700
807
|
</Tab>
|
|
808
|
+
<Tab label="Remix" value="remix">
|
|
809
|
+
#### `useMarkdownRenderer()` Hook
|
|
810
|
+
|
|
811
|
+
Dapatkan fungsi renderer yang telah dikonfigurasi sebelumnya oleh `installIntlayerMarkdown()`. Ini mengembalikan string HTML.
|
|
812
|
+
|
|
813
|
+
```tsx
|
|
814
|
+
import { useMarkdownRenderer } from "remix-intlayer/markdown";
|
|
815
|
+
|
|
816
|
+
const renderMarkdown = useMarkdownRenderer({ forceBlock: true });
|
|
817
|
+
|
|
818
|
+
return <div innerHTML={renderMarkdown("# My Title")} />;
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
#### Utilitas `renderMarkdown()`
|
|
822
|
+
|
|
823
|
+
Utilitas mandiri yang mengabaikan konfigurasi global.
|
|
824
|
+
|
|
825
|
+
```tsx
|
|
826
|
+
import { renderMarkdown } from "remix-intlayer/markdown";
|
|
827
|
+
|
|
828
|
+
const html = renderMarkdown("# My Title", { forceBlock: true });
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
</Tab>
|
|
832
|
+
<Tab label="Astro" value="astro">
|
|
833
|
+
#### `useMarkdownRenderer()` Hook
|
|
834
|
+
|
|
835
|
+
Dapatkan fungsi renderer yang telah dikonfigurasi sebelumnya oleh `installIntlayerMarkdown()`. Ini mengembalikan string HTML.
|
|
836
|
+
|
|
837
|
+
```astro
|
|
838
|
+
---
|
|
839
|
+
import { useMarkdownRenderer } from "astro-intlayer/markdown";
|
|
840
|
+
|
|
841
|
+
const renderMarkdown = useMarkdownRenderer({ forceBlock: true });
|
|
842
|
+
---
|
|
843
|
+
|
|
844
|
+
<div set:html={renderMarkdown("# My Title")} />
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
#### Utilitas `renderMarkdown()`
|
|
848
|
+
|
|
849
|
+
Utilitas mandiri yang mengabaikan konfigurasi global.
|
|
850
|
+
|
|
851
|
+
```astro
|
|
852
|
+
---
|
|
853
|
+
import { renderMarkdown } from "astro-intlayer/markdown";
|
|
854
|
+
|
|
855
|
+
const html = renderMarkdown("# My Title", { forceBlock: true });
|
|
856
|
+
---
|
|
857
|
+
|
|
858
|
+
<div set:html={html} />
|
|
859
|
+
```
|
|
860
|
+
|
|
861
|
+
</Tab>
|
|
701
862
|
</Tabs>
|
|
702
863
|
|
|
703
864
|
## Konfigurasi Global dengan `MarkdownProvider`
|
|
@@ -997,6 +1158,73 @@ Utilitas ini merender **hanya string Markdown mentah** dan independen dari `useI
|
|
|
997
1158
|
> Mengimpor perender Markdown Anda secara dinamis adalah cara yang bagus untuk mengurangi ukuran bundel aplikasi Anda.
|
|
998
1159
|
|
|
999
1160
|
</Tab>
|
|
1161
|
+
<Tab label="Remix" value="remix">
|
|
1162
|
+
|
|
1163
|
+
Remix tidak memiliki pohon komponen untuk menampung provider, sehingga konfigurasi diinstal sekali, sebagai singleton, saat server dimulai. Ini mengonfigurasi renderer yang dikembalikan oleh `useMarkdownRenderer()`. Node `md` yang dikembalikan oleh `useIntlayer` dirender dengan kompiler default; ganti tag per node dengan `.use()`.
|
|
1164
|
+
|
|
1165
|
+
```typescript fileName="src/router.ts"
|
|
1166
|
+
import { installIntlayerMarkdown } from "remix-intlayer/markdown";
|
|
1167
|
+
|
|
1168
|
+
installIntlayerMarkdown({
|
|
1169
|
+
forceBlock: true,
|
|
1170
|
+
components: {
|
|
1171
|
+
h1: ({ children }) => `<h1 class="text-2xl font-bold">${children}</h1>`,
|
|
1172
|
+
},
|
|
1173
|
+
});
|
|
1174
|
+
```
|
|
1175
|
+
|
|
1176
|
+
Anda juga dapat menggunakan renderer markdown Anda sendiri:
|
|
1177
|
+
|
|
1178
|
+
```typescript fileName="src/router.ts"
|
|
1179
|
+
import { installIntlayerMarkdown } from "remix-intlayer/markdown";
|
|
1180
|
+
|
|
1181
|
+
installIntlayerMarkdown({
|
|
1182
|
+
renderMarkdown: async (md) => {
|
|
1183
|
+
const { marked } = await import("marked");
|
|
1184
|
+
return marked(md) as string;
|
|
1185
|
+
},
|
|
1186
|
+
});
|
|
1187
|
+
```
|
|
1188
|
+
|
|
1189
|
+
> Gunakan `installIntlayerMarkdownDynamic(async () => …)` untuk memuat renderer secara lazy; loader hanya berjalan pada panggilan pertama.
|
|
1190
|
+
|
|
1191
|
+
</Tab>
|
|
1192
|
+
<Tab label="Astro" value="astro">
|
|
1193
|
+
|
|
1194
|
+
Astro tidak memiliki pohon komponen untuk menampung provider, sehingga konfigurasi diinstal sekali, sebagai singleton, di middleware (server) dan dalam `<script>` klien (browser). Ini mengonfigurasi renderer yang dikembalikan oleh `useMarkdownRenderer()`. Node `md` yang dikembalikan oleh `useIntlayer` dirender dengan kompiler default; ganti tag per node dengan `.use()`.
|
|
1195
|
+
|
|
1196
|
+
```typescript fileName="src/middleware.ts"
|
|
1197
|
+
import { installIntlayerMarkdown } from "astro-intlayer/markdown";
|
|
1198
|
+
import { defineMiddleware } from "astro:middleware";
|
|
1199
|
+
|
|
1200
|
+
// Berjalan sekali saat server dimulai; middleware Intlayer itu sendiri
|
|
1201
|
+
// didaftarkan oleh integrasi, sebelum file ini.
|
|
1202
|
+
installIntlayerMarkdown({
|
|
1203
|
+
forceBlock: true,
|
|
1204
|
+
components: {
|
|
1205
|
+
h1: ({ children }) => `<h1 class="text-2xl font-bold">${children}</h1>`,
|
|
1206
|
+
},
|
|
1207
|
+
});
|
|
1208
|
+
|
|
1209
|
+
export const onRequest = defineMiddleware((_context, next) => next());
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
Anda juga dapat menggunakan renderer markdown Anda sendiri:
|
|
1213
|
+
|
|
1214
|
+
```typescript fileName="src/middleware.ts"
|
|
1215
|
+
import { installIntlayerMarkdown } from "astro-intlayer/markdown";
|
|
1216
|
+
|
|
1217
|
+
installIntlayerMarkdown({
|
|
1218
|
+
renderMarkdown: async (md) => {
|
|
1219
|
+
const { marked } = await import("marked");
|
|
1220
|
+
return marked(md) as string;
|
|
1221
|
+
},
|
|
1222
|
+
});
|
|
1223
|
+
```
|
|
1224
|
+
|
|
1225
|
+
> Gunakan `installIntlayerMarkdownDynamic(async () => …)` untuk memuat renderer secara lazy; loader hanya berjalan pada panggilan pertama.
|
|
1226
|
+
|
|
1227
|
+
</Tab>
|
|
1000
1228
|
</Tabs>
|
|
1001
1229
|
|
|
1002
1230
|
## Suspense
|
|
@@ -1325,6 +1553,40 @@ Anda dapat menggunakan fungsi `parseMarkdown` dari paket Intlayer framework Anda
|
|
|
1325
1553
|
```
|
|
1326
1554
|
|
|
1327
1555
|
</Tab>
|
|
1556
|
+
<Tab label="Remix" value="remix">
|
|
1557
|
+
|
|
1558
|
+
Remix 3 merender di server dan mengalirkan HTML, sehingga tidak ada AST yang perlu dikirim ke klien. Parse sekali, dan render AST di mana pun halaman dibangun:
|
|
1559
|
+
|
|
1560
|
+
```tsx fileName="src/views/article.tsx"
|
|
1561
|
+
import { parseMarkdown, renderMarkdown } from "remix-intlayer/markdown";
|
|
1562
|
+
|
|
1563
|
+
// 1. Parse markdown menjadi AST yang dapat diserialisasi (misalnya sekali, saat pemuatan modul)
|
|
1564
|
+
const ast = parseMarkdown("## My title \n\nLorem Ipsum");
|
|
1565
|
+
|
|
1566
|
+
export const ArticlePage = () => () => (
|
|
1567
|
+
// 2. Render AST: renderer menerima string mentah atau AST yang telah diparse
|
|
1568
|
+
<article innerHTML={renderMarkdown(ast)} />
|
|
1569
|
+
);
|
|
1570
|
+
```
|
|
1571
|
+
|
|
1572
|
+
</Tab>
|
|
1573
|
+
<Tab label="Astro" value="astro">
|
|
1574
|
+
|
|
1575
|
+
Halaman Astro dirender di server, sehingga tidak ada AST yang perlu dikirim ke klien. Parse Markdown di frontmatter dan render dengan `set:html`:
|
|
1576
|
+
|
|
1577
|
+
```astro fileName="src/pages/article.astro"
|
|
1578
|
+
---
|
|
1579
|
+
import { parseMarkdown, renderMarkdown } from "astro-intlayer/markdown";
|
|
1580
|
+
|
|
1581
|
+
// 1. Parse markdown menjadi AST yang dapat diserialisasi
|
|
1582
|
+
const ast = parseMarkdown("## My title \n\nLorem Ipsum");
|
|
1583
|
+
---
|
|
1584
|
+
|
|
1585
|
+
<!-- 2. Render AST: renderer menerima string mentah atau AST yang telah diparse -->
|
|
1586
|
+
<article set:html={renderMarkdown(ast)} />
|
|
1587
|
+
```
|
|
1588
|
+
|
|
1589
|
+
</Tab>
|
|
1328
1590
|
</Tabs>
|
|
1329
1591
|
|
|
1330
1592
|
Pola ini memastikan bahwa logika parsing Markdown dieksekusi sepenuhnya di server, secara signifikan mengurangi waktu eksekusi di sisi klien dan meningkatkan kecepatan hidrasi awal.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: "Analog i18n - Panduan lengkap menerjemahkan aplikasi Anda"
|
|
5
5
|
description: "Tidak ada lagi i18next. Panduan 2026 untuk membangun aplikasi Analog multibahasa (i18n). Terjemahkan dengan agen AI dan optimalkan ukuran bundle, SEO, dan performa."
|
|
6
6
|
keywords:
|
|
@@ -157,6 +157,28 @@ bun add intlayer angular-intlayer vite-intlayer
|
|
|
157
157
|
</Step>
|
|
158
158
|
<Step number={2} title="Konfigurasi Proyek Anda">
|
|
159
159
|
|
|
160
|
+
### Arsitektur
|
|
161
|
+
|
|
162
|
+
Dalam arsitektur ini, `angular-intlayer` menyediakan `provideIntlayer()`, yang didaftarkan di `src/app/app.config.ts` sehingga setiap komponen dan halaman berbasis file dapat membaca kontennya melalui sinyal `useIntlayer`. Analog dibangun di atas Vite, sehingga plugin `intlayer()` dari `vite-intlayer` ditambahkan di samping `analog()` di `vite.config.ts` untuk memantau dan membangun kembali deklarasi konten Anda serta menjalankan proxy locale. Deklarasi konten ditempatkan bersama komponen dan halaman di `src/app/`.
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
.
|
|
166
|
+
├── src
|
|
167
|
+
│ ├── app
|
|
168
|
+
│ │ ├── pages
|
|
169
|
+
│ │ │ └── index.page.ts # File-based route using useIntlayer
|
|
170
|
+
│ │ ├── app.config.ts # Application config with provideIntlayer()
|
|
171
|
+
│ │ ├── app.content.ts # App content declaration
|
|
172
|
+
│ │ └── locale-switcher.component.ts
|
|
173
|
+
│ └── main.ts
|
|
174
|
+
├── intlayer.config.ts
|
|
175
|
+
├── package.json
|
|
176
|
+
├── tsconfig.json
|
|
177
|
+
└── vite.config.ts # analog() and intlayer() Vite plugins
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Konfigurasi
|
|
181
|
+
|
|
160
182
|
Buat file konfigurasi untuk mengonfigurasi bahasa aplikasi Anda:
|
|
161
183
|
|
|
162
184
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: "Angular 19 i18n - Panduan lengkap menerjemahkan aplikasi Anda"
|
|
5
5
|
description: "Tidak ada lagi i18next. Panduan 2026 untuk membangun aplikasi Angular 19 multibahasa (i18n). Terjemahkan dengan agen AI dan optimalkan ukuran bundle, SEO, dan performa."
|
|
6
6
|
keywords:
|
|
@@ -167,6 +167,29 @@ bun add @angular-builders/custom-webpack --dev
|
|
|
167
167
|
</Step>
|
|
168
168
|
<Step number={2} title="Konfigurasi proyek Anda">
|
|
169
169
|
|
|
170
|
+
### Arsitektur
|
|
171
|
+
|
|
172
|
+
Dalam arsitektur ini, `angular-intlayer` menyediakan `provideIntlayer()`, yang didaftarkan di `src/app/app.config.ts` sehingga setiap komponen dapat membaca kontennya melalui sinyal `useIntlayer`. Angular CLI dialihkan ke custom builder Webpack, dan `webpack.config.ts` menggabungkan plugin Intlayer ke dalam build untuk memantau dan membangun kembali deklarasi konten Anda. Deklarasi konten ditempatkan bersama komponen di `src/app/`.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
.
|
|
176
|
+
├── src
|
|
177
|
+
│ ├── app
|
|
178
|
+
│ │ ├── app.component.html # Root template reading the content signal
|
|
179
|
+
│ │ ├── app.component.ts # Root component using useIntlayer
|
|
180
|
+
│ │ ├── app.config.ts # Application config with provideIntlayer()
|
|
181
|
+
│ │ ├── app.content.ts # App content declaration
|
|
182
|
+
│ │ └── locale-switcher.component.ts
|
|
183
|
+
│ └── main.ts
|
|
184
|
+
├── angular.json # Custom Webpack builder for build and serve
|
|
185
|
+
├── intlayer.config.ts
|
|
186
|
+
├── package.json
|
|
187
|
+
├── tsconfig.json
|
|
188
|
+
└── webpack.config.ts # mergeConfig() from angular-intlayer/webpack
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Konfigurasi
|
|
192
|
+
|
|
170
193
|
Buat file konfigurasi untuk mengonfigurasi bahasa aplikasi Anda:
|
|
171
194
|
|
|
172
195
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: "Angular 22 i18n - Panduan lengkap menerjemahkan aplikasi Anda"
|
|
5
5
|
description: "Tidak ada lagi i18next. Panduan 2026 untuk membangun aplikasi Angular 22 multibahasa (i18n). Terjemahkan dengan agen AI dan optimalkan ukuran bundle, SEO, dan performa."
|
|
6
6
|
keywords:
|
|
@@ -166,6 +166,29 @@ bun add @angular-builders/custom-esbuild --dev
|
|
|
166
166
|
</Step>
|
|
167
167
|
<Step number={2} title="Konfigurasi proyek Anda">
|
|
168
168
|
|
|
169
|
+
### Arsitektur
|
|
170
|
+
|
|
171
|
+
Dalam arsitektur ini, `angular-intlayer` menyediakan `provideIntlayer()`, yang didaftarkan di `src/app/app.config.ts` sehingga setiap komponen dapat membaca kontennya melalui sinyal `useIntlayer`. Angular CLI dialihkan ke custom builder esbuild, dan `esbuild.plugins.ts` mendaftarkan plugin Intlayer ke dalam build untuk memantau dan membangun kembali deklarasi konten Anda. Deklarasi konten ditempatkan bersama komponen di `src/app/`.
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
.
|
|
175
|
+
├── src
|
|
176
|
+
│ ├── app
|
|
177
|
+
│ │ ├── app.component.html # Root template reading the content signal
|
|
178
|
+
│ │ ├── app.component.ts # Root component using useIntlayer
|
|
179
|
+
│ │ ├── app.config.ts # Application config with provideIntlayer()
|
|
180
|
+
│ │ ├── app.content.ts # App content declaration
|
|
181
|
+
│ │ └── locale-switcher.component.ts
|
|
182
|
+
│ └── main.ts
|
|
183
|
+
├── angular.json # Custom esbuild builder for build and serve
|
|
184
|
+
├── esbuild.plugins.ts # intlayerEsbuildPlugin() from angular-intlayer/esbuild
|
|
185
|
+
├── intlayer.config.ts
|
|
186
|
+
├── package.json
|
|
187
|
+
└── tsconfig.json
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Konfigurasi
|
|
191
|
+
|
|
169
192
|
Buat file konfigurasi untuk mengonfigurasi bahasa aplikasi Anda:
|
|
170
193
|
|
|
171
194
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|