@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,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: Documentação do pacote remix-intlayer
|
|
5
|
+
description: Integração do Remix 3 para o Intlayer, fornecendo middleware, contexto, hooks e formatadores para roteamento baseado em locale e gerenciamento de conteúdo.
|
|
6
|
+
keywords:
|
|
7
|
+
- remix-intlayer
|
|
8
|
+
- remix
|
|
9
|
+
- remix-3
|
|
10
|
+
- internacionalização
|
|
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: "Documentação unificada para todas as exportações"
|
|
21
|
+
author: aymericzip
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Pacote remix-intlayer
|
|
25
|
+
|
|
26
|
+
O pacote `remix-intlayer` fornece as ferramentas necessárias para integrar o Intlayer em aplicações Remix 3. Desenvolvido inteiramente sobre padrões web (`Request`, `Response`, `Headers` e `URL`), oferece middleware de roteador para roteamento por locale e reescritas internas, armazenamento de contexto, hooks e utilitários de formatação para gerenciamento simples de conteúdo multilíngue.
|
|
27
|
+
|
|
28
|
+
## Instalação
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install remix-intlayer
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Exportações
|
|
35
|
+
|
|
36
|
+
### Middleware
|
|
37
|
+
|
|
38
|
+
Importação:
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
import { intlayer } from "remix-intlayer";
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
| Função | Descrição | Doc relacionada |
|
|
45
|
+
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
46
|
+
| `intlayer` | Middleware de roteador Remix 3 que gerencia o roteamento baseado em locale (redirecionamentos e reescritas internas), resolve a locale da requisição, persiste-a em cookies/cabeçalhos e estabelece o escopo de contexto da requisição. | [intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/intlayerMiddleware.md) |
|
|
47
|
+
|
|
48
|
+
### Contexto
|
|
49
|
+
|
|
50
|
+
Importação:
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
import { Intlayer, INTLAYER_CONTEXT_PROPERTY } from "remix-intlayer";
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
| Exportação | Tipo | Descrição | Doc relacionada |
|
|
57
|
+
| --------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
58
|
+
| `Intlayer` | `ContextKey` | Chave de RequestContext contendo o `IntlayerState` (`locale`, `defaultLocale`, `availableLocales`) para a requisição atual. | [Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/Intlayer.md) |
|
|
59
|
+
| `INTLAYER_CONTEXT_PROPERTY` | `string` | Nome de propriedade (`'intlayer'`) instalado diretamente no contexto da requisição, acessível via `context.intlayer` e `context.get(Intlayer)`. | - |
|
|
60
|
+
|
|
61
|
+
### Hooks
|
|
62
|
+
|
|
63
|
+
Importação:
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
import { useIntlayer, useDictionary, useLocale } from "remix-intlayer";
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
| Hook | Descrição | Doc relacionada |
|
|
70
|
+
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
71
|
+
| `useIntlayer` | Seleciona um dicionário por sua chave e retorna seu conteúdo para a locale da requisição atual. Lê automaticamente do contexto da requisição. | [useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useIntlayer.md) |
|
|
72
|
+
| `useDictionary` | Transforma um objeto de dicionário importado e retorna seu conteúdo para a locale da requisição atual. Suporta seletores. | [useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useDictionary.md) |
|
|
73
|
+
| `useLocale` | Retorna a locale resolvida da requisição atual, juntamente com `defaultLocale` e `availableLocales` configuradas. | [useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useLocale.md) |
|
|
74
|
+
|
|
75
|
+
### Utilitários
|
|
76
|
+
|
|
77
|
+
Importação:
|
|
78
|
+
|
|
79
|
+
```tsx
|
|
80
|
+
import { createLocaleRouting, getIntlayerState } from "remix-intlayer";
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
| Função | Descrição | Doc relacionada |
|
|
84
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------- | --------------- |
|
|
85
|
+
| `createLocaleRouting` | Função pura que calcula decisões de roteamento (`redirect`, `rewrite` ou `pass`) com base em requisição, configuração e opções. | - |
|
|
86
|
+
| `getIntlayerState` | Lê o `IntlayerState` atual (`locale`, `defaultLocale`, `availableLocales`) do escopo `AsyncLocalStorage`. | - |
|
|
87
|
+
|
|
88
|
+
### Formatadores (remix-intlayer/format)
|
|
89
|
+
|
|
90
|
+
Importação:
|
|
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 | Descrição |
|
|
107
|
+
| ----------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
108
|
+
| `useIntl` | Retorna uma instância Intl vinculada à locale da requisição com recursos de cache e assinatura. |
|
|
109
|
+
| `useDate` | Retorna uma função de formatação de data vinculada à locale da requisição (`Intl.DateTimeFormat`). |
|
|
110
|
+
| `useNumber` | Retorna uma função de formatação de número vinculada à locale da requisição (`Intl.NumberFormat`). |
|
|
111
|
+
| `useCurrency` | Retorna uma função de formatação de moeda vinculada à locale da requisição. |
|
|
112
|
+
| `usePercentage` | Retorna uma função de formatação de porcentagem vinculada à locale da requisição. |
|
|
113
|
+
| `useRelativeTime` | Retorna uma função de formatação de tempo relativo vinculada à locale da requisição (`Intl.RelativeTimeFormat`). |
|
|
114
|
+
| `useList` | Retorna uma função de formatação de lista vinculada à locale da requisição (`Intl.ListFormat`). |
|
|
115
|
+
| `useUnit` | Retorna uma função de formatação de unidade vinculada à locale da requisição. |
|
|
116
|
+
| `useCompact` | Retorna uma função de formatação de número compacto vinculada à locale da requisição (ex.: `1.5K`). |
|
|
117
|
+
|
|
118
|
+
### Utilitários HTML (remix-intlayer/html)
|
|
119
|
+
|
|
120
|
+
Importação:
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
import { renderHTML, useHTML, useHTMLRenderer } from "remix-intlayer/html";
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
| Exportação | Tipo | Descrição |
|
|
127
|
+
| ----------------- | ---------- | ------------------------------------------------------------------------ |
|
|
128
|
+
| `renderHTML` | `Function` | Função utilitária para renderizar nós HTML fora da interface do usuário. |
|
|
129
|
+
| `useHTML` | `Hook` | Hook para obter o contexto e a configuração do provedor HTML. |
|
|
130
|
+
| `useHTMLRenderer` | `Hook` | Hook para obter uma função de renderização HTML pré-configurada. |
|
|
131
|
+
|
|
132
|
+
### Utilitários Markdown (remix-intlayer/markdown)
|
|
133
|
+
|
|
134
|
+
Importação:
|
|
135
|
+
|
|
136
|
+
```tsx
|
|
137
|
+
import {
|
|
138
|
+
compileMarkdown,
|
|
139
|
+
renderMarkdown,
|
|
140
|
+
parseMarkdown,
|
|
141
|
+
useMarkdown,
|
|
142
|
+
useMarkdownRenderer,
|
|
143
|
+
} from "remix-intlayer/markdown";
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
| Exportação | Tipo | Descrição |
|
|
147
|
+
| --------------------- | ---------- | -------------------------------------------------------------------- |
|
|
148
|
+
| `compileMarkdown` | `Function` | Compila strings markdown em representação estruturada. |
|
|
149
|
+
| `renderMarkdown` | `Function` | Renderiza conteúdo markdown em nós de saída. |
|
|
150
|
+
| `parseMarkdown` | `Function` | Analisa conteúdo markdown bruto em uma AST. |
|
|
151
|
+
| `useMarkdown` | `Hook` | Hook para acessar o contexto do provedor markdown. |
|
|
152
|
+
| `useMarkdownRenderer` | `Hook` | Hook para obter uma função de renderização Markdown pré-configurada. |
|
|
153
|
+
|
|
154
|
+
### Tipos
|
|
155
|
+
|
|
156
|
+
Importação:
|
|
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
|
+
| Tipo | Descrição |
|
|
170
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
171
|
+
| `IntlayerState` | Objeto de estado contendo `locale`, `defaultLocale` e `availableLocales` armazenado no contexto Remix. |
|
|
172
|
+
| `IntlayerMiddlewareOptions` | Opções de configuração passadas para o middleware `intlayer()`. |
|
|
173
|
+
| `LocaleRoutingOptions` | Opções que personalizam prefixos de locale, detecção e redirecionamentos. |
|
|
174
|
+
| `LocaleRoutingAction` | União discriminada representando a decisão de roteamento: `redirect`, `rewrite` ou `pass`. |
|
|
175
|
+
| `LocaleRoutingRequest` | Representação mínima de requisição exigida por `createLocaleRouting`. |
|
|
176
|
+
| `UseLocaleResult` | Tipo de retorno de `useLocale()`, contendo `locale`, `defaultLocale` e `availableLocales`. |
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: Documentação do middleware intlayer | remix-intlayer
|
|
5
|
+
description: Veja como usar o middleware intlayer em aplicações Remix 3 para roteamento baseado em locale e gerenciamento de contexto de requisição.
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayer
|
|
8
|
+
- intlayerMiddleware
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- middleware
|
|
12
|
+
- roteamento
|
|
13
|
+
- Internacionalização
|
|
14
|
+
- Documentação
|
|
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
|
+
# Documentação do middleware Remix 3 intlayer
|
|
28
|
+
|
|
29
|
+
O middleware `intlayer` para Remix 3 gerencia a camada de internacionalização em toda a sua aplicação. Desenvolvido sobre padrões web (`Request` e `Response`), gerencia o roteamento baseado em locale (redirecionamentos e reescritas internas), detecta a locale da requisição, persiste-a em cookies e cabeçalhos, e configura um escopo `AsyncLocalStorage` para que os manipuladores e componentes possam acessar traduções sem repasse manual de props.
|
|
30
|
+
|
|
31
|
+
## Uso
|
|
32
|
+
|
|
33
|
+
Registre o middleware `intlayer` ao inicializar seu roteador Remix 3:
|
|
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
|
+
// Atende `/`, `/fr`, `/es`, a locale é resolvida a partir da requisição
|
|
44
|
+
router.get("/", () => {
|
|
45
|
+
const { title } = useIntlayer("home");
|
|
46
|
+
return new Response(title);
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Descrição
|
|
51
|
+
|
|
52
|
+
O middleware `intlayer` realiza as seguintes tarefas:
|
|
53
|
+
|
|
54
|
+
1. **Preparação de dicionários**: Executa `prepareIntlayer` na inicialização para garantir que todos os dicionários gerados estejam construídos e disponíveis.
|
|
55
|
+
2. **Roteamento por locale**: Avalia a requisição de acordo com a estratégia de roteamento configurada (`prefix_always`, `prefix_as_needed`, `no_prefix`):
|
|
56
|
+
- **Redirecionamentos**: Se um usuário acessar `/about` e dever ser redirecionado para um prefixo de idioma (ex.: `/pt/about`), o middleware retorna uma resposta de redirecionamento com os cabeçalhos `location` e `Set-Cookie` adequados.
|
|
57
|
+
- **Reescritas internas**: Quando um usuário acessa `/pt/about`, a URL é reescrita internamente para que o manipulador corresponda a `/about`, enquanto a locale resolvida é capturada como `pt`.
|
|
58
|
+
- **Aliases de URL localizados**: Respeita regras de reescrita de URL definidas em `intlayer.config.ts` (ex.: reescrever `/pt/about` para `/pt/sobre`).
|
|
59
|
+
3. **Resolução de locale**: Detecta a locale ativa com base no prefixo da URL, cookies persistidos, cabeçalhos personalizados ou preferências do navegador `Accept-Language`.
|
|
60
|
+
4. **Injeção de contexto**:
|
|
61
|
+
- Anexa `IntlayerState` (`locale`, `defaultLocale`, `availableLocales`) ao `RequestContext` do Remix sob a chave `Intlayer` e `context.intlayer`.
|
|
62
|
+
- Executa o restante da requisição dentro de um escopo `AsyncLocalStorage` (`requestStorage`), permitindo que `useIntlayer`, `useDictionary` e `useLocale` sejam chamados de forma limpa em manipuladores, visualizações e componentes.
|
|
63
|
+
5. **Persistência**: Anexa os cabeçalhos e cookies de locale de saída à resposta HTTP final para reter a preferência do usuário.
|
|
64
|
+
|
|
65
|
+
## Parâmetros
|
|
66
|
+
|
|
67
|
+
A função `intlayer` aceita `IntlayerMiddlewareOptions` opcionais:
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
import { intlayer, type IntlayerMiddlewareOptions } from "remix-intlayer";
|
|
71
|
+
|
|
72
|
+
const options: IntlayerMiddlewareOptions = {
|
|
73
|
+
// Substituições personalizadas de configuração de roteamento
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const middleware = intlayer(options);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Acesso direto ao contexto
|
|
80
|
+
|
|
81
|
+
Além de usar hooks, você pode acessar o `IntlayerState` resolvido diretamente a partir do contexto de requisição do Remix:
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
import { Intlayer } from "remix-intlayer";
|
|
85
|
+
|
|
86
|
+
router.get("/api/locale", (context) => {
|
|
87
|
+
// Via context.get()
|
|
88
|
+
const state = context.get(Intlayer);
|
|
89
|
+
|
|
90
|
+
// Ou via propriedade direta context.intlayer
|
|
91
|
+
const { locale } = context.intlayer;
|
|
92
|
+
|
|
93
|
+
return Response.json({ locale });
|
|
94
|
+
});
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Documentação relacionada
|
|
98
|
+
|
|
99
|
+
- [Contexto `Intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/Intlayer.md)
|
|
100
|
+
- [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useIntlayer.md)
|
|
101
|
+
- [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useLocale.md)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: Documentação do hook useDictionary | remix-intlayer
|
|
5
|
+
description: Veja como usar o hook useDictionary em aplicações Remix 3 para resolver objetos de dicionário para a locale da requisição atual.
|
|
6
|
+
keywords:
|
|
7
|
+
- useDictionary
|
|
8
|
+
- dicionário
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- Internacionalização
|
|
14
|
+
- Documentação
|
|
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
|
+
# Documentação do hook useDictionary
|
|
28
|
+
|
|
29
|
+
O hook `useDictionary` transforma um objeto de dicionário importado ou inline e retorna seu conteúdo resolvido para a locale da requisição atual em aplicações Remix 3.
|
|
30
|
+
|
|
31
|
+
Diferente do `useIntlayer`, que resolve dicionários por sua chave de string a partir do registro global de dicionários, o `useDictionary` aceita um objeto de dicionário diretamente.
|
|
32
|
+
|
|
33
|
+
## Uso
|
|
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
|
+
Você também pode passar dicionários inline definidos com `t()`:
|
|
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
|
+
pt: "Todos os direitos reservados.",
|
|
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
|
+
## Parâmetros
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
useDictionary(dictionary, localeOrSelector?)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
1. **`dictionary`**: Um objeto de dicionário ou grupo de dicionários qualificado.
|
|
80
|
+
2. **`localeOrSelector`** (opcional): Uma locale específica ou objeto seletor (`{ item }`, `{ variant }`, opcionalmente com `locale`).
|
|
81
|
+
|
|
82
|
+
## Descrição
|
|
83
|
+
|
|
84
|
+
O hook realiza as seguintes tarefas:
|
|
85
|
+
|
|
86
|
+
1. **Detecção de locale**: Lê a locale ativa da requisição a partir do armazenamento `AsyncLocalStorage` criado pelo middleware `intlayer()`.
|
|
87
|
+
2. **Resolução de conteúdo**: Avalia traduções (`t()`), enumerações, condições e estruturas aninhadas de acordo com a locale resolvida.
|
|
88
|
+
3. **Processamento de seletores**: Aplica quaisquer seletores de item ou variante fornecidos nos argumentos.
|
|
89
|
+
|
|
90
|
+
## Documentação relacionada
|
|
91
|
+
|
|
92
|
+
- [Middleware `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/intlayerMiddleware.md)
|
|
93
|
+
- [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useIntlayer.md)
|
|
94
|
+
- [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useLocale.md)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: Documentação do hook useIntlayer | remix-intlayer
|
|
5
|
+
description: Veja como usar o hook useIntlayer em aplicações Remix 3 para acessar conteúdo localizado por chave.
|
|
6
|
+
keywords:
|
|
7
|
+
- useIntlayer
|
|
8
|
+
- dicionário
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- Internacionalização
|
|
14
|
+
- Documentação
|
|
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
|
+
# Documentação do hook useIntlayer
|
|
28
|
+
|
|
29
|
+
O hook `useIntlayer` permite recuperar conteúdo localizado de um dicionário do Intlayer por chave em aplicações Remix 3.
|
|
30
|
+
|
|
31
|
+
Ele lê automaticamente a locale ativa do contexto da requisição atual (via `AsyncLocalStorage`), dispensando o repasse manual da locale por manipuladores de rota, templates de visualização ou componentes.
|
|
32
|
+
|
|
33
|
+
## Uso
|
|
34
|
+
|
|
35
|
+
### Em manipuladores de rota
|
|
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
|
+
### Em templates de visualização / componentes
|
|
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
|
+
## Parâmetros
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
useIntlayer(key, localeOrSelector?)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
1. **`key`**: A chave exclusiva do dicionário (conforme definida em seus arquivos de declaração `.content.ts`).
|
|
79
|
+
2. **`localeOrSelector`** (opcional): Uma locale específica ou objeto seletor (`{ item }`, `{ variant }`, opcionalmente com `locale`). Quando fornecido, substitui a locale detectada a partir do contexto da requisição.
|
|
80
|
+
|
|
81
|
+
## Descrição
|
|
82
|
+
|
|
83
|
+
O hook realiza as seguintes tarefas:
|
|
84
|
+
|
|
85
|
+
1. **Recuperação de locale do contexto**: Detecta a locale atual a partir do escopo `AsyncLocalStorage` vinculado à requisição, estabelecido pelo middleware `intlayer()`.
|
|
86
|
+
2. **Recuperação de dicionário**: Obtém o dicionário pré-compilado correspondente à chave fornecida.
|
|
87
|
+
3. **Processamento de tradução**: Resolve traduções, enumerações, markdown e conteúdo condicional para a locale resolvida.
|
|
88
|
+
4. **Tratamento de fallback**: Se chamado fora de um contexto de requisição HTTP ativo, retorna de forma segura para a `defaultLocale` configurada.
|
|
89
|
+
|
|
90
|
+
## Documentação relacionada
|
|
91
|
+
|
|
92
|
+
- [Middleware `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/intlayerMiddleware.md)
|
|
93
|
+
- [Hook `useDictionary`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useDictionary.md)
|
|
94
|
+
- [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useLocale.md)
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-09-19
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
|
+
title: Documentação do Hook useLocale | remix-intlayer
|
|
5
|
+
description: Veja como usar o hook useLocale em aplicações Remix 3 para obter o locale da requisição atual, locale padrão e locales disponíveis.
|
|
6
|
+
keywords:
|
|
7
|
+
- useLocale
|
|
8
|
+
- locale
|
|
9
|
+
- remix
|
|
10
|
+
- remix-3
|
|
11
|
+
- Intlayer
|
|
12
|
+
- intlayer
|
|
13
|
+
- Internacionalização
|
|
14
|
+
- Documentação
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- remix-intlayer
|
|
19
|
+
- useLocale
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "Init doc"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Documentação do Hook useLocale
|
|
28
|
+
|
|
29
|
+
O hook `useLocale` de `remix-intlayer` fornece acesso ao locale da requisição HTTP atualmente processada, juntamente com o locale padrão e os locales disponíveis configurados no projeto.
|
|
30
|
+
|
|
31
|
+
## Utilização
|
|
32
|
+
|
|
33
|
+
Em um componente Remix (por exemplo, um seletor de idioma):
|
|
34
|
+
|
|
35
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx"
|
|
36
|
+
import { type FC } from "react";
|
|
37
|
+
import { Link } from "@remix-run/react";
|
|
38
|
+
import { useLocale } from "remix-intlayer";
|
|
39
|
+
import { getLocalizedUrl, getPathWithoutLocale } from "intlayer";
|
|
40
|
+
|
|
41
|
+
export const LocaleSwitcher: FC = () => {
|
|
42
|
+
const { locale, availableLocales } = useLocale();
|
|
43
|
+
const pathWithoutLocale = getPathWithoutLocale();
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<nav>
|
|
47
|
+
<ul>
|
|
48
|
+
{availableLocales.map((localeItem) => (
|
|
49
|
+
<li key={localeItem} className="p-1">
|
|
50
|
+
<Link
|
|
51
|
+
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
52
|
+
aria-current={localeItem === locale ? "page" : undefined}
|
|
53
|
+
>
|
|
54
|
+
{localeItem.toUpperCase()}
|
|
55
|
+
</Link>
|
|
56
|
+
</li>
|
|
57
|
+
))}
|
|
58
|
+
</ul>
|
|
59
|
+
</nav>
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Em um manipulador de rota:
|
|
65
|
+
|
|
66
|
+
```ts fileName="src/server.ts"
|
|
67
|
+
import { createRouter } from "remix/router";
|
|
68
|
+
import { intlayer, useLocale } from "remix-intlayer";
|
|
69
|
+
|
|
70
|
+
const router = createRouter({
|
|
71
|
+
middleware: [intlayer()],
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
router.get("/api/locale-info", () => {
|
|
75
|
+
const { locale, defaultLocale, availableLocales } = useLocale();
|
|
76
|
+
|
|
77
|
+
return Response.json({
|
|
78
|
+
locale,
|
|
79
|
+
defaultLocale,
|
|
80
|
+
availableLocales,
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Valores de Retorno
|
|
86
|
+
|
|
87
|
+
O hook retorna um objeto do tipo `UseLocaleResult`:
|
|
88
|
+
|
|
89
|
+
| Propriedade | Tipo | Descrição |
|
|
90
|
+
| ------------------ | ------------------- | --------------------------------------------------------------------------- |
|
|
91
|
+
| `locale` | `DeclaredLocales` | O locale resolvido para a requisição atual. |
|
|
92
|
+
| `defaultLocale` | `DeclaredLocales` | O locale padrão de fallback configurado em `intlayer.config.ts`. |
|
|
93
|
+
| `availableLocales` | `DeclaredLocales[]` | Array de todos os locales disponíveis configurados em `intlayer.config.ts`. |
|
|
94
|
+
|
|
95
|
+
## Descrição
|
|
96
|
+
|
|
97
|
+
1. **Resolução no Escopo da Requisição**: Em uma requisição ativa gerenciada pelo middleware `intlayer()`, o `useLocale` lê o locale resolvido a partir do armazenamento da requisição.
|
|
98
|
+
2. **Fallback Gracioso**: Se chamado fora do contexto de uma requisição (como durante scripts de inicialização ou testes unitários), ele retorna por padrão o `defaultLocale` configurado.
|
|
99
|
+
|
|
100
|
+
## Documentação Relacionada
|
|
101
|
+
|
|
102
|
+
- [Middleware `intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/intlayerMiddleware.md)
|
|
103
|
+
- [Hook `useIntlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useIntlayer.md)
|
|
104
|
+
- [Hook `useDictionary`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/packages/remix-intlayer/useDictionary.md)
|
package/docs/pt/readme.md
CHANGED
|
@@ -199,7 +199,8 @@ Explore a nossa documentação completa para começar com o Intlayer e aprender
|
|
|
199
199
|
<li><a href="https://intlayer.org/doc/environment/create-react-app" rel=''>React CRA</a></li>
|
|
200
200
|
<li><a href="https://intlayer.org/doc/environment/vite-and-react" rel=''>Vite + React</a></li>
|
|
201
201
|
<li><a href="https://intlayer.org/doc/environment/vite-and-react" rel=''>Vite + React utilizando o compilador</a></li>
|
|
202
|
-
<li><a href="https://intlayer.org/doc/environment/vite-and-react/
|
|
202
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react/react-router-v7" rel=''>React-router-v7</a></li>
|
|
203
|
+
<li><a href="https://intlayer.org/doc/environment/remix-3" rel=''>Remix 3</a></li>
|
|
203
204
|
<li><a href="https://intlayer.org/doc/environment/tanstack-start" rel=''>Tanstack start</a>
|
|
204
205
|
<ul>
|
|
205
206
|
<li><a href="https://intlayer.org/doc/environment/tanstack-start/solid" rel=''>Solid</a></li>
|