@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-01-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-21
|
|
4
4
|
title: HTML सामग्री
|
|
5
5
|
description: जानें कि Intlayer में कस्टम कॉम्पोनेंट्स के साथ HTML सामग्री कैसे घोषित और उपयोग की जाती है। अपनी अंतर्राष्ट्रीयकृत परियोजना में गतिशील कॉम्पोनेंट प्रतिस्थापन के साथ समृद्ध HTML-जैसी सामग्री एम्बेड करने के लिए इस दस्तावेज़ का पालन करें।
|
|
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
|
|
@@ -236,6 +238,83 @@ HTML नोड पर `.use()` विधि का उपयोग करते
|
|
|
236
238
|
```
|
|
237
239
|
|
|
238
240
|
</Tab>
|
|
241
|
+
<Tab label="Remix" value="remix">
|
|
242
|
+
Remix 3 में, HTML नोड्स एक HTML स्ट्रिंग में हल होते हैं। इसे Remix JSX के `innerHTML` प्रॉप के साथ, या `html-template` दृश्य में `html.raw` के साथ इंजेक्ट करें।
|
|
243
|
+
|
|
244
|
+
```tsx fileName="src/views/home.tsx"
|
|
245
|
+
import { useIntlayer } from "remix-intlayer";
|
|
246
|
+
|
|
247
|
+
export const HomePage = () => () => {
|
|
248
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
249
|
+
|
|
250
|
+
return <div innerHTML={myHtmlContent.value} />;
|
|
251
|
+
};
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
```ts fileName="src/views/home.ts"
|
|
255
|
+
import { html } from "remix/html-template";
|
|
256
|
+
import { useIntlayer } from "remix-intlayer";
|
|
257
|
+
|
|
258
|
+
export const renderHomePage = () => {
|
|
259
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
260
|
+
|
|
261
|
+
return html.raw`<div>${myHtmlContent.value}</div>`;
|
|
262
|
+
};
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
> Remix डिफ़ॉल्ट रूप से इंटरपोलेटेड मानों को एस्केप करता है। `innerHTML` और `html.raw` दो ऑप्ट-आउट हैं, जो एक HTML स्ट्रिंग की आवश्यकता है।
|
|
266
|
+
|
|
267
|
+
टैग को ओवरराइड करने या कस्टम घटकों को मैप करने के लिए `.use()` विधि का उपयोग करें। ओवरराइड ऐसे फ़ंक्शन हैं जो एक HTML स्ट्रिंग लौटाते हैं:
|
|
268
|
+
|
|
269
|
+
```tsx
|
|
270
|
+
<div
|
|
271
|
+
innerHTML={myHtmlContent.use({
|
|
272
|
+
p: ({ children }) => `<p class="prose">${children}</p>`,
|
|
273
|
+
CustomLink: ({ children }) => `<a href="/details">${children}</a>`,
|
|
274
|
+
})}
|
|
275
|
+
/>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
</Tab>
|
|
279
|
+
<Tab label="Astro" value="astro">
|
|
280
|
+
Astro में, HTML नोड्स एक HTML स्ट्रिंग में हल होते हैं। इसे टेम्पलेट में `set:html` निर्देश के साथ, या क्लाइंट `<script>` में `innerHTML` के साथ इंजेक्ट करें।
|
|
281
|
+
|
|
282
|
+
```astro fileName="src/pages/index.astro"
|
|
283
|
+
---
|
|
284
|
+
import { useIntlayer } from "astro-intlayer";
|
|
285
|
+
|
|
286
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
<div set:html={myHtmlContent.value} />
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
```astro fileName="src/components/Content.astro"
|
|
293
|
+
<div id="content"></div>
|
|
294
|
+
|
|
295
|
+
<script>
|
|
296
|
+
import { useIntlayer } from "astro-intlayer";
|
|
297
|
+
|
|
298
|
+
const { myHtmlContent } = useIntlayer("app");
|
|
299
|
+
|
|
300
|
+
document.querySelector("#content")!.innerHTML = myHtmlContent.value;
|
|
301
|
+
</script>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
> Astro डिफ़ॉल्ट रूप से `{अभिव्यक्तियों}` को एस्केप करता है। `set:html` ऑप्ट-आउट है, जो एक HTML स्ट्रिंग की आवश्यकता है।
|
|
305
|
+
|
|
306
|
+
टैग को ओवरराइड करने या कस्टम घटकों को मैप करने के लिए `.use()` विधि का उपयोग करें। ओवरराइड ऐसे फ़ंक्शन हैं जो एक HTML स्ट्रिंग लौटाते हैं:
|
|
307
|
+
|
|
308
|
+
```astro
|
|
309
|
+
<div
|
|
310
|
+
set:html={myHtmlContent.use({
|
|
311
|
+
p: ({ children }) => `<p class="prose">${children}</p>`,
|
|
312
|
+
CustomLink: ({ children }) => `<a href="/details">${children}</a>`,
|
|
313
|
+
})}
|
|
314
|
+
/>
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
</Tab>
|
|
239
318
|
</Tabs>
|
|
240
319
|
|
|
241
320
|
## `HTMLProvider` के साथ वैश्विक कॉन्फ़िगरेशन
|
|
@@ -471,6 +550,41 @@ HTML नोड पर `.use()` विधि का उपयोग करते
|
|
|
471
550
|
> अपने HTML renderer को dynamically import करना आपके application के bundle size को कम करने का एक अच्छा तरीका है।
|
|
472
551
|
|
|
473
552
|
</Tab>
|
|
553
|
+
<Tab label="Remix" value="remix">
|
|
554
|
+
|
|
555
|
+
Remix में प्रोवाइडर रखने के लिए कोई कंपोनेंट ट्री नहीं है, इसलिए सर्वर प्रारंभ होने पर कॉन्फ़िगरेशन एक सिंगलटन के रूप में एक बार स्थापित होता है। यह `useHTMLRenderer()` द्वारा लौटाए गए रेंडरर को कॉन्फ़िगर करता है। `useIntlayer` द्वारा लौटाए गए `html` नोड्स यथावत प्रस्तुत किए जाते हैं; प्रति नोड उनके टैग को `.use()` के साथ ओवरराइड करें।
|
|
556
|
+
|
|
557
|
+
```typescript fileName="src/router.ts"
|
|
558
|
+
import { installIntlayerHTML } from "remix-intlayer/html";
|
|
559
|
+
|
|
560
|
+
installIntlayerHTML({
|
|
561
|
+
renderHTML: (html) => html.replaceAll("<p>", '<p class="prose">'),
|
|
562
|
+
});
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
> रेंडरर को लेज़ी लोड करने के लिए `installIntlayerHTMLDynamic(async () => …)` का उपयोग करें; लोडर केवल पहले कॉल पर चलता है।
|
|
566
|
+
|
|
567
|
+
</Tab>
|
|
568
|
+
<Tab label="Astro" value="astro">
|
|
569
|
+
|
|
570
|
+
Astro में प्रोवाइडर रखने के लिए कोई कंपोनेंट ट्री नहीं है, इसलिए कॉन्फ़िगरेशन मिडलवेयर (सर्वर) और क्लाइंट `<script>` (ब्राउज़र) में सिंगलटन के रूप में एक बार स्थापित होता है। यह `useHTMLRenderer()` द्वारा लौटाए गए रेंडरर को कॉन्फ़िगर करता है। `useIntlayer` द्वारा लौटाए गए `html` नोड्स यथावत प्रस्तुत किए जाते हैं; प्रति नोड उनके टैग को `.use()` के साथ ओवरराइड करें।
|
|
571
|
+
|
|
572
|
+
```typescript fileName="src/middleware.ts"
|
|
573
|
+
import { installIntlayerHTML } from "astro-intlayer/html";
|
|
574
|
+
import { defineMiddleware } from "astro:middleware";
|
|
575
|
+
|
|
576
|
+
// सर्वर प्रारंभ होने पर एक बार चलता है; Intlayer मिडलवेयर स्वयं इस फ़ाइल से
|
|
577
|
+
// पहले एकीकरण द्वारा पंजीकृत होता है।
|
|
578
|
+
installIntlayerHTML({
|
|
579
|
+
renderHTML: (html) => html.replaceAll("<p>", '<p class="prose">'),
|
|
580
|
+
});
|
|
581
|
+
|
|
582
|
+
export const onRequest = defineMiddleware((_context, next) => next());
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
> रेंडरर को लेज़ी लोड करने के लिए `installIntlayerHTMLDynamic(async () => …)` का उपयोग करें; लोडर केवल पहले कॉल पर चलता है।
|
|
586
|
+
|
|
587
|
+
</Tab>
|
|
474
588
|
</Tabs>
|
|
475
589
|
|
|
476
590
|
### मैनुअल रेंडरिंग और उन्नत टूल्स
|
|
@@ -643,15 +757,69 @@ HTML नोड पर `.use()` विधि का उपयोग करते
|
|
|
643
757
|
```
|
|
644
758
|
|
|
645
759
|
</Tab>
|
|
760
|
+
<Tab label="Remix" value="remix">
|
|
761
|
+
#### `useHTMLRenderer()` हुक
|
|
762
|
+
|
|
763
|
+
`installIntlayerHTML()` द्वारा पूर्व-कॉन्फ़िगर किया गया रेंडरर फ़ंक्शन प्राप्त करें। यह एक HTML स्ट्रिंग लौटाता है।
|
|
764
|
+
|
|
765
|
+
```tsx
|
|
766
|
+
import { useHTMLRenderer } from "remix-intlayer/html";
|
|
767
|
+
|
|
768
|
+
const renderHTML = useHTMLRenderer();
|
|
769
|
+
|
|
770
|
+
return <div innerHTML={renderHTML("<p>Hello <strong>World</strong></p>")} />;
|
|
771
|
+
```
|
|
772
|
+
|
|
773
|
+
#### `renderHTML()` यूटिलिटी
|
|
774
|
+
|
|
775
|
+
स्टैंडअलोन यूटिलिटी जो वैश्विक कॉन्फ़िगरेशन को अनदेखा करती है।
|
|
776
|
+
|
|
777
|
+
```tsx
|
|
778
|
+
import { renderHTML } from "remix-intlayer/html";
|
|
779
|
+
|
|
780
|
+
const html = renderHTML("<p>Hello</p>");
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
</Tab>
|
|
784
|
+
<Tab label="Astro" value="astro">
|
|
785
|
+
#### `useHTMLRenderer()` हुक
|
|
786
|
+
|
|
787
|
+
`installIntlayerHTML()` द्वारा पूर्व-कॉन्फ़िगर किया गया रेंडरर फ़ंक्शन प्राप्त करें। यह एक HTML स्ट्रिंग लौटाता है।
|
|
788
|
+
|
|
789
|
+
```astro
|
|
790
|
+
---
|
|
791
|
+
import { useHTMLRenderer } from "astro-intlayer/html";
|
|
792
|
+
|
|
793
|
+
const renderHTML = useHTMLRenderer();
|
|
794
|
+
---
|
|
795
|
+
|
|
796
|
+
<div set:html={renderHTML("<p>Hello <strong>World</strong></p>")} />
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
#### `renderHTML()` यूटिलिटी
|
|
800
|
+
|
|
801
|
+
स्टैंडअलोन यूटिलिटी जो वैश्विक कॉन्फ़िगरेशन को अनदेखा करती है।
|
|
802
|
+
|
|
803
|
+
```astro
|
|
804
|
+
---
|
|
805
|
+
import { renderHTML } from "astro-intlayer/html";
|
|
806
|
+
|
|
807
|
+
const html = renderHTML("<p>Hello</p>");
|
|
808
|
+
---
|
|
809
|
+
|
|
810
|
+
<div set:html={html} />
|
|
811
|
+
```
|
|
812
|
+
|
|
813
|
+
</Tab>
|
|
646
814
|
</Tabs>
|
|
647
815
|
|
|
648
816
|
## विकल्प संदर्भ
|
|
649
817
|
|
|
650
818
|
इन विकल्पों को `HTMLProvider`, `HTMLRenderer`, `useHTMLRenderer`, और `renderHTML` को पास किया जा सकता है।
|
|
651
819
|
|
|
652
|
-
| विकल्प | प्रकार | डिफ़ॉल्ट | विवरण
|
|
653
|
-
| :----------- | :-------------------- | :------- |
|
|
654
|
-
| `components` | `Record<string, any>` | `{}` | HTML टैग्स या कस्टम कॉम्पोनेंट नामों को कॉम्पोनेंट्स से मैप करने वाला ऑब्जेक्ट।
|
|
655
|
-
| `renderHTML` | `Function` | `null` | डिफ़ॉल्ट HTML पार्सर को पूरी तरह से बदलने के लिए एक कस्टम रेंडरिंग फ़ंक्शन (
|
|
820
|
+
| विकल्प | प्रकार | डिफ़ॉल्ट | विवरण |
|
|
821
|
+
| :----------- | :-------------------- | :------- | :---------------------------------------------------------------------------------------------------------------- |
|
|
822
|
+
| `components` | `Record<string, any>` | `{}` | HTML टैग्स या कस्टम कॉम्पोनेंट नामों को कॉम्पोनेंट्स से मैप करने वाला ऑब्जेक्ट। |
|
|
823
|
+
| `renderHTML` | `Function` | `null` | डिफ़ॉल्ट HTML पार्सर को पूरी तरह से बदलने के लिए एक कस्टम रेंडरिंग फ़ंक्शन (Vue, Svelte, Remix और Astro प्रदाता)। |
|
|
656
824
|
|
|
657
825
|
> नोट: React और Preact के लिए, मानक HTML टैग्स स्वतः प्रदान किए जाते हैं। केवल तभी आपको `components` prop पास करने की आवश्यकता होती है जब आप उन्हें ओवरराइड करना या कस्टम कॉम्पोनेंट जोड़ना चाहें।
|
|
@@ -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: Intlayer के साथ अपनी बहुभाषी वेबसाइट में Markdown सामग्री घोषित करने और उसका उपयोग करने का तरीका जानें। अपने प्रोजेक्ट में Markdown को समेकित रूप से एकीकृत करने के लिए इस ऑनलाइन दस्तावेज़ में दिए गए चरणों का पालन करें।
|
|
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 @@ Markdown रेंडरिंग **MDX** का समर्थन करता
|
|
|
487
489
|
```
|
|
488
490
|
|
|
489
491
|
</Tab>
|
|
492
|
+
<Tab label="Remix" value="remix">
|
|
493
|
+
Remix 3 में, Markdown नोड्स सर्वर पर एक HTML स्ट्रिंग में रेंडर होते हैं। इसे Remix JSX के `innerHTML` प्रॉप के साथ, या `html-template` दृश्य में `html.raw` के साथ इंजेक्ट करें।
|
|
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 डिफ़ॉल्ट रूप से इंटरपोलेटेड मानों को एस्केप करता है। `innerHTML` और `html.raw` दो ऑप्ट-आउट हैं, जो एक रेंडर किए गए Markdown स्ट्रिंग की आवश्यकता है।
|
|
517
|
+
|
|
518
|
+
आप `.use()` विधि का उपयोग करके विशिष्ट टैग के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं। ओवरराइड ऐसे फ़ंक्शन हैं जो एक 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` रेंडर किया गया HTML स्ट्रिंग है, जबकि `String()` / `.toString()` कच्चा Markdown स्रोत वापस देते हैं:
|
|
529
|
+
|
|
530
|
+
```tsx
|
|
531
|
+
myMarkdownContent.value // "<h1>…</h1>"
|
|
532
|
+
String(myMarkdownContent) // "# …"
|
|
533
|
+
myMarkdownContent.toString() // "# …"
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
और आप अपने markdown मेटाडेटा को इस तरह एक्सेस कर सकते हैं:
|
|
537
|
+
|
|
538
|
+
```tsx
|
|
539
|
+
myMarkdownContent.metadata
|
|
540
|
+
myMarkdownContent.metadata.title
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
</Tab>
|
|
544
|
+
<Tab label="Astro" value="astro">
|
|
545
|
+
Astro में, Markdown नोड्स एक HTML स्ट्रिंग में रेंडर होते हैं। इसे टेम्पलेट में `set:html` निर्देश के साथ, या क्लाइंट `<script>` में `innerHTML` के साथ इंजेक्ट करें।
|
|
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 डिफ़ॉल्ट रूप से `{अभिव्यक्तियों}` को एस्केप करता है। `set:html` ऑप्ट-आउट है, जो एक रेंडर किए गए Markdown स्ट्रिंग की आवश्यकता है।
|
|
570
|
+
|
|
571
|
+
आप `.use()` विधि का उपयोग करके विशिष्ट टैग के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं। ओवरराइड ऐसे फ़ंक्शन हैं जो एक 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` रेंडर किया गया HTML स्ट्रिंग है, जबकि `String()` / `.toString()` कच्चा Markdown स्रोत वापस देते हैं:
|
|
582
|
+
|
|
583
|
+
```astro
|
|
584
|
+
myMarkdownContent.value // "<h1>…</h1>"
|
|
585
|
+
String(myMarkdownContent) // "# …"
|
|
586
|
+
myMarkdownContent.toString() // "# …"
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
और आप अपने markdown मेटाडेटा को इस तरह एक्सेस कर सकते हैं:
|
|
590
|
+
|
|
591
|
+
```astro
|
|
592
|
+
myMarkdownContent.metadata
|
|
593
|
+
myMarkdownContent.metadata.title
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
</Tab>
|
|
490
597
|
</Tabs>
|
|
491
598
|
|
|
492
599
|
### 2. हेल्पर यूटिलिटीज (केवल Markdown स्ट्रिंग्स)
|
|
@@ -698,6 +805,60 @@ Markdown रेंडरिंग **MDX** का समर्थन करता
|
|
|
698
805
|
```
|
|
699
806
|
|
|
700
807
|
</Tab>
|
|
808
|
+
<Tab label="Remix" value="remix">
|
|
809
|
+
#### `useMarkdownRenderer()` हुक
|
|
810
|
+
|
|
811
|
+
`installIntlayerMarkdown()` द्वारा पूर्व-कॉन्फ़िगर किया गया रेंडरर फ़ंक्शन प्राप्त करें। यह एक 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
|
+
#### `renderMarkdown()` यूटिलिटी
|
|
822
|
+
|
|
823
|
+
स्टैंडअलोन यूटिलिटी जो वैश्विक कॉन्फ़िगरेशन को अनदेखा करती है।
|
|
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()` हुक
|
|
834
|
+
|
|
835
|
+
`installIntlayerMarkdown()` द्वारा पूर्व-कॉन्फ़िगर किया गया रेंडरर फ़ंक्शन प्राप्त करें। यह एक 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
|
+
#### `renderMarkdown()` यूटिलिटी
|
|
848
|
+
|
|
849
|
+
स्टैंडअलोन यूटिलिटी जो वैश्विक कॉन्फ़िगरेशन को अनदेखा करती है।
|
|
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
|
## `MarkdownProvider` के साथ ग्लोबल कॉन्फ़िगरेशन
|
|
@@ -997,6 +1158,73 @@ Markdown रेंडरिंग **MDX** का समर्थन करता
|
|
|
997
1158
|
> अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
|
|
998
1159
|
|
|
999
1160
|
</Tab>
|
|
1161
|
+
<Tab label="Remix" value="remix">
|
|
1162
|
+
|
|
1163
|
+
Remix में प्रोवाइडर रखने के लिए कोई कंपोनेंट ट्री नहीं है, इसलिए सर्वर प्रारंभ होने पर कॉन्फ़िगरेशन एक सिंगलटन के रूप में एक बार स्थापित होता है। यह `useMarkdownRenderer()` द्वारा लौटाए गए रेंडरर को कॉन्फ़िगर करता है। `useIntlayer` द्वारा लौटाए गए `md` नोड्स डिफ़ॉल्ट कंपाइलर के साथ रेंडर किए जाते हैं; प्रति नोड उनके टैग को `.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
|
+
आप अपने स्वयं के markdown रेंडरर का भी उपयोग कर सकते हैं:
|
|
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
|
+
> रेंडरर को लेज़ी लोड करने के लिए `installIntlayerMarkdownDynamic(async () => …)` का उपयोग करें; लोडर केवल पहले कॉल पर चलता है।
|
|
1190
|
+
|
|
1191
|
+
</Tab>
|
|
1192
|
+
<Tab label="Astro" value="astro">
|
|
1193
|
+
|
|
1194
|
+
Astro में प्रोवाइडर रखने के लिए कोई कंपोनेंट ट्री नहीं है, इसलिए कॉन्फ़िगरेशन मिडलवेयर (सर्वर) और क्लाइंट `<script>` (ब्राउज़र) में सिंगलटन के रूप में एक बार स्थापित होता है। यह `useMarkdownRenderer()` द्वारा लौटाए गए रेंडरर को कॉन्फ़िगर करता है। `useIntlayer` द्वारा लौटाए गए `md` नोड्स डिफ़ॉल्ट कंपाइलर के साथ रेंडर किए जाते हैं; प्रति नोड उनके टैग को `.use()` के साथ ओवरराइड करें।
|
|
1195
|
+
|
|
1196
|
+
```typescript fileName="src/middleware.ts"
|
|
1197
|
+
import { installIntlayerMarkdown } from "astro-intlayer/markdown";
|
|
1198
|
+
import { defineMiddleware } from "astro:middleware";
|
|
1199
|
+
|
|
1200
|
+
// सर्वर प्रारंभ होने पर एक बार चलता है; Intlayer मिडलवेयर स्वयं इस फ़ाइल से
|
|
1201
|
+
// पहले एकीकरण द्वारा पंजीकृत होता है।
|
|
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
|
+
आप अपने स्वयं के markdown रेंडरर का भी उपयोग कर सकते हैं:
|
|
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
|
+
> रेंडरर को लेज़ी लोड करने के लिए `installIntlayerMarkdownDynamic(async () => …)` का उपयोग करें; लोडर केवल पहले कॉल पर चलता है।
|
|
1226
|
+
|
|
1227
|
+
</Tab>
|
|
1000
1228
|
</Tabs>
|
|
1001
1229
|
|
|
1002
1230
|
## सस्पेंस (Suspense)
|
|
@@ -1325,6 +1553,40 @@ export class MyComponent {
|
|
|
1325
1553
|
```
|
|
1326
1554
|
|
|
1327
1555
|
</Tab>
|
|
1556
|
+
<Tab label="Remix" value="remix">
|
|
1557
|
+
|
|
1558
|
+
Remix 3 सर्वर पर रेंडर करता है और HTML स्ट्रीम करता है, इसलिए किसी भी AST को क्लाइंट में जाने की आवश्यकता नहीं होती है। एक बार पार्स करें, और पृष्ठ जहां भी बनाया गया है वहां AST रेंडर करें:
|
|
1559
|
+
|
|
1560
|
+
```tsx fileName="src/views/article.tsx"
|
|
1561
|
+
import { parseMarkdown, renderMarkdown } from "remix-intlayer/markdown";
|
|
1562
|
+
|
|
1563
|
+
// 1. मार्कडाउन को क्रमबद्ध करने योग्य AST में पार्स करें (उदा. मॉड्यूल लोड होने पर एक बार)
|
|
1564
|
+
const ast = parseMarkdown("## My title \n\nLorem Ipsum");
|
|
1565
|
+
|
|
1566
|
+
export const ArticlePage = () => () => (
|
|
1567
|
+
// 2. AST रेंडर करें: रेंडरर कच्चा स्ट्रिंग या पार्स किया गया AST स्वीकार करता है
|
|
1568
|
+
<article innerHTML={renderMarkdown(ast)} />
|
|
1569
|
+
);
|
|
1570
|
+
```
|
|
1571
|
+
|
|
1572
|
+
</Tab>
|
|
1573
|
+
<Tab label="Astro" value="astro">
|
|
1574
|
+
|
|
1575
|
+
Astro पृष्ठ सर्वर पर रेंडर किए जाते हैं, इसलिए किसी भी AST को क्लाइंट में जाने की आवश्यकता नहीं होती है। फ्रंटमैटर में Markdown को पार्स करें और इसे `set:html` के साथ रेंडर करें:
|
|
1576
|
+
|
|
1577
|
+
```astro fileName="src/pages/article.astro"
|
|
1578
|
+
---
|
|
1579
|
+
import { parseMarkdown, renderMarkdown } from "astro-intlayer/markdown";
|
|
1580
|
+
|
|
1581
|
+
// 1. मार्कडाउन को क्रमबद्ध करने योग्य AST में पार्स करें
|
|
1582
|
+
const ast = parseMarkdown("## My title \n\nLorem Ipsum");
|
|
1583
|
+
---
|
|
1584
|
+
|
|
1585
|
+
<!-- 2. AST रेंडर करें: रेंडरर कच्चा स्ट्रिंग या पार्स किया गया AST स्वीकार करता है -->
|
|
1586
|
+
<article set:html={renderMarkdown(ast)} />
|
|
1587
|
+
```
|
|
1588
|
+
|
|
1589
|
+
</Tab>
|
|
1328
1590
|
</Tabs>
|
|
1329
1591
|
|
|
1330
1592
|
यह पैटर्न यह सुनिश्चित करता है कि मार्कडाउन पार्सिंग लॉजिक पूरी तरह से सर्वर पर निष्पादित हो, जिससे क्लाइंट-साइड निष्पादन समय काफी कम हो जाता है और प्रारंभिक हाइड्रेशन गति में सुधार होता है।
|
|
@@ -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 - अपने ऐप को अनुवाद करने का पूर्ण गाइड"
|
|
5
5
|
description: "अब i18next की जरूरत नहीं। 2026 में Analog ऐप को बहुभाषी (i18n) बनाने का गाइड। AI एजेंट्स से अनुवाद करें और बंडल साइज़, SEO और परफॉर्मेंस ऑप्टिमाइज़ करें।"
|
|
6
6
|
keywords:
|
|
@@ -157,6 +157,28 @@ bun add intlayer angular-intlayer vite-intlayer
|
|
|
157
157
|
</Step>
|
|
158
158
|
<Step number={2} title="अपने प्रोजेक्ट का कॉन्फ़िगरेशन">
|
|
159
159
|
|
|
160
|
+
### आर्किटेक्चर
|
|
161
|
+
|
|
162
|
+
इस आर्किटेक्चर में, `angular-intlayer` `provideIntlayer()` प्रदान करता है, जो `src/app/app.config.ts` में पंजीकृत होता है ताकि प्रत्येक कंपोनेंट और फ़ाइल-आधारित पेज `useIntlayer` सिग्नल के माध्यम से अपनी सामग्री पढ़ सके। Analog Vite पर आधारित है, इसलिए आपकी कंटेंट घोषणाओं को देखने, फिर से बनाने और लोकेल प्रॉक्सी चलाने के लिए `vite.config.ts` में `analog()` के बगल में `vite-intlayer` का `intlayer()` प्लगइन जोड़ा जाता है। कंटेंट घोषणाएं `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
|
+
### कॉन्फ़िगरेशन
|
|
181
|
+
|
|
160
182
|
अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िग फ़ाइल बनाएं:
|
|
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 - अपने ऐप को अनुवाद करने का पूर्ण गाइड"
|
|
5
5
|
description: "अब i18next की जरूरत नहीं। 2026 में Angular 19 ऐप को बहुभाषी (i18n) बनाने का गाइड। AI एजेंट्स से अनुवाद करें और बंडल साइज़, SEO और परफॉर्मेंस ऑप्टिमाइज़ करें।"
|
|
6
6
|
keywords:
|
|
@@ -169,6 +169,29 @@ bun add @angular-builders/custom-webpack --dev
|
|
|
169
169
|
</Step>
|
|
170
170
|
<Step number={2} title="आपके प्रोजेक्ट का कॉन्फ़िगरेशन">
|
|
171
171
|
|
|
172
|
+
### आर्किटेक्चर
|
|
173
|
+
|
|
174
|
+
इस आर्किटेक्चर में, `angular-intlayer` `provideIntlayer()` प्रदान करता है, जो `src/app/app.config.ts` में पंजीकृत होता है ताकि प्रत्येक कंपोनेंट `useIntlayer` सिग्नल के माध्यम से अपनी कंटेंट पढ़ सके। Angular CLI को कस्टम Webpack बिल्डर पर स्विच किया जाता है, और `webpack.config.ts` आपकी कंटेंट घोषणाओं को देखने और फिर से बनाने के लिए Intlayer प्लगइन को बिल्ड में मर्ज करता है। कंटेंट घोषणाएं `src/app/` में कंपोनेंट्स के साथ रखी जाती हैं।
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
.
|
|
178
|
+
├── src
|
|
179
|
+
│ ├── app
|
|
180
|
+
│ │ ├── app.component.html # Root template reading the content signal
|
|
181
|
+
│ │ ├── app.component.ts # Root component using useIntlayer
|
|
182
|
+
│ │ ├── app.config.ts # Application config with provideIntlayer()
|
|
183
|
+
│ │ ├── app.content.ts # App content declaration
|
|
184
|
+
│ │ └── locale-switcher.component.ts
|
|
185
|
+
│ └── main.ts
|
|
186
|
+
├── angular.json # Custom Webpack builder for build and serve
|
|
187
|
+
├── intlayer.config.ts
|
|
188
|
+
├── package.json
|
|
189
|
+
├── tsconfig.json
|
|
190
|
+
└── webpack.config.ts # mergeConfig() from angular-intlayer/webpack
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### कॉन्फ़िगरेशन
|
|
194
|
+
|
|
172
195
|
अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िग फ़ाइल बनाएँ:
|
|
173
196
|
|
|
174
197
|
```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 - अपने ऐप को अनुवाद करने का पूर्ण गाइड"
|
|
5
5
|
description: "अब i18next की जरूरत नहीं। 2026 में Angular 22 ऐप को बहुभाषी (i18n) बनाने का गाइड। AI एजेंट्स से अनुवाद करें और बंडल साइज़, SEO और परफॉर्मेंस ऑप्टिमाइज़ करें।"
|
|
6
6
|
keywords:
|
|
@@ -166,6 +166,29 @@ bun add @angular-builders/custom-esbuild --dev
|
|
|
166
166
|
</Step>
|
|
167
167
|
<Step number={2} title="अपने प्रोजेक्ट का कॉन्फ़िगरेशन">
|
|
168
168
|
|
|
169
|
+
### आर्किटेक्चर
|
|
170
|
+
|
|
171
|
+
इस आर्किटेक्चर में, `angular-intlayer` `provideIntlayer()` प्रदान करता है, जो `src/app/app.config.ts` में पंजीकृत होता है ताकि प्रत्येक कंपोनेंट `useIntlayer` सिग्नल के माध्यम से अपनी कंटेंट पढ़ सके। Angular CLI को कस्टम esbuild बिल्डर पर स्विच किया जाता है, और `esbuild.plugins.ts` आपकी कंटेंट घोषणाओं को देखने और फिर से बनाने के लिए Intlayer प्लगइन को बिल्ड में पंजीकृत करता है। कंटेंट घोषणाएं `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
|
+
### कॉन्फ़िगरेशन
|
|
191
|
+
|
|
169
192
|
अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िगरेशन फ़ाइल बनाएँ:
|
|
170
193
|
|
|
171
194
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|