@intlayer/docs 9.1.3 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/index.md +1 -1
- package/blog/ar/rag_powered_documentation_assistant.md +7 -0
- package/blog/de/index.md +1 -1
- package/blog/de/rag_powered_documentation_assistant.md +6 -0
- package/blog/en/index.md +1 -1
- package/blog/en-GB/index.md +1 -1
- package/blog/en-GB/rag_powered_documentation_assistant.md +6 -0
- package/blog/es/index.md +1 -1
- package/blog/es/rag_powered_documentation_assistant.md +7 -0
- package/blog/fr/i18n_meaning.md +7 -1
- package/blog/fr/index.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +5 -1
- package/blog/fr/rag_powered_documentation_assistant.md +6 -0
- package/blog/hi/index.md +1 -1
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +119 -42
- package/blog/hi/rag_powered_documentation_assistant.md +7 -0
- package/blog/id/index.md +1 -1
- package/blog/id/rag_powered_documentation_assistant.md +6 -0
- package/blog/it/index.md +1 -1
- package/blog/it/rag_powered_documentation_assistant.md +6 -0
- package/blog/ja/index.md +1 -1
- package/blog/ja/rag_powered_documentation_assistant.md +7 -0
- package/blog/ko/index.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/react.md +7 -7
- package/blog/ko/rag_powered_documentation_assistant.md +6 -0
- package/blog/pl/index.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +6 -0
- package/blog/pt/index.md +1 -1
- package/blog/pt/rag_powered_documentation_assistant.md +6 -0
- package/blog/ru/index.md +1 -1
- package/blog/ru/rag_powered_documentation_assistant.md +7 -0
- package/blog/tr/intlayer_with_react-intl.md +3 -1
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +175 -42
- package/blog/tr/rag_powered_documentation_assistant.md +6 -0
- package/blog/uk/index.md +1 -1
- package/blog/uk/rag_powered_documentation_assistant.md +6 -0
- package/blog/vi/index.md +1 -1
- package/blog/vi/rag_powered_documentation_assistant.md +6 -0
- package/blog/zh/index.md +1 -1
- package/blog/zh/intlayer_with_i18next.md +87 -28
- package/blog/zh/intlayer_with_next-i18next.md +86 -29
- package/blog/zh/intlayer_with_next-intl.md +88 -28
- package/blog/zh/intlayer_with_react-i18next.md +87 -28
- package/blog/zh/intlayer_with_react-intl.md +88 -27
- package/blog/zh/intlayer_with_vue-i18n.md +117 -8
- package/blog/zh/rag_powered_documentation_assistant.md +6 -0
- package/dist/cjs/common.cjs +24 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +58 -31
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +265 -218
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +48 -21
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +33 -6
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +24 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +58 -31
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +265 -218
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +48 -21
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +33 -6
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/analytics.md +222 -0
- package/docs/ar/autoFill.md +28 -9
- package/docs/ar/bundle_optimization.md +58 -25
- package/docs/ar/configuration.md +25 -8
- package/docs/ar/dictionary/file.md +3 -1
- package/docs/ar/dictionary/nesting.md +47 -30
- package/docs/ar/formatters.md +148 -193
- package/docs/ar/intlayer_CMS.md +152 -0
- package/docs/ar/intlayer_with_angular_21.md +9 -9
- package/docs/ar/intlayer_with_nextjs_14.md +1 -28
- package/docs/ar/intlayer_with_nextjs_15.md +1 -33
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +40 -83
- package/docs/ar/intlayer_with_solid_start.md +1078 -0
- package/docs/ar/intlayer_with_vite+vue.md +1 -3
- package/docs/ar/live-sync.md +4 -0
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/ar/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/ar/packages/react-intlayer/useIntlayer.md +2 -2
- package/docs/ar/packages/vite-intlayer/exports.md +15 -0
- package/docs/ar/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ar/packages/vite-intlayer/intlayerPrune.md +70 -3
- package/docs/ar/releases/v9.md +0 -37
- package/docs/ar/self_hosting.md +46 -49
- package/docs/bn/bundle_optimization.md +58 -25
- package/docs/bn/configuration.md +25 -8
- package/docs/bn/intlayer_with_angular_21.md +9 -9
- package/docs/cs/bundle_optimization.md +58 -25
- package/docs/cs/configuration.md +25 -8
- package/docs/cs/intlayer_with_angular_21.md +9 -9
- package/docs/de/analytics.md +222 -0
- package/docs/de/autoFill.md +28 -9
- package/docs/de/bundle_optimization.md +58 -25
- package/docs/de/configuration.md +25 -8
- package/docs/de/dictionary/file.md +3 -1
- package/docs/de/dictionary/nesting.md +47 -31
- package/docs/de/formatters.md +208 -334
- package/docs/de/intlayer_CMS.md +66 -15
- package/docs/de/intlayer_with_angular_21.md +9 -9
- package/docs/de/intlayer_with_nestjs.md +11 -7
- package/docs/de/intlayer_with_nextjs_14.md +1 -28
- package/docs/de/intlayer_with_nextjs_15.md +1 -33
- package/docs/de/intlayer_with_solid_start.md +1078 -0
- package/docs/de/intlayer_with_vite+vue.md +1 -3
- package/docs/de/live-sync.md +4 -0
- package/docs/de/packages/intlayer/getLocalizedUrl.md +33 -25
- package/docs/de/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/de/packages/react-intlayer/useDictionary.md +2 -5
- package/docs/de/packages/vite-intlayer/exports.md +15 -0
- package/docs/de/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/de/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/de/releases/v9.md +0 -15
- package/docs/de/self_hosting.md +46 -50
- package/docs/en/bundle_optimization.md +51 -23
- package/docs/en/cli/doc-review.md +13 -2
- package/docs/en/configuration.md +24 -15
- package/docs/en/intlayer_with_angular_21.md +9 -9
- package/docs/en/intlayer_with_solid_start.md +1091 -0
- package/docs/en/intlayer_with_vite+solid.md +12 -0
- package/docs/en/live-sync.md +4 -0
- package/docs/en-GB/analytics.md +222 -0
- package/docs/en-GB/autoFill.md +26 -7
- package/docs/en-GB/bundle_optimization.md +58 -25
- package/docs/en-GB/configuration.md +25 -8
- package/docs/en-GB/dictionary/file.md +2 -0
- package/docs/en-GB/dictionary/nesting.md +64 -205
- package/docs/en-GB/formatters.md +146 -181
- package/docs/en-GB/intlayer_CMS.md +152 -0
- package/docs/en-GB/intlayer_with_angular_21.md +9 -9
- package/docs/en-GB/intlayer_with_nestjs.md +6 -2
- package/docs/en-GB/intlayer_with_nextjs_14.md +0 -27
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -33
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +40 -82
- package/docs/en-GB/intlayer_with_solid_start.md +1078 -0
- package/docs/en-GB/intlayer_with_vite+vue.md +1 -3
- package/docs/en-GB/live-sync.md +4 -0
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +30 -22
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +16 -48
- package/docs/en-GB/packages/vite-intlayer/exports.md +15 -0
- package/docs/en-GB/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/en-GB/self_hosting.md +60 -49
- package/docs/es/analytics.md +222 -0
- package/docs/es/autoFill.md +28 -9
- package/docs/es/bundle_optimization.md +58 -25
- package/docs/es/configuration.md +24 -7
- package/docs/es/dictionary/file.md +3 -1
- package/docs/es/dictionary/nesting.md +47 -30
- package/docs/es/formatters.md +114 -168
- package/docs/es/intlayer_CMS.md +35 -10
- package/docs/es/intlayer_with_angular_21.md +9 -9
- package/docs/es/intlayer_with_nextjs_14.md +1 -28
- package/docs/es/intlayer_with_nextjs_15.md +1 -33
- package/docs/es/intlayer_with_solid_start.md +1078 -0
- package/docs/es/live-sync.md +4 -0
- package/docs/es/packages/intlayer/getLocalizedUrl.md +31 -23
- package/docs/es/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/es/packages/vite-intlayer/exports.md +15 -0
- package/docs/es/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/es/packages/vite-intlayer/intlayerPrune.md +69 -2
- package/docs/es/releases/v9.md +0 -15
- package/docs/es/self_hosting.md +46 -49
- package/docs/fr/analytics.md +222 -0
- package/docs/fr/autoFill.md +27 -8
- package/docs/fr/bundle_optimization.md +58 -25
- package/docs/fr/configuration.md +25 -8
- package/docs/fr/dictionary/file.md +2 -0
- package/docs/fr/dictionary/nesting.md +37 -184
- package/docs/fr/formatters.md +95 -236
- package/docs/fr/intlayer_CMS.md +66 -15
- package/docs/fr/intlayer_with_angular_21.md +9 -9
- package/docs/fr/intlayer_with_nextjs_14.md +1 -28
- package/docs/fr/intlayer_with_nextjs_15.md +1 -33
- package/docs/fr/intlayer_with_solid_start.md +1078 -0
- package/docs/fr/live-sync.md +4 -0
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +37 -27
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +18 -20
- package/docs/fr/packages/vite-intlayer/exports.md +15 -0
- package/docs/fr/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/fr/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/fr/releases/v9.md +0 -15
- package/docs/fr/self_hosting.md +46 -49
- package/docs/hi/analytics.md +222 -0
- package/docs/hi/autoFill.md +28 -9
- package/docs/hi/bundle_optimization.md +58 -25
- package/docs/hi/configuration.md +25 -8
- package/docs/hi/dictionary/file.md +3 -1
- package/docs/hi/dictionary/nesting.md +47 -30
- package/docs/hi/formatters.md +233 -334
- package/docs/hi/how_works_intlayer.md +3 -1
- package/docs/hi/intlayer_CMS.md +152 -0
- package/docs/hi/intlayer_with_angular_21.md +9 -9
- package/docs/hi/intlayer_with_nestjs.md +11 -7
- package/docs/hi/intlayer_with_nextjs_14.md +1 -28
- package/docs/hi/intlayer_with_nextjs_15.md +1 -33
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +40 -83
- package/docs/hi/intlayer_with_solid_start.md +1077 -0
- package/docs/hi/intlayer_with_vite+preact.md +56 -49
- package/docs/hi/intlayer_with_vite+react.md +48 -41
- package/docs/hi/intlayer_with_vite+solid.md +32 -41
- package/docs/hi/intlayer_with_vite+vue.md +49 -44
- package/docs/hi/live-sync.md +4 -0
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/hi/packages/next-intlayer/t.md +33 -1
- package/docs/hi/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/hi/packages/vite-intlayer/exports.md +15 -0
- package/docs/hi/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/hi/packages/vite-intlayer/intlayerPrune.md +78 -5
- package/docs/hi/plugins/sync-json.md +9 -9
- package/docs/hi/releases/v9.md +0 -15
- package/docs/hi/self_hosting.md +38 -51
- package/docs/id/analytics.md +223 -0
- package/docs/id/bundle_optimization.md +58 -25
- package/docs/id/configuration.md +25 -8
- package/docs/id/dictionary/nesting.md +37 -184
- package/docs/id/formatters.md +208 -305
- package/docs/id/intlayer_CMS.md +164 -0
- package/docs/id/intlayer_with_angular_21.md +9 -9
- package/docs/id/intlayer_with_nextjs_14.md +1 -26
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +70 -63
- package/docs/id/intlayer_with_solid_start.md +1078 -0
- package/docs/id/live-sync.md +4 -0
- package/docs/id/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/id/packages/react-intlayer/useIntlayer.md +2 -2
- package/docs/id/packages/vite-intlayer/exports.md +15 -0
- package/docs/id/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/id/packages/vite-intlayer/intlayerPrune.md +78 -5
- package/docs/id/releases/v9.md +12 -0
- package/docs/id/self_hosting.md +61 -50
- package/docs/it/analytics.md +222 -0
- package/docs/it/autoFill.md +27 -8
- package/docs/it/bundle_optimization.md +58 -25
- package/docs/it/configuration.md +25 -8
- package/docs/it/dictionary/file.md +3 -1
- package/docs/it/dictionary/nesting.md +47 -30
- package/docs/it/formatters.md +114 -168
- package/docs/it/intlayer_CMS.md +66 -15
- package/docs/it/intlayer_with_angular_21.md +9 -9
- package/docs/it/intlayer_with_nestjs.md +11 -7
- package/docs/it/intlayer_with_nextjs_14.md +1 -28
- package/docs/it/intlayer_with_nextjs_15.md +1 -33
- package/docs/it/intlayer_with_solid_start.md +1078 -0
- package/docs/it/intlayer_with_vite+vue.md +1 -3
- package/docs/it/live-sync.md +4 -0
- package/docs/it/packages/intlayer/getLocalizedUrl.md +34 -26
- package/docs/it/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/it/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/it/packages/vite-intlayer/exports.md +15 -0
- package/docs/it/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/it/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/it/releases/v9.md +0 -15
- package/docs/it/self_hosting.md +60 -49
- package/docs/ja/analytics.md +222 -0
- package/docs/ja/autoFill.md +28 -9
- package/docs/ja/bundle_optimization.md +58 -25
- package/docs/ja/configuration.md +25 -8
- package/docs/ja/dictionary/content_file.md +15 -7
- package/docs/ja/dictionary/file.md +3 -1
- package/docs/ja/dictionary/nesting.md +47 -30
- package/docs/ja/formatters.md +133 -187
- package/docs/ja/intlayer_visual_editor.md +3 -1
- package/docs/ja/intlayer_with_angular_21.md +6 -6
- package/docs/ja/intlayer_with_nestjs.md +2 -12
- package/docs/ja/intlayer_with_nextjs_14.md +1 -28
- package/docs/ja/intlayer_with_nextjs_15.md +1 -33
- package/docs/ja/intlayer_with_react_router_v7.md +456 -20
- package/docs/ja/intlayer_with_solid_start.md +1078 -0
- package/docs/ja/intlayer_with_vite+preact.md +73 -41
- package/docs/ja/intlayer_with_vite+vue.md +1 -3
- package/docs/ja/live-sync.md +4 -0
- package/docs/ja/mcp_server.md +3 -9
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +3 -17
- package/docs/ja/packages/vite-intlayer/exports.md +15 -0
- package/docs/ja/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ja/packages/vite-intlayer/intlayerPrune.md +79 -6
- package/docs/ja/releases/v9.md +12 -0
- package/docs/ja/self_hosting.md +46 -50
- package/docs/ko/analytics.md +222 -0
- package/docs/ko/autoFill.md +28 -9
- package/docs/ko/bundle_optimization.md +58 -25
- package/docs/ko/configuration.md +25 -8
- package/docs/ko/dictionary/file.md +3 -1
- package/docs/ko/dictionary/nesting.md +47 -30
- package/docs/ko/formatters.md +133 -187
- package/docs/ko/intlayer_with_angular_21.md +9 -9
- package/docs/ko/intlayer_with_lynx+react.md +133 -39
- package/docs/ko/intlayer_with_nextjs_14.md +1 -28
- package/docs/ko/intlayer_with_nextjs_15.md +1 -33
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +40 -188
- package/docs/ko/intlayer_with_solid_start.md +1078 -0
- package/docs/ko/intlayer_with_vite+preact.md +57 -23
- package/docs/ko/intlayer_with_vite+vue.md +1 -3
- package/docs/ko/live-sync.md +4 -0
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/ko/packages/vite-intlayer/exports.md +15 -0
- package/docs/ko/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ko/packages/vite-intlayer/intlayerPrune.md +79 -6
- package/docs/ko/releases/v9.md +12 -0
- package/docs/ko/self_hosting.md +60 -49
- package/docs/nl/bundle_optimization.md +58 -25
- package/docs/nl/configuration.md +25 -8
- package/docs/nl/intlayer_with_angular_21.md +9 -9
- package/docs/pl/analytics.md +220 -0
- package/docs/pl/bundle_optimization.md +58 -25
- package/docs/pl/configuration.md +25 -8
- package/docs/pl/dictionary/nesting.md +47 -30
- package/docs/pl/formatters.md +208 -305
- package/docs/pl/intlayer_CMS.md +152 -0
- package/docs/pl/intlayer_with_angular_21.md +9 -9
- package/docs/pl/intlayer_with_nextjs_14.md +1 -26
- package/docs/pl/intlayer_with_solid_start.md +1078 -0
- package/docs/pl/live-sync.md +4 -0
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/pl/packages/react-intlayer/useDictionary.md +2 -19
- package/docs/pl/packages/vite-intlayer/exports.md +15 -0
- package/docs/pl/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/pl/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/pl/releases/v9.md +0 -15
- package/docs/pl/self_hosting.md +60 -49
- package/docs/pt/analytics.md +222 -0
- package/docs/pt/bundle_optimization.md +58 -24
- package/docs/pt/configuration.md +25 -8
- package/docs/pt/dictionary/file.md +3 -1
- package/docs/pt/dictionary/nesting.md +47 -30
- package/docs/pt/formatters.md +112 -168
- package/docs/pt/intlayer_CMS.md +66 -15
- package/docs/pt/intlayer_with_angular_21.md +9 -9
- package/docs/pt/intlayer_with_astro_lit.md +26 -1
- package/docs/pt/intlayer_with_nextjs_14.md +1 -28
- package/docs/pt/intlayer_with_nextjs_15.md +1 -33
- package/docs/pt/intlayer_with_solid_start.md +1078 -0
- package/docs/pt/intlayer_with_vite+vue.md +1 -3
- package/docs/pt/live-sync.md +4 -0
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +34 -26
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/pt/packages/vite-intlayer/exports.md +15 -0
- package/docs/pt/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/pt/packages/vite-intlayer/intlayerPrune.md +78 -6
- package/docs/pt/releases/v9.md +0 -15
- package/docs/pt/self_hosting.md +60 -49
- package/docs/ru/analytics.md +222 -0
- package/docs/ru/autoFill.md +27 -8
- package/docs/ru/bundle_optimization.md +58 -25
- package/docs/ru/configuration.md +25 -8
- package/docs/ru/dictionary/file.md +3 -1
- package/docs/ru/dictionary/nesting.md +64 -205
- package/docs/ru/formatters.md +108 -128
- package/docs/ru/intlayer_with_angular_21.md +9 -9
- package/docs/ru/intlayer_with_nextjs_14.md +1 -28
- package/docs/ru/intlayer_with_nextjs_15.md +1 -33
- package/docs/ru/intlayer_with_solid_start.md +1078 -0
- package/docs/ru/intlayer_with_vite+vue.md +1 -3
- package/docs/ru/live-sync.md +4 -0
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +34 -26
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/ru/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/ru/packages/vite-intlayer/exports.md +15 -0
- package/docs/ru/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ru/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/ru/releases/v9.md +0 -15
- package/docs/ru/self_hosting.md +60 -49
- package/docs/tr/analytics.md +222 -0
- package/docs/tr/autoFill.md +28 -9
- package/docs/tr/bundle_optimization.md +58 -25
- package/docs/tr/configuration.md +25 -8
- package/docs/tr/dictionary/file.md +2 -0
- package/docs/tr/dictionary/nesting.md +47 -30
- package/docs/tr/formatters.md +144 -190
- package/docs/tr/intlayer_CMS.md +152 -0
- package/docs/tr/intlayer_with_angular_21.md +9 -9
- package/docs/tr/intlayer_with_nestjs.md +2 -12
- package/docs/tr/intlayer_with_nextjs_15.md +1 -33
- package/docs/tr/intlayer_with_solid_start.md +1078 -0
- package/docs/tr/intlayer_with_vite+vue.md +1 -3
- package/docs/tr/live-sync.md +4 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/tr/packages/vite-intlayer/exports.md +15 -0
- package/docs/tr/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/tr/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/tr/self_hosting.md +47 -50
- package/docs/uk/analytics.md +222 -0
- package/docs/uk/bundle_optimization.md +58 -25
- package/docs/uk/configuration.md +25 -8
- package/docs/uk/dictionary/nesting.md +47 -30
- package/docs/uk/formatters.md +128 -185
- package/docs/uk/intlayer_CMS.md +152 -0
- package/docs/uk/intlayer_with_angular_21.md +9 -9
- package/docs/uk/intlayer_with_nextjs_14.md +1 -26
- package/docs/uk/intlayer_with_solid_start.md +1078 -0
- package/docs/uk/live-sync.md +4 -0
- package/docs/uk/packages/react-intlayer/useDictionary.md +2 -19
- package/docs/uk/packages/vite-intlayer/exports.md +15 -0
- package/docs/uk/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/uk/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/uk/releases/v9.md +0 -15
- package/docs/uk/self_hosting.md +60 -50
- package/docs/ur/bundle_optimization.md +58 -25
- package/docs/ur/configuration.md +25 -8
- package/docs/ur/intlayer_with_angular_21.md +9 -9
- package/docs/vi/analytics.md +222 -0
- package/docs/vi/bundle_optimization.md +58 -25
- package/docs/vi/configuration.md +24 -8
- package/docs/vi/dictionary/nesting.md +37 -184
- package/docs/vi/formatters.md +208 -309
- package/docs/vi/intlayer_CMS.md +164 -0
- package/docs/vi/intlayer_with_angular_21.md +9 -9
- package/docs/vi/intlayer_with_nextjs_14.md +0 -25
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +70 -63
- package/docs/vi/intlayer_with_solid_start.md +1078 -0
- package/docs/vi/live-sync.md +4 -0
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/vi/packages/react-intlayer/useIntlayer.md +2 -2
- package/docs/vi/packages/vite-intlayer/exports.md +15 -0
- package/docs/vi/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/vi/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/vi/plugins/sync-json.md +6 -6
- package/docs/vi/releases/v9.md +12 -0
- package/docs/vi/self_hosting.md +61 -50
- package/docs/zh/CI_CD.md +4 -0
- package/docs/zh/analytics.md +222 -0
- package/docs/zh/autoFill.md +28 -9
- package/docs/zh/bundle_optimization.md +58 -25
- package/docs/zh/configuration.md +24 -8
- package/docs/zh/dictionary/file.md +2 -0
- package/docs/zh/dictionary/nesting.md +47 -30
- package/docs/zh/formatters.md +140 -188
- package/docs/zh/intlayer_CMS.md +164 -0
- package/docs/zh/intlayer_with_analog.md +193 -3
- package/docs/zh/intlayer_with_angular_19.md +272 -3
- package/docs/zh/intlayer_with_angular_21.md +7 -7
- package/docs/zh/intlayer_with_create_react_app.md +348 -26
- package/docs/zh/intlayer_with_lynx+react.md +263 -4
- package/docs/zh/intlayer_with_nextjs_14.md +1 -28
- package/docs/zh/intlayer_with_nextjs_15.md +1 -33
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +558 -1
- package/docs/zh/intlayer_with_nuxt.md +182 -7
- package/docs/zh/intlayer_with_react_router_v7.md +183 -25
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +306 -42
- package/docs/zh/intlayer_with_solid_start.md +1077 -0
- package/docs/zh/intlayer_with_storybook.md +260 -3
- package/docs/zh/intlayer_with_svelte_kit.md +428 -48
- package/docs/zh/intlayer_with_tanstack+solid.md +713 -13
- package/docs/zh/intlayer_with_tanstack.md +731 -20
- package/docs/zh/intlayer_with_vanilla.md +314 -4
- package/docs/zh/intlayer_with_vite+lit.md +465 -4
- package/docs/zh/intlayer_with_vite+preact.md +422 -116
- package/docs/zh/intlayer_with_vite+react.md +324 -45
- package/docs/zh/intlayer_with_vite+react_compiler.md +228 -13
- package/docs/zh/intlayer_with_vite+solid.md +462 -32
- package/docs/zh/intlayer_with_vite+vanilla.md +497 -4
- package/docs/zh/live-sync.md +4 -0
- package/docs/zh/mcp_server.md +3 -9
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/zh/packages/vite-intlayer/exports.md +29 -0
- package/docs/zh/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/zh/packages/vite-intlayer/intlayerPrune.md +79 -6
- package/docs/zh/releases/v9.md +12 -0
- package/docs/zh/self_hosting.md +60 -50
- package/docs/zh-TW/bundle_optimization.md +58 -25
- package/docs/zh-TW/intlayer_with_angular_21.md +7 -7
- package/package.json +7 -7
- package/src/common.ts +39 -2
- package/src/generated/blog.entry.ts +66 -34
- package/src/generated/docs.entry.ts +273 -221
- package/src/generated/frequentQuestions.entry.ts +56 -24
- package/src/generated/legal.entry.ts +41 -9
|
@@ -67,9 +67,218 @@ Intlayer 不仅仅是一个 i18n 解决方案,还提供了一个**自托管的
|
|
|
67
67
|
|
|
68
68
|
---
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
### Packages
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
- **intlayer**
|
|
73
|
+
用于配置、字典内容、类型生成和 CLI 命令的核心 i18n 工具包。
|
|
74
|
+
|
|
75
|
+
- **react-intlayer**
|
|
76
|
+
React 集成,提供上下文提供者和 React hooks,您将在 Lynx 中使用它们来获取和切换语言环境。
|
|
77
|
+
|
|
78
|
+
- **lynx-intlayer**
|
|
79
|
+
Lynx 集成,提供用于将 Intlayer 与 Lynx bundler 集成的插件。
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
</Step>
|
|
84
|
+
|
|
85
|
+
<Step number={2} title="创建 Intlayer 配置">
|
|
86
|
+
|
|
87
|
+
在您的项目根目录(或任何方便的位置)中,创建一个 **Intlayer 配置**文件。它可能如下所示:
|
|
88
|
+
|
|
89
|
+
```ts fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
90
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
91
|
+
|
|
92
|
+
const config: IntlayerConfig = {
|
|
93
|
+
internationalization: {
|
|
94
|
+
locales: [
|
|
95
|
+
Locales.ENGLISH,
|
|
96
|
+
Locales.FRENCH,
|
|
97
|
+
Locales.SPANISH,
|
|
98
|
+
// ... 添加您需要的任何其他语言环境
|
|
99
|
+
],
|
|
100
|
+
defaultLocale: Locales.ENGLISH,
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export default config;
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
在此配置中,您可以:
|
|
108
|
+
|
|
109
|
+
- 配置您的**受支持语言环境列表**。
|
|
110
|
+
- 设置**默认**语言环境。
|
|
111
|
+
- 稍后,您可以添加更多高级选项(例如,日志、自定义内容目录等)。
|
|
112
|
+
- 有关更多信息,请参阅 [Intlayer 配置文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)。
|
|
113
|
+
|
|
114
|
+
</Step>
|
|
115
|
+
|
|
116
|
+
<Step number={3} title="将 Intlayer 插件添加到 Lynx bundler">
|
|
117
|
+
|
|
118
|
+
要在 Lynx 中使用 Intlayer,您需要将插件添加到您的 `lynx.config.ts` 文件中:
|
|
119
|
+
|
|
120
|
+
```ts fileName="lynx.config.ts"
|
|
121
|
+
import { defineConfig } from "@lynx-js/rspeedy";
|
|
122
|
+
import { pluginIntlayerLynx } from "lynx-intlayer/plugin";
|
|
123
|
+
|
|
124
|
+
export default defineConfig({
|
|
125
|
+
plugins: [
|
|
126
|
+
// ... 其他插件
|
|
127
|
+
pluginIntlayerLynx(),
|
|
128
|
+
],
|
|
129
|
+
});
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
</Step>
|
|
133
|
+
|
|
134
|
+
<Step number={4} title="添加 Intlayer 提供者">
|
|
135
|
+
|
|
136
|
+
为了在您的应用程序中保持用户语言同步,您需要使用 `react-intlayer` 中的 `IntlayerProvider` 组件包装您的根组件。
|
|
137
|
+
|
|
138
|
+
此外,您需要添加 `intlayerPolyfill` 函数文件以确保 Intlayer 能正常工作。
|
|
139
|
+
|
|
140
|
+
```tsx fileName="src/index.tsx"
|
|
141
|
+
import { root } from "@lynx-js/react";
|
|
142
|
+
|
|
143
|
+
import { App } from "./App.js";
|
|
144
|
+
import { IntlayerProvider } from "react-intlayer";
|
|
145
|
+
import { intlayerPolyfill } from "lynx-intlayer";
|
|
146
|
+
|
|
147
|
+
intlayerPolyfill();
|
|
148
|
+
|
|
149
|
+
root.render(
|
|
150
|
+
<IntlayerProvider>
|
|
151
|
+
<App />
|
|
152
|
+
</IntlayerProvider>
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
if (import.meta.webpackHot) {
|
|
156
|
+
import.meta.webpackHot.accept();
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
</Step>
|
|
161
|
+
|
|
162
|
+
<Step number={5} title="声明您的内容">
|
|
163
|
+
|
|
164
|
+
在您的项目中的任何位置(通常在 `src/` 中)创建**内容声明**文件,使用 Intlayer 支持的任何扩展格式:
|
|
165
|
+
|
|
166
|
+
- `.content.json`
|
|
167
|
+
- `.content.jsonc`
|
|
168
|
+
- `.content.json5`
|
|
169
|
+
- `.content.ts`
|
|
170
|
+
- `.content.tsx`
|
|
171
|
+
- `.content.js`
|
|
172
|
+
- `.content.jsx`
|
|
173
|
+
- `.content.mjs`
|
|
174
|
+
- `.content.mjx`
|
|
175
|
+
- `.content.cjs`
|
|
176
|
+
- `.content.md`
|
|
177
|
+
- `.content.mdx`
|
|
178
|
+
- `.content.yaml`
|
|
179
|
+
- `.content.yml`
|
|
180
|
+
- 等等
|
|
181
|
+
|
|
182
|
+
示例:
|
|
183
|
+
|
|
184
|
+
```tsx fileName="src/app.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
185
|
+
import { t, type Dictionary } from "intlayer";
|
|
186
|
+
|
|
187
|
+
const appContent = {
|
|
188
|
+
key: "app",
|
|
189
|
+
content: {
|
|
190
|
+
title: "React",
|
|
191
|
+
subtitle: t({
|
|
192
|
+
zh: "在 Lynx 上",
|
|
193
|
+
en: "on Lynx",
|
|
194
|
+
fr: "sur Lynx",
|
|
195
|
+
es: "en Lynx",
|
|
196
|
+
}),
|
|
197
|
+
description: t({
|
|
198
|
+
zh: "点击徽标并享受乐趣!",
|
|
199
|
+
en: "Tap the logo and have fun!",
|
|
200
|
+
fr: "Appuyez sur le logo et amusez-vous!",
|
|
201
|
+
es: "¡Toca el logo y diviértete!",
|
|
202
|
+
}),
|
|
203
|
+
hint: [
|
|
204
|
+
t({
|
|
205
|
+
zh: "编辑",
|
|
206
|
+
en: "Edit",
|
|
207
|
+
fr: "Modifier",
|
|
208
|
+
es: "Editar",
|
|
209
|
+
}),
|
|
210
|
+
" src/App.tsx ",
|
|
211
|
+
t({
|
|
212
|
+
zh: "以查看更新!",
|
|
213
|
+
en: "to see updates!",
|
|
214
|
+
fr: "pour voir les mises à jour!",
|
|
215
|
+
es: "para ver actualizaciones!",
|
|
216
|
+
}),
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
} satisfies Dictionary;
|
|
220
|
+
|
|
221
|
+
export default appContent;
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
225
|
+
{
|
|
226
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
227
|
+
"key": "app",
|
|
228
|
+
"content": {
|
|
229
|
+
"title": "React",
|
|
230
|
+
"subtitle": {
|
|
231
|
+
"nodeType": "translation",
|
|
232
|
+
"translation": {
|
|
233
|
+
"zh": "在 Lynx 上",
|
|
234
|
+
"en": "on Lynx",
|
|
235
|
+
"fr": "sur Lynx",
|
|
236
|
+
"es": "en Lynx"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"description": {
|
|
240
|
+
"nodeType": "translation",
|
|
241
|
+
"translation": {
|
|
242
|
+
"zh": "点击徽标并享受乐趣!",
|
|
243
|
+
"en": "Tap the logo and have fun!",
|
|
244
|
+
"fr": "Appuyez sur le logo et amusez-vous!",
|
|
245
|
+
"es": "¡Toca el logo y diviértete!"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"hint": [
|
|
249
|
+
{
|
|
250
|
+
"nodeType": "translation",
|
|
251
|
+
"translation": {
|
|
252
|
+
"zh": "编辑",
|
|
253
|
+
"en": "Edit",
|
|
254
|
+
"fr": "Modifier",
|
|
255
|
+
"es": "Editar"
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
" src/App.tsx ",
|
|
259
|
+
{
|
|
260
|
+
"nodeType": "translation",
|
|
261
|
+
"translation": {
|
|
262
|
+
"zh": "以查看更新!",
|
|
263
|
+
"en": "to see updates!",
|
|
264
|
+
"fr": "pour voir les mises à jour!",
|
|
265
|
+
"es": "para ver actualizaciones!"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
]
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
> 有关内容声明的详细信息,请参阅 [Intlayer 的内容文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)。
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
</Step>
|
|
278
|
+
|
|
279
|
+
<Step number={6} title="在您的组件中使用 Intlayer">
|
|
280
|
+
|
|
281
|
+
在子组件中使用 `useIntlayer` hook 来获取本地化内容。
|
|
73
282
|
|
|
74
283
|
```tsx fileName="src/App.tsx"
|
|
75
284
|
import { useCallback, useState } from "@lynx-js/react";
|
|
@@ -84,8 +293,9 @@ import { LocaleSwitcher } from "./components/LocaleSwitcher.jsx";
|
|
|
84
293
|
export const App = () => {
|
|
85
294
|
const [alterLogo, setAlterLogo] = useState(false);
|
|
86
295
|
const { title, subtitle, description, hint } = useIntlayer("app");
|
|
296
|
+
|
|
87
297
|
const onTap = useCallback(() => {
|
|
88
|
-
|
|
298
|
+
"background only";
|
|
89
299
|
setAlterLogo(!alterLogo);
|
|
90
300
|
}, [alterLogo]);
|
|
91
301
|
|
|
@@ -121,10 +331,59 @@ export const App = () => {
|
|
|
121
331
|
};
|
|
122
332
|
```
|
|
123
333
|
|
|
124
|
-
>
|
|
334
|
+
> 在基于字符串的 props 中使用 `content.someKey` 时(例如,按钮的 `title` 或 `Text` 组件的 `children`),**调用 `content.someKey.value`** 来获取实际字符串。
|
|
125
335
|
|
|
126
336
|
---
|
|
127
337
|
|
|
338
|
+
</Step>
|
|
339
|
+
|
|
340
|
+
<Step number={7} title="更改应用语言环境" isOptional={true}>
|
|
341
|
+
|
|
342
|
+
要从您的组件中切换语言环境,您可以使用 `useLocale` hook 的 `setLocale` 方法:
|
|
343
|
+
|
|
344
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx"
|
|
345
|
+
import { type FC } from "react";
|
|
346
|
+
import { getLocaleName } from "intlayer";
|
|
347
|
+
import { useLocale } from "react-intlayer";
|
|
348
|
+
|
|
349
|
+
export const LocaleSwitcher: FC = () => {
|
|
350
|
+
const { setLocale, availableLocales, locale } = useLocale();
|
|
351
|
+
|
|
352
|
+
return (
|
|
353
|
+
<view
|
|
354
|
+
style={{
|
|
355
|
+
display: "flex",
|
|
356
|
+
flexDirection: "row",
|
|
357
|
+
justifyContent: "center",
|
|
358
|
+
alignItems: "center",
|
|
359
|
+
gap: 10,
|
|
360
|
+
}}
|
|
361
|
+
>
|
|
362
|
+
{availableLocales.map((localeEl) => (
|
|
363
|
+
<text
|
|
364
|
+
key={localeEl}
|
|
365
|
+
style={{
|
|
366
|
+
color: localeEl === locale ? "#fff" : "#888",
|
|
367
|
+
fontSize: "12px",
|
|
368
|
+
}}
|
|
369
|
+
bindtap={() => setLocale(localeEl)}
|
|
370
|
+
>
|
|
371
|
+
{getLocaleName(localeEl)}
|
|
372
|
+
</text>
|
|
373
|
+
))}
|
|
374
|
+
</view>
|
|
375
|
+
);
|
|
376
|
+
};
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
这会触发所有使用 Intlayer 内容的组件的重新渲染,现在显示新语言环境的翻译。
|
|
380
|
+
|
|
381
|
+
> 有关更多详细信息,请参阅 [`useLocale` 文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/react-intlayer/useLocale.md)。
|
|
382
|
+
|
|
383
|
+
</Step>
|
|
384
|
+
|
|
385
|
+
</Steps>
|
|
386
|
+
|
|
128
387
|
## 配置 TypeScript(如果您使用 TypeScript)
|
|
129
388
|
|
|
130
389
|
Intlayer 在一个隐藏文件夹中生成类型定义(默认是 `.intlayer`),以改进自动补全并捕获翻译错误:
|
|
@@ -30,34 +30,7 @@ history:
|
|
|
30
30
|
author: aymericzip
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
-
# 使用Intlayer翻译您的Next.js 14
|
|
34
|
-
|
|
35
|
-
<Tabs defaultTab="code">
|
|
36
|
-
<Tab label="代码" value="code">
|
|
37
|
-
|
|
38
|
-
<iframe
|
|
39
|
-
src="https://ide.intlayer.org/aymericzip/intlayer-next-14-template?file=intlayer.config.ts"
|
|
40
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
41
|
-
title="Demo CodeSandbox - Intlayer"
|
|
42
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
43
|
-
loading="lazy"
|
|
44
|
-
/>
|
|
45
|
-
|
|
46
|
-
</Tab>
|
|
47
|
-
<Tab label="演示" value="demo">
|
|
48
|
-
|
|
49
|
-
<iframe
|
|
50
|
-
src="https://intlayer-next-14-template.vercel.app"
|
|
51
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
52
|
-
title="演示 - intlayer-next-14-template"
|
|
53
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
54
|
-
loading="lazy"
|
|
55
|
-
/>
|
|
56
|
-
|
|
57
|
-
</Tab>
|
|
58
|
-
</Tabs>
|
|
59
|
-
|
|
60
|
-
请参阅 GitHub 上的[应用模板](https://github.com/aymericzip/intlayer-next-14-template)。
|
|
33
|
+
# 使用 Intlayer 翻译您的 Next.js 14 和 App Router 网站 | 国际化 (i18n)
|
|
61
34
|
|
|
62
35
|
## 目录
|
|
63
36
|
|
|
@@ -31,39 +31,7 @@ history:
|
|
|
31
31
|
author: aymericzip
|
|
32
32
|
---
|
|
33
33
|
|
|
34
|
-
# 使用Intlayer翻译您的Next.js 15 | 国际化(i18n)
|
|
35
|
-
|
|
36
|
-
<Tabs defaultTab="video">
|
|
37
|
-
<Tab label="视频" value="video">
|
|
38
|
-
|
|
39
|
-
<iframe title="Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
40
|
-
|
|
41
|
-
</Tab>
|
|
42
|
-
<Tab label="代码" value="code">
|
|
43
|
-
|
|
44
|
-
<iframe
|
|
45
|
-
src="https://ide.intlayer.org/aymericzip/intlayer-next-15-template?file=intlayer.config.ts"
|
|
46
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
47
|
-
title="Demo CodeSandbox - Intlayer"
|
|
48
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
49
|
-
loading="lazy"
|
|
50
|
-
/>
|
|
51
|
-
|
|
52
|
-
</Tab>
|
|
53
|
-
<Tab label="演示" value="demo">
|
|
54
|
-
|
|
55
|
-
<iframe
|
|
56
|
-
src="https://next-15-intlayer-template-xt83.vercel.app"
|
|
57
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
58
|
-
title="演示 - intlayer-next-15-template"
|
|
59
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
60
|
-
loading="lazy"
|
|
61
|
-
/>
|
|
62
|
-
|
|
63
|
-
</Tab>
|
|
64
|
-
</Tabs>
|
|
65
|
-
|
|
66
|
-
请参阅 GitHub 上的[应用模板](https://github.com/aymericzip/intlayer-next-15-template)。
|
|
34
|
+
# 使用 Intlayer 翻译您的 Next.js 15 网站 | 国际化 (i18n)
|
|
67
35
|
|
|
68
36
|
## 目录
|
|
69
37
|
|