@intlayer/docs 8.4.10 → 8.5.1
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/dist/cjs/generated/docs.entry.cjs +40 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +40 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/html.md +32 -25
- package/docs/ar/dictionary/markdown.md +33 -35
- package/docs/ar/intlayer_with_analog.md +10 -27
- package/docs/ar/intlayer_with_angular.md +1 -12
- package/docs/ar/intlayer_with_nextjs_14.md +1 -1
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +6 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/ar/intlayer_with_storybook.md +2 -5
- package/docs/ar/intlayer_with_svelte_kit.md +9 -5
- package/docs/ar/intlayer_with_vite+lit.md +689 -0
- package/docs/ar/intlayer_with_vite+react.md +16 -4
- package/docs/ar/intlayer_with_vite+solid.md +1 -1
- package/docs/ar/intlayer_with_vite+svelte.md +13 -6
- package/docs/ar/intlayer_with_vite+vanilla.md +722 -0
- package/docs/ar/intlayer_with_vite+vue.md +24 -8
- package/docs/ar/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/ar/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/ar/releases/v8.md +27 -27
- package/docs/bn/intlayer_with_storybook.md +2 -5
- package/docs/bn/intlayer_with_vite+lit.md +689 -0
- package/docs/bn/intlayer_with_vite+vanilla.md +722 -0
- package/docs/cs/intlayer_with_storybook.md +2 -5
- package/docs/cs/intlayer_with_vite+lit.md +689 -0
- package/docs/cs/intlayer_with_vite+vanilla.md +722 -0
- package/docs/de/compiler.md +6 -1
- package/docs/de/configuration.md +12 -9
- package/docs/de/dictionary/html.md +151 -26
- package/docs/de/dictionary/markdown.md +154 -42
- package/docs/de/intlayer_with_analog.md +10 -27
- package/docs/de/intlayer_with_angular.md +1 -12
- package/docs/de/intlayer_with_nextjs_14.md +1 -1
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +6 -1
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/de/intlayer_with_storybook.md +2 -5
- package/docs/de/intlayer_with_svelte_kit.md +9 -5
- package/docs/de/intlayer_with_vite+lit.md +698 -0
- package/docs/de/intlayer_with_vite+react.md +16 -4
- package/docs/de/intlayer_with_vite+solid.md +1 -1
- package/docs/de/intlayer_with_vite+svelte.md +19 -6
- package/docs/de/intlayer_with_vite+vanilla.md +722 -0
- package/docs/de/intlayer_with_vite+vue.md +24 -8
- package/docs/de/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/de/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/de/releases/v8.md +27 -27
- package/docs/en/compiler.md +6 -1
- package/docs/en/configuration.md +12 -9
- package/docs/en/dictionary/html.md +152 -27
- package/docs/en/dictionary/markdown.md +154 -38
- package/docs/en/intlayer_with_analog.md +10 -27
- package/docs/en/intlayer_with_angular.md +1 -12
- package/docs/en/intlayer_with_nextjs_14.md +1 -1
- package/docs/en/intlayer_with_nextjs_16.md +12 -3
- package/docs/en/intlayer_with_nextjs_compiler.md +16 -4
- package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +17 -4
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +18 -4
- package/docs/en/intlayer_with_storybook.md +2 -5
- package/docs/en/intlayer_with_svelte_kit.md +21 -8
- package/docs/en/intlayer_with_tanstack.md +12 -3
- package/docs/en/intlayer_with_vite+lit.md +703 -0
- package/docs/en/intlayer_with_vite+preact.md +31 -3
- package/docs/en/intlayer_with_vite+react.md +28 -7
- package/docs/en/intlayer_with_vite+react_compiler.md +4 -1
- package/docs/en/intlayer_with_vite+solid.md +31 -3
- package/docs/en/intlayer_with_vite+svelte.md +30 -9
- package/docs/en/intlayer_with_vite+vanilla.md +725 -0
- package/docs/en/intlayer_with_vite+vue.md +41 -10
- package/docs/en/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/en/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/en/readme.md +1 -0
- package/docs/en/releases/v8.md +27 -27
- package/docs/en-GB/compiler.md +4 -1
- package/docs/en-GB/configuration.md +4 -1
- package/docs/en-GB/dictionary/html.md +32 -25
- package/docs/en-GB/dictionary/markdown.md +34 -36
- package/docs/en-GB/intlayer_with_analog.md +10 -27
- package/docs/en-GB/intlayer_with_angular.md +1 -12
- package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +6 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/en-GB/intlayer_with_storybook.md +2 -5
- package/docs/en-GB/intlayer_with_svelte_kit.md +9 -5
- package/docs/en-GB/intlayer_with_vite+lit.md +703 -0
- package/docs/en-GB/intlayer_with_vite+react.md +15 -3
- package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +17 -5
- package/docs/en-GB/intlayer_with_vite+vanilla.md +725 -0
- package/docs/en-GB/intlayer_with_vite+vue.md +19 -7
- package/docs/en-GB/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/en-GB/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/en-GB/releases/v8.md +27 -27
- package/docs/es/compiler.md +6 -1
- package/docs/es/configuration.md +12 -9
- package/docs/es/dictionary/html.md +152 -27
- package/docs/es/dictionary/markdown.md +155 -43
- package/docs/es/intlayer_with_analog.md +10 -27
- package/docs/es/intlayer_with_angular.md +1 -12
- package/docs/es/intlayer_with_nextjs_14.md +1 -1
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +6 -1
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/es/intlayer_with_storybook.md +2 -5
- package/docs/es/intlayer_with_svelte_kit.md +9 -5
- package/docs/es/intlayer_with_vite+lit.md +698 -0
- package/docs/es/intlayer_with_vite+react.md +16 -4
- package/docs/es/intlayer_with_vite+solid.md +1 -1
- package/docs/es/intlayer_with_vite+svelte.md +16 -6
- package/docs/es/intlayer_with_vite+vanilla.md +722 -0
- package/docs/es/intlayer_with_vite+vue.md +24 -8
- package/docs/es/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/es/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/es/releases/v8.md +27 -27
- package/docs/fr/compiler.md +8 -3
- package/docs/fr/configuration.md +12 -9
- package/docs/fr/dictionary/html.md +151 -26
- package/docs/fr/dictionary/markdown.md +155 -43
- package/docs/fr/intlayer_with_analog.md +10 -27
- package/docs/fr/intlayer_with_angular.md +1 -12
- package/docs/fr/intlayer_with_nextjs_14.md +1 -1
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +6 -1
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/fr/intlayer_with_storybook.md +2 -5
- package/docs/fr/intlayer_with_svelte_kit.md +9 -5
- package/docs/fr/intlayer_with_vite+lit.md +698 -0
- package/docs/fr/intlayer_with_vite+react.md +16 -4
- package/docs/fr/intlayer_with_vite+solid.md +1 -1
- package/docs/fr/intlayer_with_vite+svelte.md +19 -6
- package/docs/fr/intlayer_with_vite+vanilla.md +722 -0
- package/docs/fr/intlayer_with_vite+vue.md +24 -8
- package/docs/fr/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/fr/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/fr/releases/v8.md +27 -27
- package/docs/hi/dictionary/html.md +32 -25
- package/docs/hi/dictionary/markdown.md +35 -37
- package/docs/hi/intlayer_with_analog.md +10 -27
- package/docs/hi/intlayer_with_angular.md +1 -12
- package/docs/hi/intlayer_with_nextjs_14.md +1 -1
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +6 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/hi/intlayer_with_storybook.md +2 -5
- package/docs/hi/intlayer_with_svelte_kit.md +9 -5
- package/docs/hi/intlayer_with_vite+lit.md +689 -0
- package/docs/hi/intlayer_with_vite+react.md +16 -4
- package/docs/hi/intlayer_with_vite+solid.md +1 -1
- package/docs/hi/intlayer_with_vite+svelte.md +13 -6
- package/docs/hi/intlayer_with_vite+vanilla.md +722 -0
- package/docs/hi/intlayer_with_vite+vue.md +24 -8
- package/docs/hi/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/hi/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/hi/releases/v8.md +27 -27
- package/docs/id/dictionary/html.md +32 -25
- package/docs/id/dictionary/markdown.md +35 -37
- package/docs/id/intlayer_with_analog.md +10 -27
- package/docs/id/intlayer_with_angular.md +1 -12
- package/docs/id/intlayer_with_nextjs_14.md +1 -1
- package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +6 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/id/intlayer_with_storybook.md +2 -5
- package/docs/id/intlayer_with_svelte_kit.md +9 -5
- package/docs/id/intlayer_with_vite+lit.md +689 -0
- package/docs/id/intlayer_with_vite+react.md +16 -4
- package/docs/id/intlayer_with_vite+solid.md +1 -1
- package/docs/id/intlayer_with_vite+svelte.md +13 -6
- package/docs/id/intlayer_with_vite+vanilla.md +722 -0
- package/docs/id/intlayer_with_vite+vue.md +19 -7
- package/docs/id/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/id/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/id/releases/v8.md +27 -27
- package/docs/it/compiler.md +8 -3
- package/docs/it/configuration.md +12 -9
- package/docs/it/dictionary/html.md +151 -26
- package/docs/it/dictionary/markdown.md +155 -39
- package/docs/it/intlayer_with_analog.md +10 -27
- package/docs/it/intlayer_with_angular.md +1 -12
- package/docs/it/intlayer_with_nextjs_14.md +1 -1
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +6 -1
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/it/intlayer_with_storybook.md +2 -5
- package/docs/it/intlayer_with_svelte_kit.md +9 -5
- package/docs/it/intlayer_with_vite+lit.md +698 -0
- package/docs/it/intlayer_with_vite+react.md +16 -4
- package/docs/it/intlayer_with_vite+solid.md +1 -1
- package/docs/it/intlayer_with_vite+svelte.md +13 -6
- package/docs/it/intlayer_with_vite+vanilla.md +722 -0
- package/docs/it/intlayer_with_vite+vue.md +24 -8
- package/docs/it/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/it/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/it/releases/v8.md +27 -27
- package/docs/ja/dictionary/html.md +153 -29
- package/docs/ja/dictionary/markdown.md +154 -42
- package/docs/ja/intlayer_with_analog.md +10 -27
- package/docs/ja/intlayer_with_angular.md +1 -12
- package/docs/ja/intlayer_with_nextjs_14.md +1 -1
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +6 -1
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/ja/intlayer_with_storybook.md +2 -5
- package/docs/ja/intlayer_with_vite+lit.md +698 -0
- package/docs/ja/intlayer_with_vite+solid.md +1 -1
- package/docs/ja/intlayer_with_vite+svelte.md +13 -6
- package/docs/ja/intlayer_with_vite+vanilla.md +722 -0
- package/docs/ja/intlayer_with_vite+vue.md +24 -8
- package/docs/ja/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/ja/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/ja/releases/v8.md +27 -27
- package/docs/ko/dictionary/html.md +154 -30
- package/docs/ko/dictionary/markdown.md +155 -43
- package/docs/ko/intlayer_with_analog.md +10 -27
- package/docs/ko/intlayer_with_angular.md +1 -12
- package/docs/ko/intlayer_with_nextjs_14.md +1 -1
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +6 -1
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/ko/intlayer_with_storybook.md +2 -5
- package/docs/ko/intlayer_with_svelte_kit.md +9 -5
- package/docs/ko/intlayer_with_vite+lit.md +698 -0
- package/docs/ko/intlayer_with_vite+react.md +16 -4
- package/docs/ko/intlayer_with_vite+solid.md +1 -1
- package/docs/ko/intlayer_with_vite+svelte.md +13 -6
- package/docs/ko/intlayer_with_vite+vanilla.md +722 -0
- package/docs/ko/intlayer_with_vite+vue.md +24 -8
- package/docs/ko/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/ko/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/ko/releases/v8.md +27 -27
- package/docs/nl/intlayer_with_storybook.md +2 -5
- package/docs/nl/intlayer_with_vite+lit.md +689 -0
- package/docs/nl/intlayer_with_vite+vanilla.md +722 -0
- package/docs/pl/dictionary/html.md +151 -26
- package/docs/pl/dictionary/markdown.md +155 -43
- package/docs/pl/intlayer_with_analog.md +10 -27
- package/docs/pl/intlayer_with_angular.md +1 -12
- package/docs/pl/intlayer_with_nextjs_14.md +1 -1
- package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7.md +6 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/pl/intlayer_with_storybook.md +2 -5
- package/docs/pl/intlayer_with_svelte_kit.md +9 -5
- package/docs/pl/intlayer_with_vite+lit.md +689 -0
- package/docs/pl/intlayer_with_vite+react.md +16 -4
- package/docs/pl/intlayer_with_vite+solid.md +1 -1
- package/docs/pl/intlayer_with_vite+svelte.md +13 -6
- package/docs/pl/intlayer_with_vite+vanilla.md +722 -0
- package/docs/pl/intlayer_with_vite+vue.md +19 -7
- package/docs/pl/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/pl/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/pl/releases/v8.md +27 -27
- package/docs/pt/compiler.md +7 -2
- package/docs/pt/configuration.md +11 -9
- package/docs/pt/dictionary/html.md +132 -26
- package/docs/pt/dictionary/markdown.md +155 -43
- package/docs/pt/intlayer_with_analog.md +10 -27
- package/docs/pt/intlayer_with_angular.md +1 -12
- package/docs/pt/intlayer_with_nextjs_14.md +1 -1
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +6 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/pt/intlayer_with_storybook.md +2 -5
- package/docs/pt/intlayer_with_svelte_kit.md +9 -5
- package/docs/pt/intlayer_with_vite+lit.md +698 -0
- package/docs/pt/intlayer_with_vite+react.md +16 -4
- package/docs/pt/intlayer_with_vite+solid.md +1 -1
- package/docs/pt/intlayer_with_vite+svelte.md +16 -6
- package/docs/pt/intlayer_with_vite+vanilla.md +722 -0
- package/docs/pt/intlayer_with_vite+vue.md +24 -8
- package/docs/pt/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/pt/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/pt/releases/v8.md +27 -27
- package/docs/ru/dictionary/html.md +153 -29
- package/docs/ru/dictionary/markdown.md +155 -41
- package/docs/ru/intlayer_with_analog.md +10 -27
- package/docs/ru/intlayer_with_angular.md +1 -12
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +6 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/ru/intlayer_with_storybook.md +2 -5
- package/docs/ru/intlayer_with_svelte_kit.md +9 -5
- package/docs/ru/intlayer_with_vite+lit.md +698 -0
- package/docs/ru/intlayer_with_vite+react.md +16 -4
- package/docs/ru/intlayer_with_vite+solid.md +1 -1
- package/docs/ru/intlayer_with_vite+svelte.md +13 -6
- package/docs/ru/intlayer_with_vite+vanilla.md +722 -0
- package/docs/ru/intlayer_with_vite+vue.md +24 -8
- package/docs/ru/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/ru/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/ru/releases/v8.md +27 -27
- package/docs/tr/dictionary/html.md +134 -29
- package/docs/tr/dictionary/markdown.md +155 -41
- package/docs/tr/intlayer_with_analog.md +10 -27
- package/docs/tr/intlayer_with_angular.md +1 -12
- package/docs/tr/intlayer_with_nextjs_14.md +1 -1
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7.md +6 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/tr/intlayer_with_storybook.md +2 -5
- package/docs/tr/intlayer_with_svelte_kit.md +9 -5
- package/docs/tr/intlayer_with_vite+lit.md +689 -0
- package/docs/tr/intlayer_with_vite+react.md +16 -4
- package/docs/tr/intlayer_with_vite+solid.md +1 -1
- package/docs/tr/intlayer_with_vite+svelte.md +13 -6
- package/docs/tr/intlayer_with_vite+vanilla.md +722 -0
- package/docs/tr/intlayer_with_vite+vue.md +19 -7
- package/docs/tr/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/tr/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/tr/releases/v8.md +27 -27
- package/docs/uk/dictionary/html.md +32 -25
- package/docs/uk/dictionary/markdown.md +35 -37
- package/docs/uk/intlayer_with_analog.md +10 -27
- package/docs/uk/intlayer_with_angular.md +1 -12
- package/docs/uk/intlayer_with_nextjs_14.md +1 -1
- package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7.md +5 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/uk/intlayer_with_storybook.md +2 -5
- package/docs/uk/intlayer_with_svelte_kit.md +9 -5
- package/docs/uk/intlayer_with_vite+lit.md +689 -0
- package/docs/uk/intlayer_with_vite+react.md +16 -4
- package/docs/uk/intlayer_with_vite+solid.md +1 -1
- package/docs/uk/intlayer_with_vite+svelte.md +18 -6
- package/docs/uk/intlayer_with_vite+vanilla.md +722 -0
- package/docs/uk/intlayer_with_vite+vue.md +19 -7
- package/docs/uk/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/uk/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/uk/releases/v8.md +27 -27
- package/docs/ur/intlayer_with_storybook.md +2 -5
- package/docs/ur/intlayer_with_vite+lit.md +689 -0
- package/docs/ur/intlayer_with_vite+vanilla.md +722 -0
- package/docs/vi/dictionary/html.md +32 -25
- package/docs/vi/dictionary/markdown.md +35 -37
- package/docs/vi/intlayer_with_analog.md +10 -27
- package/docs/vi/intlayer_with_angular.md +1 -12
- package/docs/vi/intlayer_with_nextjs_14.md +1 -1
- package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7.md +6 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/vi/intlayer_with_storybook.md +2 -5
- package/docs/vi/intlayer_with_svelte_kit.md +9 -5
- package/docs/vi/intlayer_with_vite+lit.md +689 -0
- package/docs/vi/intlayer_with_vite+react.md +16 -4
- package/docs/vi/intlayer_with_vite+solid.md +1 -1
- package/docs/vi/intlayer_with_vite+svelte.md +17 -5
- package/docs/vi/intlayer_with_vite+vanilla.md +722 -0
- package/docs/vi/intlayer_with_vite+vue.md +19 -7
- package/docs/vi/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/vi/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/vi/releases/v8.md +27 -27
- package/docs/zh/compiler.md +8 -3
- package/docs/zh/configuration.md +4 -1
- package/docs/zh/dictionary/html.md +153 -29
- package/docs/zh/dictionary/markdown.md +155 -39
- package/docs/zh/intlayer_with_analog.md +10 -27
- package/docs/zh/intlayer_with_angular.md +1 -12
- package/docs/zh/intlayer_with_nextjs_14.md +1 -1
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +6 -1
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +6 -1
- package/docs/zh/intlayer_with_storybook.md +2 -5
- package/docs/zh/intlayer_with_svelte_kit.md +9 -5
- package/docs/zh/intlayer_with_vite+lit.md +698 -0
- package/docs/zh/intlayer_with_vite+react.md +16 -4
- package/docs/zh/intlayer_with_vite+solid.md +1 -1
- package/docs/zh/intlayer_with_vite+svelte.md +16 -6
- package/docs/zh/intlayer_with_vite+vanilla.md +722 -0
- package/docs/zh/intlayer_with_vite+vue.md +19 -7
- package/docs/zh/packages/react-intlayer/MarkdownRenderer.md +1 -1
- package/docs/zh/packages/svelte-intlayer/useRewriteURL.md +1 -1
- package/docs/zh/releases/v8.md +27 -27
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +40 -0
|
@@ -19,6 +19,12 @@ slugs:
|
|
|
19
19
|
- content
|
|
20
20
|
- html
|
|
21
21
|
history:
|
|
22
|
+
- version: 8.5.0
|
|
23
|
+
date: 2026-03-24
|
|
24
|
+
changes: "Add `intlayerHTML` plugin object; use `app.use(intlayerHTML)` instead of `app.use(installIntlayerHTML)`"
|
|
25
|
+
- version: 8.5.0
|
|
26
|
+
date: 2026-03-24
|
|
27
|
+
changes: "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/html`"
|
|
22
28
|
- version: 8.0.0
|
|
23
29
|
date: 2026-01-22
|
|
24
30
|
changes: "Thêm HTMLRenderer / useHTMLRenderer / tiện ích renderHTML"
|
|
@@ -240,7 +246,7 @@ Bạn có thể cấu hình cách render HTML ở mức toàn cục cho toàn b
|
|
|
240
246
|
<Tab label="React / Next.js" value="react">
|
|
241
247
|
|
|
242
248
|
```tsx fileName="AppProvider.tsx"
|
|
243
|
-
import { HTMLProvider } from "react-intlayer";
|
|
249
|
+
import { HTMLProvider } from "react-intlayer/html";
|
|
244
250
|
|
|
245
251
|
export const AppProvider = ({ children }) => (
|
|
246
252
|
<HTMLProvider
|
|
@@ -259,13 +265,14 @@ Bạn có thể cấu hình cách render HTML ở mức toàn cục cho toàn b
|
|
|
259
265
|
|
|
260
266
|
```typescript fileName="main.ts"
|
|
261
267
|
import { createApp, h } from "vue";
|
|
262
|
-
import {
|
|
268
|
+
import { intlayer } from "vue-intlayer";
|
|
269
|
+
import { intlayerHTML } from "vue-intlayer/html";
|
|
263
270
|
import App from "./App.vue";
|
|
264
271
|
|
|
265
272
|
const app = createApp(App);
|
|
266
273
|
|
|
267
|
-
app.use(
|
|
268
|
-
app.use(
|
|
274
|
+
app.use(intlayer);
|
|
275
|
+
app.use(intlayerHTML, {
|
|
269
276
|
components: {
|
|
270
277
|
p: (props, { slots }) => h("p", { class: "prose", ...props }, slots.default?.()),
|
|
271
278
|
CustomLink: (props, { slots }) => h("a", { href: "/details", ...props }, slots.default?.()),
|
|
@@ -280,7 +287,7 @@ Bạn có thể cấu hình cách render HTML ở mức toàn cục cho toàn b
|
|
|
280
287
|
|
|
281
288
|
```svelte fileName="App.svelte"
|
|
282
289
|
<script lang="ts">
|
|
283
|
-
import { HTMLProvider } from "svelte-intlayer";
|
|
290
|
+
import { HTMLProvider } from "svelte-intlayer/html";
|
|
284
291
|
import MyCustomP from "./MyCustomP.svelte";
|
|
285
292
|
</script>
|
|
286
293
|
|
|
@@ -297,7 +304,7 @@ Bạn có thể cấu hình cách render HTML ở mức toàn cục cho toàn b
|
|
|
297
304
|
<Tab label="Preact" value="preact">
|
|
298
305
|
|
|
299
306
|
```tsx fileName="AppProvider.tsx"
|
|
300
|
-
import { HTMLProvider } from "preact-intlayer";
|
|
307
|
+
import { HTMLProvider } from "preact-intlayer/html";
|
|
301
308
|
|
|
302
309
|
export const AppProvider = ({ children }) => (
|
|
303
310
|
<HTMLProvider
|
|
@@ -314,7 +321,7 @@ Bạn có thể cấu hình cách render HTML ở mức toàn cục cho toàn b
|
|
|
314
321
|
<Tab label="Solid" value="solid">
|
|
315
322
|
|
|
316
323
|
```tsx fileName="AppProvider.tsx"
|
|
317
|
-
import { HTMLProvider } from "solid-intlayer";
|
|
324
|
+
import { HTMLProvider } from "solid-intlayer/html";
|
|
318
325
|
|
|
319
326
|
export const AppProvider = (props) => (
|
|
320
327
|
<HTMLProvider
|
|
@@ -331,11 +338,11 @@ Bạn có thể cấu hình cách render HTML ở mức toàn cục cho toàn b
|
|
|
331
338
|
<Tab label="Angular" value="angular">
|
|
332
339
|
|
|
333
340
|
```typescript fileName="app.config.ts"
|
|
334
|
-
import {
|
|
341
|
+
import { createIntlayerHTMLProvider } from "angular-intlayer/html";
|
|
335
342
|
|
|
336
343
|
export const appConfig: ApplicationConfig = {
|
|
337
344
|
providers: [
|
|
338
|
-
|
|
345
|
+
createIntlayerHTMLProvider({
|
|
339
346
|
components: {
|
|
340
347
|
p: { class: "prose" },
|
|
341
348
|
CustomLink: { href: "/details" },
|
|
@@ -360,7 +367,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
360
367
|
Kết xuất một chuỗi HTML sử dụng các component cụ thể.
|
|
361
368
|
|
|
362
369
|
```tsx
|
|
363
|
-
import { HTMLRenderer } from "react-intlayer";
|
|
370
|
+
import { HTMLRenderer } from "react-intlayer/html";
|
|
364
371
|
|
|
365
372
|
<HTMLRenderer components={{ p: MyCustomP }}>
|
|
366
373
|
{"<p>Hello World</p>"}
|
|
@@ -372,7 +379,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
372
379
|
Lấy một hàm renderer đã được cấu hình sẵn.
|
|
373
380
|
|
|
374
381
|
```tsx
|
|
375
|
-
import { useHTMLRenderer } from "react-intlayer";
|
|
382
|
+
import { useHTMLRenderer } from "react-intlayer/html";
|
|
376
383
|
|
|
377
384
|
const renderHTML = useHTMLRenderer({
|
|
378
385
|
components: { strong: (props) => <strong {...props} className="text-red-500" /> }
|
|
@@ -386,7 +393,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
386
393
|
Tiện ích độc lập để render bên ngoài các component.
|
|
387
394
|
|
|
388
395
|
```tsx
|
|
389
|
-
import { renderHTML } from "react-intlayer";
|
|
396
|
+
import { renderHTML } from "react-intlayer/html";
|
|
390
397
|
|
|
391
398
|
const jsx = renderHTML("<p>Hello</p>", { components: { p: 'div' } });
|
|
392
399
|
```
|
|
@@ -398,7 +405,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
398
405
|
|
|
399
406
|
```vue
|
|
400
407
|
<script setup>
|
|
401
|
-
import { HTMLRenderer } from "vue-intlayer";
|
|
408
|
+
import { HTMLRenderer } from "vue-intlayer/html";
|
|
402
409
|
</script>
|
|
403
410
|
|
|
404
411
|
<template>
|
|
@@ -413,7 +420,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
413
420
|
|
|
414
421
|
```svelte
|
|
415
422
|
<script lang="ts">
|
|
416
|
-
import { HTMLRenderer } from "svelte-intlayer";
|
|
423
|
+
import { HTMLRenderer } from "svelte-intlayer/html";
|
|
417
424
|
</script>
|
|
418
425
|
|
|
419
426
|
<HTMLRenderer value="<p>Hello World</p>" />
|
|
@@ -423,7 +430,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
423
430
|
|
|
424
431
|
```svelte
|
|
425
432
|
<script lang="ts">
|
|
426
|
-
import { useHTMLRenderer } from "svelte-intlayer";
|
|
433
|
+
import { useHTMLRenderer } from "svelte-intlayer/html";
|
|
427
434
|
const render = useHTMLRenderer();
|
|
428
435
|
</script>
|
|
429
436
|
|
|
@@ -434,7 +441,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
434
441
|
|
|
435
442
|
```svelte
|
|
436
443
|
<script lang="ts">
|
|
437
|
-
import { renderHTML } from "svelte-intlayer";
|
|
444
|
+
import { renderHTML } from "svelte-intlayer/html";
|
|
438
445
|
</script>
|
|
439
446
|
|
|
440
447
|
{@html renderHTML("<p>Hello World</p>")}
|
|
@@ -446,7 +453,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
446
453
|
#### Thành phần `<HTMLRenderer />`
|
|
447
454
|
|
|
448
455
|
```tsx
|
|
449
|
-
import { HTMLRenderer } from "preact-intlayer";
|
|
456
|
+
import { HTMLRenderer } from "preact-intlayer/html";
|
|
450
457
|
|
|
451
458
|
<HTMLRenderer>
|
|
452
459
|
{"<p>Hello World</p>"}
|
|
@@ -456,7 +463,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
456
463
|
#### Hook `useHTMLRenderer()`
|
|
457
464
|
|
|
458
465
|
```tsx
|
|
459
|
-
import { useHTMLRenderer } from "preact-intlayer";
|
|
466
|
+
import { useHTMLRenderer } from "preact-intlayer/html";
|
|
460
467
|
|
|
461
468
|
const render = useHTMLRenderer();
|
|
462
469
|
|
|
@@ -466,7 +473,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
466
473
|
#### Tiện ích `renderHTML()`
|
|
467
474
|
|
|
468
475
|
```tsx
|
|
469
|
-
import { renderHTML } from "preact-intlayer";
|
|
476
|
+
import { renderHTML } from "preact-intlayer/html";
|
|
470
477
|
|
|
471
478
|
return <div>{renderHTML("<p>Hello World</p>")}</div>;
|
|
472
479
|
```
|
|
@@ -477,7 +484,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
477
484
|
#### Thành phần `<HTMLRenderer />`
|
|
478
485
|
|
|
479
486
|
```tsx
|
|
480
|
-
import { HTMLRenderer } from "solid-intlayer";
|
|
487
|
+
import { HTMLRenderer } from "solid-intlayer/html";
|
|
481
488
|
|
|
482
489
|
<HTMLRenderer>
|
|
483
490
|
{"<p>Hello World</p>"}
|
|
@@ -487,7 +494,7 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
487
494
|
#### Hook `useHTMLRenderer()`
|
|
488
495
|
|
|
489
496
|
```tsx
|
|
490
|
-
import { useHTMLRenderer } from "solid-intlayer";
|
|
497
|
+
import { useHTMLRenderer } from "solid-intlayer/html";
|
|
491
498
|
|
|
492
499
|
const render = useHTMLRenderer();
|
|
493
500
|
|
|
@@ -497,21 +504,21 @@ Nếu bạn cần kết xuất chuỗi HTML thô hoặc muốn kiểm soát nhi
|
|
|
497
504
|
#### Tiện ích `renderHTML()`
|
|
498
505
|
|
|
499
506
|
```tsx
|
|
500
|
-
import { renderHTML } from "solid-intlayer";
|
|
507
|
+
import { renderHTML } from "solid-intlayer/html";
|
|
501
508
|
|
|
502
509
|
return <div>{renderHTML("<p>Hello World</p>")}</div>;
|
|
503
510
|
```
|
|
504
511
|
|
|
505
512
|
</Tab>
|
|
506
513
|
<Tab label="Angular" value="angular">
|
|
507
|
-
#### Dịch vụ `
|
|
514
|
+
#### Dịch vụ `IntlayerHTMLService`
|
|
508
515
|
Render một chuỗi HTML bằng cách sử dụng dịch vụ.
|
|
509
516
|
|
|
510
517
|
```typescript
|
|
511
|
-
import {
|
|
518
|
+
import { IntlayerHTMLService } from "angular-intlayer";
|
|
512
519
|
|
|
513
520
|
export class MyComponent {
|
|
514
|
-
constructor(private markdownService:
|
|
521
|
+
constructor(private markdownService: IntlayerHTMLService) {}
|
|
515
522
|
|
|
516
523
|
renderHTML(html: string) {
|
|
517
524
|
return this.markdownService.renderMarkdown(html);
|
|
@@ -17,6 +17,12 @@ slugs:
|
|
|
17
17
|
- content
|
|
18
18
|
- markdown
|
|
19
19
|
history:
|
|
20
|
+
- version: 8.5.0
|
|
21
|
+
date: 2026-03-24
|
|
22
|
+
changes: "Add `intlayerMarkdown` plugin object; use `app.use(intlayerMarkdown)` instead of `app.use(installIntlayerMarkdown)`"
|
|
23
|
+
- version: 8.5.0
|
|
24
|
+
date: 2026-03-24
|
|
25
|
+
changes: "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/markdown`"
|
|
20
26
|
- version: 8.0.0
|
|
21
27
|
date: 2026-01-22
|
|
22
28
|
changes: "Thêm MarkdownRenderer / useMarkdownRenderer / tiện ích renderMarkdown và tùy chọn forceInline"
|
|
@@ -32,7 +38,7 @@ history:
|
|
|
32
38
|
|
|
33
39
|
Intlayer hỗ trợ nội dung văn bản đa dạng được định nghĩa bằng cú pháp Markdown. Điều này cho phép bạn dễ dàng viết và duy trì nội dung với định dạng phong phú, chẳng hạn như blog, bài viết, và nhiều hơn nữa.
|
|
34
40
|
|
|
35
|
-
##
|
|
41
|
+
## Khai báo nội dung Markdown
|
|
36
42
|
|
|
37
43
|
Bạn có thể khai báo nội dung Markdown bằng hàm `md` hoặc đơn giản là một chuỗi (nếu nó chứa cú pháp Markdown).
|
|
38
44
|
|
|
@@ -90,7 +96,7 @@ Bạn có thể khai báo nội dung Markdown bằng hàm `md` hoặc đơn gi
|
|
|
90
96
|
|
|
91
97
|
---
|
|
92
98
|
|
|
93
|
-
##
|
|
99
|
+
## Render Markdown
|
|
94
100
|
|
|
95
101
|
Việc kết xuất có thể được xử lý tự động bởi hệ thống nội dung của Intlayer hoặc thực hiện thủ công bằng các công cụ chuyên dụng.
|
|
96
102
|
|
|
@@ -213,7 +219,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
213
219
|
Kết xuất một chuỗi Markdown với các tùy chọn cụ thể.
|
|
214
220
|
|
|
215
221
|
```tsx
|
|
216
|
-
import { MarkdownRenderer } from "react-intlayer";
|
|
222
|
+
import { MarkdownRenderer } from "react-intlayer/markdown";
|
|
217
223
|
|
|
218
224
|
<MarkdownRenderer forceBlock={true} tagfilter={true}>
|
|
219
225
|
{"# My Title"}
|
|
@@ -225,7 +231,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
225
231
|
Lấy một hàm renderer đã được cấu hình sẵn.
|
|
226
232
|
|
|
227
233
|
```tsx
|
|
228
|
-
import { useMarkdownRenderer } from "react-intlayer";
|
|
234
|
+
import { useMarkdownRenderer } from "react-intlayer/markdown";
|
|
229
235
|
|
|
230
236
|
const renderMarkdown = useMarkdownRenderer({
|
|
231
237
|
forceBlock: true,
|
|
@@ -239,7 +245,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
239
245
|
Tiện ích độc lập để render bên ngoài các component.
|
|
240
246
|
|
|
241
247
|
```tsx
|
|
242
|
-
import { renderMarkdown } from "react-intlayer";
|
|
248
|
+
import { renderMarkdown } from "react-intlayer/markdown";
|
|
243
249
|
|
|
244
250
|
const jsx = renderMarkdown("# My Title", { forceBlock: true });
|
|
245
251
|
```
|
|
@@ -251,7 +257,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
251
257
|
|
|
252
258
|
```vue
|
|
253
259
|
<script setup>
|
|
254
|
-
import { MarkdownRenderer } from "vue-intlayer";
|
|
260
|
+
import { MarkdownRenderer } from "vue-intlayer/markdown";
|
|
255
261
|
</script>
|
|
256
262
|
|
|
257
263
|
<template>
|
|
@@ -266,7 +272,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
266
272
|
|
|
267
273
|
```svelte
|
|
268
274
|
<script lang="ts">
|
|
269
|
-
import { MarkdownRenderer } from "svelte-intlayer";
|
|
275
|
+
import { MarkdownRenderer } from "svelte-intlayer/markdown";
|
|
270
276
|
</script>
|
|
271
277
|
|
|
272
278
|
<MarkdownRenderer forceBlock={true} value="# My Title" />
|
|
@@ -276,7 +282,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
276
282
|
|
|
277
283
|
```svelte
|
|
278
284
|
<script lang="ts">
|
|
279
|
-
import { useMarkdownRenderer } from "svelte-intlayer";
|
|
285
|
+
import { useMarkdownRenderer } from "svelte-intlayer/markdown";
|
|
280
286
|
const render = useMarkdownRenderer();
|
|
281
287
|
</script>
|
|
282
288
|
|
|
@@ -287,7 +293,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
287
293
|
|
|
288
294
|
```svelte
|
|
289
295
|
<script lang="ts">
|
|
290
|
-
import { renderMarkdown } from "svelte-intlayer";
|
|
296
|
+
import { renderMarkdown } from "svelte-intlayer/markdown";
|
|
291
297
|
</script>
|
|
292
298
|
|
|
293
299
|
{@html renderMarkdown("# My Title")}
|
|
@@ -298,7 +304,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
298
304
|
#### Thành phần `<MarkdownRenderer />`
|
|
299
305
|
|
|
300
306
|
```tsx
|
|
301
|
-
import { MarkdownRenderer } from "preact-intlayer";
|
|
307
|
+
import { MarkdownRenderer } from "preact-intlayer/markdown";
|
|
302
308
|
|
|
303
309
|
<MarkdownRenderer forceBlock={true}>
|
|
304
310
|
{"# My Title"}
|
|
@@ -308,7 +314,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
308
314
|
#### Hook `useMarkdownRenderer()`
|
|
309
315
|
|
|
310
316
|
```tsx
|
|
311
|
-
import { useMarkdownRenderer } from "preact-intlayer";
|
|
317
|
+
import { useMarkdownRenderer } from "preact-intlayer/markdown";
|
|
312
318
|
|
|
313
319
|
const render = useMarkdownRenderer();
|
|
314
320
|
|
|
@@ -318,7 +324,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
318
324
|
#### Tiện ích `renderMarkdown()`
|
|
319
325
|
|
|
320
326
|
```tsx
|
|
321
|
-
import { renderMarkdown } from "preact-intlayer";
|
|
327
|
+
import { renderMarkdown } from "preact-intlayer/markdown";
|
|
322
328
|
|
|
323
329
|
return <div>{renderMarkdown("# My Title")}</div>;
|
|
324
330
|
```
|
|
@@ -328,7 +334,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
328
334
|
#### Thành phần `<MarkdownRenderer />`
|
|
329
335
|
|
|
330
336
|
```tsx
|
|
331
|
-
import { MarkdownRenderer } from "solid-intlayer";
|
|
337
|
+
import { MarkdownRenderer } from "solid-intlayer/markdown";
|
|
332
338
|
|
|
333
339
|
<MarkdownRenderer forceBlock={true}>
|
|
334
340
|
{"# My Title"}
|
|
@@ -338,7 +344,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
338
344
|
#### Hook `useMarkdownRenderer()`
|
|
339
345
|
|
|
340
346
|
```tsx
|
|
341
|
-
import { useMarkdownRenderer } from "solid-intlayer";
|
|
347
|
+
import { useMarkdownRenderer } from "solid-intlayer/markdown";
|
|
342
348
|
|
|
343
349
|
const render = useMarkdownRenderer();
|
|
344
350
|
|
|
@@ -348,7 +354,7 @@ Nếu bạn cần render chuỗi Markdown thô hoặc muốn kiểm soát nhiề
|
|
|
348
354
|
#### Tiện ích `renderMarkdown()`
|
|
349
355
|
|
|
350
356
|
```tsx
|
|
351
|
-
import { renderMarkdown } from "solid-intlayer";
|
|
357
|
+
import { renderMarkdown } from "solid-intlayer/markdown";
|
|
352
358
|
|
|
353
359
|
return <div>{renderMarkdown("# My Title")}</div>;
|
|
354
360
|
```
|
|
@@ -383,12 +389,10 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
|
|
|
383
389
|
<Tab label="React / Next.js" value="react">
|
|
384
390
|
|
|
385
391
|
```tsx fileName="AppProvider.tsx"
|
|
386
|
-
import { MarkdownProvider } from "react-intlayer";
|
|
392
|
+
import { MarkdownProvider } from "react-intlayer/markdown";
|
|
387
393
|
|
|
388
394
|
export const AppProvider = ({ children }) => (
|
|
389
395
|
<MarkdownProvider
|
|
390
|
-
forceBlock={true}
|
|
391
|
-
tagfilter={true}
|
|
392
396
|
components={{
|
|
393
397
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
394
398
|
a: ({ href, children }) => <Link to={href}>{children}</Link>,
|
|
@@ -404,20 +408,20 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
|
|
|
404
408
|
|
|
405
409
|
```typescript fileName="main.ts"
|
|
406
410
|
import { createApp } from "vue";
|
|
407
|
-
import {
|
|
411
|
+
import { intlayer } from "vue-intlayer";
|
|
412
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
408
413
|
import App from "./App.vue";
|
|
409
414
|
|
|
410
415
|
const app = createApp(App);
|
|
411
416
|
|
|
412
|
-
app.use(
|
|
413
|
-
app.use(
|
|
414
|
-
forceBlock: true,
|
|
415
|
-
tagfilter: true,
|
|
417
|
+
app.use(intlayer);
|
|
418
|
+
app.use(intlayerMarkdown, {
|
|
416
419
|
components: {
|
|
417
|
-
h1:
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
420
|
+
h1: (props) =>
|
|
421
|
+
h('h1', { style: { color: 'orange' }, ...props }, props.children),
|
|
422
|
+
ComponentDemo: () => h('div', { style: { background: 'grey' } }, 'DEMO'),
|
|
423
|
+
bold: (props) => h('strong', props),
|
|
424
|
+
code: (props) => h('code', props),
|
|
421
425
|
},
|
|
422
426
|
});
|
|
423
427
|
|
|
@@ -429,13 +433,11 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
|
|
|
429
433
|
|
|
430
434
|
```svelte fileName="App.svelte"
|
|
431
435
|
<script lang="ts">
|
|
432
|
-
import { MarkdownProvider } from "svelte-intlayer";
|
|
436
|
+
import { MarkdownProvider } from "svelte-intlayer/markdown";
|
|
433
437
|
import MyHeading from "./MyHeading.svelte";
|
|
434
438
|
</script>
|
|
435
439
|
|
|
436
440
|
<MarkdownProvider
|
|
437
|
-
forceBlock={true}
|
|
438
|
-
tagfilter={true}
|
|
439
441
|
components={{
|
|
440
442
|
h1: MyHeading,
|
|
441
443
|
}}
|
|
@@ -448,12 +450,10 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
|
|
|
448
450
|
<Tab label="Preact" value="preact">
|
|
449
451
|
|
|
450
452
|
```tsx fileName="AppProvider.tsx"
|
|
451
|
-
import { MarkdownProvider } from "preact-intlayer";
|
|
453
|
+
import { MarkdownProvider } from "preact-intlayer/markdown";
|
|
452
454
|
|
|
453
455
|
export const AppProvider = ({ children }) => (
|
|
454
456
|
<MarkdownProvider
|
|
455
|
-
forceBlock={true}
|
|
456
|
-
tagfilter={true}
|
|
457
457
|
components={{
|
|
458
458
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
459
459
|
}}
|
|
@@ -467,12 +467,10 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
|
|
|
467
467
|
<Tab label="Solid" value="solid">
|
|
468
468
|
|
|
469
469
|
```tsx fileName="AppProvider.tsx"
|
|
470
|
-
import { MarkdownProvider } from "solid-intlayer";
|
|
470
|
+
import { MarkdownProvider } from "solid-intlayer/markdown";
|
|
471
471
|
|
|
472
472
|
export const AppProvider = (props) => (
|
|
473
473
|
<MarkdownProvider
|
|
474
|
-
forceBlock={true}
|
|
475
|
-
tagfilter={true}
|
|
476
474
|
components={{
|
|
477
475
|
h1: (props) => <h1 className="text-2xl font-bold">{props.children}</h1>,
|
|
478
476
|
}}
|
|
@@ -486,7 +484,7 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
|
|
|
486
484
|
<Tab label="Angular" value="angular">
|
|
487
485
|
|
|
488
486
|
```typescript fileName="app.config.ts"
|
|
489
|
-
import { createIntlayerMarkdownProvider } from "angular-intlayer";
|
|
487
|
+
import { createIntlayerMarkdownProvider } from "angular-intlayer/markdown";
|
|
490
488
|
|
|
491
489
|
export const appConfig: ApplicationConfig = {
|
|
492
490
|
providers: [
|
|
@@ -14,7 +14,7 @@ slugs:
|
|
|
14
14
|
- doc
|
|
15
15
|
- environment
|
|
16
16
|
- analog
|
|
17
|
-
applicationTemplate: https://github.com/aymericzip/intlayer
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-analog-template
|
|
18
18
|
history:
|
|
19
19
|
- version: 8.0.4
|
|
20
20
|
date: 2026-01-26
|
|
@@ -23,6 +23,14 @@ history:
|
|
|
23
23
|
|
|
24
24
|
# Dịch ứng dụng Analog (Angular) của bạn bằng Intlayer | Quốc tế hóa (i18n)
|
|
25
25
|
|
|
26
|
+
<iframe
|
|
27
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-analog-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
28
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
29
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
30
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
31
|
+
loading="lazy"
|
|
32
|
+
/>
|
|
33
|
+
|
|
26
34
|
## Mục lục
|
|
27
35
|
|
|
28
36
|
<TOC/>
|
|
@@ -42,21 +50,7 @@ Với Intlayer, bạn có thể:
|
|
|
42
50
|
|
|
43
51
|
## Hướng dẫn từng bước để thiết lập Intlayer trong ứng dụng Analog
|
|
44
52
|
|
|
45
|
-
|
|
46
|
-
<Tab label="Mã nguồn" value="code">
|
|
47
|
-
|
|
48
|
-
<iframe
|
|
49
|
-
src="https://stackblitz.com/github/aymericzip/intlayer/tree/main/examples/vite-analog-app?embed=1&ctl=1&file=intlayer.config.ts"
|
|
50
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
51
|
-
title="Demo CodeSandbox - Cách quốc tế hóa ứng dụng của bạn bằng Intlayer"
|
|
52
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
53
|
-
loading="lazy"
|
|
54
|
-
/>
|
|
55
|
-
|
|
56
|
-
</Tab>
|
|
57
|
-
</Tabs>
|
|
58
|
-
|
|
59
|
-
Xem [Mẫu ứng dụng](https://github.com/aymericzip/intlayer/tree/main/examples/analog-app-template) trên GitHub.
|
|
53
|
+
Xem [Mẫu ứng dụng](https://github.com/aymericzip/intlayer-analog-template) trên GitHub.
|
|
60
54
|
|
|
61
55
|
### Bước 1: Cài đặt các phụ thuộc
|
|
62
56
|
|
|
@@ -273,17 +267,6 @@ import { useLocale } from "angular-intlayer";
|
|
|
273
267
|
</select>
|
|
274
268
|
</div>
|
|
275
269
|
`,
|
|
276
|
-
styles: [
|
|
277
|
-
`
|
|
278
|
-
.locale-switcher {
|
|
279
|
-
margin: 1rem;
|
|
280
|
-
padding: 0.5rem;
|
|
281
|
-
border: 1px solid #ccc;
|
|
282
|
-
border-radius: 4px;
|
|
283
|
-
width: fit-content;
|
|
284
|
-
}
|
|
285
|
-
`,
|
|
286
|
-
],
|
|
287
270
|
})
|
|
288
271
|
export class LocaleSwitcherComponent {
|
|
289
272
|
localeCtx = useLocale();
|
|
@@ -201,7 +201,7 @@ import { mergeConfig } from "angular-intlayer/webpack";
|
|
|
201
201
|
export default mergeConfig({});
|
|
202
202
|
```
|
|
203
203
|
|
|
204
|
-
> Hàm `mergeConfig` cấu hình Webpack với Intlayer. Nó chèn `
|
|
204
|
+
> Hàm `mergeConfig` cấu hình Webpack với Intlayer. Nó chèn `IntlayerPlugin` (để xử lý các tệp khai báo nội dung) và thiết lập các biệt danh (aliases) để đạt hiệu suất tối ưu.
|
|
205
205
|
|
|
206
206
|
### Bước 4: Khai báo nội dung của bạn
|
|
207
207
|
|
|
@@ -328,17 +328,6 @@ import { useLocale } from "angular-intlayer";
|
|
|
328
328
|
</select>
|
|
329
329
|
</div>
|
|
330
330
|
`,
|
|
331
|
-
styles: [
|
|
332
|
-
`
|
|
333
|
-
.locale-switcher {
|
|
334
|
-
margin: 1rem;
|
|
335
|
-
padding: 0.5rem;
|
|
336
|
-
border: 1px solid #ccc;
|
|
337
|
-
border-radius: 4px;
|
|
338
|
-
width: fit-content;
|
|
339
|
-
}
|
|
340
|
-
`,
|
|
341
|
-
],
|
|
342
331
|
})
|
|
343
332
|
export class LocaleSwitcherComponent {
|
|
344
333
|
localeCtx = useLocale();
|
|
@@ -1441,7 +1441,7 @@ Link.displayName = "Link";
|
|
|
1441
1441
|
|
|
1442
1442
|
import { getLocalizedUrl } from 'intlayer';
|
|
1443
1443
|
import NextLink, { type LinkProps as NextLinkProps } from 'next/link';
|
|
1444
|
-
import { useLocale } from
|
|
1444
|
+
import { useLocale } from "next-intlayer";
|
|
1445
1445
|
import { forwardRef, PropsWithChildren, type ForwardedRef } from 'react';
|
|
1446
1446
|
|
|
1447
1447
|
/**
|
|
@@ -1348,7 +1348,7 @@ Link.displayName = "Link";
|
|
|
1348
1348
|
|
|
1349
1349
|
import { getLocalizedUrl } from 'intlayer';
|
|
1350
1350
|
import NextLink, { type LinkProps as NextLinkProps } from 'next/link';
|
|
1351
|
-
import { useLocale } from
|
|
1351
|
+
import { useLocale } from "next-intlayer";
|
|
1352
1352
|
import { forwardRef, PropsWithChildren, type ForwardedRef } from 'react';
|
|
1353
1353
|
|
|
1354
1354
|
/**
|
|
@@ -750,7 +750,12 @@ import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
|
750
750
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
751
751
|
|
|
752
752
|
export default defineConfig({
|
|
753
|
-
plugins: [
|
|
753
|
+
plugins: [
|
|
754
|
+
intlayerProxy(), // should be placed first
|
|
755
|
+
reactRouter(),
|
|
756
|
+
tsconfigPaths(),
|
|
757
|
+
intlayer(),
|
|
758
|
+
],
|
|
754
759
|
});
|
|
755
760
|
```
|
|
756
761
|
|
|
@@ -696,7 +696,12 @@ import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
|
696
696
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
697
697
|
|
|
698
698
|
export default defineConfig({
|
|
699
|
-
plugins: [
|
|
699
|
+
plugins: [
|
|
700
|
+
intlayerProxy(), // should be placed first
|
|
701
|
+
reactRouter(),
|
|
702
|
+
tsconfigPaths(),
|
|
703
|
+
intlayer(),
|
|
704
|
+
],
|
|
700
705
|
});
|
|
701
706
|
```
|
|
702
707
|
|
|
@@ -265,7 +265,7 @@ export default config;
|
|
|
265
265
|
|
|
266
266
|
```typescript fileName=".storybook/main.ts" codeFormat="typescript"
|
|
267
267
|
import type { StorybookConfig } from "@storybook/react-webpack5";
|
|
268
|
-
import {
|
|
268
|
+
import { IntlayerPlugin } from "@intlayer/webpack";
|
|
269
269
|
|
|
270
270
|
const config: StorybookConfig = {
|
|
271
271
|
stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)"],
|
|
@@ -276,10 +276,7 @@ const config: StorybookConfig = {
|
|
|
276
276
|
},
|
|
277
277
|
|
|
278
278
|
webpackFinal: async (baseConfig) => {
|
|
279
|
-
baseConfig.plugins = [
|
|
280
|
-
...(baseConfig.plugins ?? []),
|
|
281
|
-
new IntlayerWebpackPlugin(),
|
|
282
|
-
];
|
|
279
|
+
baseConfig.plugins = [...(baseConfig.plugins ?? []), new IntlayerPlugin()];
|
|
283
280
|
return baseConfig;
|
|
284
281
|
},
|
|
285
282
|
};
|
|
@@ -552,7 +552,7 @@ export const load: Load = ({ params }) => {
|
|
|
552
552
|
```svelte fileName="src/routes/[[locale=locale]]/+layout.svelte"
|
|
553
553
|
<script lang="ts">
|
|
554
554
|
import type { Snippet } from 'svelte';
|
|
555
|
-
import { useIntlayer, setupIntlayer } from
|
|
555
|
+
import { useIntlayer, setupIntlayer } from "svelte-intlayer";
|
|
556
556
|
import Header from './Header.svelte';
|
|
557
557
|
import type { LayoutData } from './$types';
|
|
558
558
|
|
|
@@ -591,7 +591,7 @@ export const prerender = true;
|
|
|
591
591
|
|
|
592
592
|
```svelte fileName="src/routes/[[locale=locale]]/+page.svelte"
|
|
593
593
|
<script lang="ts">
|
|
594
|
-
import { useIntlayer } from
|
|
594
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
595
595
|
|
|
596
596
|
// Sử dụng từ điển nội dung trang chủ
|
|
597
597
|
const homeContent = useIntlayer('home');
|
|
@@ -619,7 +619,7 @@ export const prerender = true;
|
|
|
619
619
|
```svelte fileName="src/lib/components/LocalizedLink.svelte"
|
|
620
620
|
<script lang="ts">
|
|
621
621
|
import { getLocalizedUrl } from "intlayer";
|
|
622
|
-
import { useLocale } from
|
|
622
|
+
import { useLocale } from "svelte-intlayer";
|
|
623
623
|
|
|
624
624
|
let { href = "" } = $props();
|
|
625
625
|
const { locale } = useLocale();
|
|
@@ -652,7 +652,7 @@ goto(localizedPath); // Điều hướng đến /en/about hoặc /fr/about tùy
|
|
|
652
652
|
```svelte fileName="src/lib/components/LanguageSwitcher.svelte"
|
|
653
653
|
<script lang="ts">
|
|
654
654
|
import { getLocalizedUrl, getLocaleName } from 'intlayer';
|
|
655
|
-
import { useLocale } from
|
|
655
|
+
import { useLocale } from "svelte-intlayer";
|
|
656
656
|
import { page } from '$app/stores';
|
|
657
657
|
import { goto } from '$app/navigation';
|
|
658
658
|
|
|
@@ -697,7 +697,11 @@ import { sveltekit } from "@sveltejs/kit/vite";
|
|
|
697
697
|
|
|
698
698
|
// https://vitejs.dev/config/
|
|
699
699
|
export default defineConfig({
|
|
700
|
-
plugins: [
|
|
700
|
+
plugins: [
|
|
701
|
+
intlayerProxy(), // should be placed first
|
|
702
|
+
intlayer(),
|
|
703
|
+
sveltekit(),
|
|
704
|
+
],],
|
|
701
705
|
});
|
|
702
706
|
```
|
|
703
707
|
|