@intlayer/docs 9.5.4 → 9.5.5
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/README.md +2 -1
- package/blog/ar/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ar/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/de/how_to_pick_react_i18n_library.md +28 -0
- package/blog/de/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/en/how_to_pick_react_i18n_library.md +28 -0
- package/blog/en/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/en-GB/how_to_pick_react_i18n_library.md +28 -0
- package/blog/en-GB/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/es/how_to_pick_react_i18n_library.md +28 -0
- package/blog/es/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/fr/how_to_pick_react_i18n_library.md +28 -0
- package/blog/fr/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/hi/how_to_pick_react_i18n_library.md +28 -0
- package/blog/hi/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/id/how_to_pick_react_i18n_library.md +28 -0
- package/blog/id/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/it/how_to_pick_react_i18n_library.md +28 -0
- package/blog/it/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/ja/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ja/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/ko/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ko/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/pl/how_to_pick_react_i18n_library.md +28 -0
- package/blog/pl/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/pt/how_to_pick_react_i18n_library.md +28 -0
- package/blog/pt/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/ru/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ru/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/tr/how_to_pick_react_i18n_library.md +28 -0
- package/blog/tr/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/uk/how_to_pick_react_i18n_library.md +28 -0
- package/blog/uk/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/vi/how_to_pick_react_i18n_library.md +28 -0
- package/blog/vi/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/zh/how_to_pick_react_i18n_library.md +28 -0
- package/blog/zh/how_to_pick_solid_i18n_library.md +19 -5
- package/dist/cjs/generated/docs.entry.cjs +220 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +220 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +11 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/how_works_intlayer.md +86 -14
- package/docs/ar/intlayer_visual_editor.md +7 -0
- package/docs/ar/intlayer_with_astro.md +60 -36
- package/docs/ar/intlayer_with_astro_preact.md +7 -0
- package/docs/ar/intlayer_with_astro_react.md +7 -0
- package/docs/ar/intlayer_with_astro_solid.md +7 -0
- package/docs/ar/intlayer_with_astro_svelte.md +7 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ar/intlayer_with_astro_vue.md +7 -0
- package/docs/ar/intlayer_with_nextjs_14.md +7 -0
- package/docs/ar/intlayer_with_nextjs_15.md +7 -0
- package/docs/ar/intlayer_with_nextjs_16.md +7 -0
- package/docs/ar/intlayer_with_react_router_v7.md +7 -0
- package/docs/ar/intlayer_with_remix_3.md +73 -112
- package/docs/ar/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ar/intlayer_with_tanstack.md +7 -0
- package/docs/ar/intlayer_with_vite+preact.md +7 -0
- package/docs/ar/intlayer_with_vite+react.md +7 -0
- package/docs/ar/intlayer_with_vite+solid.md +7 -0
- package/docs/ar/packages/astro-intlayer/exports.md +161 -9
- package/docs/ar/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ar/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ar/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ar/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ar/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ar/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ar/packages/remix-intlayer/exports.md +80 -0
- package/docs/ar/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ar/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ar/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ar/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ar/readme.md +2 -1
- package/docs/de/how_works_intlayer.md +86 -14
- package/docs/de/intlayer_visual_editor.md +7 -0
- package/docs/de/intlayer_with_astro.md +60 -36
- package/docs/de/intlayer_with_astro_preact.md +7 -0
- package/docs/de/intlayer_with_astro_react.md +7 -0
- package/docs/de/intlayer_with_astro_solid.md +7 -0
- package/docs/de/intlayer_with_astro_svelte.md +7 -0
- package/docs/de/intlayer_with_astro_vanilla.md +7 -0
- package/docs/de/intlayer_with_astro_vue.md +7 -0
- package/docs/de/intlayer_with_nextjs_14.md +7 -0
- package/docs/de/intlayer_with_nextjs_15.md +7 -0
- package/docs/de/intlayer_with_nextjs_16.md +7 -0
- package/docs/de/intlayer_with_react_router_v7.md +7 -0
- package/docs/de/intlayer_with_remix_3.md +70 -109
- package/docs/de/intlayer_with_tanstack+solid.md +7 -0
- package/docs/de/intlayer_with_tanstack.md +7 -0
- package/docs/de/intlayer_with_vite+preact.md +7 -0
- package/docs/de/intlayer_with_vite+react.md +7 -0
- package/docs/de/intlayer_with_vite+solid.md +7 -0
- package/docs/de/packages/astro-intlayer/exports.md +164 -12
- package/docs/de/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/de/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/de/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/de/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/de/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/de/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/de/packages/remix-intlayer/exports.md +176 -0
- package/docs/de/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/de/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/de/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/de/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/de/readme.md +2 -1
- package/docs/en/how_works_intlayer.md +86 -14
- package/docs/en/intlayer_visual_editor.md +7 -0
- package/docs/en/intlayer_with_astro.md +63 -41
- package/docs/en/intlayer_with_astro_preact.md +7 -0
- package/docs/en/intlayer_with_astro_react.md +7 -0
- package/docs/en/intlayer_with_astro_solid.md +7 -0
- package/docs/en/intlayer_with_astro_svelte.md +7 -0
- package/docs/en/intlayer_with_astro_vanilla.md +7 -0
- package/docs/en/intlayer_with_astro_vue.md +7 -0
- package/docs/en/intlayer_with_nextjs_14.md +7 -0
- package/docs/en/intlayer_with_nextjs_15.md +7 -0
- package/docs/en/intlayer_with_nextjs_16.md +7 -0
- package/docs/en/intlayer_with_react_router_v7.md +7 -0
- package/docs/en/intlayer_with_remix_3.md +74 -122
- package/docs/en/intlayer_with_tanstack+solid.md +7 -0
- package/docs/en/intlayer_with_tanstack.md +7 -0
- package/docs/en/intlayer_with_vite+preact.md +7 -0
- package/docs/en/intlayer_with_vite+react.md +7 -0
- package/docs/en/intlayer_with_vite+solid.md +7 -0
- package/docs/en/introduction.md +2 -1
- package/docs/en/packages/astro-intlayer/exports.md +161 -9
- package/docs/en/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/en/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/en/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/en/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/en/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/en/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/en/packages/remix-intlayer/exports.md +176 -0
- package/docs/en/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/en/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/en/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/en/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/en/readme.md +2 -1
- package/docs/en-GB/how_works_intlayer.md +86 -14
- package/docs/en-GB/intlayer_visual_editor.md +7 -0
- package/docs/en-GB/intlayer_with_astro.md +60 -36
- package/docs/en-GB/intlayer_with_astro_preact.md +7 -0
- package/docs/en-GB/intlayer_with_astro_react.md +7 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +7 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +7 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +7 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +7 -0
- package/docs/en-GB/intlayer_with_nextjs_14.md +7 -0
- package/docs/en-GB/intlayer_with_nextjs_15.md +7 -0
- package/docs/en-GB/intlayer_with_nextjs_16.md +7 -0
- package/docs/en-GB/intlayer_with_react_router_v7.md +7 -0
- package/docs/en-GB/intlayer_with_remix_3.md +66 -105
- package/docs/en-GB/intlayer_with_tanstack+solid.md +7 -0
- package/docs/en-GB/intlayer_with_tanstack.md +7 -0
- package/docs/en-GB/intlayer_with_vite+preact.md +7 -0
- package/docs/en-GB/intlayer_with_vite+react.md +7 -0
- package/docs/en-GB/intlayer_with_vite+solid.md +7 -0
- package/docs/en-GB/packages/astro-intlayer/exports.md +162 -10
- package/docs/en-GB/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/en-GB/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/en-GB/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/en-GB/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/en-GB/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/en-GB/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/en-GB/packages/remix-intlayer/exports.md +176 -0
- package/docs/en-GB/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/en-GB/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/en-GB/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/en-GB/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/en-GB/readme.md +2 -1
- package/docs/es/how_works_intlayer.md +86 -14
- package/docs/es/intlayer_visual_editor.md +7 -0
- package/docs/es/intlayer_with_astro.md +60 -36
- package/docs/es/intlayer_with_astro_preact.md +7 -0
- package/docs/es/intlayer_with_astro_react.md +7 -0
- package/docs/es/intlayer_with_astro_solid.md +7 -0
- package/docs/es/intlayer_with_astro_svelte.md +7 -0
- package/docs/es/intlayer_with_astro_vanilla.md +7 -0
- package/docs/es/intlayer_with_astro_vue.md +7 -0
- package/docs/es/intlayer_with_nextjs_14.md +7 -0
- package/docs/es/intlayer_with_nextjs_15.md +7 -0
- package/docs/es/intlayer_with_nextjs_16.md +7 -0
- package/docs/es/intlayer_with_react_router_v7.md +7 -0
- package/docs/es/intlayer_with_remix_3.md +73 -112
- package/docs/es/intlayer_with_tanstack+solid.md +7 -0
- package/docs/es/intlayer_with_tanstack.md +7 -0
- package/docs/es/intlayer_with_vite+preact.md +7 -0
- package/docs/es/intlayer_with_vite+react.md +7 -0
- package/docs/es/intlayer_with_vite+solid.md +7 -0
- package/docs/es/packages/astro-intlayer/exports.md +162 -10
- package/docs/es/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/es/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/es/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/es/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/es/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/es/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/es/packages/remix-intlayer/exports.md +176 -0
- package/docs/es/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/es/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/es/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/es/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/es/readme.md +2 -1
- package/docs/fr/how_works_intlayer.md +86 -14
- package/docs/fr/intlayer_visual_editor.md +7 -0
- package/docs/fr/intlayer_with_astro.md +60 -36
- package/docs/fr/intlayer_with_astro_preact.md +7 -0
- package/docs/fr/intlayer_with_astro_react.md +7 -0
- package/docs/fr/intlayer_with_astro_solid.md +7 -0
- package/docs/fr/intlayer_with_astro_svelte.md +7 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +7 -0
- package/docs/fr/intlayer_with_astro_vue.md +7 -0
- package/docs/fr/intlayer_with_nextjs_14.md +7 -0
- package/docs/fr/intlayer_with_nextjs_15.md +7 -0
- package/docs/fr/intlayer_with_nextjs_16.md +7 -0
- package/docs/fr/intlayer_with_react_router_v7.md +7 -0
- package/docs/fr/intlayer_with_remix_3.md +74 -122
- package/docs/fr/intlayer_with_tanstack+solid.md +7 -0
- package/docs/fr/intlayer_with_tanstack.md +7 -0
- package/docs/fr/intlayer_with_vite+preact.md +7 -0
- package/docs/fr/intlayer_with_vite+react.md +7 -0
- package/docs/fr/intlayer_with_vite+solid.md +7 -0
- package/docs/fr/packages/astro-intlayer/exports.md +162 -10
- package/docs/fr/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/fr/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/fr/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/fr/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/fr/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/fr/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/fr/packages/remix-intlayer/exports.md +176 -0
- package/docs/fr/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/fr/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/fr/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/fr/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/fr/readme.md +2 -1
- package/docs/hi/how_works_intlayer.md +86 -14
- package/docs/hi/intlayer_visual_editor.md +7 -0
- package/docs/hi/intlayer_with_astro.md +61 -37
- package/docs/hi/intlayer_with_astro_preact.md +7 -0
- package/docs/hi/intlayer_with_astro_react.md +7 -0
- package/docs/hi/intlayer_with_astro_solid.md +7 -0
- package/docs/hi/intlayer_with_astro_svelte.md +7 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +7 -0
- package/docs/hi/intlayer_with_astro_vue.md +7 -0
- package/docs/hi/intlayer_with_nextjs_14.md +7 -0
- package/docs/hi/intlayer_with_nextjs_15.md +7 -0
- package/docs/hi/intlayer_with_nextjs_16.md +7 -0
- package/docs/hi/intlayer_with_react_router_v7.md +7 -0
- package/docs/hi/intlayer_with_remix_3.md +73 -112
- package/docs/hi/intlayer_with_tanstack+solid.md +7 -0
- package/docs/hi/intlayer_with_tanstack.md +7 -0
- package/docs/hi/intlayer_with_vite+preact.md +7 -0
- package/docs/hi/intlayer_with_vite+react.md +7 -0
- package/docs/hi/intlayer_with_vite+solid.md +7 -0
- package/docs/hi/packages/astro-intlayer/exports.md +165 -13
- package/docs/hi/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/hi/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/hi/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/hi/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/hi/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/hi/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/hi/packages/remix-intlayer/exports.md +80 -0
- package/docs/hi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/hi/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/hi/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/hi/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/hi/readme.md +2 -1
- package/docs/id/how_works_intlayer.md +86 -14
- package/docs/id/intlayer_visual_editor.md +7 -0
- package/docs/id/intlayer_with_astro.md +60 -36
- package/docs/id/intlayer_with_astro_preact.md +7 -0
- package/docs/id/intlayer_with_astro_react.md +7 -0
- package/docs/id/intlayer_with_astro_solid.md +7 -0
- package/docs/id/intlayer_with_astro_svelte.md +7 -0
- package/docs/id/intlayer_with_astro_vanilla.md +7 -0
- package/docs/id/intlayer_with_astro_vue.md +7 -0
- package/docs/id/intlayer_with_nextjs_14.md +7 -0
- package/docs/id/intlayer_with_nextjs_15.md +7 -0
- package/docs/id/intlayer_with_nextjs_16.md +7 -0
- package/docs/id/intlayer_with_react_router_v7.md +7 -0
- package/docs/id/intlayer_with_remix_3.md +101 -148
- package/docs/id/intlayer_with_tanstack+solid.md +7 -0
- package/docs/id/intlayer_with_tanstack.md +7 -0
- package/docs/id/intlayer_with_vite+preact.md +7 -0
- package/docs/id/intlayer_with_vite+react.md +7 -0
- package/docs/id/intlayer_with_vite+solid.md +7 -0
- package/docs/id/packages/astro-intlayer/exports.md +163 -11
- package/docs/id/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/id/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/id/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/id/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/id/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/id/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/id/packages/remix-intlayer/exports.md +80 -0
- package/docs/id/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/id/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/id/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/id/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/id/readme.md +2 -1
- package/docs/it/how_works_intlayer.md +86 -14
- package/docs/it/intlayer_visual_editor.md +7 -0
- package/docs/it/intlayer_with_astro.md +60 -36
- package/docs/it/intlayer_with_astro_preact.md +7 -0
- package/docs/it/intlayer_with_astro_react.md +7 -0
- package/docs/it/intlayer_with_astro_solid.md +7 -0
- package/docs/it/intlayer_with_astro_svelte.md +7 -0
- package/docs/it/intlayer_with_astro_vanilla.md +7 -0
- package/docs/it/intlayer_with_astro_vue.md +7 -0
- package/docs/it/intlayer_with_nextjs_14.md +7 -0
- package/docs/it/intlayer_with_nextjs_15.md +7 -0
- package/docs/it/intlayer_with_nextjs_16.md +7 -0
- package/docs/it/intlayer_with_react_router_v7.md +7 -0
- package/docs/it/intlayer_with_remix_3.md +70 -109
- package/docs/it/intlayer_with_tanstack+solid.md +7 -0
- package/docs/it/intlayer_with_tanstack.md +7 -0
- package/docs/it/intlayer_with_vite+preact.md +7 -0
- package/docs/it/intlayer_with_vite+react.md +7 -0
- package/docs/it/intlayer_with_vite+solid.md +7 -0
- package/docs/it/packages/astro-intlayer/exports.md +161 -9
- package/docs/it/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/it/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/it/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/it/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/it/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/it/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/it/packages/remix-intlayer/exports.md +176 -0
- package/docs/it/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/it/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/it/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/it/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/it/readme.md +2 -1
- package/docs/ja/how_works_intlayer.md +86 -14
- package/docs/ja/intlayer_visual_editor.md +7 -0
- package/docs/ja/intlayer_with_astro.md +61 -37
- package/docs/ja/intlayer_with_astro_preact.md +7 -0
- package/docs/ja/intlayer_with_astro_react.md +7 -0
- package/docs/ja/intlayer_with_astro_solid.md +7 -0
- package/docs/ja/intlayer_with_astro_svelte.md +7 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ja/intlayer_with_astro_vue.md +7 -0
- package/docs/ja/intlayer_with_nextjs_14.md +7 -0
- package/docs/ja/intlayer_with_nextjs_15.md +7 -0
- package/docs/ja/intlayer_with_nextjs_16.md +7 -0
- package/docs/ja/intlayer_with_react_router_v7.md +7 -0
- package/docs/ja/intlayer_with_remix_3.md +73 -112
- package/docs/ja/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ja/intlayer_with_tanstack.md +7 -0
- package/docs/ja/intlayer_with_vite+preact.md +7 -0
- package/docs/ja/intlayer_with_vite+react.md +7 -0
- package/docs/ja/intlayer_with_vite+solid.md +7 -0
- package/docs/ja/packages/astro-intlayer/exports.md +163 -11
- package/docs/ja/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ja/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ja/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ja/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ja/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ja/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ja/packages/remix-intlayer/exports.md +80 -0
- package/docs/ja/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ja/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ja/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ja/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ja/readme.md +2 -1
- package/docs/ko/how_works_intlayer.md +86 -14
- package/docs/ko/intlayer_visual_editor.md +7 -0
- package/docs/ko/intlayer_with_astro.md +61 -37
- package/docs/ko/intlayer_with_astro_preact.md +7 -0
- package/docs/ko/intlayer_with_astro_react.md +7 -0
- package/docs/ko/intlayer_with_astro_solid.md +7 -0
- package/docs/ko/intlayer_with_astro_svelte.md +7 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ko/intlayer_with_astro_vue.md +7 -0
- package/docs/ko/intlayer_with_nextjs_14.md +7 -0
- package/docs/ko/intlayer_with_nextjs_15.md +7 -0
- package/docs/ko/intlayer_with_nextjs_16.md +7 -0
- package/docs/ko/intlayer_with_react_router_v7.md +7 -0
- package/docs/ko/intlayer_with_remix_3.md +73 -112
- package/docs/ko/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ko/intlayer_with_tanstack.md +7 -0
- package/docs/ko/intlayer_with_vite+preact.md +7 -0
- package/docs/ko/intlayer_with_vite+react.md +7 -0
- package/docs/ko/intlayer_with_vite+solid.md +7 -0
- package/docs/ko/packages/astro-intlayer/exports.md +163 -11
- package/docs/ko/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ko/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ko/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ko/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ko/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ko/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ko/packages/remix-intlayer/exports.md +80 -0
- package/docs/ko/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ko/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ko/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ko/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ko/readme.md +2 -1
- package/docs/pl/how_works_intlayer.md +86 -14
- package/docs/pl/intlayer_visual_editor.md +7 -0
- package/docs/pl/intlayer_with_astro.md +61 -37
- package/docs/pl/intlayer_with_astro_preact.md +7 -0
- package/docs/pl/intlayer_with_astro_react.md +7 -0
- package/docs/pl/intlayer_with_astro_solid.md +7 -0
- package/docs/pl/intlayer_with_astro_svelte.md +7 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +7 -0
- package/docs/pl/intlayer_with_astro_vue.md +7 -0
- package/docs/pl/intlayer_with_nextjs_14.md +7 -0
- package/docs/pl/intlayer_with_nextjs_15.md +7 -0
- package/docs/pl/intlayer_with_nextjs_16.md +7 -0
- package/docs/pl/intlayer_with_react_router_v7.md +7 -0
- package/docs/pl/intlayer_with_remix_3.md +101 -148
- package/docs/pl/intlayer_with_tanstack+solid.md +7 -0
- package/docs/pl/intlayer_with_tanstack.md +7 -0
- package/docs/pl/intlayer_with_vite+preact.md +7 -0
- package/docs/pl/intlayer_with_vite+react.md +7 -0
- package/docs/pl/intlayer_with_vite+solid.md +7 -0
- package/docs/pl/packages/astro-intlayer/exports.md +162 -10
- package/docs/pl/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/pl/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/pl/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/pl/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/pl/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/pl/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/pl/packages/remix-intlayer/exports.md +80 -0
- package/docs/pl/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/pl/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/pl/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/pl/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/pl/readme.md +2 -1
- package/docs/pt/how_works_intlayer.md +86 -14
- package/docs/pt/intlayer_visual_editor.md +7 -0
- package/docs/pt/intlayer_with_astro.md +61 -37
- package/docs/pt/intlayer_with_astro_preact.md +7 -0
- package/docs/pt/intlayer_with_astro_react.md +7 -0
- package/docs/pt/intlayer_with_astro_solid.md +7 -0
- package/docs/pt/intlayer_with_astro_svelte.md +7 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +7 -0
- package/docs/pt/intlayer_with_astro_vue.md +7 -0
- package/docs/pt/intlayer_with_nextjs_14.md +7 -0
- package/docs/pt/intlayer_with_nextjs_15.md +7 -0
- package/docs/pt/intlayer_with_nextjs_16.md +7 -0
- package/docs/pt/intlayer_with_react_router_v7.md +7 -0
- package/docs/pt/intlayer_with_remix_3.md +73 -112
- package/docs/pt/intlayer_with_tanstack+solid.md +7 -0
- package/docs/pt/intlayer_with_tanstack.md +7 -0
- package/docs/pt/intlayer_with_vite+preact.md +7 -0
- package/docs/pt/intlayer_with_vite+react.md +7 -0
- package/docs/pt/intlayer_with_vite+solid.md +7 -0
- package/docs/pt/packages/astro-intlayer/exports.md +162 -10
- package/docs/pt/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/pt/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/pt/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/pt/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/pt/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/pt/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/pt/packages/remix-intlayer/exports.md +176 -0
- package/docs/pt/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/pt/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/pt/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/pt/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/pt/readme.md +2 -1
- package/docs/ru/how_works_intlayer.md +86 -14
- package/docs/ru/intlayer_visual_editor.md +7 -0
- package/docs/ru/intlayer_with_astro.md +61 -37
- package/docs/ru/intlayer_with_astro_preact.md +7 -0
- package/docs/ru/intlayer_with_astro_react.md +7 -0
- package/docs/ru/intlayer_with_astro_solid.md +7 -0
- package/docs/ru/intlayer_with_astro_svelte.md +7 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ru/intlayer_with_astro_vue.md +7 -0
- package/docs/ru/intlayer_with_nextjs_14.md +7 -0
- package/docs/ru/intlayer_with_nextjs_15.md +7 -0
- package/docs/ru/intlayer_with_nextjs_16.md +7 -0
- package/docs/ru/intlayer_with_react_router_v7.md +7 -0
- package/docs/ru/intlayer_with_remix_3.md +73 -112
- package/docs/ru/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ru/intlayer_with_tanstack.md +7 -0
- package/docs/ru/intlayer_with_vite+preact.md +7 -0
- package/docs/ru/intlayer_with_vite+react.md +7 -0
- package/docs/ru/intlayer_with_vite+solid.md +7 -0
- package/docs/ru/packages/astro-intlayer/exports.md +164 -12
- package/docs/ru/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ru/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ru/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ru/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ru/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ru/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ru/packages/remix-intlayer/exports.md +80 -0
- package/docs/ru/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ru/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ru/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ru/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ru/readme.md +2 -1
- package/docs/tr/how_works_intlayer.md +86 -14
- package/docs/tr/intlayer_visual_editor.md +7 -0
- package/docs/tr/intlayer_with_astro.md +60 -36
- package/docs/tr/intlayer_with_astro_preact.md +7 -0
- package/docs/tr/intlayer_with_astro_react.md +7 -0
- package/docs/tr/intlayer_with_astro_solid.md +7 -0
- package/docs/tr/intlayer_with_astro_svelte.md +7 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +7 -0
- package/docs/tr/intlayer_with_astro_vue.md +7 -0
- package/docs/tr/intlayer_with_nextjs_14.md +7 -0
- package/docs/tr/intlayer_with_nextjs_15.md +7 -0
- package/docs/tr/intlayer_with_nextjs_16.md +7 -0
- package/docs/tr/intlayer_with_react_router_v7.md +7 -0
- package/docs/tr/intlayer_with_remix_3.md +101 -148
- package/docs/tr/intlayer_with_tanstack+solid.md +7 -0
- package/docs/tr/intlayer_with_tanstack.md +7 -0
- package/docs/tr/intlayer_with_vite+preact.md +7 -0
- package/docs/tr/intlayer_with_vite+react.md +7 -0
- package/docs/tr/intlayer_with_vite+solid.md +7 -0
- package/docs/tr/packages/astro-intlayer/exports.md +165 -13
- package/docs/tr/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/tr/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/tr/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/tr/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/tr/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/tr/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/tr/packages/remix-intlayer/exports.md +80 -0
- package/docs/tr/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/tr/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/tr/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/tr/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/tr/readme.md +2 -1
- package/docs/uk/how_works_intlayer.md +86 -14
- package/docs/uk/intlayer_visual_editor.md +7 -0
- package/docs/uk/intlayer_with_astro.md +61 -37
- package/docs/uk/intlayer_with_astro_preact.md +7 -0
- package/docs/uk/intlayer_with_astro_react.md +7 -0
- package/docs/uk/intlayer_with_astro_solid.md +7 -0
- package/docs/uk/intlayer_with_astro_svelte.md +7 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +7 -0
- package/docs/uk/intlayer_with_astro_vue.md +7 -0
- package/docs/uk/intlayer_with_nextjs_14.md +7 -0
- package/docs/uk/intlayer_with_nextjs_15.md +7 -0
- package/docs/uk/intlayer_with_nextjs_16.md +7 -0
- package/docs/uk/intlayer_with_react_router_v7.md +7 -0
- package/docs/uk/intlayer_with_remix_3.md +101 -148
- package/docs/uk/intlayer_with_tanstack+solid.md +7 -0
- package/docs/uk/intlayer_with_tanstack.md +7 -0
- package/docs/uk/intlayer_with_vite+preact.md +7 -0
- package/docs/uk/intlayer_with_vite+react.md +7 -0
- package/docs/uk/intlayer_with_vite+solid.md +7 -0
- package/docs/uk/packages/astro-intlayer/exports.md +162 -10
- package/docs/uk/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/uk/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/uk/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/uk/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/uk/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/uk/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/uk/packages/remix-intlayer/exports.md +80 -0
- package/docs/uk/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/uk/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/uk/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/uk/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/uk/readme.md +2 -1
- package/docs/vi/how_works_intlayer.md +86 -14
- package/docs/vi/intlayer_visual_editor.md +7 -0
- package/docs/vi/intlayer_with_astro.md +60 -36
- package/docs/vi/intlayer_with_astro_preact.md +7 -0
- package/docs/vi/intlayer_with_astro_react.md +7 -0
- package/docs/vi/intlayer_with_astro_solid.md +7 -0
- package/docs/vi/intlayer_with_astro_svelte.md +7 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +7 -0
- package/docs/vi/intlayer_with_astro_vue.md +7 -0
- package/docs/vi/intlayer_with_nextjs_14.md +7 -0
- package/docs/vi/intlayer_with_nextjs_15.md +7 -0
- package/docs/vi/intlayer_with_nextjs_16.md +7 -0
- package/docs/vi/intlayer_with_react_router_v7.md +7 -0
- package/docs/vi/intlayer_with_remix_3.md +101 -148
- package/docs/vi/intlayer_with_tanstack+solid.md +7 -0
- package/docs/vi/intlayer_with_tanstack.md +7 -0
- package/docs/vi/intlayer_with_vite+preact.md +7 -0
- package/docs/vi/intlayer_with_vite+react.md +7 -0
- package/docs/vi/intlayer_with_vite+solid.md +7 -0
- package/docs/vi/packages/astro-intlayer/exports.md +167 -15
- package/docs/vi/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/vi/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/vi/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/vi/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/vi/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/vi/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/vi/packages/remix-intlayer/exports.md +80 -0
- package/docs/vi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/vi/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/vi/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/vi/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/vi/readme.md +2 -1
- package/docs/zh/how_works_intlayer.md +86 -14
- package/docs/zh/intlayer_visual_editor.md +7 -0
- package/docs/zh/intlayer_with_astro.md +61 -37
- package/docs/zh/intlayer_with_astro_preact.md +7 -0
- package/docs/zh/intlayer_with_astro_react.md +7 -0
- package/docs/zh/intlayer_with_astro_solid.md +7 -0
- package/docs/zh/intlayer_with_astro_svelte.md +7 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +7 -0
- package/docs/zh/intlayer_with_astro_vue.md +7 -0
- package/docs/zh/intlayer_with_nextjs_14.md +7 -0
- package/docs/zh/intlayer_with_nextjs_15.md +7 -0
- package/docs/zh/intlayer_with_nextjs_16.md +7 -0
- package/docs/zh/intlayer_with_react_router_v7.md +7 -0
- package/docs/zh/intlayer_with_remix_3.md +74 -112
- package/docs/zh/intlayer_with_tanstack+solid.md +7 -0
- package/docs/zh/intlayer_with_tanstack.md +7 -0
- package/docs/zh/intlayer_with_vite+preact.md +7 -0
- package/docs/zh/intlayer_with_vite+react.md +7 -0
- package/docs/zh/intlayer_with_vite+solid.md +7 -0
- package/docs/zh/packages/astro-intlayer/exports.md +166 -14
- package/docs/zh/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/zh/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/zh/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/zh/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/zh/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/zh/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/zh/packages/remix-intlayer/exports.md +80 -0
- package/docs/zh/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/zh/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/zh/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/zh/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/zh/readme.md +2 -1
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +223 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-01-21
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: intlayer 統合ドキュメント | astro-intlayer
|
|
5
|
+
description: astro.config.mjs で intlayer Astro 統合を設定および使用する方法を説明します。
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayer
|
|
8
|
+
- astro
|
|
9
|
+
- astro-intlayer
|
|
10
|
+
- 統合
|
|
11
|
+
- i18n
|
|
12
|
+
- 国際化
|
|
13
|
+
- ドキュメント
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- packages
|
|
17
|
+
- astro-intlayer
|
|
18
|
+
- intlayer
|
|
19
|
+
history:
|
|
20
|
+
- version: 9.5.5
|
|
21
|
+
date: 2026-09-19
|
|
22
|
+
changes: "ミドルウェアとフックの詳細を含む統合ドキュメントを更新"
|
|
23
|
+
- version: 8.0.0
|
|
24
|
+
date: 2026-01-21
|
|
25
|
+
changes: "初期ドキュメント"
|
|
26
|
+
author: aymericzip
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# intlayer Astro 統合ドキュメント
|
|
30
|
+
|
|
31
|
+
Astro 向けの `intlayer` 統合は、多言語国際化(i18n)のためにプロジェクトを設定します。ビルド時の辞書準備、Vite プラグインの注入、リクエストミドルウェアの自動登録、およびローカライズされたプリレンダリングページの出力を処理します。
|
|
32
|
+
|
|
33
|
+
## 使用方法
|
|
34
|
+
|
|
35
|
+
`astro.config.mjs` に `intlayer()` を追加します。
|
|
36
|
+
|
|
37
|
+
```ts fileName="astro.config.mjs"
|
|
38
|
+
import { defineConfig } from "astro/config";
|
|
39
|
+
import { intlayer } from "astro-intlayer";
|
|
40
|
+
|
|
41
|
+
export default defineConfig({
|
|
42
|
+
integrations: [intlayer()],
|
|
43
|
+
});
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Astro CLI のコードモッド(`astro add astro-intlayer`)でもサポートされているデフォルトインポートが生成されます。
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
import intlayer from "astro-intlayer";
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 説明
|
|
53
|
+
|
|
54
|
+
この統合は Astro のビルドおよびランタイムライフサイクルにフックします。
|
|
55
|
+
|
|
56
|
+
1. **設定セットアップ (`astro:config:setup`)**:
|
|
57
|
+
- **辞書の準備**: ビルド実行前に Intlayer 辞書と生成された型を準備します。
|
|
58
|
+
- **Vite プラグイン**: Vite エイリアス(シームレスな辞書インポートを可能にする)、ロケールルーティングプロキシ、およびビルドプルーニング用のプラグインを注入します。
|
|
59
|
+
- **ミドルウェアの登録**: 受信リクエストごとに `Astro.locals.intlayer` を設定する `astro-intlayer/middleware` をプロジェクトのミドルウェアチェーンに自動的に注入します。
|
|
60
|
+
2. **ビルド完了 (`astro:build:done`)**:
|
|
61
|
+
- **ページの書き換え**: ローカライズされた URL 書き換えルールを検査し、対応するローカライズされたパスにプリレンダリングされた HTML ページを出力します。
|
|
62
|
+
|
|
63
|
+
## すぐに利用できる機能
|
|
64
|
+
|
|
65
|
+
設定が完了すると、Astro アプリケーションはすぐに以下を利用できます。
|
|
66
|
+
|
|
67
|
+
- `.astro` コンポーネントのフロントマター内の `useIntlayer`、`useDictionary`、および `useLocale` フック。
|
|
68
|
+
- Astro エンドポイントおよびページ内の `Astro.locals.intlayer` オブジェクト。
|
|
69
|
+
- リアクティブな更新を備えた同じ API を反映する `<script>` ブロック内のクライアント側インポート。
|
|
70
|
+
- `astro-intlayer/format` の組み込みフォーマッター(`useDate`、`useNumber`、`useCurrency` など)。
|
|
71
|
+
|
|
72
|
+
## 関連ドキュメント
|
|
73
|
+
|
|
74
|
+
- [`useIntlayer` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useIntlayer.md)
|
|
75
|
+
- [`useLocale` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useLocale.md)
|
|
76
|
+
- [`onRequest` ミドルウェア](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/onRequest.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: onRequest ミドルウェアドキュメント | astro-intlayer
|
|
5
|
+
description: Astro アプリケーションで onRequest ミドルウェアを使用してリクエストロケールを解決し、Astro.locals.intlayer を設定する方法を説明します。
|
|
6
|
+
keywords:
|
|
7
|
+
- onRequest
|
|
8
|
+
- middleware
|
|
9
|
+
- astro
|
|
10
|
+
- astro-intlayer
|
|
11
|
+
- Astro.locals
|
|
12
|
+
- 国際化
|
|
13
|
+
- ドキュメント
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- packages
|
|
17
|
+
- astro-intlayer
|
|
18
|
+
- onRequest
|
|
19
|
+
history:
|
|
20
|
+
- version: 9.5.5
|
|
21
|
+
date: 2026-09-19
|
|
22
|
+
changes: "初期ドキュメント"
|
|
23
|
+
author: aymericzip
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# onRequest Astro ミドルウェアドキュメント
|
|
27
|
+
|
|
28
|
+
`astro-intlayer/middleware` の `onRequest` ミドルウェアは、各受信 HTTP リクエストのロケールを解決し、`Astro.locals.intlayer` を設定します。
|
|
29
|
+
|
|
30
|
+
`astro.config.mjs` に `intlayer()` 統合を登録すると、このミドルウェアは自動的に注入されます。`sequence(...)` を使用して Astro ミドルウェアを手動で合成する場合にのみ、直接インポートする必要があります。
|
|
31
|
+
|
|
32
|
+
## 使用方法
|
|
33
|
+
|
|
34
|
+
```ts fileName="src/middleware.ts"
|
|
35
|
+
import { onRequest as intlayer } from "astro-intlayer/middleware";
|
|
36
|
+
import { sequence } from "astro:middleware";
|
|
37
|
+
|
|
38
|
+
export const onRequest = sequence(intlayer, async (context, next) => {
|
|
39
|
+
// カスタムミドルウェアで解決されたロケールにアクセス
|
|
40
|
+
const { locale } = context.locals.intlayer;
|
|
41
|
+
console.log(`ロケール ${locale} のリクエストを処理中`);
|
|
42
|
+
|
|
43
|
+
return next();
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 説明
|
|
48
|
+
|
|
49
|
+
ミドルウェアは以下の処理を実行します。
|
|
50
|
+
|
|
51
|
+
1. **ロケール検出**:
|
|
52
|
+
- **URL**: URL パスプレフィックスまたは `?locale=` 検索パラメーターを分析します(`routing.mode` が `no-prefix` に設定されていない限り)。
|
|
53
|
+
- **クッキー / ヘッダー**: 永続化されたロケールクッキーまたはカスタムヘッダー値をチェックします。
|
|
54
|
+
- **Accept-Language**: ブラウザの優先言語ネゴシエーションにフォールバックします。
|
|
55
|
+
- プリレンダリングページ(`context.isPrerendered`)の場合、Astro のビルド警告を防ぐためにロケールは厳密に URL から抽出されます。
|
|
56
|
+
2. **コンテキストの設定**: `Astro.locals.intlayer` に以下を設定します。
|
|
57
|
+
- `locale`: 解決されたロケール。
|
|
58
|
+
- `defaultLocale`: デフォルトのフォールバックロケール。
|
|
59
|
+
- `availableLocales`: 設定されたロケールの配列。
|
|
60
|
+
3. **AsyncLocalStorage スコープ**: 後続のリクエスト処理を `AsyncLocalStorage` スコープ内にラップし、`useIntlayer()`、`useDictionary()`、および `useLocale()` が引数を渡さずにリクエスト状態にアクセスできるようにします。
|
|
61
|
+
|
|
62
|
+
## `IntlayerLocals` 型
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
export type IntlayerLocals = {
|
|
66
|
+
locale: DeclaredLocales;
|
|
67
|
+
defaultLocale: DeclaredLocales;
|
|
68
|
+
availableLocales: DeclaredLocales[];
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 関連ドキュメント
|
|
73
|
+
|
|
74
|
+
- [`intlayer` 統合](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/intlayer.md)
|
|
75
|
+
- [`useIntlayer` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useIntlayer.md)
|
|
76
|
+
- [`useLocale` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useLocale.md)
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: useDictionary フックドキュメント | astro-intlayer
|
|
5
|
+
description: Astro コンポーネントとスクリプトで useDictionary フックを使用して辞書オブジェクトを解決する方法を説明します。
|
|
6
|
+
keywords:
|
|
7
|
+
- useDictionary
|
|
8
|
+
- dictionary
|
|
9
|
+
- astro
|
|
10
|
+
- astro-intlayer
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- 国際化
|
|
14
|
+
- ドキュメント
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- astro-intlayer
|
|
19
|
+
- useDictionary
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "初期ドキュメント"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# useDictionary フックドキュメント
|
|
28
|
+
|
|
29
|
+
`useDictionary` フックは、インポートされた、またはインラインの辞書オブジェクトを解決し、Astro アプリケーションで現在のロケールに対応するコンテンツを返します。
|
|
30
|
+
|
|
31
|
+
グローバル辞書レジストリからキーによって辞書を取得する `useIntlayer` とは異なり、`useDictionary` は辞書オブジェクトを直接操作します。
|
|
32
|
+
|
|
33
|
+
## 使用方法
|
|
34
|
+
|
|
35
|
+
```astro fileName="src/pages/index.astro"
|
|
36
|
+
---
|
|
37
|
+
import { useDictionary } from "astro-intlayer";
|
|
38
|
+
import homeContent from "../content/home.content";
|
|
39
|
+
|
|
40
|
+
const content = useDictionary(homeContent);
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
<main>
|
|
44
|
+
<h1>{content.title}</h1>
|
|
45
|
+
<p>{content.description}</p>
|
|
46
|
+
</main>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`t()` を使用して定義されたインライン辞書を渡すこともできます。
|
|
50
|
+
|
|
51
|
+
```astro fileName="src/components/Footer.astro"
|
|
52
|
+
---
|
|
53
|
+
import { useDictionary } from "astro-intlayer";
|
|
54
|
+
import { t } from "intlayer";
|
|
55
|
+
|
|
56
|
+
const footer = useDictionary({
|
|
57
|
+
key: "footer",
|
|
58
|
+
content: {
|
|
59
|
+
copyright: t({
|
|
60
|
+
ja: "無断転載を禁じます。",
|
|
61
|
+
en: "All rights reserved.",
|
|
62
|
+
fr: "Tous droits réservés.",
|
|
63
|
+
es: "Todos los derechos reservados.",
|
|
64
|
+
}),
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
<footer>
|
|
70
|
+
<p>{footer.copyright}</p>
|
|
71
|
+
</footer>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## パラメーター
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
useDictionary(dictionary, localeOrSelector?)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
1. **`dictionary`**: 辞書オブジェクト、または修飾された辞書グループ。
|
|
81
|
+
2. **`localeOrSelector`**(オプション): 特定のロケールまたはセレクターオブジェクト(`{ item }`、`{ variant }`、必要に応じて `locale`)。
|
|
82
|
+
|
|
83
|
+
## 説明
|
|
84
|
+
|
|
85
|
+
フックは以下の処理を実行します。
|
|
86
|
+
|
|
87
|
+
1. **ロケール検出**: サーバー上では `Astro.locals.intlayer` からロケールを取得します。ブラウザ上ではクライアント側のストアロケールを使用します。
|
|
88
|
+
2. **コンテンツ処理**: 解決されたロケールに従って、翻訳(`t()`)、列挙、条件、およびネストされた構造を解決します。
|
|
89
|
+
3. **セレクター**: 引数で提供されたアイテムまたはバリアントセレクターを適用します。
|
|
90
|
+
|
|
91
|
+
## 関連ドキュメント
|
|
92
|
+
|
|
93
|
+
- [`intlayer` 統合](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/intlayer.md)
|
|
94
|
+
- [`useIntlayer` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useIntlayer.md)
|
|
95
|
+
- [`useLocale` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useLocale.md)
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: useIntlayer フックドキュメント | astro-intlayer
|
|
5
|
+
description: Astro コンポーネントとクライアントスクリプトで useIntlayer フックを使用してローカライズされたコンテンツにアクセスする方法を説明します。
|
|
6
|
+
keywords:
|
|
7
|
+
- useIntlayer
|
|
8
|
+
- dictionary
|
|
9
|
+
- astro
|
|
10
|
+
- astro-intlayer
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- 国際化
|
|
14
|
+
- ドキュメント
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- astro-intlayer
|
|
19
|
+
- useIntlayer
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "初期ドキュメント"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# useIntlayer フックドキュメント
|
|
28
|
+
|
|
29
|
+
`useIntlayer` フックを使用すると、Astro アプリケーションでキーを指定してローカライズされた辞書コンテンツを取得できます。
|
|
30
|
+
|
|
31
|
+
同じインポートパスを使用して、2つの異なるコンテキストで呼び出すことができます。
|
|
32
|
+
|
|
33
|
+
1. **サーバー / フロントマター**: `.astro` ファイル内では、`Astro.locals.intlayer` に保存されたリクエストロケールを使用して自動的にコンテンツを解決します。
|
|
34
|
+
2. **ブラウザ / クライアント `<script>`**: クライアントスクリプトまたは UI フレームワークコンポーネント内では、クライアント側のストア実装(`vanilla-intlayer`)に解決されます。
|
|
35
|
+
|
|
36
|
+
## 使用方法
|
|
37
|
+
|
|
38
|
+
### Astro コンポーネントのフロントマター内
|
|
39
|
+
|
|
40
|
+
```astro fileName="src/pages/index.astro"
|
|
41
|
+
---
|
|
42
|
+
import { useIntlayer } from "astro-intlayer";
|
|
43
|
+
|
|
44
|
+
const content = useIntlayer("home");
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
<main>
|
|
48
|
+
<h1>{content.title}</h1>
|
|
49
|
+
<p>{content.description}</p>
|
|
50
|
+
</main>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### クライアント `<script>` ブロック内
|
|
54
|
+
|
|
55
|
+
```astro fileName="src/components/InteractiveWidget.astro"
|
|
56
|
+
---
|
|
57
|
+
import { useIntlayer } from "astro-intlayer";
|
|
58
|
+
|
|
59
|
+
const content = useIntlayer("home");
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
<button id="alert-btn">{content.buttonText}</button>
|
|
63
|
+
|
|
64
|
+
<script>
|
|
65
|
+
import { useIntlayer } from "astro-intlayer";
|
|
66
|
+
|
|
67
|
+
const content = useIntlayer("home");
|
|
68
|
+
|
|
69
|
+
document.getElementById("alert-btn")?.addEventListener("click", () => {
|
|
70
|
+
alert(content.buttonText);
|
|
71
|
+
});
|
|
72
|
+
</script>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## パラメーター
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
useIntlayer(key, localeOrSelector?)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
1. **`key`**: 辞書の一意のキー(`.content.ts` 宣言ファイルで定義されたもの)。
|
|
82
|
+
2. **`localeOrSelector`**(オプション): 特定のロケールまたはセレクターオブジェクト(`{ item }`、`{ variant }`、必要に応じて `locale`)。指定された場合、リクエストコンテキストまたはクライアントストアから検出されたロケールを上書きします。
|
|
83
|
+
|
|
84
|
+
## 説明
|
|
85
|
+
|
|
86
|
+
フックは以下の処理を実行します。
|
|
87
|
+
|
|
88
|
+
1. **ロケール解決**:
|
|
89
|
+
- サーバー上では、`astro-intlayer/middleware` によって初期化された `AsyncLocalStorage` スコープを介して `Astro.locals.intlayer` からアクティブなロケールを読み取ります。
|
|
90
|
+
- ブラウザ上では、クライアントストレージ/ストアからアクティブなロケールを読み取ります。
|
|
91
|
+
2. **辞書の取得**: 指定されたキーに一致する辞書コンテンツを注入します。
|
|
92
|
+
3. **翻訳処理**: 翻訳(`t()`)、列挙、条件、およびマークダウンをレンダリング可能なコンテンツに解決します。
|
|
93
|
+
|
|
94
|
+
## 関連ドキュメント
|
|
95
|
+
|
|
96
|
+
- [`intlayer` 統合](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/intlayer.md)
|
|
97
|
+
- [`useDictionary` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useDictionary.md)
|
|
98
|
+
- [`useLocale` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useLocale.md)
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: useLocale フックドキュメント | astro-intlayer
|
|
5
|
+
description: Astro アプリケーションで useLocale フックを使用して現在のロケールにアクセスし管理する方法を説明します。
|
|
6
|
+
keywords:
|
|
7
|
+
- useLocale
|
|
8
|
+
- locale
|
|
9
|
+
- astro
|
|
10
|
+
- astro-intlayer
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- 国際化
|
|
14
|
+
- ドキュメント
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- astro-intlayer
|
|
19
|
+
- useLocale
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "初期ドキュメント"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# useLocale フックドキュメント
|
|
28
|
+
|
|
29
|
+
`astro-intlayer` の `useLocale` フックは、Astro アプリケーションにおいて現在のリクエストロケール、設定されたデフォルトロケール、およびすべての利用可能なロケールへのアクセスを提供します。
|
|
30
|
+
|
|
31
|
+
サーバーレンダリングされた `.astro` フロントマターとクライアント側の `<script>` ブロックの両方で一貫して動作します。
|
|
32
|
+
|
|
33
|
+
## 使用方法
|
|
34
|
+
|
|
35
|
+
### コンポーネントフロントマター内(サーバーレンダリング)
|
|
36
|
+
|
|
37
|
+
```astro fileName="src/layouts/Layout.astro"
|
|
38
|
+
---
|
|
39
|
+
import { useLocale } from "astro-intlayer";
|
|
40
|
+
import { getLocalizedUrl, getPathWithoutLocale } from "intlayer";
|
|
41
|
+
|
|
42
|
+
const { locale, defaultLocale, availableLocales } = useLocale();
|
|
43
|
+
const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
<!DOCTYPE html>
|
|
47
|
+
<html lang={locale}>
|
|
48
|
+
<head>
|
|
49
|
+
<meta charset="utf-8" />
|
|
50
|
+
<title>Astro + Intlayer</title>
|
|
51
|
+
</head>
|
|
52
|
+
<body>
|
|
53
|
+
<header>
|
|
54
|
+
<span>現在のロケール: {locale}</span>
|
|
55
|
+
<span>デフォルト: {defaultLocale}</span>
|
|
56
|
+
<nav>
|
|
57
|
+
<ul>
|
|
58
|
+
{availableLocales.map((localeItem) => (
|
|
59
|
+
<li key={localeItem} className="p-1">
|
|
60
|
+
<a
|
|
61
|
+
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
62
|
+
aria-current={localeItem === locale ? "page" : undefined}
|
|
63
|
+
>
|
|
64
|
+
{localeItem.toUpperCase()}
|
|
65
|
+
</a>
|
|
66
|
+
</li>
|
|
67
|
+
))}
|
|
68
|
+
</ul>
|
|
69
|
+
</nav>
|
|
70
|
+
</header>
|
|
71
|
+
<slot />
|
|
72
|
+
</body>
|
|
73
|
+
</html>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### クライアント `<script>` 内(インタラクティブ)
|
|
77
|
+
|
|
78
|
+
```astro fileName="src/components/LocaleSwitcher.astro"
|
|
79
|
+
---
|
|
80
|
+
import { useLocale } from "astro-intlayer";
|
|
81
|
+
|
|
82
|
+
const { locale, availableLocales } = useLocale();
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
<select id="locale-select">
|
|
86
|
+
{availableLocales.map((loc) => (
|
|
87
|
+
<option value={loc} selected={loc === locale}>
|
|
88
|
+
{loc.toUpperCase()}
|
|
89
|
+
</option>
|
|
90
|
+
))}
|
|
91
|
+
</select>
|
|
92
|
+
|
|
93
|
+
<script>
|
|
94
|
+
import { useLocale, setLocaleInStorage } from "astro-intlayer";
|
|
95
|
+
|
|
96
|
+
const { setLocale } = useLocale();
|
|
97
|
+
|
|
98
|
+
document.getElementById("locale-select")?.addEventListener("change", (e) => {
|
|
99
|
+
const target = e.target as HTMLSelectElement;
|
|
100
|
+
setLocale(target.value);
|
|
101
|
+
});
|
|
102
|
+
</script>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 戻り値
|
|
106
|
+
|
|
107
|
+
このフックは `UseLocaleResult` 型のオブジェクトを返します。
|
|
108
|
+
|
|
109
|
+
| プロパティ | タイプ | 説明 |
|
|
110
|
+
| ------------------ | -------------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
111
|
+
| `locale` | `DeclaredLocales` | アクティブなロケール。 |
|
|
112
|
+
| `defaultLocale` | `DeclaredLocales` | `intlayer.config.ts` で設定されたデフォルトのフォールバックロケール。 |
|
|
113
|
+
| `availableLocales` | `DeclaredLocales[]` | プロジェクト用に設定されたすべてのサポートされているロケールの配列。 |
|
|
114
|
+
| `setLocale` | `(locale: LocalesValues) => void` | ロケールを更新する関数。(クライアント `<script>` でインタラクティブに動作し、SSR では警告)。 |
|
|
115
|
+
| `subscribe` | `(callback: () => void) => () => void` | クライアント側のロケール変更を購読します。 |
|
|
116
|
+
|
|
117
|
+
## サーバーとクライアントの動作の違い
|
|
118
|
+
|
|
119
|
+
- **SSR / サーバーレンダリング中**: リクエストは固定パラメーターで1回レンダリングされます。サーバーレンダリング中に `setLocale()` を呼び出しても効果はなく警告が出力されます。ロケールの切り替えはクライアントで行うか、目的のロケール URL に移動して行う必要があります。
|
|
120
|
+
- **クライアントスクリプト内**: `setLocale` はクライアントストアを更新し、Intlayer 設定に従って永続化されたクッキーまたはローカルストレージを更新します。
|
|
121
|
+
|
|
122
|
+
## 関連ドキュメント
|
|
123
|
+
|
|
124
|
+
- [`intlayer` 統合](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/intlayer.md)
|
|
125
|
+
- [`useIntlayer` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useIntlayer.md)
|
|
126
|
+
- [`useDictionary` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/astro-intlayer/useDictionary.md)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: Intlayer コンテキストのドキュメント | remix-intlayer
|
|
5
|
+
description: Remix 3 アプリケーションにおける Intlayer リクエストコンテキストストレージキーのドキュメント。
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- remix
|
|
9
|
+
- remix-3
|
|
10
|
+
- リクエストコンテキスト
|
|
11
|
+
- 国際化
|
|
12
|
+
- i18n
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- packages
|
|
16
|
+
- remix-intlayer
|
|
17
|
+
- Intlayer
|
|
18
|
+
history:
|
|
19
|
+
- version: 9.5.5
|
|
20
|
+
date: 2026-09-19
|
|
21
|
+
changes: "Intlayer コンテキストキーの初期ドキュメント"
|
|
22
|
+
author: aymericzip
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Intlayer リクエストコンテキストキー
|
|
26
|
+
|
|
27
|
+
`Intlayer` エクスポートは、Remix 3 におけるリクエストコンテキストストレージ識別子として機能します。ルートハンドラーやカスタムミドルウェア内で、Remix コンテキストオブジェクトから Intlayer の状態を直接取得できます。
|
|
28
|
+
|
|
29
|
+
## 使用方法
|
|
30
|
+
|
|
31
|
+
```ts fileName="src/server.ts"
|
|
32
|
+
import { createRouter } from "remix/router";
|
|
33
|
+
import { intlayer, Intlayer } from "remix-intlayer";
|
|
34
|
+
|
|
35
|
+
const router = createRouter({
|
|
36
|
+
middleware: [intlayer()],
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
router.get("/api/current-locale", (context) => {
|
|
40
|
+
const intlayerState = context.get(Intlayer);
|
|
41
|
+
|
|
42
|
+
return Response.json({
|
|
43
|
+
locale: intlayerState?.locale,
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 説明
|
|
49
|
+
|
|
50
|
+
`Intlayer` は、`intlayer()` ミドルウェアが現在のセッション状態を Remix のリクエストコンテキスト(`RequestContext`)に関連付けるために使用されます。通常は `useLocale()` や `useIntlayer()` などのフックを使用することが推奨されます。`context.get(Intlayer)` による直接アクセスは、低レベルのミドルウェアハンドラーやコンテキストインスタンスが明示的に渡される API ルートで便利です。
|
|
51
|
+
|
|
52
|
+
## 関連ドキュメント
|
|
53
|
+
|
|
54
|
+
- [`intlayer` ミドルウェア](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/intlayerMiddleware.md)
|
|
55
|
+
- [`useLocale` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/useLocale.md)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: remix-intlayer パッケージのドキュメント
|
|
5
|
+
description: Remix 3 アプリケーションに国際化(i18n)を提供する remix-intlayer パッケージのエクスポートドキュメント。
|
|
6
|
+
keywords:
|
|
7
|
+
- remix-intlayer
|
|
8
|
+
- remix
|
|
9
|
+
- remix-3
|
|
10
|
+
- intlayer
|
|
11
|
+
- 国際化
|
|
12
|
+
- i18n
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- packages
|
|
16
|
+
- remix-intlayer
|
|
17
|
+
- exports
|
|
18
|
+
history:
|
|
19
|
+
- version: 9.5.5
|
|
20
|
+
date: 2026-09-19
|
|
21
|
+
changes: "remix-intlayer エクスポートの初期ドキュメント"
|
|
22
|
+
author: aymericzip
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# remix-intlayer パッケージ
|
|
26
|
+
|
|
27
|
+
`remix-intlayer` パッケージは、Intlayer を Remix 3 アプリケーションに統合するためのツールを提供します。リクエストのロケール検出用ミドルウェア、リクエストコンテキストへのアクセス、辞書の取得やロケール管理を行うフックが含まれています。
|
|
28
|
+
|
|
29
|
+
## インストール
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install remix-intlayer
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## パッケージのエクスポート
|
|
36
|
+
|
|
37
|
+
### ミドルウェア
|
|
38
|
+
|
|
39
|
+
| エクスポート | タイプ | 説明 | 関連ドキュメント |
|
|
40
|
+
| ------------ | ---------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
41
|
+
| `intlayer` | ミドルウェア関数 | リクエストのロケールを検出し、リダイレクトを処理し、リクエストコンテキストを設定する Remix 3 用ミドルウェア。 | [intlayer ミドルウェア](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/intlayerMiddleware.md) |
|
|
42
|
+
|
|
43
|
+
### コンテキストストレージ
|
|
44
|
+
|
|
45
|
+
| エクスポート | タイプ | 説明 | 関連ドキュメント |
|
|
46
|
+
| ------------ | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
47
|
+
| `Intlayer` | RequestContext キー / ストレージ | Remix 3 のリクエストコンテキスト(`context.get(Intlayer)`)から Intlayer の状態を取得するために使用するリクエストコンテキストキー。 | [Intlayer コンテキスト](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/Intlayer.md) |
|
|
48
|
+
|
|
49
|
+
### フック
|
|
50
|
+
|
|
51
|
+
| エクスポート | タイプ | 説明 | 関連ドキュメント |
|
|
52
|
+
| --------------- | ------ | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
|
53
|
+
| `useIntlayer` | フック | 現在のリクエストロケールに基づいて、キーで指定された辞書コンテンツを取得・解決します。 | [useIntlayer フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/useIntlayer.md) |
|
|
54
|
+
| `useDictionary` | フック | インポート済みの辞書オブジェクトから、現在のロケールに対応するコンテンツを返します。 | [useDictionary フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/useDictionary.md) |
|
|
55
|
+
| `useLocale` | フック | 現在のリクエストロケール、デフォルトロケール、および利用可能なロケール一覧へのアクセスを提供します。 | [useLocale フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/useLocale.md) |
|
|
56
|
+
|
|
57
|
+
## クイックスタート
|
|
58
|
+
|
|
59
|
+
### ルーターでのミドルウェア設定
|
|
60
|
+
|
|
61
|
+
```ts fileName="src/server.ts"
|
|
62
|
+
import { createRouter } from "remix/router";
|
|
63
|
+
import { intlayer } from "remix-intlayer";
|
|
64
|
+
|
|
65
|
+
export const router = createRouter({
|
|
66
|
+
middleware: [intlayer()],
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### コンポーネントおよびビューでのコンテンツ利用
|
|
71
|
+
|
|
72
|
+
```ts fileName="src/views/home.ts"
|
|
73
|
+
import { useIntlayer } from "remix-intlayer";
|
|
74
|
+
|
|
75
|
+
export const HomeView = () => {
|
|
76
|
+
const content = useIntlayer("home");
|
|
77
|
+
|
|
78
|
+
return `<h1>${content.title}</h1><p>${content.description}</p>`;
|
|
79
|
+
};
|
|
80
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: intlayer ミドルウェアのドキュメント | remix-intlayer
|
|
5
|
+
description: Remix 3 で intlayer ミドルウェアを使用してロケールを検出し、リダイレクトを処理し、リクエストコンテキストに Intlayer 状態を注入する方法を学びます。
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayer
|
|
8
|
+
- middleware
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- 国際化
|
|
12
|
+
- i18n
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- packages
|
|
16
|
+
- remix-intlayer
|
|
17
|
+
- intlayerMiddleware
|
|
18
|
+
history:
|
|
19
|
+
- version: 9.5.5
|
|
20
|
+
date: 2026-09-19
|
|
21
|
+
changes: "intlayer ミドルウェアの初期ドキュメント"
|
|
22
|
+
author: aymericzip
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# intlayer ミドルウェア
|
|
26
|
+
|
|
27
|
+
`intlayer` ミドルウェア関数は、Remix 3 アプリケーションでリクエスト単位の国際化を設定します。受信したリクエストごとにロケールを検出し、URL リダイレクトルールを適用し、リクエストコンテキストにロケール状態を永続化します。
|
|
28
|
+
|
|
29
|
+
## 使用方法
|
|
30
|
+
|
|
31
|
+
Remix ルーターにミドルウェアを登録します。
|
|
32
|
+
|
|
33
|
+
```ts fileName="src/server.ts"
|
|
34
|
+
import { createRouter } from "remix/router";
|
|
35
|
+
import { intlayer } from "remix-intlayer";
|
|
36
|
+
|
|
37
|
+
export const router = createRouter({
|
|
38
|
+
middleware: [intlayer()],
|
|
39
|
+
});
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 動作の仕組み
|
|
43
|
+
|
|
44
|
+
ミドルウェアは各受信リクエストに対して以下のタスクを実行します。
|
|
45
|
+
|
|
46
|
+
1. **ロケール検出**: Intlayer の設定に従い、URL パスプレフィックス(例: `/ja/about`)、クッキー、または `Accept-Language` ヘッダーからロケールを抽出します。
|
|
47
|
+
2. **URL リダイレクト**: 要求されたパスにロケールプレフィックスがなく、設定でプレフィックス付きルーティングが必要な場合、プレフィックス付き URL へのリダイレクトレスポンス(302/307/308)を返します。
|
|
48
|
+
3. **リクエストコンテキストの登録**: `Intlayer` キーを使用して解決された現在のロケールを Remix リクエストコンテキストに保存し、フック(`useLocale`、`useIntlayer`、`useDictionary`)が透過的に利用できるようにします。
|
|
49
|
+
4. **クッキー管理**: ユーザーの優先ロケールを永続化する必要がある場合、`Set-Cookie` ヘッダーを設定します。
|
|
50
|
+
|
|
51
|
+
## 関連ドキュメント
|
|
52
|
+
|
|
53
|
+
- [`Intlayer` リクエストコンテキスト](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/Intlayer.md)
|
|
54
|
+
- [`useLocale` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/useLocale.md)
|
|
55
|
+
- [`useIntlayer` フック](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/remix-intlayer/useIntlayer.md)
|