@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
package/docs/ja/formatters.md
CHANGED
|
@@ -52,34 +52,6 @@ author: aymericzip
|
|
|
52
52
|
|
|
53
53
|
Intlayerは、ネイティブの`Intl` APIの上に構築された軽量なヘルパー群と、重いフォーマッターを繰り返し構築することを避けるためのキャッシュされた`Intl`ラッパーを提供します。これらのユーティリティは完全にロケール対応しており、メインの`intlayer`パッケージから利用可能です。
|
|
54
54
|
|
|
55
|
-
### インポート
|
|
56
|
-
|
|
57
|
-
```ts
|
|
58
|
-
import {
|
|
59
|
-
Intl,
|
|
60
|
-
number,
|
|
61
|
-
percentage,
|
|
62
|
-
currency,
|
|
63
|
-
date,
|
|
64
|
-
relativeTime,
|
|
65
|
-
units,
|
|
66
|
-
compact,
|
|
67
|
-
list,
|
|
68
|
-
getLocaleName,
|
|
69
|
-
getLocaleLang,
|
|
70
|
-
getLocaleFromPath,
|
|
71
|
-
getPathWithoutLocale,
|
|
72
|
-
getLocalizedUrl,
|
|
73
|
-
getHTMLTextDir,
|
|
74
|
-
getContent,
|
|
75
|
-
getTranslation,
|
|
76
|
-
getIntlayer,
|
|
77
|
-
getIntlayerAsync,
|
|
78
|
-
} from "intlayer";
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Reactを使用している場合は、フックも利用可能です。詳細は`react-intlayer/format`を参照してください。
|
|
82
|
-
|
|
83
55
|
## キャッシュされたIntl
|
|
84
56
|
|
|
85
57
|
エクスポートされる`Intl`は、グローバルな`Intl`の薄いキャッシュラッパーです。`NumberFormat`、`DateTimeFormat`、`RelativeTimeFormat`、`ListFormat`、`DisplayNames`、`Collator`、および`PluralRules`のインスタンスをメモ化し、同じフォーマッターを繰り返し再構築するのを防ぎます。
|
|
@@ -116,72 +88,8 @@ pluralRules.select(1); // "one"
|
|
|
116
88
|
pluralRules.select(2); // "other"
|
|
117
89
|
```
|
|
118
90
|
|
|
119
|
-
## 追加のIntlユーティリティ
|
|
120
|
-
|
|
121
|
-
フォーマッターヘルパーに加えて、キャッシュされたIntlラッパーを直接使用して他のIntl機能も利用できます。
|
|
122
|
-
|
|
123
|
-
### `Intl.DisplayNames`
|
|
124
|
-
|
|
125
|
-
言語、地域、通貨、スクリプトのローカライズされた名前の取得:
|
|
126
|
-
|
|
127
|
-
```ts
|
|
128
|
-
import { Intl } from "intlayer";
|
|
129
|
-
|
|
130
|
-
const languageNames = new Intl.DisplayNames("en", { type: "language" });
|
|
131
|
-
languageNames.of("fr"); // "French"
|
|
132
|
-
|
|
133
|
-
const regionNames = new Intl.DisplayNames("fr", { type: "region" });
|
|
134
|
-
regionNames.of("US"); // "États-Unis"
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### `Intl.Collator`
|
|
138
|
-
|
|
139
|
-
ロケールに対応した文字列の比較とソートのために:
|
|
140
|
-
|
|
141
|
-
```ts
|
|
142
|
-
import { Intl } from "intlayer";
|
|
143
|
-
|
|
144
|
-
const collator = new Intl.Collator("de", {
|
|
145
|
-
sensitivity: "base",
|
|
146
|
-
numeric: true,
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
const words = ["äpfel", "zebra", "100", "20"];
|
|
150
|
-
words.sort(collator.compare); // ["20", "100", "äpfel", "zebra"]
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### `Intl.PluralRules`
|
|
154
|
-
|
|
155
|
-
異なるロケールでの複数形の判定のために:
|
|
156
|
-
|
|
157
|
-
```ts
|
|
158
|
-
import { Intl } from "intlayer";
|
|
159
|
-
|
|
160
|
-
const pluralRules = new Intl.PluralRules("ar");
|
|
161
|
-
pluralRules.select(0); // "zero"
|
|
162
|
-
pluralRules.select(1); // "one"
|
|
163
|
-
pluralRules.select(2); // "two"
|
|
164
|
-
pluralRules.select(3); // "few"
|
|
165
|
-
pluralRules.select(11); // "many"
|
|
166
|
-
```
|
|
167
|
-
|
|
168
91
|
## ロケールユーティリティ
|
|
169
92
|
|
|
170
|
-
### `getLocaleName(displayLocale, targetLocale?)`
|
|
171
|
-
|
|
172
|
-
あるロケールの名前を別のロケールで取得します:
|
|
173
|
-
|
|
174
|
-
```ts
|
|
175
|
-
import { getLocaleName } from "intlayer";
|
|
176
|
-
|
|
177
|
-
getLocaleName("fr", "en"); // "French"
|
|
178
|
-
getLocaleName("en", "fr"); // "anglais"
|
|
179
|
-
getLocaleName("de", "es"); // "alemán"
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
- **displayLocale**: 名前を取得する対象のロケール
|
|
183
|
-
- **targetLocale**: 名前を表示するロケール(省略時は displayLocale と同じ)
|
|
184
|
-
|
|
185
93
|
### `getLocaleLang(locale?)`
|
|
186
94
|
|
|
187
95
|
ロケール文字列から言語コードを抽出します:
|
|
@@ -212,22 +120,6 @@ getLocaleFromPath("https://example.com/es/about"); // "es"
|
|
|
212
120
|
- **inputUrl**: 処理する完全なURL文字列またはパス名
|
|
213
121
|
- **returns**: 検出されたロケール、またはロケールが見つからない場合はデフォルトのロケール
|
|
214
122
|
|
|
215
|
-
### `getPathWithoutLocale(inputUrl, locales?)`
|
|
216
|
-
|
|
217
|
-
URLまたはパス名からロケールセグメントを削除します:
|
|
218
|
-
|
|
219
|
-
```ts
|
|
220
|
-
import { getPathWithoutLocale } from "intlayer";
|
|
221
|
-
|
|
222
|
-
getPathWithoutLocale("/en/dashboard"); // "/dashboard"
|
|
223
|
-
getPathWithoutLocale("/fr/dashboard"); // "/dashboard"
|
|
224
|
-
getPathWithoutLocale("https://example.com/en/about"); // "https://example.com/about"
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
- **inputUrl**: 処理する完全なURL文字列またはパス名
|
|
228
|
-
- **locales**: サポートされているロケールのオプション配列(デフォルトは設定されたロケール)
|
|
229
|
-
- **returns**: ロケール部分を除いたURL
|
|
230
|
-
|
|
231
123
|
### `getLocalizedUrl(url, currentLocale, locales?, defaultLocale?, prefixDefault?)`
|
|
232
124
|
|
|
233
125
|
現在のロケールに対応したローカライズされたURLを生成します:
|
|
@@ -336,9 +228,11 @@ const content = await getIntlayerAsync("common", "fr");
|
|
|
336
228
|
|
|
337
229
|
以下のすべてのヘルパーは `intlayer` からエクスポートされています。
|
|
338
230
|
|
|
339
|
-
### `
|
|
231
|
+
### `percentage(value, options?)`
|
|
232
|
+
|
|
233
|
+
数値をパーセンテージ文字列としてフォーマットします。
|
|
340
234
|
|
|
341
|
-
|
|
235
|
+
動作: 1より大きい値は全体のパーセンテージとして解釈され正規化されます(例:`25` → `25%`、`0.25` → `25%`)。
|
|
342
236
|
|
|
343
237
|
- **value**: `number | string`
|
|
344
238
|
- **options**: `Intl.NumberFormatOptions & { locale?: LocalesValues }`
|
|
@@ -346,49 +240,121 @@ const content = await getIntlayerAsync("common", "fr");
|
|
|
346
240
|
例:
|
|
347
241
|
|
|
348
242
|
```ts
|
|
349
|
-
import {
|
|
243
|
+
import { percentage } from "intlayer";
|
|
350
244
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
245
|
+
percentage(0.25); // "25%"
|
|
246
|
+
percentage(25); // "25%"
|
|
247
|
+
percentage(0.237, { minimumFractionDigits: 1 }); // "23.7%"
|
|
354
248
|
```
|
|
355
249
|
|
|
356
|
-
###
|
|
250
|
+
### フォーマッター関数
|
|
357
251
|
|
|
358
|
-
|
|
252
|
+
#### `number(value, options?)`
|
|
359
253
|
|
|
360
|
-
|
|
254
|
+
ロケール対応のグループ化と小数点を使用して数値をフォーマットします。
|
|
361
255
|
|
|
362
256
|
- **value**: `number | string`
|
|
363
257
|
- **options**: `Intl.NumberFormatOptions & { locale?: LocalesValues }`
|
|
364
258
|
|
|
365
|
-
例:
|
|
366
|
-
|
|
367
259
|
```ts
|
|
368
|
-
|
|
260
|
+
number(123456.789); // "123,456.789" (in en-US)
|
|
261
|
+
number("1000000", { locale: "fr" }); // "1 000 000"
|
|
262
|
+
number(1234.5, { minimumFractionDigits: 2 }); // "1,234.50"
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
#### `percentage(value, options?)`
|
|
369
266
|
|
|
267
|
+
数値をパーセンテージ文字列としてフォーマットします。1より大きい値は正規化されます(例:`25` → `25%`、`0.25` → `25%`)。
|
|
268
|
+
|
|
269
|
+
- **value**: `number | string`
|
|
270
|
+
- **options**: `Intl.NumberFormatOptions & { locale?: LocalesValues }`
|
|
271
|
+
|
|
272
|
+
```ts
|
|
370
273
|
percentage(0.25); // "25%"
|
|
371
274
|
percentage(25); // "25%"
|
|
372
275
|
percentage(0.237, { minimumFractionDigits: 1 }); // "23.7%"
|
|
373
276
|
```
|
|
374
277
|
|
|
375
|
-
|
|
278
|
+
#### `currency(value, options?)`
|
|
376
279
|
|
|
377
|
-
|
|
280
|
+
値をローカライズされた通貨としてフォーマットします。デフォルトは `USD` です。
|
|
378
281
|
|
|
379
282
|
- **value**: `number | string`
|
|
380
283
|
- **options**: `Intl.NumberFormatOptions & { locale?: LocalesValues }`
|
|
381
|
-
-
|
|
382
|
-
|
|
383
|
-
例:
|
|
284
|
+
- 一般的: `currency`, `currencyDisplay` (`"symbol" | "code" | "name"`)
|
|
384
285
|
|
|
385
286
|
```ts
|
|
386
|
-
import { currency } from "intlayer";
|
|
387
|
-
|
|
388
287
|
currency(1234.5, { currency: "EUR" }); // "€1,234.50"
|
|
389
288
|
currency("5000", { locale: "fr", currency: "CAD", currencyDisplay: "code" }); // "5 000,00 CAD"
|
|
390
289
|
```
|
|
391
290
|
|
|
291
|
+
#### `date(date, optionsOrPreset?)`
|
|
292
|
+
|
|
293
|
+
日時の値をフォーマットします。
|
|
294
|
+
|
|
295
|
+
- **date**: `Date | string | number`
|
|
296
|
+
- **optionsOrPreset**: `Intl.DateTimeFormatOptions & { locale?: LocalesValues }` またはプリセット: `"short" | "long" | "dateOnly" | "timeOnly" | "full"`
|
|
297
|
+
|
|
298
|
+
```ts
|
|
299
|
+
date(new Date(), "short"); // 例: "08/02/25, 14:30"
|
|
300
|
+
date("2025-08-02T14:30:00Z", { locale: "fr", month: "long", day: "numeric" }); // "2 août"
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
#### `relativeTime(from, to?, options?)`
|
|
304
|
+
|
|
305
|
+
2つの時刻間の相対時間をフォーマットします。
|
|
306
|
+
|
|
307
|
+
- **from**: `Date | string | number`
|
|
308
|
+
- **to**: `Date | string | number` (デフォルトは `new Date()`)
|
|
309
|
+
- **options**: `{ locale?, unit?, numeric?, style? }`
|
|
310
|
+
|
|
311
|
+
```ts
|
|
312
|
+
const now = new Date();
|
|
313
|
+
const in3Days = new Date(now.getTime() + 3 * 864e5);
|
|
314
|
+
relativeTime(now, in3Days, { unit: "day" }); // "3日後"
|
|
315
|
+
|
|
316
|
+
const twoHoursAgo = new Date(now.getTime() - 2 * 3600e3);
|
|
317
|
+
relativeTime(now, twoHoursAgo, { unit: "hour", numeric: "auto" }); // "2時間前"
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
#### `units(value, options?)`
|
|
321
|
+
|
|
322
|
+
数値を単位付きでフォーマットします。
|
|
323
|
+
|
|
324
|
+
- **value**: `number | string`
|
|
325
|
+
- **options**: `Intl.NumberFormatOptions & { locale?: LocalesValues }`
|
|
326
|
+
- 一般的: `unit` (例: `"kilometer"`, `"byte"`), `unitDisplay` (`"short" | "narrow" | "long"`)
|
|
327
|
+
|
|
328
|
+
```ts
|
|
329
|
+
units(5, { unit: "kilometer", unitDisplay: "long", locale: "en-GB" }); // "5 kilometers"
|
|
330
|
+
units(1024, { unit: "byte", unitDisplay: "narrow" }); // "1,024B"
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
#### `compact(value, options?)`
|
|
334
|
+
|
|
335
|
+
コンパクト記法を使用して数値をフォーマットします。
|
|
336
|
+
|
|
337
|
+
- **value**: `number | string`
|
|
338
|
+
- **options**: `Intl.NumberFormatOptions & { locale?: LocalesValues }`
|
|
339
|
+
|
|
340
|
+
```ts
|
|
341
|
+
compact(1200); // "1.2K"
|
|
342
|
+
compact("1000000", { locale: "fr", compactDisplay: "long" }); // "1 million"
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
#### `list(values, options?)`
|
|
346
|
+
|
|
347
|
+
配列をローカライズされたリスト文字列にフォーマットします。
|
|
348
|
+
|
|
349
|
+
- **values**: `(string | number)[]`
|
|
350
|
+
- **options**: `Intl.ListFormatOptions & { locale?: LocalesValues }`
|
|
351
|
+
- 共通: `type` (`"conjunction" | "disjunction" | "unit"`), `style` (`"long" | "short" | "narrow"`)
|
|
352
|
+
|
|
353
|
+
```ts
|
|
354
|
+
list(["apple", "banana", "orange"]); // "apple, banana, and orange"
|
|
355
|
+
list(["red", "green", "blue"], { locale: "fr", type: "disjunction" }); // "rouge, vert ou bleu"
|
|
356
|
+
```
|
|
357
|
+
|
|
392
358
|
## キャッシュされた Intl
|
|
393
359
|
|
|
394
360
|
`intlayer` からエクスポートされた `Intl` は、グローバル `Intl` のキャッシュされたラッパーです。フォーマッター インスタンス(`NumberFormat`、`DateTimeFormat` など)をメモ化して、繰り返しの構築を避け、パフォーマンスを向上させます。
|
|
@@ -419,44 +385,34 @@ pluralRules.select(2); // "other"
|
|
|
419
385
|
|
|
420
386
|
### 追加の Intl 機能
|
|
421
387
|
|
|
422
|
-
|
|
388
|
+
#### `Intl.DisplayNames`
|
|
423
389
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
- **date**: `Date | string | number`
|
|
427
|
-
- **optionsOrPreset**: `Intl.DateTimeFormatOptions & { locale?: LocalesValues }` または以下のプリセットのいずれか:
|
|
428
|
-
- プリセット: `"short" | "long" | "dateOnly" | "timeOnly" | "full"`
|
|
429
|
-
|
|
430
|
-
例:
|
|
390
|
+
言語、地域、通貨、スクリプトのローカライズされた名前の場合:
|
|
431
391
|
|
|
432
392
|
```ts
|
|
433
|
-
import {
|
|
434
|
-
|
|
435
|
-
date(new Date(), "short"); // 例: "08/02/25, 14:30"
|
|
436
|
-
date("2025-08-02T14:30:00Z", { locale: "fr", month: "long", day: "numeric" }); // "2 août"
|
|
437
|
-
```
|
|
393
|
+
import { Intl } from "intlayer";
|
|
438
394
|
|
|
439
|
-
|
|
395
|
+
const languageNames = new Intl.DisplayNames("en", { type: "language" });
|
|
396
|
+
languageNames.of("fr"); // "French"
|
|
440
397
|
|
|
441
|
-
|
|
398
|
+
const regionNames = new Intl.DisplayNames("fr", { type: "region" });
|
|
399
|
+
regionNames.of("US"); // "États-Unis"
|
|
400
|
+
```
|
|
442
401
|
|
|
443
|
-
|
|
444
|
-
- **from**: `Date | string | number`
|
|
445
|
-
- **to**: `Date | string | number` (デフォルトは `new Date()`)
|
|
446
|
-
- **options**: `{ locale?: LocalesValues; unit?: Intl.RelativeTimeFormatUnit; numeric?: Intl.RelativeTimeFormatNumeric; style?: Intl.RelativeTimeFormatStyle }`
|
|
447
|
-
- デフォルトの `unit` は `"second"` です。
|
|
402
|
+
#### `Intl.Collator`
|
|
448
403
|
|
|
449
|
-
|
|
404
|
+
ロケール対応の文字列比較とソート:
|
|
450
405
|
|
|
451
406
|
```ts
|
|
452
|
-
import {
|
|
407
|
+
import { Intl } from "intlayer";
|
|
453
408
|
|
|
454
|
-
const
|
|
455
|
-
|
|
456
|
-
|
|
409
|
+
const collator = new Intl.Collator("de", {
|
|
410
|
+
sensitivity: "base",
|
|
411
|
+
numeric: true,
|
|
412
|
+
});
|
|
457
413
|
|
|
458
|
-
const
|
|
459
|
-
|
|
414
|
+
const words = ["äpfel", "zebra", "100", "20"];
|
|
415
|
+
words.sort(collator.compare); // ["20", "100", "äpfel", "zebra"]
|
|
460
416
|
```
|
|
461
417
|
|
|
462
418
|
#### `Intl.PluralRules`
|
|
@@ -551,44 +507,20 @@ list(["red", "green", "blue"], { locale: "fr", type: "disjunction" }); // "rouge
|
|
|
551
507
|
list([1, 2, 3], { type: "unit" }); // "1, 2, 3"
|
|
552
508
|
```
|
|
553
509
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
- すべてのヘルパーは `string` 入力を受け入れます。内部的に数値や日付に変換されます。
|
|
557
|
-
- ロケールは指定されない場合、設定された `internationalization.defaultLocale` がデフォルトになります。
|
|
558
|
-
- これらのユーティリティは薄いラッパーです。高度なフォーマットが必要な場合は、標準の `Intl` オプションを直接渡してください。
|
|
559
|
-
|
|
560
|
-
## コンテンツ処理ユーティリティ
|
|
561
|
-
|
|
562
|
-
## エントリーポイントと再エクスポート(`@index.ts`)
|
|
563
|
-
|
|
564
|
-
フォーマッターはコアパッケージに存在し、ランタイム間でのインポートを使いやすくするために上位パッケージから再エクスポートされています。
|
|
510
|
+
### `getHTMLTextDir(locale?)`
|
|
565
511
|
|
|
566
|
-
|
|
512
|
+
ロケールのテキスト方向を返します:
|
|
567
513
|
|
|
568
514
|
```ts
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
relativeTime,
|
|
575
|
-
units,
|
|
576
|
-
compact,
|
|
577
|
-
list,
|
|
578
|
-
Intl,
|
|
579
|
-
getLocaleName,
|
|
580
|
-
getLocaleLang,
|
|
581
|
-
getLocaleFromPath,
|
|
582
|
-
getPathWithoutLocale,
|
|
583
|
-
getLocalizedUrl,
|
|
584
|
-
getHTMLTextDir,
|
|
585
|
-
getContent,
|
|
586
|
-
getTranslation,
|
|
587
|
-
getIntlayer,
|
|
588
|
-
getIntlayerAsync,
|
|
589
|
-
} from "intlayer";
|
|
515
|
+
import { getHTMLTextDir } from "intlayer";
|
|
516
|
+
|
|
517
|
+
getHTMLTextDir("en-US"); // "ltr"
|
|
518
|
+
getHTMLTextDir("ar"); // "rtl"
|
|
519
|
+
getHTMLTextDir("he"); // "rtl"
|
|
590
520
|
```
|
|
591
521
|
|
|
522
|
+
## コンテンツ処理ユーティリティ
|
|
523
|
+
|
|
592
524
|
### React
|
|
593
525
|
|
|
594
526
|
クライアントコンポーネント:
|
|
@@ -669,6 +601,20 @@ import {
|
|
|
669
601
|
|
|
670
602
|
> これらのフックは `IntlayerProvider` または `IntlayerServerProvider` からロケールを考慮します
|
|
671
603
|
|
|
604
|
+
### `getTranslation(languageContent, locale?, fallback?)`
|
|
605
|
+
|
|
606
|
+
特定のロケールのコンテンツを抽出します:
|
|
607
|
+
|
|
608
|
+
```ts
|
|
609
|
+
import { getTranslation } from "intlayer";
|
|
610
|
+
|
|
611
|
+
const content = getTranslation(
|
|
612
|
+
{ en: "Hello", fr: "Bonjour", de: "Hallo" },
|
|
613
|
+
"fr",
|
|
614
|
+
true
|
|
615
|
+
); // "Bonjour"
|
|
616
|
+
```
|
|
617
|
+
|
|
672
618
|
### Vue
|
|
673
619
|
|
|
674
620
|
クライアントコンポーネント:
|
|
@@ -39,7 +39,9 @@ Intlayer Visual Editor は、ローカル辞書のビジュアルエディタで
|
|
|
39
39
|
|
|
40
40
|
対照的に、[Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md) は、遠隔辞書のビジュアルエディタでコンテンツを管理できるツールです。変更が行われても、コードベースには影響を与えません。そして、ウェブサイトは自動的に変更されたコンテンツを表示します。
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
## Intlayer をアプリケーションに統合する
|
|
43
|
+
|
|
44
|
+
Intlayer を統合する方法の詳細については、以下の関連セクションを参照してください。
|
|
43
45
|
|
|
44
46
|
### Next.js との統合
|
|
45
47
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
3
|
updatedAt: 2026-05-31
|
|
4
|
-
title: "Angular
|
|
4
|
+
title: "Angular 22 i18n - あなたのアプリを翻訳する完全ガイド"
|
|
5
5
|
description: "i18nextはもう不要。2026年に多言語(i18n)Angular 21アプリを構築するためのガイド。AIエージェントで翻訳し、バンドルサイズ、SEO、パフォーマンスを最適化します。"
|
|
6
6
|
keywords:
|
|
7
7
|
- 国際化
|
|
@@ -13,8 +13,8 @@ slugs:
|
|
|
13
13
|
- doc
|
|
14
14
|
- environment
|
|
15
15
|
- angular
|
|
16
|
-
applicationTemplate: https://github.com/aymericzip/intlayer-angular-
|
|
17
|
-
applicationShowcase: https://intlayer-angular-
|
|
16
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-angular-22-template
|
|
17
|
+
applicationShowcase: https://intlayer-angular-22-template.vercel.app/
|
|
18
18
|
history:
|
|
19
19
|
- version: 8.9.0
|
|
20
20
|
date: 2026-05-04
|
|
@@ -77,7 +77,7 @@ Intlayer は単なる i18n ソリューションではなく、**自己ホスト
|
|
|
77
77
|
<Tab label="コード" value="code">
|
|
78
78
|
|
|
79
79
|
<iframe
|
|
80
|
-
src="https://ide.intlayer.org/aymericzip/intlayer-angular-
|
|
80
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-angular-22-template?file=intlayer.config.ts"
|
|
81
81
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
82
82
|
title="Demo CodeSandbox - Intlayerを使用してアプリケーションを国際化する方法"
|
|
83
83
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
@@ -88,7 +88,7 @@ Intlayer は単なる i18n ソリューションではなく、**自己ホスト
|
|
|
88
88
|
<Tab label="デモ" value="demo">
|
|
89
89
|
|
|
90
90
|
<iframe
|
|
91
|
-
src="https://intlayer-angular-
|
|
91
|
+
src="https://intlayer-angular-22-template.vercel.app/"
|
|
92
92
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
93
93
|
title="Demo - intlayer-angular-template"
|
|
94
94
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
@@ -98,7 +98,7 @@ Intlayer は単なる i18n ソリューションではなく、**自己ホスト
|
|
|
98
98
|
</Tab>
|
|
99
99
|
</Tabs>
|
|
100
100
|
|
|
101
|
-
GitHubで[アプリケーションテンプレート](https://github.com/aymericzip/intlayer-angular-
|
|
101
|
+
GitHubで[アプリケーションテンプレート](https://github.com/aymericzip/intlayer-angular-22-template)を参照してください。
|
|
102
102
|
|
|
103
103
|
<Steps>
|
|
104
104
|
|
|
@@ -29,19 +29,9 @@ history:
|
|
|
29
29
|
changes: "初版ドキュメント"
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
# Intlayer を使用して Nest バックエンド Web サイトを多言語化する | 国際化 (i18n)
|
|
33
33
|
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
- **多言語コンテンツの取得**: データベースからコンテンツを取得するアプリケーションでは、国際化により複数の言語でコンテンツを提供できるようになります。これは、ユーザーが好む言語で商品説明や記事、その他のコンテンツを表示する必要があるeコマースサイトやコンテンツ管理システムのようなプラットフォームにとって非常に重要です。
|
|
37
|
-
|
|
38
|
-
- **多言語メールの送信**: トランザクションメール、マーケティングキャンペーン、通知など、受信者の言語でメールを送信することで、エンゲージメントと効果を大幅に向上させることができます。
|
|
39
|
-
|
|
40
|
-
- **多言語プッシュ通知**: モバイルアプリケーションでは、ユーザーの好みの言語でプッシュ通知を送信することで、インタラクションとリテンションを強化できます。このパーソナルな対応により、通知がより関連性が高く、行動を促すものに感じられます。
|
|
41
|
-
|
|
42
|
-
- **その他のコミュニケーション**: SMSメッセージ、システムアラート、ユーザーインターフェースの更新など、バックエンドからのあらゆる形態のコミュニケーションは、ユーザーの言語で行うことで明確さが増し、全体的なユーザー体験を向上させます。
|
|
43
|
-
|
|
44
|
-
バックエンドを国際化することで、アプリケーションは文化的な違いを尊重するだけでなく、グローバル市場のニーズにより適合し、サービスを世界規模で拡大するための重要なステップとなります。
|
|
34
|
+
`express-intlayer` は Express アプリケーション向けの強力な国際化 (i18n) ミドルウェアであり、クライアントの設定に基づいたローカライズされたレスポンスを提供することで、バックエンド サービスをグローバルにアクセス可能にするよう設計されています。NestJS は Express の上に構築されているため、`express-intlayer` を NestJS アプリケーションにシームレスに統合して、多言語コンテンツを効果的に処理できます。
|
|
45
35
|
|
|
46
36
|
## はじめに
|
|
47
37
|
|
|
@@ -30,34 +30,7 @@ history:
|
|
|
30
30
|
author: aymericzip
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
-
# Intlayer
|
|
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
|
|
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
|
|