@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
|
@@ -749,41 +749,90 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
749
749
|
Link.displayName = "Link";
|
|
750
750
|
```
|
|
751
751
|
|
|
752
|
-
|
|
752
|
+
#### 動作方法
|
|
753
753
|
|
|
754
|
-
|
|
754
|
+
- **外部リンクの検出**:
|
|
755
|
+
ヘルパー関数 `checkIsExternalLink` は、URL が外部かどうかを判定します。外部リンクはローカライズが不要なため、変更されません。
|
|
756
|
+
- **現在のロケールの取得**:
|
|
757
|
+
`useLocale` フックが現在のロケール(例:フランス語の場合 `fr`)を提供します。
|
|
758
|
+
- **URL のローカライズ**:
|
|
759
|
+
内部リンク(つまり外部ではないリンク)の場合、`getLocalizedUrl` を使用して、URL に現在のロケールを自動的にプレフィックスします。つまり、ユーザーがフランス語を使用している場合、`href` として `/about` を渡すと `/fr/about` に変換されます。
|
|
760
|
+
- **リンクの返却**:
|
|
761
|
+
コンポーネントはローカライズされた URL を含む `<a>` 要素を返し、ナビゲーションがロケールと一貫していることを確認します。
|
|
762
|
+
|
|
763
|
+
</Step>
|
|
764
|
+
|
|
765
|
+
<Step number={11} title="Markdown と HTML をレンダリング" isOptional={true}>
|
|
766
|
+
|
|
767
|
+
Intlayer は Preact での Markdown および HTML コンテンツのレンダリングをサポートしています。
|
|
768
|
+
|
|
769
|
+
`.use()` メソッドを使用して、Markdown および HTML コンテンツのレンダリングをカスタマイズできます。このメソッドにより、特定のタグのデフォルトレンダリングをオーバーライドできます。
|
|
770
|
+
|
|
771
|
+
```tsx
|
|
772
|
+
import { useIntlayer } from "preact-intlayer";
|
|
773
|
+
|
|
774
|
+
const { myMarkdownContent, myHtmlContent } = useIntlayer("my-component");
|
|
755
775
|
|
|
756
|
-
|
|
776
|
+
// ...
|
|
777
|
+
|
|
778
|
+
return (
|
|
779
|
+
<div>
|
|
780
|
+
{/* 基本的なレンダリング */}
|
|
781
|
+
{myMarkdownContent}
|
|
782
|
+
|
|
783
|
+
{/* Markdown のカスタムレンダリング */}
|
|
784
|
+
{myMarkdownContent.use({
|
|
785
|
+
h1: (props) => <h1 style={{ color: "red" }} {...props} />,
|
|
786
|
+
})}
|
|
787
|
+
|
|
788
|
+
{/* HTML の基本的なレンダリング */}
|
|
789
|
+
{myHtmlContent}
|
|
790
|
+
|
|
791
|
+
{/* HTML のカスタムレンダリング */}
|
|
792
|
+
{myHtmlContent.use({
|
|
793
|
+
b: (props) => <strong style={{ color: "blue" }} {...props} />,
|
|
794
|
+
})}
|
|
795
|
+
</div>
|
|
796
|
+
);
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
</Step>
|
|
757
800
|
|
|
758
|
-
|
|
801
|
+
<Step number={12} title="コンポーネントのコンテンツを抽出する" isOptional={true}>
|
|
759
802
|
|
|
760
|
-
|
|
803
|
+
既存の codebase がある場合、数千のファイルを変換するのは時間がかかる可能性があります。
|
|
761
804
|
|
|
762
|
-
|
|
805
|
+
このプロセスを簡素化するために、Intlayer は[コンパイラ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/compiler.md) / [エクストラクタ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/extract.md)を提供して、コンポーネントを変換し、コンテンツを抽出します。
|
|
806
|
+
|
|
807
|
+
これを設定するには、`intlayer.config.ts` ファイルに `compiler` セクションを追加できます:
|
|
763
808
|
|
|
764
809
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
765
810
|
import { type IntlayerConfig } from "intlayer";
|
|
766
811
|
|
|
767
812
|
const config: IntlayerConfig = {
|
|
768
|
-
// ...
|
|
813
|
+
// ... 残りの設定
|
|
769
814
|
compiler: {
|
|
770
815
|
/**
|
|
771
|
-
*
|
|
816
|
+
* コンパイラを有効にするかどうかを示します。
|
|
772
817
|
*/
|
|
773
818
|
enabled: true,
|
|
774
819
|
|
|
775
820
|
/**
|
|
776
|
-
*
|
|
821
|
+
* 出力ファイルパスを定義します
|
|
777
822
|
*/
|
|
778
823
|
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
779
824
|
|
|
780
825
|
/**
|
|
781
|
-
*
|
|
826
|
+
* 変換後、コンポーネントを保存するかどうかを示します。
|
|
827
|
+
*
|
|
828
|
+
* - `true` の場合、コンパイラはディスク上のコンポーネントファイルを上書きします。したがって、変換は永続的になり、コンパイラは次のプロセスで変換をスキップします。このように、コンパイラはアプリを変換してから削除できます。
|
|
829
|
+
*
|
|
830
|
+
* - `false` の場合、コンパイラはビルド出力のコード内にのみ `useIntlayer()` 関数呼び出しを挿入し、ベース codebase をそのままにします。変換はメモリ内でのみ行われます。
|
|
782
831
|
*/
|
|
783
832
|
saveComponents: false,
|
|
784
833
|
|
|
785
834
|
/**
|
|
786
|
-
*
|
|
835
|
+
* 辞書キープレフィックス
|
|
787
836
|
*/
|
|
788
837
|
dictionaryKeyPrefix: "",
|
|
789
838
|
},
|
|
@@ -793,9 +842,9 @@ export default config;
|
|
|
793
842
|
```
|
|
794
843
|
|
|
795
844
|
<Tabs>
|
|
796
|
-
<Tab value='
|
|
845
|
+
<Tab value='Extract command'>
|
|
797
846
|
|
|
798
|
-
|
|
847
|
+
エクストラクタを実行してコンポーネントを変換し、コンテンツを抽出します
|
|
799
848
|
|
|
800
849
|
```bash packageManager="npm"
|
|
801
850
|
npx intlayer extract
|
|
@@ -814,39 +863,22 @@ bun x intlayer extract
|
|
|
814
863
|
```
|
|
815
864
|
|
|
816
865
|
</Tab>
|
|
817
|
-
<Tab value='Babel
|
|
818
|
-
|
|
819
|
-
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
820
|
-
|
|
821
|
-
```bash packageManager="npm"
|
|
822
|
-
npm install @intlayer/babel --save-dev
|
|
823
|
-
```
|
|
824
|
-
|
|
825
|
-
```bash packageManager="pnpm"
|
|
826
|
-
pnpm add @intlayer/babel --save-dev
|
|
827
|
-
```
|
|
866
|
+
<Tab value='Babel compiler'>
|
|
828
867
|
|
|
829
|
-
|
|
830
|
-
yarn add @intlayer/babel --save-dev
|
|
831
|
-
```
|
|
868
|
+
> v9 以降、`intlayerCompiler` は `intlayer` プラグインに含まれています。したがって、手動で追加する必要はありません。
|
|
832
869
|
|
|
833
|
-
|
|
834
|
-
bun add @intlayer/babel --dev
|
|
835
|
-
```
|
|
870
|
+
`vite.config.ts` を更新して、`intlayerCompiler` プラグインを含めます:
|
|
836
871
|
|
|
837
|
-
```
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
getExtractPluginOptions,
|
|
841
|
-
} = require("@intlayer/babel");
|
|
872
|
+
```ts fileName="vite.config.ts"
|
|
873
|
+
import { defineConfig } from "vite";
|
|
874
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
842
875
|
|
|
843
|
-
|
|
844
|
-
presets: ["next/babel"],
|
|
876
|
+
export default defineConfig({
|
|
845
877
|
plugins: [
|
|
846
|
-
|
|
847
|
-
|
|
878
|
+
intlayer(),
|
|
879
|
+
intlayerCompiler(), // コンパイラプラグインを追加
|
|
848
880
|
],
|
|
849
|
-
};
|
|
881
|
+
});
|
|
850
882
|
```
|
|
851
883
|
|
|
852
884
|
```bash packageManager="npm"
|
|
@@ -862,7 +894,7 @@ yarn build # または yarn dev
|
|
|
862
894
|
```
|
|
863
895
|
|
|
864
896
|
```bash packageManager="bun"
|
|
865
|
-
bun run build #
|
|
897
|
+
bun run build # または bun run dev
|
|
866
898
|
```
|
|
867
899
|
|
|
868
900
|
</Tab>
|
package/docs/ja/live-sync.md
CHANGED
package/docs/ja/mcp_server.md
CHANGED
|
@@ -252,20 +252,14 @@ ChatGPT で MCP サーバーを設定するには、[公式ドキュメント](h
|
|
|
252
252
|
|
|
253
253
|
[公式ドキュメント](https://modelcontextprotocol.io/quickstart/user)に従って、Claude Code で MCP サーバーを設定してください。
|
|
254
254
|
|
|
255
|
-
|
|
255
|
+
### ローカルサーバー (stdio) (推奨)
|
|
256
256
|
|
|
257
|
-
Intlayer MCP
|
|
257
|
+
Intlayer MCP サーバーを Claude Code に stdio を使用して接続するには:
|
|
258
258
|
|
|
259
259
|
```bash
|
|
260
|
-
|
|
261
|
-
npm install -g @intlayer/mcp
|
|
262
|
-
|
|
263
|
-
# またはnpxで直接使用(推奨)
|
|
264
|
-
npx @intlayer/mcp
|
|
260
|
+
claude mcp add intlayer npx -y @intlayer/mcp
|
|
265
261
|
```
|
|
266
262
|
|
|
267
|
-
---
|
|
268
|
-
|
|
269
263
|
### リモートサーバー (Streamable HTTP)
|
|
270
264
|
|
|
271
265
|
Intlayer MCPサーバーをStreamable HTTP (SSE)を使用してClaude Codeに接続するには:
|
|
@@ -63,30 +63,32 @@ getLocalizedUrl(
|
|
|
63
63
|
- **Type**: `Locales`
|
|
64
64
|
- **Required**: Yes
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- `
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
66
|
+
### オプションパラメータ
|
|
67
|
+
|
|
68
|
+
- `options?: object`
|
|
69
|
+
- **Description**: URL ローカライゼーション動作の設定オブジェクト。
|
|
70
|
+
- **Type**: `object`
|
|
71
|
+
- **Required**: No (Optional)
|
|
72
|
+
|
|
73
|
+
- `options.locales?: Locales[]`
|
|
74
|
+
- **Description**: サポートされているロケールの配列。指定されない場合、プロジェクト設定から設定されたロケールを使用します。
|
|
75
|
+
- **Type**: `Locales[]`
|
|
76
|
+
- **Default**: [`プロジェクト設定`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md#middleware)
|
|
77
|
+
|
|
78
|
+
- `options.defaultLocale?: Locales`
|
|
79
|
+
- **Description**: アプリケーションのデフォルトロケール。指定されない場合、プロジェクト設定から設定されたデフォルトロケールを使用します。
|
|
80
|
+
- **Type**: `Locales`
|
|
81
|
+
- **Default**: [`プロジェクト設定`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md#middleware)
|
|
82
|
+
|
|
83
|
+
- `options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'`
|
|
84
|
+
- **Description**: ロケール処理のための URL ルーティングモード。指定されない場合、プロジェクト設定から設定されたモードを使用します。
|
|
85
|
+
- **Type**: `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'`
|
|
86
|
+
- **Default**: [`プロジェクト設定`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md#middleware)
|
|
87
|
+
- **Modes**:
|
|
88
|
+
- `prefix-no-default`: デフォルトロケールにはプレフィックスなし、その他すべてにプレフィックスあり
|
|
89
|
+
- `prefix-all`: すべてのロケール(デフォルトを含む)にプレフィックスあり
|
|
90
|
+
- `no-prefix`: URL にロケールプレフィックスなし
|
|
91
|
+
- `search-params`: ロケールのクエリパラメータを使用(例:`?locale=fr`)
|
|
90
92
|
|
|
91
93
|
### 戻り値
|
|
92
94
|
|
|
@@ -50,26 +50,12 @@ getMultilingualUrls(
|
|
|
50
50
|
|
|
51
51
|
## パラメータ
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
### 必須パラメータ
|
|
54
54
|
|
|
55
55
|
- `url: string`
|
|
56
|
-
- **説明**:
|
|
56
|
+
- **説明**: ロケールでプレフィックスを付与する元のURL文字列。
|
|
57
57
|
- **型**: `string`
|
|
58
|
-
|
|
59
|
-
- `locales: Locales[]`
|
|
60
|
-
- **説明**: オプションのサポートされているロケールの配列。プロジェクトで設定されたロケールがデフォルト。
|
|
61
|
-
- **型**: `Locales[]`
|
|
62
|
-
- **デフォルト**: `localesDefault`
|
|
63
|
-
|
|
64
|
-
- `defaultLocale: Locales`
|
|
65
|
-
- **説明**: アプリケーションのデフォルトロケール。プロジェクトで設定されたデフォルトロケールがデフォルト。
|
|
66
|
-
- **型**: `Locales`
|
|
67
|
-
- **デフォルト**: `defaultLocaleDefault`
|
|
68
|
-
|
|
69
|
-
- `prefixDefault: boolean`
|
|
70
|
-
- **説明**: デフォルトロケールにプレフィックスを付けるかどうか。プロジェクトで設定された値がデフォルト。
|
|
71
|
-
- **型**: `boolean`
|
|
72
|
-
- **デフォルト**: `prefixDefaultDefault`
|
|
58
|
+
- **必須**: はい
|
|
73
59
|
|
|
74
60
|
### オプションパラメータ
|
|
75
61
|
|
|
@@ -48,3 +48,18 @@ import "vite-intlayer";
|
|
|
48
48
|
| `intlayerProxy` | ロケール検出とルーティングを処理する開発用ミドルウェアプラグイン。 | - |
|
|
49
49
|
| `intlayerMiddleware` | (**非推奨**) `intlayerProxy` のエイリアス。 | - |
|
|
50
50
|
| `intlayerPrune` | ビルド時に未使用の辞書をツリーシェイクしてプルーンするプラグイン。 | [intlayerPrune](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/vite-intlayer/intlayerPrune.md) |
|
|
51
|
+
|
|
52
|
+
### ユーティリティ
|
|
53
|
+
|
|
54
|
+
| エクスポート | 説明 | 関連ドキュメント |
|
|
55
|
+
| ---------------------------- | --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
56
|
+
| `createIntlayerProxyHandler` | フレームワークに依存しないNode.js `(req, res, next)` ミドルウェアをロケールルーティングロジック付きで返します。 | [intlayerProxy](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/vite-intlayer/intlayerProxy.md) |
|
|
57
|
+
|
|
58
|
+
### Types
|
|
59
|
+
|
|
60
|
+
| Export | Description |
|
|
61
|
+
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
62
|
+
| `IntlayerPluginOptions` | `intlayer()` で受け入れられるオプション。`GetConfigurationOptions` を `compatCallers` と `proxy` で拡張します。 |
|
|
63
|
+
| `IntlayerProxyPluginOptions` | `intlayerProxy()` と `createIntlayerProxyHandler()` で受け入れられるオプション。`ignore` と `configOptions` を含みます。 |
|
|
64
|
+
| `IntlayerCompilerOptions` | `intlayerCompiler()` で受け入れられるオプション。`configOptions` と `compilerConfig` を含みます。 |
|
|
65
|
+
| `CompatCallerConfig` | `@intlayer/babel` から再エクスポート。フィールド使用分析のための compat-adapter caller パターンを説明します。 |
|
|
@@ -39,11 +39,126 @@ export default defineConfig({
|
|
|
39
39
|
});
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## オプション
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
```ts
|
|
45
|
+
import type { IntlayerPluginOptions } from "vite-intlayer";
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`IntlayerPluginOptions` は `GetConfigurationOptions` (参照: `@intlayer/config`) を拡張し、以下の追加フィールドを含みます:
|
|
49
|
+
|
|
50
|
+
| オプション | 型 | デフォルト | 説明 |
|
|
51
|
+
| --------------- | ------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
52
|
+
| `compatCallers` | `CompatCallerConfig[]` | `[]` | compat-adapterパッケージ(例: `@intlayer/react-i18next`)用の追加呼び出しパターン。ビルド時にfield-usage analyserに渡されます。 |
|
|
53
|
+
| `proxy` | `{ ignore?: (req) => boolean }` | `undefined` | バンドルされたlocale-routingプロキシに転送されるオプション。`ignore`を使用して特定のパス(例: APIルート)をlocale routingから除外します。 |
|
|
54
|
+
|
|
55
|
+
その他すべてのオプション(`override`、`configFile`など)は `getConfiguration()` に直接転送されます。
|
|
56
|
+
|
|
57
|
+
### 例
|
|
58
|
+
|
|
59
|
+
#### ロケール ルーティングから API ルートを除外する
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
// vite.config.ts
|
|
63
|
+
import { defineConfig } from "vite";
|
|
64
|
+
import { intlayer } from "vite-intlayer";
|
|
65
|
+
|
|
66
|
+
export default defineConfig({
|
|
67
|
+
plugins: [
|
|
68
|
+
intlayer({
|
|
69
|
+
proxy: {
|
|
70
|
+
ignore: (req) => req.url?.startsWith("/api"),
|
|
71
|
+
},
|
|
72
|
+
}),
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### カスタムコンフィグファイルパスを使用する場合
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
export default defineConfig({
|
|
81
|
+
plugins: [
|
|
82
|
+
intlayer({
|
|
83
|
+
configFile: "./config/intlayer.config.ts",
|
|
84
|
+
}),
|
|
85
|
+
],
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
#### compat-adapter callers を使用する場合
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
import { intlayer } from "vite-intlayer";
|
|
93
|
+
import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";
|
|
94
|
+
|
|
95
|
+
export default defineConfig({
|
|
96
|
+
plugins: [
|
|
97
|
+
intlayer({
|
|
98
|
+
compatCallers: [reactI18nextCallerConfig],
|
|
99
|
+
}),
|
|
100
|
+
],
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## プラグインが行うこと
|
|
105
|
+
|
|
106
|
+
### 1. Dictionary preparation
|
|
107
|
+
|
|
108
|
+
ビルドが開始される前に(そして開発環境では1時間ごとに)、`intlayer` は `prepareIntlayer` を呼び出して、すべての `.content.ts` ファイルを最適化された JSON 辞書にコンパイルし、`.intlayer/` に保存します。
|
|
109
|
+
|
|
110
|
+
### 2. モジュールエイリアス
|
|
111
|
+
|
|
112
|
+
プラグインはViteのresolveエイリアスを追加して、`import { myDict } from 'intlayer/dictionaries/my-dict'` がディスク上のコンパイルされたJSONファイルに解決されるようにします。SSRビルドは `ssr.noExternal` を使用して、すべての `@intlayer/*` パッケージがエイリアスを適用してバンドルされることを確認します。
|
|
113
|
+
|
|
114
|
+
### 3. Dev-server watcher
|
|
115
|
+
|
|
116
|
+
開発モードでは `chokidar` ウォッチャーが起動します。`.content.ts` ファイルが変更されると、辞書が再コンパイルされ、Vite の HMR がブラウザに更新を伝播します。
|
|
117
|
+
|
|
118
|
+
### 4. バンドルされたロケールルーティングプロキシ (v9+)
|
|
119
|
+
|
|
120
|
+
Intlayer v9 以降、`intlayerProxy` ミドルウェアは `intlayer()` 内に自動的に登録されます。以下の処理を担当します:
|
|
121
|
+
|
|
122
|
+
- URL プレフィックス、Cookie、および `Accept-Language` ヘッダーからのロケール検出。
|
|
123
|
+
- 検出されたロケールが現在の URL と一致しない場合の 301 リダイレクト。
|
|
124
|
+
- フレームワークが正しい `[locale]` ルートパラメータを認識するための内部 URL 書き換え。
|
|
125
|
+
|
|
126
|
+
プロキシは Intlayer 設定の `routing.enableProxy`(デフォルト `true`)で制御されます。完全に無効にするには:
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
// intlayer.config.ts
|
|
130
|
+
import { defineConfig } from "intlayer";
|
|
131
|
+
|
|
132
|
+
export default defineConfig({
|
|
133
|
+
routing: { enableProxy: false },
|
|
134
|
+
});
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
別の `intlayerProxy()` 呼び出しなしでプロキシの動作をカスタマイズするには、メインプラグインに `proxy` オプションを渡します:
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
ルーティング動作の完全なリファレンスについては、[intlayerProxy ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/vite-intlayer/intlayerProxy.md)を参照してください。
|
|
144
|
+
|
|
145
|
+
### 5. Bundled compiler (v9+)
|
|
146
|
+
|
|
147
|
+
`compiler.enabled` が `true` **かつ** `compiler.output` が Intlayer config で設定されている場合、`intlayer()` は `intlayerCompiler` を自動的に登録します。コンパイラはコンポーネントファイル内に直接記述されたインラインコンテンツ宣言を抽出し、トランスフォーム時に辞書に書き込みます。[intlayerCompiler ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/vite-intlayer/intlayerCompiler.md)を参照してください。
|
|
148
|
+
|
|
149
|
+
### 6. ビルド最適化
|
|
150
|
+
|
|
151
|
+
本番環境ビルド中、プラグインは以下を追加します:
|
|
152
|
+
|
|
153
|
+
- **intlayerOptimize** – `useIntlayer('key')` → `useDictionary(hash)` を書き直し、直接 JSON インポートをインジェクトする Babel トランスフォーム。
|
|
154
|
+
- **intlayerPrune** – dictionary JSON から使用されていないコンテンツフィールドを削除します。
|
|
155
|
+
- **intlayerMinify** – dictionary JSON をコンパクト化し、必要に応じてフィールド名をマングルします。
|
|
156
|
+
|
|
157
|
+
これらは開発モードでは無効です。
|
|
158
|
+
|
|
159
|
+
## 廃止予定のエイリアス
|
|
45
160
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
161
|
+
| 廃止予定のエクスポート | 置き換え |
|
|
162
|
+
| ---------------------- | ---------- |
|
|
163
|
+
| `intlayerPlugin` | `intlayer` |
|
|
164
|
+
| `intLayerPlugin` | `intlayer` |
|
|
@@ -28,18 +28,91 @@ author: aymericzip
|
|
|
28
28
|
|
|
29
29
|
`intlayerPrune` Vite プラグインは、アプリケーションのバンドルから未使用の辞書をツリーシェイクおよびプルーニングするために使用します。これにより、必要な多言語コンテンツのみを含めることで、最終的なバンドルサイズを削減できます。
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## 使用法
|
|
32
|
+
|
|
33
|
+
### `intlayer()` の一部として(推奨)
|
|
34
|
+
|
|
35
|
+
Intlayer の設定を通じてプルーニングを有効にすると、メインプラグインがすべてを処理します:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
// intlayer.config.ts
|
|
39
|
+
import { defineConfig } from "intlayer";
|
|
40
|
+
|
|
41
|
+
export default defineConfig({
|
|
42
|
+
build: {
|
|
43
|
+
optimize: true, // プルーニングと縮小化の両方を有効にします
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
// vite.config.ts
|
|
50
|
+
import { defineConfig } from "vite";
|
|
51
|
+
import { intlayer } from "vite-intlayer";
|
|
52
|
+
|
|
53
|
+
export default defineConfig({
|
|
54
|
+
plugins: [intlayer()],
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### スタンドアロン
|
|
59
|
+
|
|
60
|
+
プラグインスタックを手動で構成している場合、`intlayerPrune` と `intlayerMinify` は `PruneContext` オブジェクトを共有します。このオブジェクトは一度作成して、両方に渡す必要があります:
|
|
32
61
|
|
|
33
62
|
```ts
|
|
34
|
-
// vite.config.ts
|
|
63
|
+
// vite.config.ts
|
|
35
64
|
import { defineConfig } from "vite";
|
|
36
|
-
import {
|
|
65
|
+
import { intlayerPrune, intlayerMinify } from "vite-intlayer";
|
|
66
|
+
import { createPruneContext } from "@intlayer/babel";
|
|
67
|
+
import { getConfiguration } from "@intlayer/config/node";
|
|
68
|
+
|
|
69
|
+
const intlayerConfig = getConfiguration();
|
|
70
|
+
const pruneContext = createPruneContext();
|
|
37
71
|
|
|
38
72
|
export default defineConfig({
|
|
39
|
-
plugins: [
|
|
73
|
+
plugins: [
|
|
74
|
+
intlayerPrune(intlayerConfig, pruneContext),
|
|
75
|
+
intlayerMinify(intlayerConfig, pruneContext), // オプション、同じコンテキストから読み取ります
|
|
76
|
+
],
|
|
40
77
|
});
|
|
41
78
|
```
|
|
42
79
|
|
|
43
|
-
##
|
|
80
|
+
## どのように機能するか
|
|
81
|
+
|
|
82
|
+
### 1. 使用状況分析(buildStart)
|
|
83
|
+
|
|
84
|
+
`buildStart` 中に、`intlayerOptimize` プラグイン(`intlayer()` の一部でもあります)は `build.filesList` にリストされているすべてのコンポーネントソースファイルをスキャンします。`useIntlayer('key')` または `getIntlayer('key')` の各呼び出しについて、どのフィールドがアクセスされているかを正確に記録します。例えば:
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
const { title, description } = useIntlayer("myDict");
|
|
88
|
+
// 記録: myDict → { title, description }
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
これにより、`transform` 呼び出しが実行される前に `pruneContext.fieldUsageMap` が構築されます。
|
|
92
|
+
|
|
93
|
+
### 2. JSON pruning (transform, enforce: 'pre')
|
|
94
|
+
|
|
95
|
+
Viteがコンパイル済みの辞書JSONファイルを処理する場合、`intlayerPrune`はViteの組み込みJSON → ESM変換の前に処理を行います。`pruneContext`からfield-usageマップを読み取り、記録された使用セットに含まれていないすべてのcontentフィールドを削除します。
|
|
96
|
+
|
|
97
|
+
2つのコンテンツ形状がサポートされています:
|
|
98
|
+
|
|
99
|
+
- **Static dictionaries** — `{ nodeType: "translation", translation: { en: {...}, fr: {...} } }`。フィールドは`translation`内のロケールごとに削除されます。
|
|
100
|
+
- **Dynamic (per-locale) dictionaries** — `{ fieldA: ..., fieldB: ... }`のようなflat構造。フィールドはトップレベルで削除されます。
|
|
101
|
+
|
|
102
|
+
### 3. エッジケース
|
|
103
|
+
|
|
104
|
+
辞書のコンテンツ構造が認識できない場合(例:異常にネストされた形状)、`pruneContext.dictionariesWithEdgeCases` に追加され、**そのままにされます**。警告がログに出力されます。`intlayerMinify` もこれらの辞書をスキップします。
|
|
105
|
+
|
|
106
|
+
### 4. Field-rename map
|
|
107
|
+
|
|
108
|
+
Pruning が成功すると、`intlayerPrune` は `pruneContext.dictionaryKeyToFieldRenameMap` も書き込みます。これは元のフィールド名から短いエイリアスへのマッピングです。`intlayerMinify` はこのマップを読み込んで出力 JSON 内のフィールドの名前を変更し、`intlayerOptimize` の Babel rename pass はソースファイル内のプロパティアクセスをそれに応じて更新します。
|
|
109
|
+
|
|
110
|
+
## アクティベーション条件
|
|
111
|
+
|
|
112
|
+
`intlayerPrune` は以下のすべてが当てはまる場合**のみ**アクティブになります:
|
|
113
|
+
|
|
114
|
+
1. Vite コマンドが `build` である。
|
|
115
|
+
2. `build.optimize` が `true` である (または `undefined` で、ビルドではデフォルトで `true`)。
|
|
116
|
+
3. Intlayer の設定で `build.purge` が `true` である。
|
|
44
117
|
|
|
45
|
-
|
|
118
|
+
`editor.enabled` が `true` の場合、エディターが完全な辞書コンテンツを必要とするため、自動的に**無効化**されます。
|
package/docs/ja/releases/v9.md
CHANGED
|
@@ -362,6 +362,18 @@ await dictionaryEndpoint(cms).pushDictionaries([myDictionary]);
|
|
|
362
362
|
|
|
363
363
|
---
|
|
364
364
|
|
|
365
|
+
## セルフホスティング
|
|
366
|
+
|
|
367
|
+
Intlayer v9は、単一のコマンドで独自のIntlayerインスタンスを実行するためのファーストクラスサポートを提供します。Intlayer Cloudアカウントは必要ありません。
|
|
368
|
+
|
|
369
|
+
```sh
|
|
370
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
インストーラーは`docker-compose.yml`と`.env`をダウンロードし、必要なシークレットを自動生成し、`docker compose up -d`を実行します。ダッシュボード、API、データベース、オブジェクトストレージ、トランザクションメールのすべてがコンテナ内でローカルに実行されます。
|
|
374
|
+
|
|
375
|
+
---
|
|
376
|
+
|
|
365
377
|
## v8からの移行に関する注意点
|
|
366
378
|
|
|
367
379
|
v8からアップグレードする場合、v9には破壊的変更は含まれていません。ただし、主な変更点は次のとおりです。
|