@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: 2024-08-12
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-19
|
|
4
4
|
title: Intlayer 작동 방식
|
|
5
5
|
description: Intlayer가 내부적으로 어떻게 작동하는지 알아보세요. Intlayer를 강력하게 만드는 아키텍처와 구성 요소를 이해하십시오.
|
|
6
6
|
keywords:
|
|
@@ -135,49 +135,105 @@ Intlayer는 번역 프로세스에서 특정 역할을 하는 여러 패키지
|
|
|
135
135
|
|
|
136
136
|
`intlayer` 패키지는 애플리케이션에서 콘텐츠 파일 내의 콘텐츠를 선언하는 데 사용됩니다.
|
|
137
137
|
|
|
138
|
-
###
|
|
138
|
+
### 프론트엔드 프레임워크
|
|
139
|
+
|
|
140
|
+
<Tabs group="framework">
|
|
141
|
+
<Tab label="React" value="react">
|
|
139
142
|
|
|
140
143
|
`react-intlayer` 패키지는 Intlayer 사전을 해석하여 React 애플리케이션에서 사용할 수 있도록 합니다.
|
|
141
144
|
|
|
142
|
-
|
|
145
|
+
</Tab>
|
|
146
|
+
<Tab label="Next.js" value="nextjs">
|
|
143
147
|
|
|
144
148
|
`next-intlayer` 패키지는 `react-intlayer` 위에 레이어로 작동하여 Intlayer 사전을 Next.js 애플리케이션에서 사용할 수 있도록 합니다. 번역 미들웨어, 라우팅, 또는 `next.config.js` 파일 구성과 같은 Next.js 환경에서 Intlayer가 작동하도록 필수 기능을 통합합니다.
|
|
145
149
|
|
|
146
|
-
|
|
150
|
+
</Tab>
|
|
151
|
+
<Tab label="Vue" value="vue">
|
|
147
152
|
|
|
148
153
|
`vue-intlayer` 패키지는 Intlayer 사전을 해석하여 Vue 애플리케이션에서 사용할 수 있도록 합니다.
|
|
149
154
|
|
|
150
|
-
|
|
155
|
+
</Tab>
|
|
156
|
+
<Tab label="Nuxt" value="nuxt">
|
|
151
157
|
|
|
152
158
|
`nuxt-intlayer` 패키지는 Nuxt 모듈로서 Intlayer 사전을 Nuxt 애플리케이션에서 사용할 수 있도록 합니다. 이 패키지는 번역 미들웨어, 라우팅, `nuxt.config.js` 파일 구성 등 Nuxt 환경에서 Intlayer가 작동하는 데 필요한 필수 기능을 통합합니다.
|
|
153
159
|
|
|
154
|
-
|
|
160
|
+
</Tab>
|
|
161
|
+
<Tab label="Svelte" value="svelte">
|
|
155
162
|
|
|
156
163
|
`svelte-intlayer` 패키지는 Intlayer 사전을 해석하여 Svelte 애플리케이션에서 사용할 수 있도록 합니다.
|
|
157
164
|
|
|
158
|
-
|
|
165
|
+
</Tab>
|
|
166
|
+
<Tab label="Solid" value="solid">
|
|
159
167
|
|
|
160
168
|
`solid-intlayer` 패키지는 Intlayer 사전을 해석하여 Solid.js 애플리케이션에서 사용할 수 있도록 합니다.
|
|
161
169
|
|
|
162
|
-
|
|
170
|
+
</Tab>
|
|
171
|
+
<Tab label="Preact" value="preact">
|
|
163
172
|
|
|
164
173
|
`preact-intlayer` 패키지는 Intlayer 사전을 해석하여 Preact 애플리케이션에서 사용할 수 있도록 합니다.
|
|
165
174
|
|
|
166
|
-
|
|
175
|
+
</Tab>
|
|
176
|
+
<Tab label="Angular" value="angular">
|
|
167
177
|
|
|
168
178
|
`angular-intlayer` 패키지는 Intlayer 사전을 해석하여 Angular 애플리케이션에서 사용할 수 있도록 합니다.
|
|
169
179
|
|
|
170
|
-
|
|
180
|
+
</Tab>
|
|
181
|
+
<Tab label="Astro" value="astro">
|
|
171
182
|
|
|
172
|
-
`
|
|
183
|
+
`astro-intlayer` 패키지는 Intlayer를 Astro 애플리케이션에 통합하기 위한 필수 도구를 제공합니다. 로케일 기반 라우팅 및 사전 관리(딕셔너리 관리를) 구성합니다.
|
|
184
|
+
|
|
185
|
+
</Tab>
|
|
186
|
+
<Tab label="Remix" value="remix">
|
|
187
|
+
|
|
188
|
+
`remix-intlayer` 패키지는 Intlayer를 Remix 애플리케이션에 통합하기 위한 필수 도구를 제공합니다. 로케일 기반 라우팅, 서버 측 컨텍스트 및 사전 관리를 구성합니다.
|
|
173
189
|
|
|
174
|
-
|
|
190
|
+
</Tab>
|
|
191
|
+
<Tab label="React Native" value="react-native">
|
|
175
192
|
|
|
176
193
|
`react-native-intlayer` 패키지는 Metro 번들러와 함께 작동하도록 Intlayer 플러그인을 통합하는 도구를 제공합니다.
|
|
177
194
|
|
|
178
|
-
|
|
195
|
+
</Tab>
|
|
196
|
+
<Tab label="Lit" value="lit">
|
|
197
|
+
|
|
198
|
+
`lit-intlayer` 패키지는 Lit 애플리케이션에서 Intlayer 사전을 해석하고 사용하기 위한 도구와 컴포넌트를 제공합니다.
|
|
199
|
+
|
|
200
|
+
</Tab>
|
|
201
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
202
|
+
|
|
203
|
+
`vanilla-intlayer` 패키지는 Intlayer를 바닐라 JavaScript, HTML 또는 PHP 애플리케이션에 통합하기 위한 도구를 제공합니다.
|
|
204
|
+
|
|
205
|
+
</Tab>
|
|
206
|
+
</Tabs>
|
|
207
|
+
|
|
208
|
+
### 백엔드 프레임워크
|
|
209
|
+
|
|
210
|
+
<Tabs group="backend">
|
|
211
|
+
<Tab label="Express" value="express">
|
|
212
|
+
|
|
213
|
+
`express-intlayer` 패키지는 Express.js 백엔드에서 Intlayer를 사용할 수 있도록 합니다.
|
|
214
|
+
|
|
215
|
+
</Tab>
|
|
216
|
+
<Tab label="Fastify" value="fastify">
|
|
217
|
+
|
|
218
|
+
`fastify-intlayer` 패키지는 Fastify 애플리케이션에서 국제화를 처리하기 위한 플러그인을 제공합니다. 사용자 로케일을 감지하고 요청(request) 객체에 데코레이터를 추가합니다.
|
|
179
219
|
|
|
180
|
-
|
|
220
|
+
</Tab>
|
|
221
|
+
<Tab label="Hono" value="hono">
|
|
222
|
+
|
|
223
|
+
`hono-intlayer` 패키지는 국제화를 처리하기 위한 Hono 애플리케이션용 미들웨어를 제공합니다. 사용자의 로케일을 감지하고 컨텍스트 객체를 채웁니다.
|
|
224
|
+
|
|
225
|
+
</Tab>
|
|
226
|
+
<Tab label="Elysia" value="elysia">
|
|
227
|
+
|
|
228
|
+
`elysia-intlayer` 패키지는 Elysia 애플리케이션에서 국제화를 처리하기 위한 플러그인을 제공합니다. 사용자 로케일을 감지하고 라우트 컨텍스트에 `intlayer` 객체를 주입합니다.
|
|
229
|
+
|
|
230
|
+
</Tab>
|
|
231
|
+
<Tab label="AdonisJS" value="adonis">
|
|
232
|
+
|
|
233
|
+
`adonis-intlayer` 패키지는 AdonisJS 애플리케이션이 국제화를 처리할 수 있도록 미들웨어를 제공합니다. 사용자의 로케일을 감지하고 번역 기능을 제공합니다.
|
|
234
|
+
|
|
235
|
+
</Tab>
|
|
236
|
+
</Tabs>
|
|
181
237
|
|
|
182
238
|
### vite-intlayer
|
|
183
239
|
|
|
@@ -187,6 +243,10 @@ Intlayer는 번역 프로세스에서 특정 역할을 하는 여러 패키지
|
|
|
187
243
|
|
|
188
244
|
`react-scripts-intlayer` 명령어와 플러그인을 포함하며, Create React App 기반 애플리케이션과 Intlayer를 통합하는 데 사용됩니다. 이 플러그인들은 [craco](https://craco.js.org/)를 기반으로 하며, [Webpack](https://webpack.js.org/) 번들러에 대한 추가 구성을 포함합니다.
|
|
189
245
|
|
|
246
|
+
### eslint-plugin-intlayer
|
|
247
|
+
|
|
248
|
+
`eslint-plugin-intlayer` 패키지는 번역되지 않은 문자열을 감지하고 사전 정의를 검증하며 i18n 모범 사례를 적용하기 위한 ESLint 및 oxlint 규칙을 제공합니다.
|
|
249
|
+
|
|
190
250
|
### intlayer-editor
|
|
191
251
|
|
|
192
252
|
`intlayer-editor` 패키지는 시각적 편집기를 사용할 수 있도록 하는 데 사용됩니다. 이 패키지는 선택 사항으로, 애플리케이션에 설치할 수 있으며 `react-intlayer` 패키지에서 사용됩니다.
|
|
@@ -220,6 +280,18 @@ Express를 기반으로 한 서버는 시각적 편집기 요청을 수신하고
|
|
|
220
280
|
|
|
221
281
|
`@intlayer/mcp` 패키지는 Intlayer 생태계에 맞춘 AI 기반 IDE 지원을 제공하는 MCP(Model Context Protocol) 서버를 제공합니다. 이 서버는 문서를 자동으로 로드하며 Intlayer CLI와 통합됩니다.
|
|
222
282
|
|
|
283
|
+
### @intlayer/lsp
|
|
284
|
+
|
|
285
|
+
`@intlayer/lsp` 패키지는 Intlayer에 맞춘 Language Server Protocol (LSP) 서버를 제공합니다. 정의로 이동, 모든 참조 찾기, 호버 미리보기, 사전 키 자동 완성 및 진단 경고와 같은 IDE 기능을 지원합니다.
|
|
286
|
+
|
|
287
|
+
### @intlayer/ai
|
|
288
|
+
|
|
289
|
+
`@intlayer/ai` 패키지는 Intlayer 애플리케이션을 위한 SDK 기능을 제공하여 자동 번역 및 AI 기반 콘텐츠 생성을 지원합니다.
|
|
290
|
+
|
|
291
|
+
### @intlayer/analytics
|
|
292
|
+
|
|
293
|
+
`@intlayer/analytics` 패키지는 콘텐츠 노출 지표, 페이지/로케일 및 노드 수준 분석을 수집하고 콘텐츠 A/B 테스트를 지원하는 도구를 제공합니다.
|
|
294
|
+
|
|
223
295
|
### @intlayer/dictionaries-entry
|
|
224
296
|
|
|
225
297
|
`@intlayer/dictionaries-entry` 패키지는 Intlayer 사전의 진입 경로를 반환합니다. 루트의 병합된 사전과 `/unmerged`, `/remote`, `/dynamic`, `/fetch` 하위 경로의 미병합, 원격, 동적 및 fetch 사전입니다. 브라우저에서 파일 시스템을 검색하는 것이 불가능하기 때문에, Webpack이나 Rollup과 같은 번들러를 사용하여 사전의 진입 경로를 가져오는 것은 불가능합니다. 이 패키지와 해당 하위 경로는 별칭(alias)으로 설계되어 Vite, Webpack, Turbopack 등 다양한 번들러에서 번들링 최적화를 가능하게 합니다.
|
|
@@ -278,6 +278,13 @@ pnpm intlayer-editor start -e development
|
|
|
278
278
|
|
|
279
279
|
비주얼 에디터는 편집 후 재빌드가 허용되는 개발 및 스테이징 환경용으로 설계되었습니다. 배포 없이 실시간 사이트의 콘텐츠를 편집하려면 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)와 원격 사전을 사용하는 것이 좋습니다.
|
|
280
280
|
|
|
281
|
+
</Question>
|
|
282
|
+
<Question title="비주얼 에디터의 비용은 얼마인가요? 필요하지 않은 경우 과도한가요?">
|
|
283
|
+
|
|
284
|
+
Intlayer 비주얼 에디터는 설정되지 않은 경우 애플리케이션에 **비용이 전혀 들지 않습니다**. 추가 로직은 명시적으로 활성화되고 필요할 때만 로드됩니다.
|
|
285
|
+
|
|
286
|
+
활성화하더라도 대부분의 로직은 [app.intlayer.org](https://app.intlayer.org)의 서버 에디터나 `intlayer-editor` 패키지를 통해 처리되므로 영향은 극히 미미합니다(활성화 시 동적으로 로드되는 +5 kB에 불과함). 비주얼 편집 없이 간단한 번역 솔루션만 필요한 경우 Intlayer는 앱에 어떠한 오버헤드도 추가하지 않습니다.
|
|
287
|
+
|
|
281
288
|
</Question>
|
|
282
289
|
<Question title="비주얼 에디터는 무료인가요?">
|
|
283
290
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro i18n - 앱을 번역하는 완전 가이드"
|
|
5
5
|
description: "i18next는 이제 그만. 2026년 다국어 (i18n) Astro 앱 구축 가이드. AI 에이전트로 번역하고 번들 크기, SEO, 성능을 최적화하세요."
|
|
6
6
|
keywords:
|
|
@@ -18,6 +18,9 @@ slugs:
|
|
|
18
18
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
19
19
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
20
20
|
history:
|
|
21
|
+
- version: 9.5.5
|
|
22
|
+
date: 2026-09-19
|
|
23
|
+
changes: "astro-intlayer에 useIntlayer / useLocale 훅 및 Astro.locals 미들웨어 추가"
|
|
21
24
|
- version: 8.9.0
|
|
22
25
|
date: 2026-05-04
|
|
23
26
|
changes: "Solid useIntlayer API 사용법을 직접 속성 액세스로 업데이트"
|
|
@@ -152,7 +155,7 @@ bun add intlayer astro-intlayer
|
|
|
152
155
|
설정 관리, 번역, [콘텐츠 선언](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/content_file.md), 트랜스파일 및 [CLI 명령어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/index.md)를 위한 국제화 도구를 제공하는 핵심 패키지입니다.
|
|
153
156
|
|
|
154
157
|
- **astro-intlayer**
|
|
155
|
-
Intlayer를 [Vite 번들러](https://vite.dev/guide/why.html#why-bundle-for-production)와 통합하기 위한 Astro 통합
|
|
158
|
+
Intlayer를 [Vite 번들러](https://vite.dev/guide/why.html#why-bundle-for-production)와 통합하기 위한 Astro 통합 플러그인, 모든 요청의 로케일을 `Astro.locals.intlayer`로 확인하는 미들웨어, `useIntlayer` / `useDictionary` / `useLocale` 훅이 포함되어 있습니다. 동일한 import 경로가 `.astro` 프론트매터에서는 서버 구현체로, `<script>` 블록에서는 클라이언트 구현체(`vanilla-intlayer` 기반)로 확인됩니다.
|
|
156
159
|
|
|
157
160
|
</Step>
|
|
158
161
|
<Step number={2} title="프로젝트 설정">
|
|
@@ -229,26 +232,28 @@ export default appContent;
|
|
|
229
232
|
</Step>
|
|
230
233
|
<Step number={5} title="Astro에서 콘텐츠 사용">
|
|
231
234
|
|
|
232
|
-
`intlayer`에서 내보낸
|
|
235
|
+
`astro-intlayer`에서 내보낸 훅을 사용하여 `.astro` 파일에서 사전을 사용하세요. 이 훅들은 `react-intlayer`와 동일한 시그니처를 공유합니다. `useIntlayer("key")`는 사전의 내용을 반환하고 `useLocale()`은 인수를 전달할 필요 없이 현재 로케일을 반환합니다.
|
|
236
|
+
|
|
237
|
+
로케일은 통합 플러그인이 자체 `src/middleware.ts`보다 먼저 등록하는 `astro-intlayer` 미들웨어에서 제공됩니다. URL 접두사, 클라이언트가 저장한 로케일(쿠키 또는 헤더), `Accept-Language` 순으로 모든 요청에 대해 로케일을 확인하고 이를 `Astro.locals.intlayer`에 저장합니다. 사전 렌더링된 페이지는 방문자마다 한 번만 렌더링되므로 URL만 사용합니다.
|
|
238
|
+
|
|
239
|
+
또한 각 페이지에 hreflang 및 정식(canonical) 링크와 같은 SEO 메타데이터를 추가하고 사용자가 언어를 변경할 수 있도록 언어 전환기를 포함해야 합니다.
|
|
233
240
|
|
|
234
241
|
```astro fileName="src/pages/index.astro"
|
|
235
242
|
---
|
|
243
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
236
244
|
import {
|
|
237
|
-
getIntlayer,
|
|
238
|
-
getLocaleFromPath,
|
|
239
245
|
getLocalizedUrl,
|
|
240
246
|
defaultLocale,
|
|
241
247
|
localeMap,
|
|
242
248
|
getHTMLTextDir,
|
|
243
|
-
type LocalesValues,
|
|
244
249
|
} from "intlayer";
|
|
245
250
|
import LocaleSwitcher from "../components/LocaleSwitcher.astro";
|
|
246
251
|
|
|
247
|
-
//
|
|
248
|
-
const locale =
|
|
252
|
+
// 미들웨어에 의해 확인된 로케일 (예: /ko/about -> 'ko')
|
|
253
|
+
const { locale } = useLocale();
|
|
249
254
|
|
|
250
|
-
//
|
|
251
|
-
const { title } =
|
|
255
|
+
// 해당 로케일의 'app' 사전 내용
|
|
256
|
+
const { title } = useIntlayer("app");
|
|
252
257
|
---
|
|
253
258
|
|
|
254
259
|
<!doctype html>
|
|
@@ -300,6 +305,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
300
305
|
</html>
|
|
301
306
|
```
|
|
302
307
|
|
|
308
|
+
> `Astro.locals.intlayer`는 자체 미들웨어 및 엔드포인트에 `locale`, `defaultLocale`, `availableLocales`도 노출합니다. 단일 호출에 대해 요청 로케일을 재정의하려면 로케일이나 선택기를 두 번째 인수로 전달하세요(`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`).
|
|
309
|
+
|
|
303
310
|
</Step>
|
|
304
311
|
<Step number={6} title="로컬라이즈된 라우팅">
|
|
305
312
|
|
|
@@ -325,44 +332,51 @@ Astro 통합은 개발 중에 언어 인식 라우팅 및 환경 정의를 돕
|
|
|
325
332
|
|
|
326
333
|
```astro fileName="src/components/LocaleSwitcher.astro"
|
|
327
334
|
---
|
|
328
|
-
import {
|
|
329
|
-
|
|
330
|
-
getLocaleName,
|
|
331
|
-
getLocalizedUrl,
|
|
332
|
-
getLocaleFromPath,
|
|
333
|
-
getPathWithoutLocale,
|
|
334
|
-
type LocalesValues,
|
|
335
|
-
} from "intlayer";
|
|
335
|
+
import { useLocale } from "astro-intlayer";
|
|
336
|
+
import { getLocaleName, getLocalizedUrl, getPathWithoutLocale } from "intlayer";
|
|
336
337
|
|
|
337
|
-
const locale =
|
|
338
|
+
const { locale, availableLocales } = useLocale();
|
|
338
339
|
const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
|
|
339
340
|
---
|
|
340
341
|
|
|
341
|
-
<nav>
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
342
|
+
<nav aria-label="Languages">
|
|
343
|
+
<ul>
|
|
344
|
+
{
|
|
345
|
+
availableLocales.map((localeItem) => (
|
|
346
|
+
<li key={localeItem} class="p-1">
|
|
347
|
+
<a
|
|
348
|
+
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
349
|
+
data-locale={localeItem}
|
|
350
|
+
aria-current={localeItem === locale ? "page" : undefined}
|
|
351
|
+
>
|
|
352
|
+
{getLocaleName(localeItem)}
|
|
353
|
+
</a>
|
|
354
|
+
</li>
|
|
355
|
+
))
|
|
356
|
+
}
|
|
357
|
+
</ul>
|
|
353
358
|
</nav>
|
|
354
359
|
|
|
355
360
|
<script>
|
|
356
|
-
|
|
361
|
+
// 브라우저에서는 동일한 import가 클라이언트 구현체로 확인됩니다
|
|
362
|
+
import { useLocale } from "astro-intlayer";
|
|
363
|
+
import { getLocalizedUrl, type LocalesValues } from "intlayer";
|
|
364
|
+
|
|
365
|
+
// 로케일 쿠키에 선택 사항을 저장한 다음 현지화된 URL로 이동합니다
|
|
366
|
+
const { setLocale } = useLocale({
|
|
367
|
+
onLocaleChange: (newLocale) => {
|
|
368
|
+
window.location.href = getLocalizedUrl(window.location.pathname, newLocale);
|
|
369
|
+
},
|
|
370
|
+
});
|
|
357
371
|
|
|
358
372
|
const localeLinks = document.querySelectorAll("[data-locale]");
|
|
359
373
|
|
|
360
374
|
localeLinks.forEach((link) => {
|
|
361
|
-
link.addEventListener("click", (
|
|
375
|
+
link.addEventListener("click", (event) => {
|
|
362
376
|
const locale = link.getAttribute("data-locale") as LocalesValues;
|
|
363
377
|
|
|
364
|
-
|
|
365
|
-
|
|
378
|
+
event.preventDefault();
|
|
379
|
+
setLocale(locale);
|
|
366
380
|
});
|
|
367
381
|
});
|
|
368
382
|
</script>
|
|
@@ -372,6 +386,13 @@ const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
|
|
|
372
386
|
display: flex;
|
|
373
387
|
gap: 1rem;
|
|
374
388
|
}
|
|
389
|
+
ul {
|
|
390
|
+
display: flex;
|
|
391
|
+
list-style: none;
|
|
392
|
+
padding: 0;
|
|
393
|
+
margin: 0;
|
|
394
|
+
gap: 0.5rem;
|
|
395
|
+
}
|
|
375
396
|
a[aria-current="page"] {
|
|
376
397
|
font-weight: bold;
|
|
377
398
|
text-decoration: underline;
|
|
@@ -379,8 +400,11 @@ const pathWithoutLocale = getPathWithoutLocale(Astro.url.pathname);
|
|
|
379
400
|
</style>
|
|
380
401
|
```
|
|
381
402
|
|
|
382
|
-
>
|
|
383
|
-
> 클라이언트 측
|
|
403
|
+
> **영속성에 대한 참고 사항:**
|
|
404
|
+
> 클라이언트 측 `useLocale`의 `setLocale`은 사용자의 언어 설정을 쿠키에 저장합니다. 이를 통해 Intlayer는 선택 사항을 기억하고 향후 방문 시 사용자를 선호하는 언어로 자동 리디렉션할 수 있습니다. 온디맨드 렌더링 페이지(`output: 'server'` 또는 `prerender = false`인 어댑터)는 HTML이 전송되기 전에 Intlayer 미들웨어에 의해 리디렉션되며, 정적 파일로 제공되는 사전 렌더링 페이지는 통합 플러그인이 모든 페이지에 삽입하는 작은 스크립트에 의해 리디렉션됩니다. 둘 다 끄려면 `routing.enableProxy`를 `false`로 설정하세요. `astro dev`에서는 `routing.enableProxy`가 `true`로 설정되지 않는 한 쿠키가 리디렉션 소스로 무시되므로 오래된 쿠키가 작업 중인 페이지를 가로채지 않습니다.
|
|
405
|
+
>
|
|
406
|
+
> **서버 / 클라이언트 상호 호환성:**
|
|
407
|
+
> `astro-intlayer`는 프론트매터에서는 서버 훅(`Astro.locals` 읽기)으로 확인되고, `<script>` 블록과 아일랜드에서는 `vanilla-intlayer`의 클라이언트 훅으로 확인되며 동일한 이름과 데이터 구조를 가집니다. `setLocale`과 `onChange`는 클라이언트에서만 동작하므로, 클라이언트 스토어를 초기화하려면 클라이언트에서 `installIntlayer()`를 한 번 호출하세요. `astro-intlayer/client`는 클라이언트 엔트리를 명시적으로 노출합니다.
|
|
384
408
|
|
|
385
409
|
</Step>
|
|
386
410
|
<Step number={8} title="Sitemap 및 Robots.txt">
|
|
@@ -404,10 +428,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
404
428
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
405
429
|
];
|
|
406
430
|
|
|
407
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
408
|
-
|
|
409
431
|
export const GET: APIRoute = async ({ site }) => {
|
|
410
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
432
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
433
|
+
siteUrl: "https://example.com",
|
|
434
|
+
});
|
|
411
435
|
|
|
412
436
|
return new Response(xmlOutput, {
|
|
413
437
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -454,7 +478,6 @@ export const GET: APIRoute = ({ site }) => {
|
|
|
454
478
|
- Intlayer + Solid: [Intlayer with Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_astro_solid.md)
|
|
455
479
|
- Intlayer + Preact: [Intlayer with Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_astro_preact.md)
|
|
456
480
|
- Intlayer + Lit: [Intlayer with Lit](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_astro_lit.md)
|
|
457
|
-
- Intlayer + Vanilla JS: [Intlayer with Vanilla JS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_with_astro_vanilla.md)
|
|
458
481
|
</Step>
|
|
459
482
|
|
|
460
483
|
<Step number={15} title="컴포넌트에서 콘텐츠 추출" isOptional={true}>
|
|
@@ -524,21 +547,7 @@ bun x intlayer extract
|
|
|
524
547
|
</Tab>
|
|
525
548
|
<Tab value='Babel compiler'>
|
|
526
549
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함시키세요:
|
|
530
|
-
|
|
531
|
-
```ts fileName="vite.config.ts"
|
|
532
|
-
import { defineConfig } from "vite";
|
|
533
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
534
|
-
|
|
535
|
-
export default defineConfig({
|
|
536
|
-
plugins: [
|
|
537
|
-
intlayer(),
|
|
538
|
-
intlayerCompiler(), // 컴파일러 플러그인 추가
|
|
539
|
-
],
|
|
540
|
-
});
|
|
541
|
-
```
|
|
550
|
+
애플리케이션을 빌드하여 컴포넌트를 변환하고 콘텐츠를 추출합니다.
|
|
542
551
|
|
|
543
552
|
```bash packageManager="npm"
|
|
544
553
|
npm run build # 또는 npm run dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-24
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro + Lit i18n - 앱을 번역하는 완전 가이드"
|
|
5
5
|
description: "i18next는 이제 그만. 2026년 다국어 (i18n) Astro + Lit 앱 구축 가이드. AI 에이전트로 번역하고 번들 크기, SEO, 성능을 최적화하세요."
|
|
6
6
|
keywords:
|
|
@@ -20,6 +20,9 @@ slugs:
|
|
|
20
20
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
21
21
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
22
22
|
history:
|
|
23
|
+
- version: 9.5.5
|
|
24
|
+
date: 2026-09-19
|
|
25
|
+
changes: "Astro 페이지에서 astro-intlayer의 useIntlayer / useLocale 훅 사용"
|
|
23
26
|
- version: 8.9.0
|
|
24
27
|
date: 2026-05-04
|
|
25
28
|
changes: "Solid useIntlayer API 사용법을 직접 속성 액세스로 업데이트"
|
|
@@ -163,7 +166,7 @@ bun x intlayer init
|
|
|
163
166
|
설정 관리, 번역, [콘텐츠 선언](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/content_file.md), 트랜스파일 및 [CLI 명령어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/index.md)를 위한 국제화 도구를 제공하는 핵심 패키지입니다.
|
|
164
167
|
|
|
165
168
|
- **astro-intlayer**
|
|
166
|
-
Intlayer를 [Vite 번들러](https://vite.dev/guide/why.html#why-bundle-for-production)와 통합하기 위한 Astro 통합
|
|
169
|
+
Intlayer를 [Vite 번들러](https://vite.dev/guide/why.html#why-bundle-for-production)와 통합하기 위한 Astro 통합 플러그인, 모든 요청의 로케일을 `Astro.locals.intlayer`로 확인하는 미들웨어, `useIntlayer` / `useDictionary` / `useLocale` 훅이 포함되어 있습니다. 동일한 import 경로가 `.astro` 프론트매터에서는 서버 구현체로, `<script>` 블록에서는 클라이언트 구현체(`vanilla-intlayer` 기반)로 확인됩니다.
|
|
167
170
|
|
|
168
171
|
- **lit**
|
|
169
172
|
빠르고 가벼운 웹 컴포넌트를 빌드하기 위한 핵심 Lit 패키지입니다.
|
|
@@ -257,19 +260,21 @@ export default litDemoContent;
|
|
|
257
260
|
</Step>
|
|
258
261
|
<Step number={5} title="Astro에서 콘텐츠 사용">
|
|
259
262
|
|
|
260
|
-
`intlayer`에서 내보낸
|
|
263
|
+
`astro-intlayer`에서 내보낸 훅을 사용하여 `.astro` 파일에서 사전을 사용하세요. 이 훅들은 `react-intlayer`와 동일한 시그니처를 공유합니다. `useIntlayer("key")`는 사전의 내용을 반환하고 `useLocale()`은 인수를 전달할 필요 없이 현재 로케일을 반환합니다.
|
|
264
|
+
|
|
265
|
+
로케일은 통합 플러그인이 자체 `src/middleware.ts`보다 먼저 등록하는 `astro-intlayer` 미들웨어에서 제공됩니다. URL 접두사, 클라이언트가 저장한 로케일(쿠키 또는 헤더), `Accept-Language` 순으로 모든 요청에 대해 로케일을 확인하고 이를 `Astro.locals.intlayer`에 저장합니다. 사전 렌더링된 페이지는 방문자마다 한 번만 렌더링되므로 URL만 사용합니다.
|
|
266
|
+
|
|
267
|
+
Lit 커스텀 엘리먼트는 클라이언트 사이드 `<script>`를 통해 임포트되어 body에 배치됩니다.
|
|
261
268
|
|
|
262
269
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
263
270
|
---
|
|
271
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
264
272
|
import {
|
|
265
|
-
getIntlayer,
|
|
266
|
-
getLocaleFromPath,
|
|
267
273
|
getLocalizedUrl,
|
|
268
|
-
getHTMLTextDir,
|
|
269
274
|
getPrefix,
|
|
270
275
|
localeMap,
|
|
271
276
|
defaultLocale,
|
|
272
|
-
|
|
277
|
+
getHTMLTextDir,
|
|
273
278
|
} from "intlayer";
|
|
274
279
|
|
|
275
280
|
export const getStaticPaths = () => {
|
|
@@ -278,8 +283,11 @@ export const getStaticPaths = () => {
|
|
|
278
283
|
}));
|
|
279
284
|
};
|
|
280
285
|
|
|
281
|
-
|
|
282
|
-
const {
|
|
286
|
+
// 미들웨어에 의해 확인된 로케일 (예: /ko/about -> 'ko')
|
|
287
|
+
const { locale } = useLocale();
|
|
288
|
+
|
|
289
|
+
// 해당 로케일의 'lit-demo' 사전 내용
|
|
290
|
+
const { greeting } = useIntlayer("lit-demo");
|
|
283
291
|
---
|
|
284
292
|
|
|
285
293
|
<!doctype html>
|
|
@@ -338,6 +346,8 @@ const { greeting } = getIntlayer("lit-demo", locale);
|
|
|
338
346
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
339
347
|
> ```
|
|
340
348
|
|
|
349
|
+
> `Astro.locals.intlayer`는 자체 미들웨어 및 엔드포인트에 `locale`, `defaultLocale`, `availableLocales`도 노출합니다. 단일 호출에 대해 요청 로케일을 재정의하려면 로케일이나 선택기를 두 번째 인수로 전달하세요(`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`).
|
|
350
|
+
|
|
341
351
|
> **라우팅 설정에 관한 참고 사항:**
|
|
342
352
|
> 사용하는 디렉토리 구조는 `intlayer.config.ts`의 `middleware.routing` 설정에 따라 달라집니다:
|
|
343
353
|
>
|
|
@@ -494,10 +504,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
494
504
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
495
505
|
];
|
|
496
506
|
|
|
497
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
498
|
-
|
|
499
507
|
export const GET: APIRoute = async ({ site }) => {
|
|
500
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
508
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
509
|
+
siteUrl: "https://example.com",
|
|
510
|
+
});
|
|
501
511
|
|
|
502
512
|
return new Response(xmlOutput, {
|
|
503
513
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -601,21 +611,7 @@ bun x intlayer extract
|
|
|
601
611
|
</Tab>
|
|
602
612
|
<Tab value='Babel compiler'>
|
|
603
613
|
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함합니다:
|
|
607
|
-
|
|
608
|
-
```ts fileName="vite.config.ts"
|
|
609
|
-
import { defineConfig } from "vite";
|
|
610
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
611
|
-
|
|
612
|
-
export default defineConfig({
|
|
613
|
-
plugins: [
|
|
614
|
-
intlayer(),
|
|
615
|
-
intlayerCompiler(), // 컴파일러 플러그인 추가
|
|
616
|
-
],
|
|
617
|
-
});
|
|
618
|
-
```
|
|
614
|
+
애플리케이션을 빌드하여 컴포넌트를 변환하고 콘텐츠를 추출합니다.
|
|
619
615
|
|
|
620
616
|
```bash packageManager="npm"
|
|
621
617
|
npm run build # 또는 npm run dev
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-04-24
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-09-20
|
|
4
4
|
title: "Astro + Preact i18n - 앱을 번역하는 완전 가이드"
|
|
5
5
|
description: "i18next는 이제 그만. 2026년 다국어 (i18n) Astro + Preact 앱 구축 가이드. AI 에이전트로 번역하고 번들 크기, SEO, 성능을 최적화하세요."
|
|
6
6
|
keywords:
|
|
@@ -19,6 +19,9 @@ slugs:
|
|
|
19
19
|
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
20
20
|
applicationShowcase: https://intlayer-astro-template.vercel.app
|
|
21
21
|
history:
|
|
22
|
+
- version: 9.5.5
|
|
23
|
+
date: 2026-09-19
|
|
24
|
+
changes: "Astro 페이지에서 astro-intlayer의 useIntlayer / useLocale 훅 사용"
|
|
22
25
|
- version: 8.9.0
|
|
23
26
|
date: 2026-05-04
|
|
24
27
|
changes: "Solid useIntlayer API 사용법을 직접 속성 액세스로 업데이트"
|
|
@@ -162,7 +165,7 @@ bun x intlayer init
|
|
|
162
165
|
설정 관리, 번역, [콘텐츠 선언](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/content_file.md), 트랜스파일 및 [CLI 명령어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/cli/index.md)를 위한 국제화 도구를 제공하는 핵심 패키지입니다.
|
|
163
166
|
|
|
164
167
|
- **astro-intlayer**
|
|
165
|
-
Intlayer를 [Vite 번들러](https://vite.dev/guide/why.html#why-bundle-for-production)와 통합하기 위한 Astro 통합
|
|
168
|
+
Intlayer를 [Vite 번들러](https://vite.dev/guide/why.html#why-bundle-for-production)와 통합하기 위한 Astro 통합 플러그인, 모든 요청의 로케일을 `Astro.locals.intlayer`로 확인하는 미들웨어, `useIntlayer` / `useDictionary` / `useLocale` 훅이 포함되어 있습니다. 동일한 import 경로가 `.astro` 프론트매터에서는 서버 구현체로, `<script>` 블록에서는 클라이언트 구현체(`vanilla-intlayer` 기반)로 확인됩니다.
|
|
166
169
|
|
|
167
170
|
- **preact**
|
|
168
171
|
핵심 Preact 패키지 - React의 빠르고 가벼운 대안입니다.
|
|
@@ -253,19 +256,21 @@ export default appContent;
|
|
|
253
256
|
</Step>
|
|
254
257
|
<Step number={5} title="Astro에서 콘텐츠 사용">
|
|
255
258
|
|
|
256
|
-
`intlayer`에서 내보낸
|
|
259
|
+
`astro-intlayer`에서 내보낸 훅을 사용하여 `.astro` 파일에서 사전을 사용하세요. 이 훅들은 `react-intlayer`와 동일한 시그니처를 공유합니다. `useIntlayer("key")`는 사전의 내용을 반환하고 `useLocale()`은 인수를 전달할 필요 없이 현재 로케일을 반환합니다.
|
|
260
|
+
|
|
261
|
+
로케일은 통합 플러그인이 자체 `src/middleware.ts`보다 먼저 등록하는 `astro-intlayer` 미들웨어에서 제공됩니다. URL 접두사, 클라이언트가 저장한 로케일(쿠키 또는 헤더), `Accept-Language` 순으로 모든 요청에 대해 로케일을 확인하고 이를 `Astro.locals.intlayer`에 저장합니다. 사전 렌더링된 페이지는 방문자마다 한 번만 렌더링되므로 URL만 사용합니다.
|
|
262
|
+
|
|
263
|
+
또한 각 페이지에 hreflang 및 canonical 링크와 같은 SEO 메타데이터를 추가하고, 클라이언트 사이드의 인터랙티브 콘텐츠를 위해 Preact 아일랜드를 포함해야 합니다.
|
|
257
264
|
|
|
258
265
|
```astro fileName="src/pages/[...locale]/index.astro"
|
|
259
266
|
---
|
|
267
|
+
import { useIntlayer, useLocale } from "astro-intlayer";
|
|
260
268
|
import {
|
|
261
|
-
getIntlayer,
|
|
262
|
-
getLocaleFromPath,
|
|
263
269
|
getLocalizedUrl,
|
|
264
|
-
getHTMLTextDir,
|
|
265
270
|
getPrefix,
|
|
266
271
|
localeMap,
|
|
267
272
|
defaultLocale,
|
|
268
|
-
|
|
273
|
+
getHTMLTextDir,
|
|
269
274
|
} from "intlayer";
|
|
270
275
|
import { PreactIsland } from "../../components/preact/PreactIsland";
|
|
271
276
|
|
|
@@ -275,8 +280,11 @@ export const getStaticPaths = () => {
|
|
|
275
280
|
}));
|
|
276
281
|
};
|
|
277
282
|
|
|
278
|
-
|
|
279
|
-
const {
|
|
283
|
+
// 미들웨어에 의해 확인된 로케일 (예: /ko/about -> 'ko')
|
|
284
|
+
const { locale } = useLocale();
|
|
285
|
+
|
|
286
|
+
// 해당 로케일의 'app' 사전 내용
|
|
287
|
+
const { title } = useIntlayer("app");
|
|
280
288
|
---
|
|
281
289
|
|
|
282
290
|
<!doctype html>
|
|
@@ -332,6 +340,8 @@ const { title } = getIntlayer("app", locale);
|
|
|
332
340
|
> <img src={String(content.image.src)} alt={String(content.image)} />
|
|
333
341
|
> ```
|
|
334
342
|
|
|
343
|
+
> `Astro.locals.intlayer`는 자체 미들웨어 및 엔드포인트에 `locale`, `defaultLocale`, `availableLocales`도 노출합니다. 단일 호출에 대해 요청 로케일을 재정의하려면 로케일이나 선택기를 두 번째 인수로 전달하세요(`useIntlayer("app", "fr")`, `useIntlayer("faq", { item: 2 })`).
|
|
344
|
+
|
|
335
345
|
> **라우팅 설정에 관한 참고 사항:**
|
|
336
346
|
> 사용하는 디렉토리 구조는 `intlayer.config.ts`의 `middleware.routing` 설정에 따라 달라집니다:
|
|
337
347
|
>
|
|
@@ -448,10 +458,10 @@ const pathList: SitemapUrlEntry[] = [
|
|
|
448
458
|
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
449
459
|
];
|
|
450
460
|
|
|
451
|
-
const SITE_URL = import.meta.env.SITE ?? "http://localhost:4321";
|
|
452
|
-
|
|
453
461
|
export const GET: APIRoute = async ({ site }) => {
|
|
454
|
-
const xmlOutput = generateSitemap(pathList, {
|
|
462
|
+
const xmlOutput = generateSitemap(pathList, {
|
|
463
|
+
siteUrl: "https://example.com",
|
|
464
|
+
});
|
|
455
465
|
|
|
456
466
|
return new Response(xmlOutput, {
|
|
457
467
|
headers: { "Content-Type": "application/xml" },
|
|
@@ -555,21 +565,7 @@ bun x intlayer extract
|
|
|
555
565
|
</Tab>
|
|
556
566
|
<Tab value='Babel compiler'>
|
|
557
567
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함하세요:
|
|
561
|
-
|
|
562
|
-
```ts fileName="vite.config.ts"
|
|
563
|
-
import { defineConfig } from "vite";
|
|
564
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
565
|
-
|
|
566
|
-
export default defineConfig({
|
|
567
|
-
plugins: [
|
|
568
|
-
intlayer(),
|
|
569
|
-
intlayerCompiler(), // 컴파일러 플러그인 추가
|
|
570
|
-
],
|
|
571
|
-
});
|
|
572
|
-
```
|
|
568
|
+
애플리케이션을 빌드하여 컴포넌트를 변환하고 콘텐츠를 추출합니다.
|
|
573
569
|
|
|
574
570
|
```bash packageManager="npm"
|
|
575
571
|
npm run build # 또는 npm run dev
|
|
@@ -736,6 +732,13 @@ Astro 페이지가 이를 prop으로 전달하고 아일랜드의 Intlayer 프
|
|
|
736
732
|
|
|
737
733
|
자체 인프라에서 실행되어 실행 중인 앱에서 직접 텍스트를 수정할 수 있는 [비주얼 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md) 또는 배포 없이 변경할 수 있도록 콘텐츠를 외부화하는 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_CMS.md)를 통해 가능합니다.
|
|
738
734
|
|
|
735
|
+
</Question>
|
|
736
|
+
<Question title="비주얼 에디터의 비용은 얼마인가요? 필요하지 않은 경우 과도한가요?">
|
|
737
|
+
|
|
738
|
+
Intlayer [비주얼 에디터](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)는 설정되지 않은 경우 애플리케이션에 **비용이 전혀 들지 않습니다**. 추가 로직은 명시적으로 활성화되고 필요할 때만 로드됩니다.
|
|
739
|
+
|
|
740
|
+
활성화하더라도 대부분의 로직은 [app.intlayer.org](https://app.intlayer.org)의 서버 에디터나 `intlayer-editor` 패키지를 통해 처리되므로 영향은 극히 미미합니다(활성화 시 동적으로 로드되는 +5 kB에 불과함). 비주얼 편집 없이 간단한 번역 솔루션만 필요한 경우 Intlayer는 앱에 어떠한 오버헤드도 추가하지 않습니다.
|
|
741
|
+
|
|
739
742
|
</Question>
|
|
740
743
|
<Question title="Intlayer는 무료이며 오픈 소스인가요?">
|
|
741
744
|
|