@intlayer/docs 9.5.4 → 9.5.6
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 -2
- 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/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/de/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/es/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/id/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/it/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
- 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 +77 -66
- package/docs/ar/intlayer_with_astro_lit.md +32 -36
- package/docs/ar/intlayer_with_astro_preact.md +39 -36
- package/docs/ar/intlayer_with_astro_react.md +39 -36
- package/docs/ar/intlayer_with_astro_solid.md +39 -36
- package/docs/ar/intlayer_with_astro_svelte.md +39 -36
- package/docs/ar/intlayer_with_astro_vue.md +39 -36
- 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 +19 -1
- package/docs/ar/intlayer_with_remix_3.md +73 -112
- package/docs/ar/intlayer_with_solid_start.md +14 -7
- package/docs/ar/intlayer_with_svelte_kit.md +12 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +20 -2
- package/docs/ar/intlayer_with_tanstack.md +20 -6
- package/docs/ar/intlayer_with_vite+lit.md +75 -3
- package/docs/ar/intlayer_with_vite+preact.md +34 -19
- package/docs/ar/intlayer_with_vite+react.md +34 -19
- package/docs/ar/intlayer_with_vite+solid.md +34 -19
- package/docs/ar/intlayer_with_vite+svelte.md +27 -19
- package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ar/intlayer_with_vite+vue.md +27 -19
- package/docs/ar/introduction.md +0 -1
- 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 -2
- package/docs/ar/releases/v8.md +1 -5
- package/docs/bn/intlayer_with_vite+lit.md +75 -3
- package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
- package/docs/bn/introduction.md +0 -1
- package/docs/cs/intlayer_with_vite+lit.md +75 -3
- package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
- package/docs/cs/introduction.md +0 -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 +70 -59
- package/docs/de/intlayer_with_astro_lit.md +23 -27
- package/docs/de/intlayer_with_astro_preact.md +30 -27
- package/docs/de/intlayer_with_astro_react.md +30 -27
- package/docs/de/intlayer_with_astro_solid.md +30 -27
- package/docs/de/intlayer_with_astro_svelte.md +30 -27
- package/docs/de/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/de/intlayer_with_remix_3.md +70 -109
- package/docs/de/intlayer_with_solid_start.md +14 -7
- package/docs/de/intlayer_with_svelte_kit.md +12 -1
- package/docs/de/intlayer_with_tanstack+solid.md +20 -2
- package/docs/de/intlayer_with_tanstack.md +20 -6
- package/docs/de/intlayer_with_vite+lit.md +75 -3
- package/docs/de/intlayer_with_vite+preact.md +23 -3
- package/docs/de/intlayer_with_vite+react.md +23 -3
- package/docs/de/intlayer_with_vite+solid.md +23 -3
- package/docs/de/intlayer_with_vite+svelte.md +16 -3
- package/docs/de/intlayer_with_vite+vanilla.md +16 -3
- package/docs/de/intlayer_with_vite+vue.md +16 -3
- package/docs/de/introduction.md +0 -1
- 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 -2
- package/docs/de/releases/v8.md +1 -5
- 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 +67 -60
- package/docs/en/intlayer_with_astro_lit.md +22 -26
- package/docs/en/intlayer_with_astro_preact.md +29 -26
- package/docs/en/intlayer_with_astro_react.md +29 -26
- package/docs/en/intlayer_with_astro_solid.md +29 -26
- package/docs/en/intlayer_with_astro_svelte.md +29 -26
- package/docs/en/intlayer_with_astro_vanilla.md +27 -13
- package/docs/en/intlayer_with_astro_vue.md +29 -26
- 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 +19 -1
- package/docs/en/intlayer_with_remix_3.md +74 -122
- package/docs/en/intlayer_with_solid_start.md +14 -7
- package/docs/en/intlayer_with_svelte_kit.md +12 -1
- package/docs/en/intlayer_with_tanstack+solid.md +20 -2
- package/docs/en/intlayer_with_tanstack.md +19 -5
- package/docs/en/intlayer_with_vite+lit.md +75 -3
- package/docs/en/intlayer_with_vite+preact.md +23 -3
- package/docs/en/intlayer_with_vite+react.md +23 -3
- package/docs/en/intlayer_with_vite+solid.md +23 -3
- package/docs/en/intlayer_with_vite+svelte.md +16 -3
- package/docs/en/intlayer_with_vite+vanilla.md +16 -3
- package/docs/en/intlayer_with_vite+vue.md +16 -3
- package/docs/en/introduction.md +2 -2
- 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 -2
- package/docs/en/releases/v8.md +1 -5
- 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 +70 -59
- package/docs/en-GB/intlayer_with_astro_lit.md +23 -27
- package/docs/en-GB/intlayer_with_astro_preact.md +30 -27
- package/docs/en-GB/intlayer_with_astro_react.md +30 -27
- package/docs/en-GB/intlayer_with_astro_solid.md +30 -27
- package/docs/en-GB/intlayer_with_astro_svelte.md +30 -27
- package/docs/en-GB/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/en-GB/intlayer_with_remix_3.md +66 -105
- package/docs/en-GB/intlayer_with_solid_start.md +14 -7
- package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +20 -2
- package/docs/en-GB/intlayer_with_tanstack.md +20 -6
- package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
- package/docs/en-GB/intlayer_with_vite+preact.md +23 -3
- package/docs/en-GB/intlayer_with_vite+react.md +23 -3
- package/docs/en-GB/intlayer_with_vite+solid.md +32 -15
- package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
- package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
- package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
- package/docs/en-GB/introduction.md +0 -1
- 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 -2
- package/docs/en-GB/releases/v8.md +1 -5
- 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 +70 -59
- package/docs/es/intlayer_with_astro_lit.md +23 -27
- package/docs/es/intlayer_with_astro_preact.md +30 -27
- package/docs/es/intlayer_with_astro_react.md +30 -27
- package/docs/es/intlayer_with_astro_solid.md +30 -27
- package/docs/es/intlayer_with_astro_svelte.md +30 -27
- package/docs/es/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/es/intlayer_with_remix_3.md +73 -112
- package/docs/es/intlayer_with_solid_start.md +14 -7
- package/docs/es/intlayer_with_svelte_kit.md +12 -1
- package/docs/es/intlayer_with_tanstack+solid.md +20 -2
- package/docs/es/intlayer_with_tanstack.md +20 -6
- package/docs/es/intlayer_with_vite+lit.md +75 -3
- package/docs/es/intlayer_with_vite+preact.md +23 -3
- package/docs/es/intlayer_with_vite+react.md +23 -3
- package/docs/es/intlayer_with_vite+solid.md +23 -3
- package/docs/es/intlayer_with_vite+svelte.md +16 -3
- package/docs/es/intlayer_with_vite+vanilla.md +16 -3
- package/docs/es/intlayer_with_vite+vue.md +16 -3
- package/docs/es/introduction.md +0 -1
- 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 -2
- package/docs/es/releases/v8.md +1 -5
- 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 +71 -60
- package/docs/fr/intlayer_with_astro_lit.md +24 -28
- package/docs/fr/intlayer_with_astro_preact.md +31 -28
- package/docs/fr/intlayer_with_astro_react.md +31 -28
- package/docs/fr/intlayer_with_astro_solid.md +31 -28
- package/docs/fr/intlayer_with_astro_svelte.md +31 -28
- package/docs/fr/intlayer_with_astro_vue.md +31 -28
- 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 +22 -4
- package/docs/fr/intlayer_with_remix_3.md +74 -122
- package/docs/fr/intlayer_with_solid_start.md +14 -7
- package/docs/fr/intlayer_with_svelte_kit.md +15 -4
- package/docs/fr/intlayer_with_tanstack+solid.md +22 -4
- package/docs/fr/intlayer_with_tanstack.md +20 -6
- package/docs/fr/intlayer_with_vite+lit.md +75 -3
- package/docs/fr/intlayer_with_vite+preact.md +26 -6
- package/docs/fr/intlayer_with_vite+react.md +26 -6
- package/docs/fr/intlayer_with_vite+solid.md +26 -6
- package/docs/fr/intlayer_with_vite+svelte.md +19 -6
- package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
- package/docs/fr/intlayer_with_vite+vue.md +19 -6
- package/docs/fr/introduction.md +0 -1
- 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 -2
- package/docs/fr/releases/v8.md +1 -5
- 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 +74 -66
- package/docs/hi/intlayer_with_astro_lit.md +26 -33
- package/docs/hi/intlayer_with_astro_preact.md +33 -33
- package/docs/hi/intlayer_with_astro_react.md +33 -33
- package/docs/hi/intlayer_with_astro_solid.md +33 -33
- package/docs/hi/intlayer_with_astro_svelte.md +33 -33
- package/docs/hi/intlayer_with_astro_vue.md +33 -33
- 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 +27 -12
- package/docs/hi/intlayer_with_remix_3.md +73 -112
- package/docs/hi/intlayer_with_solid_start.md +14 -7
- package/docs/hi/intlayer_with_svelte_kit.md +20 -12
- package/docs/hi/intlayer_with_tanstack+solid.md +20 -2
- package/docs/hi/intlayer_with_tanstack.md +28 -17
- package/docs/hi/intlayer_with_vite+lit.md +75 -3
- package/docs/hi/intlayer_with_vite+preact.md +31 -14
- package/docs/hi/intlayer_with_vite+react.md +31 -14
- package/docs/hi/intlayer_with_vite+solid.md +31 -14
- package/docs/hi/intlayer_with_vite+svelte.md +24 -14
- package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
- package/docs/hi/intlayer_with_vite+vue.md +24 -14
- package/docs/hi/introduction.md +0 -1
- 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 -2
- package/docs/hi/releases/v8.md +1 -5
- 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 +70 -59
- package/docs/id/intlayer_with_astro_lit.md +23 -27
- package/docs/id/intlayer_with_astro_preact.md +30 -27
- package/docs/id/intlayer_with_astro_react.md +30 -27
- package/docs/id/intlayer_with_astro_solid.md +30 -27
- package/docs/id/intlayer_with_astro_svelte.md +30 -27
- package/docs/id/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/id/intlayer_with_remix_3.md +101 -148
- package/docs/id/intlayer_with_solid_start.md +14 -7
- package/docs/id/intlayer_with_svelte_kit.md +12 -1
- package/docs/id/intlayer_with_tanstack+solid.md +20 -2
- package/docs/id/intlayer_with_tanstack.md +20 -6
- package/docs/id/intlayer_with_vite+lit.md +75 -3
- package/docs/id/intlayer_with_vite+preact.md +23 -3
- package/docs/id/intlayer_with_vite+react.md +23 -3
- package/docs/id/intlayer_with_vite+solid.md +23 -3
- package/docs/id/intlayer_with_vite+svelte.md +16 -3
- package/docs/id/intlayer_with_vite+vanilla.md +16 -3
- package/docs/id/intlayer_with_vite+vue.md +16 -3
- package/docs/id/introduction.md +0 -1
- 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 -2
- package/docs/id/releases/v8.md +1 -5
- 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 +70 -59
- package/docs/it/intlayer_with_astro_lit.md +23 -27
- package/docs/it/intlayer_with_astro_preact.md +30 -27
- package/docs/it/intlayer_with_astro_react.md +30 -27
- package/docs/it/intlayer_with_astro_solid.md +30 -27
- package/docs/it/intlayer_with_astro_svelte.md +30 -27
- package/docs/it/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/it/intlayer_with_remix_3.md +70 -109
- package/docs/it/intlayer_with_solid_start.md +14 -7
- package/docs/it/intlayer_with_svelte_kit.md +12 -1
- package/docs/it/intlayer_with_tanstack+solid.md +20 -2
- package/docs/it/intlayer_with_tanstack.md +20 -6
- package/docs/it/intlayer_with_vite+lit.md +75 -3
- package/docs/it/intlayer_with_vite+preact.md +23 -3
- package/docs/it/intlayer_with_vite+react.md +23 -3
- package/docs/it/intlayer_with_vite+solid.md +23 -3
- package/docs/it/intlayer_with_vite+svelte.md +16 -3
- package/docs/it/intlayer_with_vite+vanilla.md +16 -3
- package/docs/it/intlayer_with_vite+vue.md +16 -3
- package/docs/it/introduction.md +0 -1
- 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 -2
- package/docs/it/releases/v8.md +1 -5
- 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 +71 -60
- package/docs/ja/intlayer_with_astro_lit.md +23 -27
- package/docs/ja/intlayer_with_astro_preact.md +30 -27
- package/docs/ja/intlayer_with_astro_react.md +30 -27
- package/docs/ja/intlayer_with_astro_solid.md +30 -27
- package/docs/ja/intlayer_with_astro_svelte.md +30 -27
- package/docs/ja/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/ja/intlayer_with_remix_3.md +73 -112
- package/docs/ja/intlayer_with_solid_start.md +14 -7
- package/docs/ja/intlayer_with_svelte_kit.md +21 -15
- package/docs/ja/intlayer_with_tanstack+solid.md +20 -2
- package/docs/ja/intlayer_with_tanstack.md +20 -6
- package/docs/ja/intlayer_with_vite+lit.md +75 -3
- package/docs/ja/intlayer_with_vite+preact.md +23 -3
- package/docs/ja/intlayer_with_vite+react.md +23 -3
- package/docs/ja/intlayer_with_vite+solid.md +23 -3
- package/docs/ja/intlayer_with_vite+svelte.md +16 -3
- package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ja/intlayer_with_vite+vue.md +16 -3
- package/docs/ja/introduction.md +0 -1
- 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 -2
- package/docs/ja/releases/v8.md +1 -5
- 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 +65 -56
- package/docs/ko/intlayer_with_astro_lit.md +23 -27
- package/docs/ko/intlayer_with_astro_preact.md +30 -27
- package/docs/ko/intlayer_with_astro_react.md +30 -27
- package/docs/ko/intlayer_with_astro_solid.md +30 -27
- package/docs/ko/intlayer_with_astro_svelte.md +30 -27
- package/docs/ko/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/ko/intlayer_with_remix_3.md +73 -112
- package/docs/ko/intlayer_with_solid_start.md +14 -7
- package/docs/ko/intlayer_with_svelte_kit.md +12 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +20 -2
- package/docs/ko/intlayer_with_tanstack.md +20 -6
- package/docs/ko/intlayer_with_vite+lit.md +75 -3
- package/docs/ko/intlayer_with_vite+preact.md +23 -3
- package/docs/ko/intlayer_with_vite+react.md +23 -3
- package/docs/ko/intlayer_with_vite+solid.md +33 -16
- package/docs/ko/intlayer_with_vite+svelte.md +16 -3
- package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ko/intlayer_with_vite+vue.md +16 -3
- package/docs/ko/introduction.md +0 -1
- 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 -2
- package/docs/ko/releases/v8.md +1 -5
- package/docs/nl/intlayer_with_vite+lit.md +75 -3
- package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
- package/docs/nl/introduction.md +0 -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 +65 -56
- package/docs/pl/intlayer_with_astro_lit.md +23 -27
- package/docs/pl/intlayer_with_astro_preact.md +30 -27
- package/docs/pl/intlayer_with_astro_react.md +30 -27
- package/docs/pl/intlayer_with_astro_solid.md +30 -27
- package/docs/pl/intlayer_with_astro_svelte.md +30 -27
- package/docs/pl/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/pl/intlayer_with_remix_3.md +101 -148
- package/docs/pl/intlayer_with_solid_start.md +14 -7
- package/docs/pl/intlayer_with_svelte_kit.md +12 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +20 -2
- package/docs/pl/intlayer_with_tanstack.md +20 -6
- package/docs/pl/intlayer_with_vite+lit.md +75 -3
- package/docs/pl/intlayer_with_vite+preact.md +23 -3
- package/docs/pl/intlayer_with_vite+react.md +23 -3
- package/docs/pl/intlayer_with_vite+solid.md +23 -3
- package/docs/pl/intlayer_with_vite+svelte.md +16 -3
- package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
- package/docs/pl/intlayer_with_vite+vue.md +16 -3
- package/docs/pl/introduction.md +0 -1
- 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 -2
- package/docs/pl/releases/v8.md +1 -5
- 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 +65 -56
- package/docs/pt/intlayer_with_astro_lit.md +23 -27
- package/docs/pt/intlayer_with_astro_preact.md +30 -27
- package/docs/pt/intlayer_with_astro_react.md +30 -27
- package/docs/pt/intlayer_with_astro_solid.md +30 -27
- package/docs/pt/intlayer_with_astro_svelte.md +30 -27
- package/docs/pt/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/pt/intlayer_with_remix_3.md +73 -112
- package/docs/pt/intlayer_with_solid_start.md +14 -7
- package/docs/pt/intlayer_with_svelte_kit.md +12 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +20 -2
- package/docs/pt/intlayer_with_tanstack.md +20 -6
- package/docs/pt/intlayer_with_vite+lit.md +75 -3
- package/docs/pt/intlayer_with_vite+preact.md +23 -3
- package/docs/pt/intlayer_with_vite+react.md +23 -3
- package/docs/pt/intlayer_with_vite+solid.md +23 -3
- package/docs/pt/intlayer_with_vite+svelte.md +16 -3
- package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
- package/docs/pt/intlayer_with_vite+vue.md +16 -3
- package/docs/pt/introduction.md +0 -1
- 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 -2
- package/docs/pt/releases/v8.md +1 -5
- 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 +71 -60
- package/docs/ru/intlayer_with_astro_lit.md +23 -27
- package/docs/ru/intlayer_with_astro_preact.md +30 -27
- package/docs/ru/intlayer_with_astro_react.md +30 -27
- package/docs/ru/intlayer_with_astro_solid.md +30 -27
- package/docs/ru/intlayer_with_astro_svelte.md +30 -27
- package/docs/ru/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/ru/intlayer_with_remix_3.md +73 -112
- package/docs/ru/intlayer_with_solid_start.md +14 -7
- package/docs/ru/intlayer_with_svelte_kit.md +12 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +20 -2
- package/docs/ru/intlayer_with_tanstack.md +20 -6
- package/docs/ru/intlayer_with_vite+lit.md +75 -3
- package/docs/ru/intlayer_with_vite+preact.md +23 -3
- package/docs/ru/intlayer_with_vite+react.md +23 -3
- package/docs/ru/intlayer_with_vite+solid.md +23 -3
- package/docs/ru/intlayer_with_vite+svelte.md +16 -3
- package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ru/intlayer_with_vite+vue.md +16 -3
- package/docs/ru/introduction.md +0 -1
- 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 -2
- package/docs/ru/releases/v8.md +1 -5
- 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 +70 -59
- package/docs/tr/intlayer_with_astro_lit.md +24 -28
- package/docs/tr/intlayer_with_astro_preact.md +31 -28
- package/docs/tr/intlayer_with_astro_react.md +31 -28
- package/docs/tr/intlayer_with_astro_solid.md +31 -28
- package/docs/tr/intlayer_with_astro_svelte.md +31 -28
- package/docs/tr/intlayer_with_astro_vue.md +31 -28
- 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 +19 -1
- package/docs/tr/intlayer_with_remix_3.md +101 -148
- package/docs/tr/intlayer_with_solid_start.md +14 -7
- package/docs/tr/intlayer_with_svelte_kit.md +12 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +20 -2
- package/docs/tr/intlayer_with_tanstack.md +20 -6
- package/docs/tr/intlayer_with_vite+lit.md +75 -3
- package/docs/tr/intlayer_with_vite+preact.md +23 -3
- package/docs/tr/intlayer_with_vite+react.md +23 -3
- package/docs/tr/intlayer_with_vite+solid.md +23 -3
- package/docs/tr/intlayer_with_vite+svelte.md +16 -3
- package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
- package/docs/tr/intlayer_with_vite+vue.md +16 -3
- package/docs/tr/introduction.md +0 -1
- 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 -2
- package/docs/tr/releases/v8.md +1 -5
- 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 +71 -60
- package/docs/uk/intlayer_with_astro_lit.md +23 -27
- package/docs/uk/intlayer_with_astro_preact.md +30 -27
- package/docs/uk/intlayer_with_astro_react.md +30 -27
- package/docs/uk/intlayer_with_astro_solid.md +30 -27
- package/docs/uk/intlayer_with_astro_svelte.md +30 -27
- package/docs/uk/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/uk/intlayer_with_remix_3.md +101 -148
- package/docs/uk/intlayer_with_solid_start.md +14 -7
- package/docs/uk/intlayer_with_svelte_kit.md +12 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +20 -2
- package/docs/uk/intlayer_with_tanstack.md +20 -6
- package/docs/uk/intlayer_with_vite+lit.md +75 -3
- package/docs/uk/intlayer_with_vite+preact.md +23 -3
- package/docs/uk/intlayer_with_vite+react.md +23 -3
- package/docs/uk/intlayer_with_vite+solid.md +23 -3
- package/docs/uk/intlayer_with_vite+svelte.md +16 -3
- package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
- package/docs/uk/intlayer_with_vite+vue.md +16 -3
- package/docs/uk/introduction.md +0 -1
- 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 -2
- package/docs/uk/releases/v8.md +1 -5
- package/docs/ur/intlayer_with_vite+lit.md +75 -3
- package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
- package/docs/ur/introduction.md +0 -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 +70 -59
- package/docs/vi/intlayer_with_astro_lit.md +23 -27
- package/docs/vi/intlayer_with_astro_preact.md +30 -27
- package/docs/vi/intlayer_with_astro_react.md +30 -27
- package/docs/vi/intlayer_with_astro_solid.md +30 -27
- package/docs/vi/intlayer_with_astro_svelte.md +30 -27
- package/docs/vi/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/vi/intlayer_with_remix_3.md +101 -148
- package/docs/vi/intlayer_with_solid_start.md +14 -7
- package/docs/vi/intlayer_with_svelte_kit.md +12 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +20 -2
- package/docs/vi/intlayer_with_tanstack.md +20 -6
- package/docs/vi/intlayer_with_vite+lit.md +75 -3
- package/docs/vi/intlayer_with_vite+preact.md +23 -3
- package/docs/vi/intlayer_with_vite+react.md +23 -3
- package/docs/vi/intlayer_with_vite+solid.md +23 -3
- package/docs/vi/intlayer_with_vite+svelte.md +16 -3
- package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
- package/docs/vi/intlayer_with_vite+vue.md +16 -3
- package/docs/vi/introduction.md +0 -1
- 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 -2
- package/docs/vi/releases/v8.md +1 -5
- 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 +65 -56
- package/docs/zh/intlayer_with_astro_lit.md +23 -27
- package/docs/zh/intlayer_with_astro_preact.md +30 -27
- package/docs/zh/intlayer_with_astro_react.md +30 -27
- package/docs/zh/intlayer_with_astro_solid.md +30 -27
- package/docs/zh/intlayer_with_astro_svelte.md +30 -27
- package/docs/zh/intlayer_with_astro_vue.md +30 -27
- 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 +19 -1
- package/docs/zh/intlayer_with_remix_3.md +74 -112
- package/docs/zh/intlayer_with_solid_start.md +14 -7
- package/docs/zh/intlayer_with_svelte_kit.md +12 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +20 -2
- package/docs/zh/intlayer_with_tanstack.md +20 -6
- package/docs/zh/intlayer_with_vite+lit.md +75 -3
- package/docs/zh/intlayer_with_vite+preact.md +23 -3
- package/docs/zh/intlayer_with_vite+react.md +23 -3
- package/docs/zh/intlayer_with_vite+solid.md +23 -3
- package/docs/zh/intlayer_with_vite+svelte.md +16 -3
- package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
- package/docs/zh/intlayer_with_vite+vue.md +16 -3
- package/docs/zh/introduction.md +0 -1
- 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 -2
- package/docs/zh/releases/v8.md +1 -5
- package/docs/zh-TW/introduction.md +0 -1
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +223 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +0 -702
- package/docs/de/intlayer_with_astro_vanilla.md +0 -698
- package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -702
- package/docs/es/intlayer_with_astro_vanilla.md +0 -694
- package/docs/fr/intlayer_with_astro_vanilla.md +0 -694
- package/docs/hi/intlayer_with_astro_vanilla.md +0 -713
- package/docs/id/intlayer_with_astro_vanilla.md +0 -698
- package/docs/it/intlayer_with_astro_vanilla.md +0 -698
- package/docs/ja/intlayer_with_astro_vanilla.md +0 -701
- package/docs/ko/intlayer_with_astro_vanilla.md +0 -713
- package/docs/pl/intlayer_with_astro_vanilla.md +0 -698
- package/docs/pt/intlayer_with_astro_vanilla.md +0 -698
- package/docs/ru/intlayer_with_astro_vanilla.md +0 -709
- package/docs/tr/intlayer_with_astro_vanilla.md +0 -698
- package/docs/uk/intlayer_with_astro_vanilla.md +0 -698
- package/docs/vi/intlayer_with_astro_vanilla.md +0 -698
- package/docs/zh/intlayer_with_astro_vanilla.md +0 -697
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-09-09
|
|
3
|
-
updatedAt: 2026-09-
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
4
|
title: "Remix 3 i18n - Kompletny przewodnik po tłumaczeniu aplikacji"
|
|
5
5
|
description: "Zapomnij o i18next. Przewodnik 2026 po tworzeniu wielojęzycznej (i18n) aplikacji Remix 3. Tłumacz za pomocą agentów AI i optymalizuj rozmiar paczki, SEO oraz wydajność."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-remix-3-template
|
|
20
20
|
applicationShowcase: https://intlayer-remix-3-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Użycie middleware i hooków remix-intlayer"
|
|
22
25
|
- version: 9.5.0
|
|
23
26
|
date: 2026-09-09
|
|
24
27
|
changes: "Początkowa dokumentacja dla Remix 3"
|
|
@@ -39,7 +42,7 @@ Ten przewodnik pokazuje, jak zintegrować **Intlayer** w celu bezproblemowej int
|
|
|
39
42
|
- **`remix/node-fetch-server`**: Adaptery serwerowe dla Node.js z natywnym wsparciem dla Bun, Deno i środowisk edge.
|
|
40
43
|
- **`remix/cookie`**: Kryptograficznie podpisane parsowanie i serializacja ciasteczek.
|
|
41
44
|
|
|
42
|
-
W połączeniu z **Intlayer** otrzymujesz kompletny system internacjonalizacji zapewniający bezpieczeństwo typów w czasie kompilacji,
|
|
45
|
+
W połączeniu z **Intlayer** i pakietem **`remix-intlayer`**, middleware ustawień regionalnych oraz tymi samymi hookami `useIntlayer` / `useDictionary` / `useLocale` co w `react-intlayer`, powiązanymi z kontekstem żądania Remix, otrzymujesz kompletny system internacjonalizacji zapewniający bezpieczeństwo typów w czasie kompilacji, automatyczne tłumaczenia AI, renderowanie serwerowe bez narzutu i płynne trasowanie językowe.
|
|
43
46
|
|
|
44
47
|
## Spis treści
|
|
45
48
|
|
|
@@ -52,7 +55,7 @@ W porównaniu z tradycyjnymi rozwiązaniami, takimi jak `i18next` czy dedykowane
|
|
|
52
55
|
<AccordionGroup>
|
|
53
56
|
<Accordion header="Pełna obsługa Remix 3 i standardów webowych">
|
|
54
57
|
|
|
55
|
-
Intlayer został
|
|
58
|
+
Intlayer został zbudowany z myślą o bezproblemowej współpracy ze standardami sieciowymi (`Request`, `Response`, `Headers` i `URL`). `remix-intlayer` integruje się z routerem Fetch Remix 3 jako lekkie middleware, pobierając ustawienia regionalne ze ścieżek URL, plików cookie lub nagłówków `Accept-Language` i udostępniając je reszcie żądania, procedurom obsługi, widokom i komponentom `remix/ui`, bez konieczności przekazywania ich jako argumentów.
|
|
56
59
|
|
|
57
60
|
</Accordion>
|
|
58
61
|
<Accordion header="Bezpieczne pod kątem typów deklaracje treści">
|
|
@@ -109,25 +112,26 @@ Zobacz [Szablon Aplikacji](https://github.com/aymericzip/intlayer-remix-3-templa
|
|
|
109
112
|
<Steps>
|
|
110
113
|
<Step number={1} title="Instalacja zależności">
|
|
111
114
|
|
|
112
|
-
Zainstaluj `intlayer`
|
|
115
|
+
Zainstaluj `intlayer`, `remix-intlayer` i `remix` (wersja 3) za pomocą preferowanego menedżera pakietów:
|
|
113
116
|
|
|
114
117
|
```bash packageManager="npm"
|
|
115
|
-
npm install intlayer remix@next
|
|
118
|
+
npm install intlayer remix-intlayer remix@next
|
|
116
119
|
```
|
|
117
120
|
|
|
118
121
|
```bash packageManager="pnpm"
|
|
119
|
-
pnpm add intlayer remix@next
|
|
122
|
+
pnpm add intlayer remix-intlayer remix@next
|
|
120
123
|
```
|
|
121
124
|
|
|
122
125
|
```bash packageManager="yarn"
|
|
123
|
-
yarn add intlayer remix@next
|
|
126
|
+
yarn add intlayer remix-intlayer remix@next
|
|
124
127
|
```
|
|
125
128
|
|
|
126
129
|
```bash packageManager="bun"
|
|
127
|
-
bun add intlayer remix@next
|
|
130
|
+
bun add intlayer remix-intlayer remix@next
|
|
128
131
|
```
|
|
129
132
|
|
|
130
133
|
- **`intlayer`**: Główny silnik internacjonalizacji zapewniający zarządzanie konfiguracją, deklarację słowników (`t()`, `Dictionary`), narzędzia CLI oraz interpreter czasu wykonania.
|
|
134
|
+
- **`remix-intlayer`**: Integracja z Remix 3: middleware routera `intlayer()`, które rozpoznaje ustawienia regionalne każdego żądania, oraz hooki `useIntlayer`, `useDictionary` i `useLocale`, które odczytują je w dowolnym miejscu poniżej.
|
|
131
135
|
- **`remix`**: Ujednolicony pakiet frameworka Remix 3 eksportujący `remix/router`, `remix/routes`, `remix/ui`, `remix/middleware/render` oraz `remix/node-fetch-server`.
|
|
132
136
|
|
|
133
137
|
</Step>
|
|
@@ -239,65 +243,30 @@ bun x intlayer build
|
|
|
239
243
|
To polecenie kompiluje zawartość do katalogu `.intlayer`, zapewniając autouzupełnianie w TypeScript i szybki dostęp do słowników.
|
|
240
244
|
|
|
241
245
|
</Step>
|
|
242
|
-
<Step number={5} title="
|
|
243
|
-
|
|
244
|
-
Remix 3
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
1.
|
|
249
|
-
2.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Bezpieczny pod kątem typów klucz kontekstu do pobierania języka z RequestContext Remix 3.
|
|
263
|
-
*/
|
|
264
|
-
export const localeKey = createContextKey<Locale>(defaultLocale);
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* Middleware Intlayer dla Remix 3.
|
|
268
|
-
*
|
|
269
|
-
* Ustala język żądania według priorytetu:
|
|
270
|
-
* 1. Prefiks ścieżki URL (np. `/pl/...`) za pomocą `getLocaleFromPath`
|
|
271
|
-
* 2. Negocjacja nagłówków i pamięci za pomocą `getLocale` (cookie, nagłówek niestandardowy, Accept-Language, domyślna wartość defaultLocale)
|
|
272
|
-
*
|
|
273
|
-
* Dołącza ustalony język do RequestContext w Remix 3.
|
|
274
|
-
*/
|
|
275
|
-
export const intlayer = (): Middleware => {
|
|
276
|
-
return async (context, next) => {
|
|
277
|
-
// Wykrywanie ścieżki (/pl/about -> "pl", /about -> undefined)
|
|
278
|
-
const pathLocale = getLocaleFromPath(context.url.pathname);
|
|
279
|
-
|
|
280
|
-
if (pathLocale) {
|
|
281
|
-
// Dołącz ustalony język do kontekstu żądania Remix 3
|
|
282
|
-
context.set(localeKey, pathLocale);
|
|
283
|
-
|
|
284
|
-
return next();
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
const storedLocale = await getLocale({
|
|
288
|
-
getHeader: (name) => context.headers.get(name),
|
|
289
|
-
getCookie: (name) =>
|
|
290
|
-
getCookie(name, context.headers.get("cookie") ?? undefined),
|
|
291
|
-
});
|
|
292
|
-
|
|
293
|
-
// Dołącz ustalony język do kontekstu żądania Remix 3
|
|
294
|
-
context.set(localeKey, storedLocale ?? defaultLocale);
|
|
295
|
-
|
|
296
|
-
return next();
|
|
297
|
-
};
|
|
298
|
-
};
|
|
246
|
+
<Step number={5} title="Dodaj middleware Intlayer">
|
|
247
|
+
|
|
248
|
+
Remix 3 zapewnia konfigurowalny potok middleware za pośrednictwem `createRouter({ middleware: [...] })`.
|
|
249
|
+
|
|
250
|
+
`remix-intlayer` dostarcza middleware `intlayer()`. Dla każdego przychodzącego żądania rozpoznaje ustawienia regionalne przy użyciu:
|
|
251
|
+
|
|
252
|
+
1. Adresu URL, w każdym trybie trasowania oprócz `no-prefix`: prefiksu ścieżki (np. `/pl` lub `/en`) lub parametru wyszukiwania `?locale=`.
|
|
253
|
+
2. Ustawień regionalnych zapisanych przez klienta: pliku cookie (`INTLAYER_LOCALE`) lub niestandardowego nagłówka (`x-intlayer-locale`).
|
|
254
|
+
3. Standardowej negocjacji `Accept-Language`, z powrotem do skonfigurowanego `defaultLocale`.
|
|
255
|
+
|
|
256
|
+
Wynik jest przechowywany w kontekście żądania Remix jako `context.intlayer` (lub `context.get(Intlayer)`), z wartościami `locale`, `defaultLocale` i `availableLocales`. Następnie middleware uruchamia resztę żądania w zakresie `AsyncLocalStorage` powiązanym z tym kontekstem, co pozwala hookom pakietu odczytywać ustawienia regionalne bez argumentów, zarówno w procedurach obsługi tras, widokach, jak i komponentach `remix/ui`:
|
|
257
|
+
|
|
258
|
+
```typescript
|
|
259
|
+
import { useIntlayer, useLocale } from "remix-intlayer";
|
|
260
|
+
|
|
261
|
+
// W dowolnym miejscu poniżej middleware
|
|
262
|
+
const { locale, availableLocales } = useLocale();
|
|
263
|
+
const { title } = useIntlayer("home");
|
|
299
264
|
```
|
|
300
265
|
|
|
266
|
+
`useIntlayer("home", "fr")` lub `useIntlayer("faq", { item: 2 })` nadpisują ustawienia regionalne żądania dla jednego wywołania, a `useDictionary(homeContent)` odczytuje zaimportowany słownik zamiast klucza. Poza żądaniem hooki powracają do domyślnych ustawień regionalnych.
|
|
267
|
+
|
|
268
|
+
> Middleware przygotowuje również słowniki Intlayer podczas uruchamiania serwera, dzięki czemu brakujące `intlayer build` nie pozostawia rejestru pustego.
|
|
269
|
+
|
|
301
270
|
</Step>
|
|
302
271
|
<Step number={6} title="Definiowanie bezpiecznych typowo tras">
|
|
303
272
|
|
|
@@ -327,89 +296,81 @@ routes.localizedHome.href({ locale: "pl" }); // "/pl"
|
|
|
327
296
|
|
|
328
297
|
Remix 3 używa `remix/ui` do komponentów JSX. Komponent to **funkcja konfiguracyjna (setup function)**, która zwraca **funkcję renderującą (render function)**. Props są przekazywane przez typowany `handle` (na przykład `handle.props.locale`):
|
|
329
298
|
|
|
330
|
-
|
|
299
|
+
Zacznij od współdzielonej powłoki `Document`, która ustawia atrybuty `<html lang="..." dir="...">` na podstawie ustawień regionalnych rozpoznanych przez middleware:
|
|
331
300
|
|
|
332
301
|
```tsx fileName="src/views/document.tsx" codeFormat={["typescript", "esm"]}
|
|
333
|
-
import
|
|
302
|
+
import { getHTMLTextDir } from "intlayer";
|
|
303
|
+
import { useLocale } from "remix-intlayer";
|
|
304
|
+
import type { Handle, RemixNode } from "remix/ui";
|
|
334
305
|
|
|
335
|
-
|
|
306
|
+
type DocumentProps = {
|
|
336
307
|
title: string;
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
};
|
|
308
|
+
children?: RemixNode;
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
export const Document = (handle: Handle<DocumentProps>) => () => {
|
|
312
|
+
const { title, children } = handle.props;
|
|
313
|
+
const { locale } = useLocale();
|
|
314
|
+
|
|
315
|
+
return (
|
|
316
|
+
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
317
|
+
<head>
|
|
318
|
+
<meta charSet="utf-8" />
|
|
319
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
320
|
+
<title>{title}</title>
|
|
321
|
+
</head>
|
|
322
|
+
<body>{children}</body>
|
|
323
|
+
</html>
|
|
324
|
+
);
|
|
355
325
|
};
|
|
356
326
|
```
|
|
357
327
|
|
|
358
|
-
Następnie utwórz
|
|
328
|
+
Następnie utwórz stronę główną. Odczytuje ona zlokalizowany słownik za pomocą `useIntlayer` i renderuje przełącznik języków:
|
|
359
329
|
|
|
360
330
|
```tsx fileName="src/views/home.tsx" codeFormat={["typescript", "esm"]}
|
|
361
|
-
import {
|
|
362
|
-
|
|
363
|
-
getHTMLTextDir,
|
|
364
|
-
getLocaleName,
|
|
365
|
-
getLocalizedPath,
|
|
366
|
-
type Locale,
|
|
367
|
-
locales,
|
|
368
|
-
} from "intlayer";
|
|
369
|
-
import type { SetupFunction } from "remix/ui";
|
|
370
|
-
import { routes } from "../routes";
|
|
331
|
+
import { getLocaleName, getLocalizedUrl, getPathWithoutLocale } from "intlayer";
|
|
332
|
+
import { useIntlayer, useLocale } from "remix-intlayer";
|
|
371
333
|
import { Document } from "./document";
|
|
372
334
|
|
|
373
|
-
export const HomePage
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
{locales.map((loc) => {
|
|
388
|
-
const href = getLocalizedPath(routes.home.href(), loc);
|
|
389
|
-
const isActive = loc === locale;
|
|
335
|
+
export const HomePage = () => () => {
|
|
336
|
+
const { locale, availableLocales } = useLocale();
|
|
337
|
+
const home = useIntlayer("home");
|
|
338
|
+
const pathWithoutLocale = getPathWithoutLocale();
|
|
339
|
+
|
|
340
|
+
return (
|
|
341
|
+
<Document title={home.title}>
|
|
342
|
+
<header>
|
|
343
|
+
<nav aria-label="Languages">
|
|
344
|
+
<span>{home.switchLanguage}</span>
|
|
345
|
+
<ul>
|
|
346
|
+
{availableLocales.map((localeItem) => {
|
|
347
|
+
const isActive = localeItem === locale;
|
|
348
|
+
|
|
390
349
|
return (
|
|
391
|
-
<
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
350
|
+
<li key={localeItem} class="p-1">
|
|
351
|
+
<a
|
|
352
|
+
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
353
|
+
class={isActive ? "active" : undefined}
|
|
354
|
+
aria-current={isActive ? "page" : undefined}
|
|
355
|
+
>
|
|
356
|
+
{getLocaleName(localeItem, locale)}
|
|
357
|
+
</a>
|
|
358
|
+
</li>
|
|
398
359
|
);
|
|
399
360
|
})}
|
|
400
|
-
</
|
|
401
|
-
</
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
</
|
|
406
|
-
</
|
|
407
|
-
|
|
408
|
-
|
|
361
|
+
</ul>
|
|
362
|
+
</nav>
|
|
363
|
+
</header>
|
|
364
|
+
<main>
|
|
365
|
+
<h1>{home.title}</h1>
|
|
366
|
+
<p>{home.description}</p>
|
|
367
|
+
</main>
|
|
368
|
+
</Document>
|
|
369
|
+
);
|
|
409
370
|
};
|
|
410
371
|
```
|
|
411
372
|
|
|
412
|
-
> Remix JSX to nie React:
|
|
373
|
+
> Remix JSX to nie React: `class` jest zapisywane bez zmian (`className` jest również akceptowane), a ponowne renderowanie jest wyzwalane jawnie za pomocą `handle.update()`. Interpolowane wartości są automatycznie uciekane. Hooki Intlayer to zwykłe funkcje odczytujące zakres żądania, więc można je wywoływać zarówno z funkcji konfiguracji (setup), jak i funkcji renderowania.
|
|
413
374
|
|
|
414
375
|
</Step>
|
|
415
376
|
<Step number={8} title="Łączenie routera i serwera">
|
|
@@ -418,45 +379,37 @@ Utwórz `src/router.tsx`, aby zarejestrować middleware i zdefiniować akcje tra
|
|
|
418
379
|
|
|
419
380
|
```tsx fileName="src/router.tsx" codeFormat={["typescript", "esm"]}
|
|
420
381
|
import { isDeclaredLocale } from "intlayer";
|
|
382
|
+
import { intlayer } from "remix-intlayer";
|
|
421
383
|
import { render } from "remix/middleware/render";
|
|
422
384
|
import { createRouter } from "remix/router";
|
|
423
|
-
import { intlayer, localeKey } from "./middleware/intlayer";
|
|
424
385
|
import { routes } from "./routes";
|
|
425
386
|
import { HomePage } from "./views/home";
|
|
426
387
|
|
|
388
|
+
// 1. Initialize router with Intlayer + render middleware
|
|
427
389
|
export const router = createRouter({
|
|
428
390
|
middleware: [intlayer(), render()],
|
|
429
391
|
});
|
|
430
392
|
|
|
393
|
+
// 2. Map route handlers
|
|
431
394
|
router.map(routes, {
|
|
432
395
|
actions: {
|
|
433
|
-
//
|
|
396
|
+
// Default locale route
|
|
434
397
|
home(context) {
|
|
435
|
-
|
|
436
|
-
return context.render(<HomePage locale={locale} />);
|
|
398
|
+
return context.render(<HomePage />);
|
|
437
399
|
},
|
|
438
400
|
|
|
439
|
-
//
|
|
401
|
+
// Localized route
|
|
440
402
|
localizedHome(context) {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
if (!isDeclaredLocale(locale)) {
|
|
403
|
+
if (!isDeclaredLocale(context.params.locale)) {
|
|
444
404
|
return new Response("Not Found", { status: 404 });
|
|
445
405
|
}
|
|
446
|
-
|
|
447
|
-
return context.render(<HomePage locale={locale} />);
|
|
406
|
+
return context.render(<HomePage />);
|
|
448
407
|
},
|
|
449
408
|
},
|
|
450
409
|
});
|
|
451
410
|
```
|
|
452
411
|
|
|
453
|
-
> `context.render` przyjmuje opcjonalny
|
|
454
|
-
>
|
|
455
|
-
> ```typescript
|
|
456
|
-
> return context.render(<HomePage locale={locale} />, {
|
|
457
|
-
> headers: { "Content-Language": locale },
|
|
458
|
-
> });
|
|
459
|
-
> ```
|
|
412
|
+
> `context.render` przyjmuje opcjonalny `ResponseInit` jako drugi argument, np. `context.render(<NotFoundPage />, { status: 404 })`. Rozpoznane ustawienia regionalne pozostają dostępne z poziomu procedury obsługi jako `context.intlayer.locale`, na przykład w celu utworzenia odpowiedzi `Response.json`.
|
|
460
413
|
|
|
461
414
|
Teraz połącz `src/server.ts` za pomocą `remix/node-fetch-server` dla Node.js (lub wyeksportuj moduł obsługi `fetch` bezpośrednio dla Bun, Deno lub Cloudflare Workers):
|
|
462
415
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-08-06
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Solid Start i18n - Kompletny przewodnik po tłumaczeniu swojej aplikacji"
|
|
5
5
|
description: "Koniec z i18next. Przewodnik 2026 do budowania wielojęzycznej (i18n) aplikacji SolidStart. Server-rendered routing lokalizacji, hreflang, mapa strony i tłumaczenie wspomagane przez AI."
|
|
6
6
|
keywords:
|
|
@@ -748,15 +748,13 @@ SolidStart zmienia plik eksportujący metodę HTTP w trasę API i usuwa rozszerz
|
|
|
748
748
|
import type { APIEvent } from "@solidjs/start/server";
|
|
749
749
|
import { generateSitemap } from "intlayer";
|
|
750
750
|
|
|
751
|
-
const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
|
|
752
|
-
|
|
753
751
|
export const GET = (_event: APIEvent) => {
|
|
754
752
|
const sitemap = generateSitemap(
|
|
755
753
|
[
|
|
756
754
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
757
755
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
758
756
|
],
|
|
759
|
-
{ siteUrl:
|
|
757
|
+
{ siteUrl: "https://example.com" }
|
|
760
758
|
);
|
|
761
759
|
|
|
762
760
|
return new Response(sitemap, {
|
|
@@ -790,8 +788,6 @@ Możesz zbudować `robots.txt` w ten sam sposób za pomocą `getMultilingualUrls
|
|
|
790
788
|
```typescript fileName="src/routes/robots.txt.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
791
789
|
import { getMultilingualUrls } from "intlayer";
|
|
792
790
|
|
|
793
|
-
const SITE_URL = process.env.SITE_URL ?? "http://localhost:3000";
|
|
794
|
-
|
|
795
791
|
const disallowedPaths = ["/admin", "/private"].flatMap((path) =>
|
|
796
792
|
Object.values(getMultilingualUrls(path))
|
|
797
793
|
);
|
|
@@ -803,7 +799,7 @@ export const GET = () =>
|
|
|
803
799
|
"Allow: /",
|
|
804
800
|
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
805
801
|
"",
|
|
806
|
-
`Sitemap:
|
|
802
|
+
`Sitemap: https://example.com/sitemap.xml`,
|
|
807
803
|
].join("\n"),
|
|
808
804
|
{ headers: { "Content-Type": "text/plain" } }
|
|
809
805
|
);
|
|
@@ -922,8 +918,14 @@ bun x intlayer extract
|
|
|
922
918
|
</Tab>
|
|
923
919
|
<Tab value='Babel compiler'>
|
|
924
920
|
|
|
921
|
+
<Tabs>
|
|
922
|
+
<Tab value='intlayer >= 9'>
|
|
923
|
+
|
|
925
924
|
> Od v9 `intlayerCompiler` jest dołączony do wtyczki `intlayer`. Nie musisz więc dodawać go ręcznie.
|
|
926
925
|
|
|
926
|
+
</Tab>
|
|
927
|
+
<Tab value='intlayer < 9'>
|
|
928
|
+
|
|
927
929
|
Zaktualizuj swój `vite.config.ts`, aby dołączyć wtyczkę `intlayerCompiler`:
|
|
928
930
|
|
|
929
931
|
```ts fileName="vite.config.ts"
|
|
@@ -942,6 +944,11 @@ export default defineConfig({
|
|
|
942
944
|
});
|
|
943
945
|
```
|
|
944
946
|
|
|
947
|
+
</Tab>
|
|
948
|
+
</Tabs>
|
|
949
|
+
|
|
950
|
+
Zbuduj aplikację, aby przekształcić komponenty i wyodrębnić treść
|
|
951
|
+
|
|
945
952
|
```bash packageManager="npm"
|
|
946
953
|
npm run build # Lub npm run dev
|
|
947
954
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-20
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "SvelteKit i18n - Kompletny przewodnik po tłumaczeniu swojej aplikacji"
|
|
5
5
|
description: "Koniec z i18next. Przewodnik 2026 do budowania wielojęzycznej (i18n) aplikacji SvelteKit. Tłumacz z agentami AI i optymalizuj rozmiar bundle, SEO i wydajność."
|
|
6
6
|
keywords:
|
|
@@ -707,8 +707,14 @@ bun x intlayer extract
|
|
|
707
707
|
</Tab>
|
|
708
708
|
<Tab value='Kompilator Babel'>
|
|
709
709
|
|
|
710
|
+
<Tabs>
|
|
711
|
+
<Tab value='intlayer >= 9'>
|
|
712
|
+
|
|
710
713
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
711
714
|
|
|
715
|
+
</Tab>
|
|
716
|
+
<Tab value='intlayer < 9'>
|
|
717
|
+
|
|
712
718
|
Zaktualizuj `vite.config.ts`, aby dołączyć wtyczkę `intlayerCompiler`:
|
|
713
719
|
|
|
714
720
|
```ts fileName="vite.config.ts"
|
|
@@ -723,6 +729,11 @@ export default defineConfig({
|
|
|
723
729
|
});
|
|
724
730
|
```
|
|
725
731
|
|
|
732
|
+
</Tab>
|
|
733
|
+
</Tabs>
|
|
734
|
+
|
|
735
|
+
Zbuduj aplikację, aby przekształcić komponenty i wyodrębnić treść
|
|
736
|
+
|
|
726
737
|
```bash packageManager="npm"
|
|
727
738
|
npm run build # Lub npm run dev
|
|
728
739
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-25
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "TanStack Start + Solid i18n - Kompletny przewodnik po tłumaczeniu swojej aplikacji"
|
|
5
5
|
description: "Koniec z i18next. Przewodnik 2026 do budowania wielojęzycznej (i18n) aplikacji TanStack Start + Solid. Tłumacz z agentami AI i optymalizuj rozmiar bundle, SEO i wydajność."
|
|
6
6
|
keywords:
|
|
@@ -986,8 +986,14 @@ bun x intlayer extract
|
|
|
986
986
|
</Tab>
|
|
987
987
|
<Tab value='Kompilator Babel'>
|
|
988
988
|
|
|
989
|
+
<Tabs>
|
|
990
|
+
<Tab value='intlayer >= 9'>
|
|
991
|
+
|
|
989
992
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
990
993
|
|
|
994
|
+
</Tab>
|
|
995
|
+
<Tab value='intlayer < 9'>
|
|
996
|
+
|
|
991
997
|
Zaktualizuj swoje `vite.config.ts`, aby dołączyć wtyczkę `intlayerCompiler`:
|
|
992
998
|
|
|
993
999
|
```ts fileName="vite.config.ts"
|
|
@@ -1013,6 +1019,11 @@ export default defineConfig({
|
|
|
1013
1019
|
});
|
|
1014
1020
|
```
|
|
1015
1021
|
|
|
1022
|
+
</Tab>
|
|
1023
|
+
</Tabs>
|
|
1024
|
+
|
|
1025
|
+
Zbuduj aplikację, aby przekształcić komponenty i wyodrębnić treść
|
|
1026
|
+
|
|
1016
1027
|
```bash packageManager="npm"
|
|
1017
1028
|
npm run build # Lub npm run dev
|
|
1018
1029
|
```
|
|
@@ -1092,7 +1103,7 @@ export const Route = createFileRoute("/sitemap.xml")({
|
|
|
1092
1103
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1093
1104
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1094
1105
|
],
|
|
1095
|
-
{ siteUrl:
|
|
1106
|
+
{ siteUrl: "https://example.com" }
|
|
1096
1107
|
);
|
|
1097
1108
|
|
|
1098
1109
|
return new Response(sitemap, {
|
|
@@ -1257,6 +1268,13 @@ Tak: [formy mnogie](https://github.com/aymericzip/intlayer/blob/main/docs/docs/p
|
|
|
1257
1268
|
|
|
1258
1269
|
Za pośrednictwem [edytora wizualnego](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md), który działa na Twojej własnej infrastrukturze i pozwala każdemu edytować tekst bezpośrednio w działającej aplikacji, lub systemu [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md), który wyodrębnia treść, dzięki czemu może być zmieniana bez konieczności ponownego wdrażania.
|
|
1259
1270
|
|
|
1271
|
+
</Question>
|
|
1272
|
+
<Question title="Jaki jest koszt edytora wizualnego? Czy to przesada, jeśli go nie potrzebuję?">
|
|
1273
|
+
|
|
1274
|
+
[Edytor wizualny Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md) generuje **zerowy koszt** dla Twojej aplikacji, jeśli nie jest skonfigurowany. Dodatkowa logika jest ładowana tylko wtedy, gdy jest jawnie włączona i potrzebna.
|
|
1275
|
+
|
|
1276
|
+
Nawet po włączeniu narzut jest niezwykle mały (+5 KB, ładowane dynamicznie tylko po aktywacji), ponieważ większość logiki jest obsługiwana przez edytor serwerowy na [app.intlayer.org](https://app.intlayer.org) lub za pośrednictwem pakietu `intlayer-editor`. Jeśli potrzebujesz jedynie prostego rozwiązania do tłumaczenia bez edycji wizualnej, Intlayer nie dodaje żadnego narzutu do Twojej aplikacji.
|
|
1277
|
+
|
|
1260
1278
|
</Question>
|
|
1261
1279
|
<Question title="Czy Intlayer jest darmowy i open source?">
|
|
1262
1280
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "TanStack Start i18n - Kompletny przewodnik po tłumaczeniu swojej aplikacji"
|
|
5
5
|
description: "Koniec z i18next. Przewodnik 2026 do budowania wielojęzycznej (i18n) aplikacji TanStack Start. Tłumacz z agentami AI i optymalizuj rozmiar bundle, SEO i wydajność."
|
|
6
6
|
keywords:
|
|
@@ -1068,8 +1068,14 @@ bun x intlayer extract
|
|
|
1068
1068
|
</Tab>
|
|
1069
1069
|
<Tab value="Kompilator Babel">
|
|
1070
1070
|
|
|
1071
|
+
<Tabs>
|
|
1072
|
+
<Tab value='intlayer >= 9'>
|
|
1073
|
+
|
|
1071
1074
|
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
1072
1075
|
|
|
1076
|
+
</Tab>
|
|
1077
|
+
<Tab value='intlayer < 9'>
|
|
1078
|
+
|
|
1073
1079
|
Zaktualizuj `vite.config.ts`, aby dołączyć wtyczkę `intlayerCompiler`:
|
|
1074
1080
|
|
|
1075
1081
|
```ts fileName="vite.config.ts"
|
|
@@ -1084,6 +1090,11 @@ export default defineConfig({
|
|
|
1084
1090
|
});
|
|
1085
1091
|
```
|
|
1086
1092
|
|
|
1093
|
+
</Tab>
|
|
1094
|
+
</Tabs>
|
|
1095
|
+
|
|
1096
|
+
Zbuduj aplikację, aby przekształcić komponenty i wyodrębnić treść
|
|
1097
|
+
|
|
1087
1098
|
```bash packageManager="npm"
|
|
1088
1099
|
npm run build # Lub npm run dev
|
|
1089
1100
|
```
|
|
@@ -1152,10 +1163,6 @@ Następnie utwórz trasę `src/routes/sitemap[.]xml.ts`, która wykorzystuje fun
|
|
|
1152
1163
|
import { createFileRoute } from "@tanstack/react-router";
|
|
1153
1164
|
import { generateSitemap } from "intlayer";
|
|
1154
1165
|
|
|
1155
|
-
const SITE_URL = (
|
|
1156
|
-
import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
|
|
1157
|
-
).replace(/\/$/, "");
|
|
1158
|
-
|
|
1159
1166
|
export const Route = createFileRoute("/sitemap.xml")({
|
|
1160
1167
|
server: {
|
|
1161
1168
|
handlers: {
|
|
@@ -1165,7 +1172,7 @@ export const Route = createFileRoute("/sitemap.xml")({
|
|
|
1165
1172
|
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1166
1173
|
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1167
1174
|
],
|
|
1168
|
-
{ siteUrl:
|
|
1175
|
+
{ siteUrl: "https://example.com" }
|
|
1169
1176
|
);
|
|
1170
1177
|
|
|
1171
1178
|
return new Response(sitemap, {
|
|
@@ -1325,6 +1332,13 @@ Tak: [formy mnogie](https://github.com/aymericzip/intlayer/blob/main/docs/docs/p
|
|
|
1325
1332
|
|
|
1326
1333
|
Za pośrednictwem [edytora wizualnego](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md), który działa na Twojej własnej infrastrukturze i pozwala każdemu edytować tekst bezpośrednio w działającej aplikacji, lub systemu [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md), który wyodrębnia treść, dzięki czemu może być zmieniana bez konieczności ponownego wdrażania.
|
|
1327
1334
|
|
|
1335
|
+
</Question>
|
|
1336
|
+
<Question title="Jaki jest koszt edytora wizualnego? Czy to przesada, jeśli go nie potrzebuję?">
|
|
1337
|
+
|
|
1338
|
+
[Edytor wizualny Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md) generuje **zerowy koszt** dla Twojej aplikacji, jeśli nie jest skonfigurowany. Dodatkowa logika jest ładowana tylko wtedy, gdy jest jawnie włączona i potrzebna.
|
|
1339
|
+
|
|
1340
|
+
Nawet po włączeniu narzut jest niezwykle mały (+5 KB, ładowane dynamicznie tylko po aktywacji), ponieważ większość logiki jest obsługiwana przez edytor serwerowy na [app.intlayer.org](https://app.intlayer.org) lub za pośrednictwem pakietu `intlayer-editor`. Jeśli potrzebujesz jedynie prostego rozwiązania do tłumaczenia bez edycji wizualnej, Intlayer nie dodaje żadnego narzutu do Twojej aplikacji.
|
|
1341
|
+
|
|
1328
1342
|
</Question>
|
|
1329
1343
|
<Question title="Czy Intlayer jest darmowy i open source?">
|
|
1330
1344
|
|