@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,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: useLocale Hook Dokumentation | astro-intlayer
|
|
5
|
+
description: Erfahren Sie, wie Sie den useLocale Hook in Astro-Anwendungen verwenden, um auf das aktuelle Locale zuzugreifen und es zu verwalten.
|
|
6
|
+
keywords:
|
|
7
|
+
- useLocale
|
|
8
|
+
- locale
|
|
9
|
+
- astro
|
|
10
|
+
- astro-intlayer
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- Internationalisierung
|
|
14
|
+
- Dokumentation
|
|
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: "Initiale Dokumentation"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# useLocale Hook Dokumentation
|
|
28
|
+
|
|
29
|
+
Der `useLocale`-Hook aus `astro-intlayer` bietet Zugriff auf das aktuelle Anfrage-Locale, das konfigurierte Standard-Locale und alle verfügbaren Locales in Astro-Anwendungen.
|
|
30
|
+
|
|
31
|
+
Er verhält sich im serverseitig gerenderten `.astro`-Frontmatter und in clientseitigen `<script>`-Blöcken konsistent.
|
|
32
|
+
|
|
33
|
+
## Verwendung
|
|
34
|
+
|
|
35
|
+
### Im Komponenten-Frontmatter (Serverseitig gerendert)
|
|
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>Aktuell: {locale}</span>
|
|
55
|
+
<span>Standard: {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
|
+
### Im Client-`<script>` (Interaktiv)
|
|
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
|
+
## Rückgabewerte
|
|
106
|
+
|
|
107
|
+
Der Hook gibt ein Objekt vom Typ `UseLocaleResult` zurück:
|
|
108
|
+
|
|
109
|
+
| Eigenschaft | Typ | Beschreibung |
|
|
110
|
+
| ------------------ | -------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
111
|
+
| `locale` | `DeclaredLocales` | Das aktive Locale. |
|
|
112
|
+
| `defaultLocale` | `DeclaredLocales` | Das in `intlayer.config.ts` konfigurierte Standard-Fallback-Locale. |
|
|
113
|
+
| `availableLocales` | `DeclaredLocales[]` | Array aller für das Projekt konfigurierten unterstützten Locales. |
|
|
114
|
+
| `setLocale` | `(locale: LocalesValues) => void` | Funktion zur Aktualisierung des Locales. (Interaktiv im `<script>`, warnt während SSR). |
|
|
115
|
+
| `subscribe` | `(callback: () => void) => () => void` | Abonniert clientseitige Locale-Änderungen. |
|
|
116
|
+
|
|
117
|
+
## Server- vs. Client-Verhalten
|
|
118
|
+
|
|
119
|
+
- **Während SSR / Server-Rendering**: Eine Anfrage wird einmal mit festen Parametern gerendert. Das Aufrufen von `setLocale()` während eines Server-Renderings hat keine Auswirkung und gibt eine Warnung aus; der Wechsel des Locales sollte auf dem Client oder durch Navigation zur Ziel-Locale-URL erfolgen.
|
|
120
|
+
- **In Client-Skripten**: `setLocale` aktualisiert den Client-Store sowie persistierte Cookies oder den lokalen Speicher gemäß Ihrer Intlayer-Konfiguration.
|
|
121
|
+
|
|
122
|
+
## Zugehörige Dokumentation
|
|
123
|
+
|
|
124
|
+
- [`intlayer` Integration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/astro-intlayer/intlayer.md)
|
|
125
|
+
- [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/astro-intlayer/useIntlayer.md)
|
|
126
|
+
- [Hook `useDictionary`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/astro-intlayer/useDictionary.md)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: Intlayer Kontext Dokumentation | remix-intlayer
|
|
5
|
+
description: Erfahren Sie, wie Sie den Intlayer-Request-Kontextschlüssel und die Eigenschaft in Remix 3-Anwendungen verwenden.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- remix
|
|
9
|
+
- remix-3
|
|
10
|
+
- kontext
|
|
11
|
+
- RequestContext
|
|
12
|
+
- Internationalisierung
|
|
13
|
+
- Dokumentation
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- packages
|
|
17
|
+
- remix-intlayer
|
|
18
|
+
- Intlayer
|
|
19
|
+
history:
|
|
20
|
+
- version: 9.5.5
|
|
21
|
+
date: 2026-09-19
|
|
22
|
+
changes: "Init doc"
|
|
23
|
+
author: aymericzip
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Intlayer Kontext Dokumentation
|
|
27
|
+
|
|
28
|
+
In `remix-intlayer` ist `Intlayer` der `RequestContext`-Schlüssel, der für den Zugriff auf den Internationalisierungszustand innerhalb von Remix 3-Request-Handlern verwendet wird.
|
|
29
|
+
|
|
30
|
+
## Verwendung
|
|
31
|
+
|
|
32
|
+
Wenn die `intlayer()`-Middleware ausgeführt wird, speichert sie ein `IntlayerState`-Objekt im Anfragekontext unter dem Schlüssel `Intlayer`. Sie können es in jedem Routen-Handler abrufen:
|
|
33
|
+
|
|
34
|
+
```ts fileName="src/server.ts"
|
|
35
|
+
import { createRouter } from "remix/router";
|
|
36
|
+
import { intlayer, Intlayer } from "remix-intlayer";
|
|
37
|
+
|
|
38
|
+
const router = createRouter({
|
|
39
|
+
middleware: [intlayer()],
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
router.get("/api/profile", (context) => {
|
|
43
|
+
// Zugriff über context.get(Intlayer)
|
|
44
|
+
const { locale, defaultLocale, availableLocales } = context.get(Intlayer);
|
|
45
|
+
|
|
46
|
+
return Response.json({
|
|
47
|
+
locale,
|
|
48
|
+
defaultLocale,
|
|
49
|
+
availableLocales,
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Sie können auch über die direkte Eigenschaft `context.intlayer` zugreifen:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
router.get("/api/status", (context) => {
|
|
58
|
+
const currentLocale = context.intlayer.locale;
|
|
59
|
+
return Response.json({ status: "ok", locale: currentLocale });
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Struktur von `IntlayerState`
|
|
64
|
+
|
|
65
|
+
Das `IntlayerState`-Objekt enthält:
|
|
66
|
+
|
|
67
|
+
| Eigenschaft | Typ | Beschreibung |
|
|
68
|
+
| ------------------ | ------------------- | ------------------------------------------------------------ |
|
|
69
|
+
| `locale` | `DeclaredLocales` | Die für die aktuelle Anfrage aufgelöste Locale. |
|
|
70
|
+
| `defaultLocale` | `DeclaredLocales` | Die in `intlayer.config.ts` konfigurierte Fallback-Locale. |
|
|
71
|
+
| `availableLocales` | `DeclaredLocales[]` | Liste aller im Projekt konfigurierten unterstützten Locales. |
|
|
72
|
+
|
|
73
|
+
## Zugehörige Dokumentation
|
|
74
|
+
|
|
75
|
+
- [`intlayer` Middleware](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/intlayerMiddleware.md)
|
|
76
|
+
- [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useLocale.md)
|
|
77
|
+
- [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useIntlayer.md)
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: remix-intlayer Paketdokumentation
|
|
5
|
+
description: Remix 3 Integration für Intlayer, die Middleware, Kontext, Hooks und Formatierer für sprachenbasiertes Routing und Inhaltsverwaltung bereitstellt.
|
|
6
|
+
keywords:
|
|
7
|
+
- remix-intlayer
|
|
8
|
+
- remix
|
|
9
|
+
- remix-3
|
|
10
|
+
- internationalisierung
|
|
11
|
+
- i18n
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- packages
|
|
15
|
+
- remix-intlayer
|
|
16
|
+
- exports
|
|
17
|
+
history:
|
|
18
|
+
- version: 9.5.5
|
|
19
|
+
date: 2026-09-19
|
|
20
|
+
changes: "Einheitliche Dokumentation für alle Exporte"
|
|
21
|
+
author: aymericzip
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# remix-intlayer Paket
|
|
25
|
+
|
|
26
|
+
Das `remix-intlayer`-Paket bietet die erforderlichen Werkzeuge zur Integration von Intlayer in Remix 3-Anwendungen. Vollständig auf Webstandards aufgebaut (`Request`, `Response`, `Headers` und `URL`), bietet es eine Router-Middleware für sprachenbasiertes Routing und interne Umschreibungen, Kontextspeicherung, Hooks und Formatierungsdienstprogramme für die Verwaltung mehrsprachiger Inhalte.
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install remix-intlayer
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Exporte
|
|
35
|
+
|
|
36
|
+
### Middleware
|
|
37
|
+
|
|
38
|
+
Import:
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
import { intlayer } from "remix-intlayer";
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
| Funktion | Beschreibung | Zugehörige Doc |
|
|
45
|
+
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
46
|
+
| `intlayer` | Remix 3-Router-Middleware, die sprachenbasiertes Routing (Weiterleitungen und interne Umschreibungen) handhabt, die Request-Locale auflöst, sie in Cookies/Headern speichert und den Request-Kontextbereich initialisiert. | [intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/intlayerMiddleware.md) |
|
|
47
|
+
|
|
48
|
+
### Kontext
|
|
49
|
+
|
|
50
|
+
Import:
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
import { Intlayer, INTLAYER_CONTEXT_PROPERTY } from "remix-intlayer";
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
| Export | Typ | Beschreibung | Zugehörige Doc |
|
|
57
|
+
| --------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
58
|
+
| `Intlayer` | `ContextKey` | RequestContext-Schlüssel, der den `IntlayerState` (`locale`, `defaultLocale`, `availableLocales`) für die aktuelle Anfrage enthält. | [Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/Intlayer.md) |
|
|
59
|
+
| `INTLAYER_CONTEXT_PROPERTY` | `string` | Eigenschaftsname (`'intlayer'`), der direkt auf dem Request-Kontext installiert ist, zugänglich über `context.intlayer` und `context.get(Intlayer)`. | - |
|
|
60
|
+
|
|
61
|
+
### Hooks
|
|
62
|
+
|
|
63
|
+
Import:
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
import { useIntlayer, useDictionary, useLocale } from "remix-intlayer";
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
| Hook | Beschreibung | Zugehörige Doc |
|
|
70
|
+
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
71
|
+
| `useIntlayer` | Wählt ein Wörterbuch anhand seines Schlüssels aus und gibt dessen Inhalt für die Locale der aktuellen Anfrage zurück. Liest automatisch aus dem Request-Kontext. | [useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useIntlayer.md) |
|
|
72
|
+
| `useDictionary` | Transformiert ein importiertes Wörterbuchobjekt und gibt dessen Inhalt für die aktuelle Request-Locale zurück. Unterstützt Selektoren. | [useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useDictionary.md) |
|
|
73
|
+
| `useLocale` | Gibt die aufgelöste Locale der aktuellen Anfrage zusammen mit `defaultLocale` und `availableLocales` zurück. | [useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useLocale.md) |
|
|
74
|
+
|
|
75
|
+
### Hilfsprogramme
|
|
76
|
+
|
|
77
|
+
Import:
|
|
78
|
+
|
|
79
|
+
```tsx
|
|
80
|
+
import { createLocaleRouting, getIntlayerState } from "remix-intlayer";
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
| Funktion | Beschreibung | Zugehörige Doc |
|
|
84
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
85
|
+
| `createLocaleRouting` | Reine Funktion, die Routing-Entscheidungen (`redirect`, `rewrite` oder `pass`) basierend auf Anfrage, Konfiguration und Optionen berechnet. | - |
|
|
86
|
+
| `getIntlayerState` | Liest den aktuellen `IntlayerState` (`locale`, `defaultLocale`, `availableLocales`) aus dem `AsyncLocalStorage`-Requestbereich. | - |
|
|
87
|
+
|
|
88
|
+
### Formatierer (remix-intlayer/format)
|
|
89
|
+
|
|
90
|
+
Import:
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
import {
|
|
94
|
+
useIntl,
|
|
95
|
+
useDate,
|
|
96
|
+
useNumber,
|
|
97
|
+
useCurrency,
|
|
98
|
+
usePercentage,
|
|
99
|
+
useRelativeTime,
|
|
100
|
+
useList,
|
|
101
|
+
useUnit,
|
|
102
|
+
useCompact,
|
|
103
|
+
} from "remix-intlayer/format";
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
| Hook | Beschreibung |
|
|
107
|
+
| ----------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
108
|
+
| `useIntl` | Gibt eine an die Request-Locale gebundene Intl-Instanz mit Caching- und Abonnementfunktionen zurück. |
|
|
109
|
+
| `useDate` | Gibt eine an die Request-Locale gebundene Datumsformatierungsfunktion zurück (`Intl.DateTimeFormat`). |
|
|
110
|
+
| `useNumber` | Gibt eine an die Request-Locale gebundene Zahlenformatierungsfunktion zurück (`Intl.NumberFormat`). |
|
|
111
|
+
| `useCurrency` | Gibt eine an die Request-Locale gebundene Währungsformatierungsfunktion zurück. |
|
|
112
|
+
| `usePercentage` | Gibt eine an die Request-Locale gebundene Prozentformatierungsfunktion zurück. |
|
|
113
|
+
| `useRelativeTime` | Gibt eine an die Request-Locale gebundene relative Zeitformatierungsfunktion zurück (`Intl.RelativeTimeFormat`). |
|
|
114
|
+
| `useList` | Gibt eine an die Request-Locale gebundene Listenformatierungsfunktion zurück (`Intl.ListFormat`). |
|
|
115
|
+
| `useUnit` | Gibt eine an die Request-Locale gebundene Einheitenformatierungsfunktion zurück. |
|
|
116
|
+
| `useCompact` | Gibt eine an die Request-Locale gebundene kompakte Zahlenformatierungsfunktion zurück (z. B. `1.5K`). |
|
|
117
|
+
|
|
118
|
+
### HTML-Dienstprogramme (remix-intlayer/html)
|
|
119
|
+
|
|
120
|
+
Import:
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
import { renderHTML, useHTML, useHTMLRenderer } from "remix-intlayer/html";
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
| Export | Typ | Beschreibung |
|
|
127
|
+
| ----------------- | ---------- | ------------------------------------------------------------------------------------ |
|
|
128
|
+
| `renderHTML` | `Function` | Dienstprogrammfunktion zum Rendern von HTML-Knoten außerhalb der Benutzeroberfläche. |
|
|
129
|
+
| `useHTML` | `Hook` | Hook zum Abrufen des HTML-Provider-Kontexts und der Konfiguration. |
|
|
130
|
+
| `useHTMLRenderer` | `Hook` | Hook zum Abrufen einer vorkonfigurierten HTML-Renderer-Funktion. |
|
|
131
|
+
|
|
132
|
+
### Markdown-Dienstprogramme (remix-intlayer/markdown)
|
|
133
|
+
|
|
134
|
+
Import:
|
|
135
|
+
|
|
136
|
+
```tsx
|
|
137
|
+
import {
|
|
138
|
+
compileMarkdown,
|
|
139
|
+
renderMarkdown,
|
|
140
|
+
parseMarkdown,
|
|
141
|
+
useMarkdown,
|
|
142
|
+
useMarkdownRenderer,
|
|
143
|
+
} from "remix-intlayer/markdown";
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
| Export | Typ | Beschreibung |
|
|
147
|
+
| --------------------- | ---------- | -------------------------------------------------------------------- |
|
|
148
|
+
| `compileMarkdown` | `Function` | Kompiliert Markdown-Zeichenfolgen in eine strukturierte Darstellung. |
|
|
149
|
+
| `renderMarkdown` | `Function` | Rendert Markdown-Inhalte in Ausgabeknoten. |
|
|
150
|
+
| `parseMarkdown` | `Function` | Analysiert rohen Markdown-Inhalt in einen AST. |
|
|
151
|
+
| `useMarkdown` | `Hook` | Hook für den Zugriff auf den Markdown-Provider-Kontext. |
|
|
152
|
+
| `useMarkdownRenderer` | `Hook` | Hook zum Abrufen einer vorkonfigurierten Markdown-Renderer-Funktion. |
|
|
153
|
+
|
|
154
|
+
### Typen
|
|
155
|
+
|
|
156
|
+
Import:
|
|
157
|
+
|
|
158
|
+
```tsx
|
|
159
|
+
import type {
|
|
160
|
+
IntlayerState,
|
|
161
|
+
IntlayerMiddlewareOptions,
|
|
162
|
+
LocaleRoutingOptions,
|
|
163
|
+
LocaleRoutingAction,
|
|
164
|
+
LocaleRoutingRequest,
|
|
165
|
+
UseLocaleResult,
|
|
166
|
+
} from "remix-intlayer";
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
| Typ | Beschreibung |
|
|
170
|
+
| --------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
171
|
+
| `IntlayerState` | Zustandsobjekt mit `locale`, `defaultLocale` und `availableLocales`, das im Remix-Kontext gespeichert ist. |
|
|
172
|
+
| `IntlayerMiddlewareOptions` | Konfigurationsoptionen für die `intlayer()`-Middleware. |
|
|
173
|
+
| `LocaleRoutingOptions` | Optionen zur Anpassung von Locale-Präfixen, Erkennung und Weiterleitungen. |
|
|
174
|
+
| `LocaleRoutingAction` | Diskriminierte Union, die die Routing-Entscheidung darstellt: `redirect`, `rewrite` oder `pass`. |
|
|
175
|
+
| `LocaleRoutingRequest` | Minimale Anfrage-Darstellung für `createLocaleRouting`. |
|
|
176
|
+
| `UseLocaleResult` | Rückgabetyp von `useLocale()`, der `locale`, `defaultLocale` und `availableLocales` enthält. |
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: intlayer Middleware Dokumentation | remix-intlayer
|
|
5
|
+
description: Erfahren Sie, wie Sie die intlayer-Middleware in Remix 3-Anwendungen für sprachenbasiertes Routing und Request-Kontextverwaltung verwenden.
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayer
|
|
8
|
+
- intlayerMiddleware
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- middleware
|
|
12
|
+
- routing
|
|
13
|
+
- Internationalisierung
|
|
14
|
+
- Dokumentation
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- remix-intlayer
|
|
19
|
+
- intlayerMiddleware
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "Init doc"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# intlayer Remix 3 Middleware Dokumentation
|
|
28
|
+
|
|
29
|
+
Die `intlayer`-Middleware für Remix 3 verwaltet die Internationalisierungsschicht in Ihrer gesamten Anwendung. Aufgebaut auf Webstandards (`Request` und `Response`), handhabt sie sprachenbasiertes Routing (Weiterleitungen und interne Umschreibungen), erkennt die Request-Locale, speichert sie in Cookies und Headern und richtet einen `AsyncLocalStorage`-Bereich ein, sodass Downstream-Handler und -Komponenten ohne manuelles Übergeben von Props auf Übersetzungen zugreifen können.
|
|
30
|
+
|
|
31
|
+
## Verwendung
|
|
32
|
+
|
|
33
|
+
Registrieren Sie die `intlayer`-Middleware bei der Initialisierung Ihres Remix 3-Routers:
|
|
34
|
+
|
|
35
|
+
```ts fileName="src/server.ts"
|
|
36
|
+
import { createRouter } from "remix/router";
|
|
37
|
+
import { intlayer, useIntlayer, useLocale } from "remix-intlayer";
|
|
38
|
+
|
|
39
|
+
const router = createRouter({
|
|
40
|
+
middleware: [intlayer()],
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Bedient `/`, `/fr`, `/es`, die Locale wird aus der Anfrage aufgelöst
|
|
44
|
+
router.get("/", () => {
|
|
45
|
+
const { title } = useIntlayer("home");
|
|
46
|
+
return new Response(title);
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Beschreibung
|
|
51
|
+
|
|
52
|
+
Die `intlayer`-Middleware führt folgende Aufgaben aus:
|
|
53
|
+
|
|
54
|
+
1. **Vorbereitung von Wörterbüchern**: Führt beim Start `prepareIntlayer` aus, um sicherzustellen, dass alle generierten Wörterbücher erstellt und verfügbar sind.
|
|
55
|
+
2. **Sprachenbasiertes Routing**: Bewertet die Anfrage anhand der konfigurierten Routing-Strategie (`prefix_always`, `prefix_as_needed`, `no_prefix`):
|
|
56
|
+
- **Weiterleitungen**: Wenn ein Benutzer `/about` besucht und zu einem Sprachpräfix weitergeleitet werden soll (z. B. `/de/about`), gibt die Middleware eine Weiterleitungsantwort mit den entsprechenden Headern `location` und `Set-Cookie` aus.
|
|
57
|
+
- **Interne Umschreibungen**: Wenn ein Benutzer auf `/de/about` zugreift, wird die URL intern umgeschrieben, sodass Ihr Routen-Handler mit `/about` übereinstimmt, während die aufgelöste Locale als `de` erfasst wird.
|
|
58
|
+
- **Lokalisierte URL-Aliase**: Beachtet in `intlayer.config.ts` definierte URL-Umschreibungsregeln (z. B. Umschreiben von `/de/about` in `/de/ueber-uns`).
|
|
59
|
+
3. **Locale-Auflösung**: Erkennt die aktive Locale basierend auf URL-Präfix, gespeicherten Cookies, benutzerdefinierten Headern oder `Accept-Language`-Browsereinstellungen.
|
|
60
|
+
4. **Kontext-Injektion**:
|
|
61
|
+
- Hängt `IntlayerState` (`locale`, `defaultLocale`, `availableLocales`) unter dem Schlüssel `Intlayer` und `context.intlayer` an den Remix `RequestContext` an.
|
|
62
|
+
- Führt den Rest der Anfrage innerhalb eines `AsyncLocalStorage`-Bereichs (`requestStorage`) aus, wodurch `useIntlayer`, `useDictionary` und `useLocale` sauber in Handlern, Ansichten und Komponenten aufgerufen werden können.
|
|
63
|
+
5. **Persistenz**: Hängt ausgehende Locale-Header und -Cookies an die endgültige HTTP-Antwort an, um die Präferenz des Benutzers zu speichern.
|
|
64
|
+
|
|
65
|
+
## Parameter
|
|
66
|
+
|
|
67
|
+
Die Funktion `intlayer` akzeptiert optionale `IntlayerMiddlewareOptions`:
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
import { intlayer, type IntlayerMiddlewareOptions } from "remix-intlayer";
|
|
71
|
+
|
|
72
|
+
const options: IntlayerMiddlewareOptions = {
|
|
73
|
+
// Benutzerdefinierte Routing-Konfigurationsüberschreibungen
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const middleware = intlayer(options);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Direkter Kontextzugriff
|
|
80
|
+
|
|
81
|
+
Zusätzlich zur Verwendung von Hooks können Sie direkt aus dem Remix-Anfragekontext auf den aufgelösten `IntlayerState` zugreifen:
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
import { Intlayer } from "remix-intlayer";
|
|
85
|
+
|
|
86
|
+
router.get("/api/locale", (context) => {
|
|
87
|
+
// Über context.get()
|
|
88
|
+
const state = context.get(Intlayer);
|
|
89
|
+
|
|
90
|
+
// Oder über die direkte Eigenschaft context.intlayer
|
|
91
|
+
const { locale } = context.intlayer;
|
|
92
|
+
|
|
93
|
+
return Response.json({ locale });
|
|
94
|
+
});
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Zugehörige Dokumentation
|
|
98
|
+
|
|
99
|
+
- [`Intlayer` Kontext](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/Intlayer.md)
|
|
100
|
+
- [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useIntlayer.md)
|
|
101
|
+
- [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useLocale.md)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: useDictionary Hook Dokumentation | remix-intlayer
|
|
5
|
+
description: Erfahren Sie, wie Sie den useDictionary-Hook in Remix 3-Anwendungen verwenden, um Wörterbuchobjekte für die aktuelle Request-Locale aufzulösen.
|
|
6
|
+
keywords:
|
|
7
|
+
- useDictionary
|
|
8
|
+
- wörterbuch
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- Internationalisierung
|
|
14
|
+
- Dokumentation
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- remix-intlayer
|
|
19
|
+
- useDictionary
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "Init doc"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# useDictionary Hook Dokumentation
|
|
28
|
+
|
|
29
|
+
Der `useDictionary`-Hook transformiert ein importiertes oder inline definiertes Wörterbuchobjekt und gibt dessen Inhalt für die Locale der aktuellen Anfrage in Remix 3-Anwendungen zurück.
|
|
30
|
+
|
|
31
|
+
Im Gegensatz zu `useIntlayer`, das Wörterbücher anhand ihres Zeichenfolgenschlüssels aus der globalen Wörterbuchregistrierung auflöst, akzeptiert `useDictionary` direkt ein Wörterbuchobjekt.
|
|
32
|
+
|
|
33
|
+
## Verwendung
|
|
34
|
+
|
|
35
|
+
```ts fileName="src/views/home.ts"
|
|
36
|
+
import { useDictionary } from "remix-intlayer";
|
|
37
|
+
import homeContent from "./home.content";
|
|
38
|
+
|
|
39
|
+
export const HomeView = () => {
|
|
40
|
+
const content = useDictionary(homeContent);
|
|
41
|
+
|
|
42
|
+
return `
|
|
43
|
+
<div>
|
|
44
|
+
<h1>${content.title}</h1>
|
|
45
|
+
<p>${content.subtitle}</p>
|
|
46
|
+
</div>
|
|
47
|
+
`;
|
|
48
|
+
};
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Sie können auch Inline-Wörterbücher übergeben, die mit `t()` definiert sind:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { useDictionary } from "remix-intlayer";
|
|
55
|
+
import { t } from "intlayer";
|
|
56
|
+
|
|
57
|
+
export const FooterView = () => {
|
|
58
|
+
const content = useDictionary({
|
|
59
|
+
key: "footer",
|
|
60
|
+
content: {
|
|
61
|
+
copyright: t({
|
|
62
|
+
de: "Alle Rechte vorbehalten.",
|
|
63
|
+
en: "All rights reserved.",
|
|
64
|
+
fr: "Tous droits réservés.",
|
|
65
|
+
}),
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
return `<footer>${content.copyright}</footer>`;
|
|
70
|
+
};
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Parameter
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
useDictionary(dictionary, localeOrSelector?)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
1. **`dictionary`**: Ein Wörterbuchobjekt oder eine qualifizierte Wörterbuchgruppe.
|
|
80
|
+
2. **`localeOrSelector`** (optional): Eine spezifische Locale oder ein Selektorobjekt (`{ item }`, `{ variant }`, optional mit `locale`).
|
|
81
|
+
|
|
82
|
+
## Beschreibung
|
|
83
|
+
|
|
84
|
+
Der Hook führt folgende Aufgaben aus:
|
|
85
|
+
|
|
86
|
+
1. **Locale-Erkennung**: Liest die aktive Request-Locale aus dem vom `intlayer()`-Middleware erstellten `AsyncLocalStorage`-Speicher.
|
|
87
|
+
2. **Inhaltsauflösung**: Wertet Übersetzungen (`t()`), Aufzählungen, Bedingungen und verschachtelte Strukturen gemäß der aufgelösten Locale aus.
|
|
88
|
+
3. **Selektorverarbeitung**: Wendet alle in den Argumenten angegebenen Element- oder Variantenselektoren an.
|
|
89
|
+
|
|
90
|
+
## Zugehörige Dokumentation
|
|
91
|
+
|
|
92
|
+
- [`intlayer` Middleware](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/intlayerMiddleware.md)
|
|
93
|
+
- [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useIntlayer.md)
|
|
94
|
+
- [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useLocale.md)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: useIntlayer Hook Dokumentation | remix-intlayer
|
|
5
|
+
description: Erfahren Sie, wie Sie den useIntlayer-Hook in Remix 3-Anwendungen verwenden, um über Schlüssel auf lokalisierte Inhalte zuzugreifen.
|
|
6
|
+
keywords:
|
|
7
|
+
- useIntlayer
|
|
8
|
+
- wörterbuch
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- Internationalisierung
|
|
14
|
+
- Dokumentation
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- remix-intlayer
|
|
19
|
+
- useIntlayer
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "Init doc"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# useIntlayer Hook Dokumentation
|
|
28
|
+
|
|
29
|
+
Mit dem `useIntlayer`-Hook können Sie lokalisierte Inhalte aus einem Intlayer-Wörterbuch anhand eines Schlüssels in Remix 3-Anwendungen abrufen.
|
|
30
|
+
|
|
31
|
+
Er liest automatisch die aktive Locale aus dem aktuellen Anfragekontext (über `AsyncLocalStorage`), sodass Sie die Locale nicht manuell durch Routen-Handler, Ansichtsvorlagen oder Komponenten weiterreichen müssen.
|
|
32
|
+
|
|
33
|
+
## Verwendung
|
|
34
|
+
|
|
35
|
+
### In Routen-Handlern
|
|
36
|
+
|
|
37
|
+
```ts fileName="src/server.ts"
|
|
38
|
+
import { createRouter } from "remix/router";
|
|
39
|
+
import { intlayer, useIntlayer } from "remix-intlayer";
|
|
40
|
+
|
|
41
|
+
const router = createRouter({
|
|
42
|
+
middleware: [intlayer()],
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
router.get("/api/welcome", () => {
|
|
46
|
+
const content = useIntlayer("home");
|
|
47
|
+
|
|
48
|
+
return Response.json({
|
|
49
|
+
title: content.title,
|
|
50
|
+
subtitle: content.subtitle,
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### In Ansichtsvorlagen / Komponenten
|
|
56
|
+
|
|
57
|
+
```tsx fileName="src/views/home.ts"
|
|
58
|
+
import { useIntlayer } from "remix-intlayer";
|
|
59
|
+
|
|
60
|
+
export const HomeView = () => {
|
|
61
|
+
const content = useIntlayer("home");
|
|
62
|
+
|
|
63
|
+
return `
|
|
64
|
+
<main>
|
|
65
|
+
<h1>${content.title}</h1>
|
|
66
|
+
<p>${content.subtitle}</p>
|
|
67
|
+
</main>
|
|
68
|
+
`;
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Parameter
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
useIntlayer(key, localeOrSelector?)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
1. **`key`**: Der eindeutige Schlüssel des Wörterbuchs (wie in Ihren `.content.ts`-Deklarationsdateien definiert).
|
|
79
|
+
2. **`localeOrSelector`** (optional): Eine spezifische Locale oder ein Selektorobjekt (`{ item }`, `{ variant }`, optional mit `locale`). Wenn angegeben, überschreibt dies die aus dem Anfragekontext erkannte Locale.
|
|
80
|
+
|
|
81
|
+
## Beschreibung
|
|
82
|
+
|
|
83
|
+
Der Hook führt folgende Aufgaben aus:
|
|
84
|
+
|
|
85
|
+
1. **Kontext-Locale-Ermittlung**: Erkennt die aktuelle Locale aus dem anfragegebundenen `AsyncLocalStorage`-Bereich, der von der `intlayer()`-Middleware eingerichtet wurde.
|
|
86
|
+
2. **Wörterbuch-Abruf**: Ruft das vorkompilierte Wörterbuch ab, das dem angegebenen Schlüssel entspricht.
|
|
87
|
+
3. **Übersetzungsverarbeitung**: Löst Übersetzungen, Aufzählungen, Markdown und bedingte Inhalte für die aufgelöste Locale auf.
|
|
88
|
+
4. **Fallback-Behandlung**: Bei Aufruf außerhalb eines aktiven HTTP-Request-Kontexts greift er sauber auf die konfigurierte `defaultLocale` zurück.
|
|
89
|
+
|
|
90
|
+
## Zugehörige Dokumentation
|
|
91
|
+
|
|
92
|
+
- [`intlayer` Middleware](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/intlayerMiddleware.md)
|
|
93
|
+
- [`useDictionary` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useDictionary.md)
|
|
94
|
+
- [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/remix-intlayer/useLocale.md)
|