@intlayer/docs 9.1.3 → 9.2.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/rag_powered_documentation_assistant.md +7 -0
- package/blog/de/rag_powered_documentation_assistant.md +6 -0
- package/blog/en-GB/rag_powered_documentation_assistant.md +6 -0
- package/blog/es/rag_powered_documentation_assistant.md +7 -0
- package/blog/fr/i18n_meaning.md +7 -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/next-i18next_vs_next-intl_vs_intlayer.md +119 -42
- package/blog/hi/rag_powered_documentation_assistant.md +7 -0
- package/blog/id/rag_powered_documentation_assistant.md +6 -0
- package/blog/it/rag_powered_documentation_assistant.md +6 -0
- package/blog/ja/rag_powered_documentation_assistant.md +7 -0
- package/blog/ko/list_i18n_technologies/frameworks/react.md +7 -7
- package/blog/ko/rag_powered_documentation_assistant.md +6 -0
- package/blog/pl/rag_powered_documentation_assistant.md +6 -0
- package/blog/pt/rag_powered_documentation_assistant.md +6 -0
- 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/rag_powered_documentation_assistant.md +6 -0
- package/blog/vi/rag_powered_documentation_assistant.md +6 -0
- 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/generated/blog.entry.cjs +27 -27
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +234 -214
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +17 -17
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +2 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +27 -27
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +234 -214
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +17 -17
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +2 -2
- package/dist/esm/generated/legal.entry.mjs.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/docs/ar/analytics.md +222 -0
- package/docs/ar/autoFill.md +28 -9
- 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/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/configuration.md +25 -8
- package/docs/bn/intlayer_with_angular_21.md +9 -9
- 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/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/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/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-GB/analytics.md +222 -0
- package/docs/en-GB/autoFill.md +26 -7
- 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/configuration.md +25 -8
- package/docs/nl/intlayer_with_angular_21.md +9 -9
- package/docs/pl/analytics.md +220 -0
- 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/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/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/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/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/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/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/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/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/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/configuration.md +25 -8
- package/docs/ur/intlayer_with_angular_21.md +9 -9
- package/docs/vi/analytics.md +222 -0
- 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/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/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/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/intlayer_with_angular_21.md +7 -7
- package/package.json +6 -6
- package/src/generated/blog.entry.ts +27 -27
- package/src/generated/docs.entry.ts +234 -214
- package/src/generated/frequentQuestions.entry.ts +17 -17
- package/src/generated/legal.entry.ts +2 -2
|
@@ -43,7 +43,7 @@ author: aymericzip
|
|
|
43
43
|
|
|
44
44
|
<Tabs defaultTab="video">
|
|
45
45
|
<Tab label="動画" value="video">
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
<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/dS9L7uJeak4?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
48
48
|
|
|
49
49
|
</Tab>
|
|
@@ -111,19 +111,6 @@ Intlayer は単なる i18n ソリューションではなく、**自己ホスト
|
|
|
111
111
|
|
|
112
112
|
---
|
|
113
113
|
|
|
114
|
-
## Git Configuration
|
|
115
|
-
|
|
116
|
-
It is recommended to ignore the files generated by Intlayer. This allows you to avoid committing them to your Git repository.
|
|
117
|
-
|
|
118
|
-
To do this, you can add the following instructions to your `.gitignore` file:
|
|
119
|
-
|
|
120
|
-
```plaintext fileName=".gitignore"
|
|
121
|
-
# Intlayerによって生成されたファイルを無視する
|
|
122
|
-
.intlayer
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
114
|
## VS Code Extension
|
|
128
115
|
|
|
129
116
|
To improve your development experience with Intlayer, you can install the official **Intlayer VS Code Extension**.
|
|
@@ -141,12 +128,6 @@ For more details on how to use the extension, refer to the [Intlayer VS Code Ext
|
|
|
141
128
|
|
|
142
129
|
---
|
|
143
130
|
|
|
144
|
-
## Go Further
|
|
145
|
-
|
|
146
|
-
To go further, you can implement the [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) or externalize your content using the [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md).
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
131
|
## Documentation References
|
|
151
132
|
|
|
152
133
|
- [Intlayer Documentation](https://intlayer.org)
|
|
@@ -307,6 +288,461 @@ bun run build # Or bun run dev
|
|
|
307
288
|
|
|
308
289
|
</Steps>
|
|
309
290
|
|
|
291
|
+
#### Root Layout
|
|
292
|
+
|
|
293
|
+
```tsx fileName="app/root.tsx"
|
|
294
|
+
import { getLocaleFromPath } from "intlayer";
|
|
295
|
+
import { IntlayerProvider } from "react-intlayer";
|
|
296
|
+
import {
|
|
297
|
+
data,
|
|
298
|
+
Meta,
|
|
299
|
+
Scripts,
|
|
300
|
+
ScrollRestoration,
|
|
301
|
+
useLoaderData,
|
|
302
|
+
} from "react-router";
|
|
303
|
+
import type { Route } from "./+types/root";
|
|
304
|
+
|
|
305
|
+
// ... 変更されていない App、links、ErrorBoundary コード
|
|
306
|
+
|
|
307
|
+
export async function loader({ request }: Route.LoaderArgs) {
|
|
308
|
+
const locale = getLocaleFromPath(request.url);
|
|
309
|
+
|
|
310
|
+
if (!locale) {
|
|
311
|
+
throw data("Language not supported", { status: 404 });
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
return { locale };
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
export function Layout({
|
|
318
|
+
children,
|
|
319
|
+
}: { children: React.ReactNode } & Route.ComponentProps) {
|
|
320
|
+
const data = useLoaderData<typeof loader>();
|
|
321
|
+
const { locale } = data ?? {};
|
|
322
|
+
|
|
323
|
+
return (
|
|
324
|
+
<html lang={locale}>
|
|
325
|
+
<head>
|
|
326
|
+
<meta charSet="utf-8" />
|
|
327
|
+
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
|
328
|
+
<Meta />
|
|
329
|
+
<Links />
|
|
330
|
+
</head>
|
|
331
|
+
<body>
|
|
332
|
+
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
333
|
+
<ScrollRestoration />
|
|
334
|
+
<Scripts />
|
|
335
|
+
</body>
|
|
336
|
+
</html>
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
</Step>
|
|
342
|
+
|
|
343
|
+
<Step number={6} title="コンテンツ宣言">
|
|
344
|
+
|
|
345
|
+
翻訳を保存するためのコンテンツ宣言を作成し管理します:
|
|
346
|
+
|
|
347
|
+
```tsx fileName="app/routes/[lang]/page.content.ts"
|
|
348
|
+
import { t, type Dictionary } from "intlayer";
|
|
349
|
+
|
|
350
|
+
const pageContent = {
|
|
351
|
+
key: "page",
|
|
352
|
+
content: {
|
|
353
|
+
title: t({
|
|
354
|
+
ja: "React Router v7 + Intlayer へようこそ",
|
|
355
|
+
en: "Welcome to React Router v7 + Intlayer",
|
|
356
|
+
es: "Bienvenido a React Router v7 + Intlayer",
|
|
357
|
+
fr: "Bienvenue sur React Router v7 + Intlayer",
|
|
358
|
+
}),
|
|
359
|
+
description: t({
|
|
360
|
+
ja: "React Router v7 と Intlayer を使用して、多言語アプリケーションを簡単に構築できます。",
|
|
361
|
+
en: "Build multilingual applications with ease using React Router v7 and Intlayer.",
|
|
362
|
+
es: "Cree aplicaciones multilingües fácilmente usando React Router v7 y Intlayer.",
|
|
363
|
+
fr: "Créez des applications multilingues facilement avec React Router v7 et Intlayer.",
|
|
364
|
+
}),
|
|
365
|
+
aboutLink: t({
|
|
366
|
+
ja: "詳細情報",
|
|
367
|
+
en: "Learn About Us",
|
|
368
|
+
es: "Aprender Sobre Nosotros",
|
|
369
|
+
fr: "En savoir plus sur nous",
|
|
370
|
+
}),
|
|
371
|
+
homeLink: t({
|
|
372
|
+
ja: "ホーム",
|
|
373
|
+
en: "Home",
|
|
374
|
+
es: "Inicio",
|
|
375
|
+
fr: "Accueil",
|
|
376
|
+
}),
|
|
377
|
+
},
|
|
378
|
+
} satisfies Dictionary;
|
|
379
|
+
|
|
380
|
+
export default pageContent;
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
> コンテンツ宣言は、`contentDir` ディレクトリに含まれている限り、アプリケーション内のどこでも定義できます(デフォルトは `./app`)。また、コンテンツ宣言ファイルの拡張子と一致する必要があります(デフォルトは `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`)。
|
|
384
|
+
|
|
385
|
+
> 詳細については、[コンテンツ宣言ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/content_file.md) を参照してください。
|
|
386
|
+
|
|
387
|
+
</Step>
|
|
388
|
+
|
|
389
|
+
<Step number={7} title="ロケール対応コンポーネントを作成">
|
|
390
|
+
|
|
391
|
+
ロケール対応ナビゲーション用の `LocalizedLink` コンポーネントを作成します:
|
|
392
|
+
|
|
393
|
+
```tsx fileName="app/components/localized-link.tsx"
|
|
394
|
+
import type { FC } from "react";
|
|
395
|
+
|
|
396
|
+
import { getLocalizedUrl, type LocalesValues } from "intlayer";
|
|
397
|
+
import { useLocale } from "react-intlayer";
|
|
398
|
+
import { Link, type LinkProps, type To } from "react-router";
|
|
399
|
+
|
|
400
|
+
const isExternalLink = (to: string) => /^(https?:)?\/\//.test(to);
|
|
401
|
+
|
|
402
|
+
export const locacalizeTo = (to: To, locale: LocalesValues): To => {
|
|
403
|
+
if (typeof to === "string") {
|
|
404
|
+
if (isExternalLink(to)) {
|
|
405
|
+
return to;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
return getLocalizedUrl(to, locale);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
if (isExternalLink(to.pathname ?? "")) {
|
|
412
|
+
return to;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
return {
|
|
416
|
+
...to,
|
|
417
|
+
pathname: getLocalizedUrl(to.pathname ?? "", locale),
|
|
418
|
+
};
|
|
419
|
+
};
|
|
420
|
+
|
|
421
|
+
export const LocalizedLink: FC<LinkProps> = (props) => {
|
|
422
|
+
const { locale } = useLocale();
|
|
423
|
+
|
|
424
|
+
return <Link {...props} to={locacalizeTo(props.to, locale)} />;
|
|
425
|
+
};
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
ローカライズされたルートにナビゲートしたい場合は、`useLocalizedNavigate` hook を使用できます:
|
|
429
|
+
|
|
430
|
+
```tsx fileName="app/hooks/useLocalizedNavigate.ts"
|
|
431
|
+
import { useLocale } from "react-intlayer";
|
|
432
|
+
import { type NavigateOptions, type To, useNavigate } from "react-router";
|
|
433
|
+
|
|
434
|
+
import { locacalizeTo } from "~/components/localized-link";
|
|
435
|
+
|
|
436
|
+
export const useLocalizedNavigate = () => {
|
|
437
|
+
const navigate = useNavigate();
|
|
438
|
+
const { locale } = useLocale();
|
|
439
|
+
|
|
440
|
+
const localizedNavigate = (to: To, options?: NavigateOptions) => {
|
|
441
|
+
const localedTo = locacalizeTo(to, locale);
|
|
442
|
+
|
|
443
|
+
navigate(localedTo, options);
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
return localizedNavigate;
|
|
447
|
+
};
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
</Step>
|
|
451
|
+
|
|
452
|
+
<Step number={8} title="ページで Intlayer を使用">
|
|
453
|
+
|
|
454
|
+
アプリケーション全体でコンテンツ辞書にアクセスします:
|
|
455
|
+
|
|
456
|
+
#### ローカライズされたホームページ
|
|
457
|
+
|
|
458
|
+
```tsx fileName="app/routes/page.tsx"
|
|
459
|
+
import { getIntlayer, validatePrefix } from "intlayer";
|
|
460
|
+
import { useIntlayer } from "react-intlayer";
|
|
461
|
+
import { data } from "react-router";
|
|
462
|
+
|
|
463
|
+
import { LocaleSwitcher } from "~/components/locale-switcher";
|
|
464
|
+
|
|
465
|
+
import { Navbar } from "~/components/navbar";
|
|
466
|
+
import type { Route } from "./+types/page";
|
|
467
|
+
|
|
468
|
+
export const loader = ({ params }: Route.LoaderArgs) => {
|
|
469
|
+
const { locale } = params;
|
|
470
|
+
|
|
471
|
+
const { isValid } = validatePrefix(locale);
|
|
472
|
+
|
|
473
|
+
if (!isValid) {
|
|
474
|
+
throw data("Locale not supported", { status: 404 });
|
|
475
|
+
}
|
|
476
|
+
};
|
|
477
|
+
|
|
478
|
+
export const meta: Route.MetaFunction = ({ params }) => {
|
|
479
|
+
const content = getIntlayer("page", params.locale);
|
|
480
|
+
|
|
481
|
+
return [
|
|
482
|
+
{ title: content.title },
|
|
483
|
+
{ content: content.description, name: "description" },
|
|
484
|
+
];
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
export default function Page() {
|
|
488
|
+
const { title, description, aboutLink } = useIntlayer("page");
|
|
489
|
+
|
|
490
|
+
return (
|
|
491
|
+
<div>
|
|
492
|
+
<h1>{title}</h1>
|
|
493
|
+
<p>{description}</p>
|
|
494
|
+
<nav>
|
|
495
|
+
<LocalizedLink to="/about">{aboutLink}</LocalizedLink>
|
|
496
|
+
</nav>
|
|
497
|
+
</div>
|
|
498
|
+
);
|
|
499
|
+
}
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
> `useIntlayer` フックについて詳しく知るには、[ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/react-intlayer/useIntlayer.md)を参照してください。
|
|
503
|
+
|
|
504
|
+
> 既存のアプリケーションがある場合、[Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/compiler.md) と [extract コマンド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/extract.md)を使用して、わずか数秒で数千のコンポーネントを変換できます。
|
|
505
|
+
|
|
506
|
+
</Step>
|
|
507
|
+
|
|
508
|
+
<Step number={9} title="ロケール切り替えコンポーネントの作成">
|
|
509
|
+
|
|
510
|
+
ユーザーが言語を変更できるようにするコンポーネントを作成します:
|
|
511
|
+
|
|
512
|
+
```tsx fileName="app/components/locale-switcher.tsx"
|
|
513
|
+
import type { FC } from "react";
|
|
514
|
+
|
|
515
|
+
import {
|
|
516
|
+
getHTMLTextDir,
|
|
517
|
+
getLocaleName,
|
|
518
|
+
getLocalizedUrl,
|
|
519
|
+
getPathWithoutLocale,
|
|
520
|
+
} from "intlayer";
|
|
521
|
+
import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
|
|
522
|
+
import { Link, useLocation } from "react-router";
|
|
523
|
+
|
|
524
|
+
export const LocaleSwitcher: FC = () => {
|
|
525
|
+
const { localeSwitcherLabel } = useIntlayer("locale-switcher");
|
|
526
|
+
const { pathname } = useLocation();
|
|
527
|
+
|
|
528
|
+
const { availableLocales, locale } = useLocale();
|
|
529
|
+
|
|
530
|
+
const pathWithoutLocale = getPathWithoutLocale(pathname);
|
|
531
|
+
|
|
532
|
+
return (
|
|
533
|
+
<ol>
|
|
534
|
+
{availableLocales.map((localeItem) => (
|
|
535
|
+
<li key={localeItem}>
|
|
536
|
+
<Link
|
|
537
|
+
aria-current={localeItem === locale ? "page" : undefined}
|
|
538
|
+
aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeItem)}`}
|
|
539
|
+
onClick={() => setLocale(localeItem)}
|
|
540
|
+
to={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
541
|
+
>
|
|
542
|
+
<span>
|
|
543
|
+
{/* ロケール - 例: FR */}
|
|
544
|
+
{localeItem}
|
|
545
|
+
</span>
|
|
546
|
+
<span>
|
|
547
|
+
{/* 言語をそのロケールで表示 - 例: Français */}
|
|
548
|
+
{getLocaleName(localeItem, locale)}
|
|
549
|
+
</span>
|
|
550
|
+
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
551
|
+
{/* 言語を現在のロケールで表示 - 例: Francés(現在のロケールがLocales.SPANISHの場合) */}
|
|
552
|
+
{getLocaleName(localeItem)}
|
|
553
|
+
</span>
|
|
554
|
+
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
555
|
+
{/* 言語を英語で表示 - 例: French */}
|
|
556
|
+
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
557
|
+
</span>
|
|
558
|
+
</Link>
|
|
559
|
+
</li>
|
|
560
|
+
))}
|
|
561
|
+
</ol>
|
|
562
|
+
);
|
|
563
|
+
};
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
> `useLocale` フックについて詳しく知るには、[ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/react-intlayer/useLocale.md)を参照してください。
|
|
567
|
+
|
|
568
|
+
</Step>
|
|
569
|
+
|
|
570
|
+
<Step number={10} title="HTML 属性の管理を追加">
|
|
571
|
+
|
|
572
|
+
HTML の lang および dir 属性を管理するフックを作成します:
|
|
573
|
+
|
|
574
|
+
```tsx fileName="app/hooks/useI18nHTMLAttributes.tsx"
|
|
575
|
+
import { getHTMLTextDir } from "intlayer";
|
|
576
|
+
import { useEffect } from "react";
|
|
577
|
+
import { useLocale } from "react-intlayer";
|
|
578
|
+
|
|
579
|
+
export const useI18nHTMLAttributes = () => {
|
|
580
|
+
const { locale } = useLocale();
|
|
581
|
+
|
|
582
|
+
useEffect(() => {
|
|
583
|
+
document.documentElement.lang = locale;
|
|
584
|
+
document.documentElement.dir = getHTMLTextDir(locale);
|
|
585
|
+
}, [locale]);
|
|
586
|
+
};
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
次に、ルートコンポーネントで使用します:
|
|
590
|
+
|
|
591
|
+
```tsx fileName="app/routes/layout.tsx"
|
|
592
|
+
import { Outlet } from "react-router";
|
|
593
|
+
import { IntlayerProvider } from "react-intlayer";
|
|
594
|
+
|
|
595
|
+
import { useI18nHTMLAttributes } from "app/hooks/useI18nHTMLAttributes"; // フックをインポート
|
|
596
|
+
|
|
597
|
+
export default function RootLayout() {
|
|
598
|
+
useI18nHTMLAttributes(); // フックを呼び出す
|
|
599
|
+
|
|
600
|
+
return (
|
|
601
|
+
<IntlayerProvider>
|
|
602
|
+
<Outlet />
|
|
603
|
+
</IntlayerProvider>
|
|
604
|
+
);
|
|
605
|
+
}
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
</Step>
|
|
609
|
+
|
|
610
|
+
<Step number={11} title="ミドルウェアを追加">
|
|
611
|
+
|
|
612
|
+
`intlayerProxy` を使用して、アプリケーションにサーバーサイドルーティングを追加することもできます。このプラグインは、URL に基づいて現在のロケールを自動的に検出し、適切なロケールクッキーを設定します。ロケールが指定されていない場合、プラグインはユーザーのブラウザ言語設定に基づいて最も適切なロケールを決定します。ロケールが検出されない場合は、デフォルトロケールにリダイレクトします。
|
|
613
|
+
|
|
614
|
+
> 本番環境で `intlayerProxy` を使用するには、`vite-intlayer` パッケージを `devDependencies` から `dependencies` に切り替える必要があります。
|
|
615
|
+
|
|
616
|
+
> Intlayer v9 以降、`intlayerProxy()` は `intlayer()` プラグインに直接含まれており、`routing.enableProxy` オプション(デフォルトでは `true`)で有効になっています。下記のように別々に登録することはオプションとなりました — 後方互換性とプラグインの順序を制御する必要がある場合のために保持されています。`routing.enableProxy: false` に設定してオプトアウトできます。[v9 リリースノート](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/releases/v9.md)を参照してください。
|
|
617
|
+
|
|
618
|
+
```typescript {3,7} fileName="vite.config.ts"
|
|
619
|
+
import { defineConfig } from "vite";
|
|
620
|
+
import react from "@vitejs/plugin-react-swc";
|
|
621
|
+
import { intlayer } from "vite-intlayer";
|
|
622
|
+
|
|
623
|
+
// https://vitejs.dev/config/
|
|
624
|
+
export default defineConfig({
|
|
625
|
+
plugins: [
|
|
626
|
+
react(),
|
|
627
|
+
intlayer({
|
|
628
|
+
proxy: {
|
|
629
|
+
ignore: (req) => req.url?.startsWith("/api"),
|
|
630
|
+
},
|
|
631
|
+
}),
|
|
632
|
+
],
|
|
633
|
+
});
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
</Step>
|
|
637
|
+
|
|
638
|
+
<Step number={12} title="コンポーネントのコンテンツを抽出" isOptional={true}>
|
|
639
|
+
|
|
640
|
+
既存の codebase を持っている場合、数千のファイルを変換するには時間がかかることがあります。
|
|
641
|
+
|
|
642
|
+
このプロセスを簡単にするために、Intlayer は[compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/extract.md) を提供して、コンポーネントを変換してコンテンツを抽出します。
|
|
643
|
+
|
|
644
|
+
設定するには、`intlayer.config.ts` ファイルに `compiler` セクションを追加できます:
|
|
645
|
+
|
|
646
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
647
|
+
import { type IntlayerConfig } from "intlayer";
|
|
648
|
+
|
|
649
|
+
const config: IntlayerConfig = {
|
|
650
|
+
// ... 設定の残り
|
|
651
|
+
compiler: {
|
|
652
|
+
/**
|
|
653
|
+
* コンパイラを有効にするかどうかを示します。
|
|
654
|
+
*/
|
|
655
|
+
enabled: true,
|
|
656
|
+
|
|
657
|
+
/**
|
|
658
|
+
* 出力ファイルパスを定義します
|
|
659
|
+
*/
|
|
660
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* 変換後にコンポーネントを保存するかどうかを示します。
|
|
664
|
+
*
|
|
665
|
+
* - `true` の場合、コンパイラはコンポーネントファイルをディスクに上書きします。したがって、変換は永続的になり、コンパイラは次のプロセスで変換をスキップします。このように、コンパイラはアプリを変換でき、その後削除できます。
|
|
666
|
+
*
|
|
667
|
+
* - `false` の場合、コンパイラは `useIntlayer()` 関数呼び出しをビルド出力のコード内にのみ注入し、基本コードベースはそのままにします。変換はメモリ内でのみ実行されます。
|
|
668
|
+
*/
|
|
669
|
+
saveComponents: false,
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* 辞書キープレフィックス
|
|
673
|
+
*/
|
|
674
|
+
dictionaryKeyPrefix: "",
|
|
675
|
+
},
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
export default config;
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
<Tabs>
|
|
682
|
+
<Tab value='Extract コマンド'>
|
|
683
|
+
|
|
684
|
+
エクストラクタを実行してコンポーネントを変換してコンテンツを抽出します
|
|
685
|
+
|
|
686
|
+
```bash packageManager="npm"
|
|
687
|
+
npx intlayer extract
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
```bash packageManager="pnpm"
|
|
691
|
+
pnpm intlayer extract
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
```bash packageManager="yarn"
|
|
695
|
+
yarn intlayer extract
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
```bash packageManager="bun"
|
|
699
|
+
bun x intlayer extract
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
</Tab>
|
|
703
|
+
<Tab value='Babel コンパイラ'>
|
|
704
|
+
|
|
705
|
+
> v9 以降、`intlayerCompiler` は `intlayer` プラグインに含まれています。したがって、手動で追加する必要はありません。
|
|
706
|
+
|
|
707
|
+
`vite.config.ts` を更新して `intlayerCompiler` プラグインを含めます:
|
|
708
|
+
|
|
709
|
+
```ts fileName="vite.config.ts"
|
|
710
|
+
import { defineConfig } from "vite";
|
|
711
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
712
|
+
|
|
713
|
+
export default defineConfig({
|
|
714
|
+
plugins: [
|
|
715
|
+
intlayer(),
|
|
716
|
+
intlayerCompiler(), // コンパイラプラグインを追加
|
|
717
|
+
],
|
|
718
|
+
});
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
```bash packageManager="npm"
|
|
722
|
+
npm run build # または npm run dev
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
```bash packageManager="pnpm"
|
|
726
|
+
pnpm run build # または pnpm run dev
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
```bash packageManager="yarn"
|
|
730
|
+
yarn build # または yarn dev
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
```bash packageManager="bun"
|
|
734
|
+
bun run build # または bun run dev
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
</Tab>
|
|
738
|
+
</Tabs>
|
|
739
|
+
|
|
740
|
+
---
|
|
741
|
+
|
|
742
|
+
</Step>
|
|
743
|
+
|
|
744
|
+
</Steps>
|
|
745
|
+
|
|
310
746
|
## TypeScriptの設定
|
|
311
747
|
|
|
312
748
|
Intlayerはモジュール拡張を使用して、TypeScriptの利点を活かし、コードベースをより強固にします。
|