@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-03-24
|
|
4
4
|
title: Markdown
|
|
5
5
|
description: Intlayer를 사용하여 다국어 웹사이트에서 Markdown 콘텐츠를 선언하고 사용하는 방법을 알아보세요. 이 온라인 문서의 단계를 따라 프로젝트에 Markdown을 손쉽게 통합하세요.
|
|
6
6
|
keywords:
|
|
@@ -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: "{{framework}}-intlayer에서 {{framework}}-intlayer/markdown으로 임포트 이동"
|
|
20
26
|
- version: 8.0.0
|
|
21
27
|
date: 2026-01-22
|
|
22
28
|
changes: "MarkdownRenderer / useMarkdownRenderer / renderMarkdown 유틸리티 및 forceInline 옵션 추가"
|
|
@@ -32,7 +38,7 @@ history:
|
|
|
32
38
|
|
|
33
39
|
Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘텐츠를 지원합니다. 이를 통해 블로그, 기사 등과 같은 리치 포맷의 콘텐츠를 쉽게 작성하고 관리할 수 있습니다.
|
|
34
40
|
|
|
35
|
-
##
|
|
41
|
+
## 마크다운 콘텐츠 선언
|
|
36
42
|
|
|
37
43
|
마크다운 콘텐츠는 `md` 함수를 사용하거나 (마크다운 문법을 포함하는 경우) 단순히 문자열로 선언할 수 있습니다.
|
|
38
44
|
|
|
@@ -90,7 +96,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
90
96
|
|
|
91
97
|
---
|
|
92
98
|
|
|
93
|
-
##
|
|
99
|
+
## 마크다운 렌더링
|
|
94
100
|
|
|
95
101
|
렌더링은 Intlayer의 콘텐츠 시스템을 통해 자동으로 처리하거나, 전문 도구를 사용해 수동으로 처리할 수 있습니다.
|
|
96
102
|
|
|
@@ -208,12 +214,8 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
208
214
|
<Tabs group="framework">
|
|
209
215
|
<Tab label="React / Next.js" value="react">
|
|
210
216
|
|
|
211
|
-
#### `<MarkdownRenderer />` 컴포넌트
|
|
212
|
-
|
|
213
|
-
특정 옵션으로 마크다운 문자열을 렌더링합니다.
|
|
214
|
-
|
|
215
217
|
```tsx
|
|
216
|
-
import { MarkdownRenderer } from "react-intlayer";
|
|
218
|
+
import { MarkdownRenderer } from "react-intlayer/markdown";
|
|
217
219
|
|
|
218
220
|
<MarkdownRenderer forceBlock={true} tagfilter={true}>
|
|
219
221
|
{"# My Title"}
|
|
@@ -225,7 +227,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
225
227
|
미리 구성된 렌더러 함수를 얻습니다.
|
|
226
228
|
|
|
227
229
|
```tsx
|
|
228
|
-
import { useMarkdownRenderer } from "react-intlayer";
|
|
230
|
+
import { useMarkdownRenderer } from "react-intlayer/markdown";
|
|
229
231
|
|
|
230
232
|
const renderMarkdown = useMarkdownRenderer({
|
|
231
233
|
forceBlock: true,
|
|
@@ -239,7 +241,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
239
241
|
컴포넌트 외부에서 렌더링할 때 사용하는 독립 유틸리티입니다.
|
|
240
242
|
|
|
241
243
|
```tsx
|
|
242
|
-
import { renderMarkdown } from "react-intlayer";
|
|
244
|
+
import { renderMarkdown } from "react-intlayer/markdown";
|
|
243
245
|
|
|
244
246
|
const jsx = renderMarkdown("# My Title", { forceBlock: true });
|
|
245
247
|
```
|
|
@@ -251,7 +253,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
251
253
|
|
|
252
254
|
```vue
|
|
253
255
|
<script setup>
|
|
254
|
-
import { MarkdownRenderer } from "vue-intlayer";
|
|
256
|
+
import { MarkdownRenderer } from "vue-intlayer/markdown";
|
|
255
257
|
</script>
|
|
256
258
|
|
|
257
259
|
<template>
|
|
@@ -266,7 +268,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
266
268
|
|
|
267
269
|
```svelte
|
|
268
270
|
<script lang="ts">
|
|
269
|
-
import { MarkdownRenderer } from "svelte-intlayer";
|
|
271
|
+
import { MarkdownRenderer } from "svelte-intlayer/markdown";
|
|
270
272
|
</script>
|
|
271
273
|
|
|
272
274
|
<MarkdownRenderer forceBlock={true} value="# My Title" />
|
|
@@ -276,7 +278,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
276
278
|
|
|
277
279
|
```svelte
|
|
278
280
|
<script lang="ts">
|
|
279
|
-
import { useMarkdownRenderer } from "svelte-intlayer";
|
|
281
|
+
import { useMarkdownRenderer } from "svelte-intlayer/markdown";
|
|
280
282
|
const render = useMarkdownRenderer();
|
|
281
283
|
</script>
|
|
282
284
|
|
|
@@ -287,7 +289,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
287
289
|
|
|
288
290
|
```svelte
|
|
289
291
|
<script lang="ts">
|
|
290
|
-
import { renderMarkdown } from "svelte-intlayer";
|
|
292
|
+
import { renderMarkdown } from "svelte-intlayer/markdown";
|
|
291
293
|
</script>
|
|
292
294
|
|
|
293
295
|
{@html renderMarkdown("# My Title")}
|
|
@@ -298,7 +300,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
298
300
|
#### `<MarkdownRenderer />` 컴포넌트
|
|
299
301
|
|
|
300
302
|
```tsx
|
|
301
|
-
import { MarkdownRenderer } from "preact-intlayer";
|
|
303
|
+
import { MarkdownRenderer } from "preact-intlayer/markdown";
|
|
302
304
|
|
|
303
305
|
<MarkdownRenderer forceBlock={true}>
|
|
304
306
|
{"# My Title"}
|
|
@@ -308,7 +310,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
308
310
|
#### `useMarkdownRenderer()` 훅
|
|
309
311
|
|
|
310
312
|
```tsx
|
|
311
|
-
import { useMarkdownRenderer } from "preact-intlayer";
|
|
313
|
+
import { useMarkdownRenderer } from "preact-intlayer/markdown";
|
|
312
314
|
|
|
313
315
|
const render = useMarkdownRenderer();
|
|
314
316
|
|
|
@@ -318,7 +320,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
318
320
|
#### `renderMarkdown()` 유틸리티
|
|
319
321
|
|
|
320
322
|
```tsx
|
|
321
|
-
import { renderMarkdown } from "preact-intlayer";
|
|
323
|
+
import { renderMarkdown } from "preact-intlayer/markdown";
|
|
322
324
|
|
|
323
325
|
return <div>{renderMarkdown("# My Title")}</div>;
|
|
324
326
|
```
|
|
@@ -328,7 +330,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
328
330
|
#### `<MarkdownRenderer />` 컴포넌트
|
|
329
331
|
|
|
330
332
|
```tsx
|
|
331
|
-
import { MarkdownRenderer } from "solid-intlayer";
|
|
333
|
+
import { MarkdownRenderer } from "solid-intlayer/markdown";
|
|
332
334
|
|
|
333
335
|
<MarkdownRenderer forceBlock={true}>
|
|
334
336
|
{"# My Title"}
|
|
@@ -338,7 +340,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
338
340
|
#### `useMarkdownRenderer()` 훅
|
|
339
341
|
|
|
340
342
|
```tsx
|
|
341
|
-
import { useMarkdownRenderer } from "solid-intlayer";
|
|
343
|
+
import { useMarkdownRenderer } from "solid-intlayer/markdown";
|
|
342
344
|
|
|
343
345
|
const render = useMarkdownRenderer();
|
|
344
346
|
|
|
@@ -348,7 +350,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
348
350
|
#### `renderMarkdown()` 유틸리티
|
|
349
351
|
|
|
350
352
|
```tsx
|
|
351
|
-
import { renderMarkdown } from "solid-intlayer";
|
|
353
|
+
import { renderMarkdown } from "solid-intlayer/markdown";
|
|
352
354
|
|
|
353
355
|
return <div>{renderMarkdown("# My Title")}</div>;
|
|
354
356
|
```
|
|
@@ -359,7 +361,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
359
361
|
서비스를 사용하여 마크다운 문자열을 렌더링합니다.
|
|
360
362
|
|
|
361
363
|
```typescript
|
|
362
|
-
import { IntlayerMarkdownService } from "angular-intlayer";
|
|
364
|
+
import { IntlayerMarkdownService } from "angular-intlayer/markdown";
|
|
363
365
|
|
|
364
366
|
export class MyComponent {
|
|
365
367
|
constructor(private markdownService: IntlayerMarkdownService) {}
|
|
@@ -383,12 +385,10 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
383
385
|
<Tab label="React / Next.js" value="react">
|
|
384
386
|
|
|
385
387
|
```tsx fileName="AppProvider.tsx"
|
|
386
|
-
import { MarkdownProvider } from "react-intlayer";
|
|
388
|
+
import { MarkdownProvider } from "react-intlayer/markdown";
|
|
387
389
|
|
|
388
390
|
export const AppProvider = ({ children }) => (
|
|
389
391
|
<MarkdownProvider
|
|
390
|
-
forceBlock={true}
|
|
391
|
-
tagfilter={true}
|
|
392
392
|
components={{
|
|
393
393
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
394
394
|
a: ({ href, children }) => <Link to={href}>{children}</Link>,
|
|
@@ -399,43 +399,83 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
399
399
|
);
|
|
400
400
|
```
|
|
401
401
|
|
|
402
|
+
나만의 Markdown 렌더러를 사용할 수도 있습니다:
|
|
403
|
+
|
|
404
|
+
```tsx fileName="AppProvider.tsx"
|
|
405
|
+
import { MarkdownProvider } from "react-intlayer/markdown";
|
|
406
|
+
|
|
407
|
+
export const AppProvider = ({ children }) => (
|
|
408
|
+
<MarkdownProvider
|
|
409
|
+
renderMarkdown={async (md) => {
|
|
410
|
+
const { compileMarkdown } = await import('react-intlayer/markdown');
|
|
411
|
+
return compileMarkdown(md);
|
|
412
|
+
}}
|
|
413
|
+
>
|
|
414
|
+
{children}
|
|
415
|
+
</MarkdownProvider>
|
|
416
|
+
);
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
> Markdown 렌더러를 동적으로 가져오는 것은 애플리케이션의 번들 크기를 줄이는 좋은 방법입니다.
|
|
420
|
+
|
|
402
421
|
</Tab>
|
|
403
422
|
<Tab label="Vue" value="vue">
|
|
404
423
|
|
|
405
424
|
```typescript fileName="main.ts"
|
|
406
425
|
import { createApp } from "vue";
|
|
407
|
-
import {
|
|
426
|
+
import { intlayer } from "vue-intlayer";
|
|
427
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
408
428
|
import App from "./App.vue";
|
|
409
429
|
|
|
410
430
|
const app = createApp(App);
|
|
411
431
|
|
|
412
|
-
app.use(
|
|
413
|
-
app.use(
|
|
414
|
-
forceBlock: true,
|
|
415
|
-
tagfilter: true,
|
|
432
|
+
app.use(intlayer);
|
|
433
|
+
app.use(intlayerMarkdown, {
|
|
416
434
|
components: {
|
|
417
|
-
h1:
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
435
|
+
h1: (props) =>
|
|
436
|
+
h('h1', { style: { color: 'orange' }, ...props }, props.children),
|
|
437
|
+
ComponentDemo: () => h('div', { style: { background: 'grey' } }, 'DEMO'),
|
|
438
|
+
bold: (props) => h('strong', props),
|
|
439
|
+
code: (props) => h('code', props),
|
|
440
|
+
},
|
|
441
|
+
});
|
|
442
|
+
|
|
443
|
+
app.mount("#app");
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
나만의 Markdown 렌더러를 사용할 수도 있습니다:
|
|
447
|
+
|
|
448
|
+
```typescript fileName="main.ts"
|
|
449
|
+
import { createApp } from "vue";
|
|
450
|
+
import { intlayer } from "vue-intlayer";
|
|
451
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
452
|
+
import App from "./App.vue";
|
|
453
|
+
|
|
454
|
+
const app = createApp(App);
|
|
455
|
+
|
|
456
|
+
app.use(intlayer);
|
|
457
|
+
app.use(intlayerMarkdown, {
|
|
458
|
+
renderMarkdown: async (md) => {
|
|
459
|
+
const { compileMarkdown } = await import('vue-intlayer/markdown');
|
|
460
|
+
return compileMarkdown(md);
|
|
421
461
|
},
|
|
422
462
|
});
|
|
423
463
|
|
|
424
464
|
app.mount("#app");
|
|
425
465
|
```
|
|
426
466
|
|
|
467
|
+
> Markdown 렌더러를 동적으로 가져오는 것은 애플리케이션의 번들 크기를 줄이는 좋은 방법입니다.
|
|
468
|
+
|
|
427
469
|
</Tab>
|
|
428
470
|
<Tab label="Svelte" value="svelte">
|
|
429
471
|
|
|
430
472
|
```svelte fileName="App.svelte"
|
|
431
473
|
<script lang="ts">
|
|
432
|
-
import { MarkdownProvider } from "svelte-intlayer";
|
|
474
|
+
import { MarkdownProvider } from "svelte-intlayer/markdown";
|
|
433
475
|
import MyHeading from "./MyHeading.svelte";
|
|
434
476
|
</script>
|
|
435
477
|
|
|
436
478
|
<MarkdownProvider
|
|
437
|
-
forceBlock={true}
|
|
438
|
-
tagfilter={true}
|
|
439
479
|
components={{
|
|
440
480
|
h1: MyHeading,
|
|
441
481
|
}}
|
|
@@ -444,16 +484,33 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
444
484
|
</MarkdownProvider>
|
|
445
485
|
```
|
|
446
486
|
|
|
487
|
+
나만의 Markdown 렌더러를 사용할 수도 있습니다:
|
|
488
|
+
|
|
489
|
+
```svelte fileName="App.svelte"
|
|
490
|
+
<script lang="ts">
|
|
491
|
+
import { MarkdownProvider } from "svelte-intlayer/markdown";
|
|
492
|
+
</script>
|
|
493
|
+
|
|
494
|
+
<MarkdownProvider
|
|
495
|
+
renderMarkdown={async (md) => {
|
|
496
|
+
const { compileMarkdown } = await import('svelte-intlayer/markdown');
|
|
497
|
+
return compileMarkdown(md);
|
|
498
|
+
}}
|
|
499
|
+
>
|
|
500
|
+
<slot />
|
|
501
|
+
</MarkdownProvider>
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
> Markdown 렌더러를 동적으로 가져오는 것은 애플리케이션의 번들 크기를 줄이는 좋은 방법입니다.
|
|
505
|
+
|
|
447
506
|
</Tab>
|
|
448
507
|
<Tab label="Preact" value="preact">
|
|
449
508
|
|
|
450
509
|
```tsx fileName="AppProvider.tsx"
|
|
451
|
-
import { MarkdownProvider } from "preact-intlayer";
|
|
510
|
+
import { MarkdownProvider } from "preact-intlayer/markdown";
|
|
452
511
|
|
|
453
512
|
export const AppProvider = ({ children }) => (
|
|
454
513
|
<MarkdownProvider
|
|
455
|
-
forceBlock={true}
|
|
456
|
-
tagfilter={true}
|
|
457
514
|
components={{
|
|
458
515
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
459
516
|
}}
|
|
@@ -463,16 +520,33 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
463
520
|
);
|
|
464
521
|
```
|
|
465
522
|
|
|
523
|
+
나만의 Markdown 렌더러를 사용할 수도 있습니다:
|
|
524
|
+
|
|
525
|
+
```tsx fileName="AppProvider.tsx"
|
|
526
|
+
import { MarkdownProvider } from "preact-intlayer/markdown";
|
|
527
|
+
|
|
528
|
+
export const AppProvider = ({ children }) => (
|
|
529
|
+
<MarkdownProvider
|
|
530
|
+
renderMarkdown={async (md) => {
|
|
531
|
+
const { compileMarkdown } = await import('preact-intlayer/markdown');
|
|
532
|
+
return compileMarkdown(md);
|
|
533
|
+
}}
|
|
534
|
+
>
|
|
535
|
+
{children}
|
|
536
|
+
</MarkdownProvider>
|
|
537
|
+
);
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
> Markdown 렌더러를 동적으로 가져오는 것은 애플리케이션의 번들 크기를 줄이는 좋은 방법입니다.
|
|
541
|
+
|
|
466
542
|
</Tab>
|
|
467
543
|
<Tab label="Solid" value="solid">
|
|
468
544
|
|
|
469
545
|
```tsx fileName="AppProvider.tsx"
|
|
470
|
-
import { MarkdownProvider } from "solid-intlayer";
|
|
546
|
+
import { MarkdownProvider } from "solid-intlayer/markdown";
|
|
471
547
|
|
|
472
548
|
export const AppProvider = (props) => (
|
|
473
549
|
<MarkdownProvider
|
|
474
|
-
forceBlock={true}
|
|
475
|
-
tagfilter={true}
|
|
476
550
|
components={{
|
|
477
551
|
h1: (props) => <h1 className="text-2xl font-bold">{props.children}</h1>,
|
|
478
552
|
}}
|
|
@@ -482,11 +556,30 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
482
556
|
);
|
|
483
557
|
```
|
|
484
558
|
|
|
559
|
+
나만의 Markdown 렌더러를 사용할 수도 있습니다:
|
|
560
|
+
|
|
561
|
+
```tsx fileName="AppProvider.tsx"
|
|
562
|
+
import { MarkdownProvider } from "solid-intlayer/markdown";
|
|
563
|
+
|
|
564
|
+
export const AppProvider = (props) => (
|
|
565
|
+
<MarkdownProvider
|
|
566
|
+
renderMarkdown={async (md) => {
|
|
567
|
+
const { compileMarkdown } = await import('solid-intlayer/markdown');
|
|
568
|
+
return compileMarkdown(md);
|
|
569
|
+
}}
|
|
570
|
+
>
|
|
571
|
+
{props.children}
|
|
572
|
+
</MarkdownProvider>
|
|
573
|
+
);
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
> Markdown 렌더러를 동적으로 가져오는 것은 애플리케이션의 번들 크기를 줄이는 좋은 방법입니다.
|
|
577
|
+
|
|
485
578
|
</Tab>
|
|
486
579
|
<Tab label="Angular" value="angular">
|
|
487
580
|
|
|
488
581
|
```typescript fileName="app.config.ts"
|
|
489
|
-
import { createIntlayerMarkdownProvider } from "angular-intlayer";
|
|
582
|
+
import { createIntlayerMarkdownProvider } from "angular-intlayer/markdown";
|
|
490
583
|
|
|
491
584
|
export const appConfig: ApplicationConfig = {
|
|
492
585
|
providers: [
|
|
@@ -499,6 +592,25 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
499
592
|
};
|
|
500
593
|
```
|
|
501
594
|
|
|
595
|
+
나만의 Markdown 렌더러를 사용할 수도 있습니다:
|
|
596
|
+
|
|
597
|
+
```typescript fileName="app.config.ts"
|
|
598
|
+
import { createIntlayerMarkdownProvider } from "angular-intlayer/markdown";
|
|
599
|
+
|
|
600
|
+
export const appConfig: ApplicationConfig = {
|
|
601
|
+
providers: [
|
|
602
|
+
createIntlayerMarkdownProvider({
|
|
603
|
+
renderMarkdown: async (md) => {
|
|
604
|
+
const { compileMarkdown } = await import('angular-intlayer/markdown');
|
|
605
|
+
return compileMarkdown(md);
|
|
606
|
+
},
|
|
607
|
+
}),
|
|
608
|
+
],
|
|
609
|
+
};
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
> Markdown 렌더러를 동적으로 가져오는 것은 애플리케이션의 번들 크기를 줄이는 좋은 방법입니다.
|
|
613
|
+
|
|
502
614
|
</Tab>
|
|
503
615
|
</Tabs>
|
|
504
616
|
|
|
@@ -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
|
# Intlayer를 사용하여 Analog (Angular) 앱 번역하기 | 국제화 (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
|
## 목차
|
|
27
35
|
|
|
28
36
|
<TOC/>
|
|
@@ -42,21 +50,7 @@ Intlayer를 사용하면 다음을 할 수 있습니다:
|
|
|
42
50
|
|
|
43
51
|
## Analog 애플리케이션에 Intlayer를 설정하는 단계별 가이드
|
|
44
52
|
|
|
45
|
-
|
|
46
|
-
<Tab label="코드" 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 - How to Internationalize your application using 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
|
-
GitHub에서 [애플리케이션 템플릿](https://github.com/aymericzip/intlayer/tree/main/examples/analog-app-template)을 확인하세요.
|
|
53
|
+
GitHub에서 [애플리케이션 템플릿](https://github.com/aymericzip/intlayer-analog-template)을 확인하세요.
|
|
60
54
|
|
|
61
55
|
### 1단계: 종속성 설치
|
|
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
|
-
> `mergeConfig` 함수는 Intlayer로 Webpack을 구성합니다. `
|
|
204
|
+
> `mergeConfig` 함수는 Intlayer로 Webpack을 구성합니다. `IntlayerPlugin`(콘텐츠 선언 파일 처리용)을 주입하고 최적의 성능을 위한 별칭(alias)을 설정합니다.
|
|
205
205
|
|
|
206
206
|
### 4단계: 콘텐츠 선언
|
|
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();
|
|
@@ -1367,7 +1367,7 @@ Link.displayName = "Link";
|
|
|
1367
1367
|
|
|
1368
1368
|
import { getLocalizedUrl } from 'intlayer';
|
|
1369
1369
|
import NextLink, { type LinkProps as NextLinkProps } from 'next/link';
|
|
1370
|
-
import { useLocale } from
|
|
1370
|
+
import { useLocale } from "next-intlayer";
|
|
1371
1371
|
import { forwardRef, PropsWithChildren, type ForwardedRef } from 'react';
|
|
1372
1372
|
|
|
1373
1373
|
/**
|
|
@@ -1358,7 +1358,7 @@ Link.displayName = "Link";
|
|
|
1358
1358
|
|
|
1359
1359
|
import { getLocalizedUrl } from 'intlayer';
|
|
1360
1360
|
import NextLink, { type LinkProps as NextLinkProps } from 'next/link';
|
|
1361
|
-
import { useLocale } from
|
|
1361
|
+
import { useLocale } from "next-intlayer";
|
|
1362
1362
|
import { forwardRef, PropsWithChildren, type ForwardedRef } from 'react';
|
|
1363
1363
|
|
|
1364
1364
|
/**
|
|
@@ -740,7 +740,12 @@ import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
|
740
740
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
741
741
|
|
|
742
742
|
export default defineConfig({
|
|
743
|
-
plugins: [
|
|
743
|
+
plugins: [
|
|
744
|
+
intlayerProxy(), // should be placed first
|
|
745
|
+
reactRouter(),
|
|
746
|
+
tsconfigPaths(),
|
|
747
|
+
intlayer(),
|
|
748
|
+
],
|
|
744
749
|
});
|
|
745
750
|
```
|
|
746
751
|
|
|
@@ -686,7 +686,12 @@ import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
|
686
686
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
687
687
|
|
|
688
688
|
export default defineConfig({
|
|
689
|
-
plugins: [
|
|
689
|
+
plugins: [
|
|
690
|
+
intlayerProxy(), // should be placed first
|
|
691
|
+
reactRouter(),
|
|
692
|
+
tsconfigPaths(),
|
|
693
|
+
intlayer(),
|
|
694
|
+
],
|
|
690
695
|
});
|
|
691
696
|
```
|
|
692
697
|
|
|
@@ -265,7 +265,7 @@ Webpack 기반 Storybook 설정(예: `@storybook/react-webpack5`)의 경우, `we
|
|
|
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
|
// 홈 콘텐츠 사전을 사용합니다
|
|
597
597
|
const homeContent = useIntlayer('home');
|
|
@@ -619,7 +619,7 @@ SEO를 위해 경로에 로케일 접두사를 붙이는 것이 권장됩니다(
|
|
|
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); // 로케일에 따라 /en/about 또는 /fr/about로 이동
|
|
|
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
|
|