@intlayer/docs 8.7.7 → 8.7.8
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/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -16,6 +16,7 @@ slugs:
|
|
|
16
16
|
- environment
|
|
17
17
|
- vite-and-react
|
|
18
18
|
applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
|
|
19
|
+
applicationShowcase: https://intlayer-vite-react-template.vercel.app
|
|
19
20
|
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
|
|
20
21
|
history:
|
|
21
22
|
- version: 7.5.9
|
|
@@ -56,13 +57,24 @@ Intlayer를 사용하면 다음을 할 수 있습니다:
|
|
|
56
57
|
<Tab label="코드" value="code">
|
|
57
58
|
|
|
58
59
|
<iframe
|
|
59
|
-
src="https://
|
|
60
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-vite-react-template?file=intlayer.config.ts"
|
|
60
61
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
61
62
|
title="Demo CodeSandbox - Intlayer를 사용하여 애플리케이션을 국제화하는 방법"
|
|
62
63
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
63
64
|
loading="lazy"
|
|
64
65
|
/>
|
|
65
66
|
|
|
67
|
+
</Tab>
|
|
68
|
+
<Tab label="데모" value="demo">
|
|
69
|
+
|
|
70
|
+
<iframe
|
|
71
|
+
src="https://intlayer-vite-react-template.vercel.app"
|
|
72
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
73
|
+
title="데모 — intlayer-vite-react-template"
|
|
74
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
75
|
+
loading="lazy"
|
|
76
|
+
/>
|
|
77
|
+
|
|
66
78
|
</Tab>
|
|
67
79
|
</Tabs>
|
|
68
80
|
|
|
@@ -110,7 +122,7 @@ bun x intlayer init
|
|
|
110
122
|
|
|
111
123
|
애플리케이션의 언어를 구성하기 위해 설정 파일을 만드세요:
|
|
112
124
|
|
|
113
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
125
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
114
126
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
115
127
|
|
|
116
128
|
const config: IntlayerConfig = {
|
|
@@ -128,51 +140,13 @@ const config: IntlayerConfig = {
|
|
|
128
140
|
export default config;
|
|
129
141
|
```
|
|
130
142
|
|
|
131
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
132
|
-
import { Locales } from "intlayer";
|
|
133
|
-
|
|
134
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
135
|
-
const config = {
|
|
136
|
-
internationalization: {
|
|
137
|
-
locales: [
|
|
138
|
-
Locales.ENGLISH,
|
|
139
|
-
Locales.FRENCH,
|
|
140
|
-
Locales.SPANISH,
|
|
141
|
-
// 다른 로케일들
|
|
142
|
-
],
|
|
143
|
-
defaultLocale: Locales.ENGLISH,
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export default config;
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
151
|
-
const { Locales } = require("intlayer");
|
|
152
|
-
|
|
153
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
154
|
-
const config = {
|
|
155
|
-
internationalization: {
|
|
156
|
-
locales: [
|
|
157
|
-
Locales.ENGLISH,
|
|
158
|
-
Locales.FRENCH,
|
|
159
|
-
Locales.SPANISH,
|
|
160
|
-
// 다른 로케일들
|
|
161
|
-
],
|
|
162
|
-
defaultLocale: Locales.ENGLISH,
|
|
163
|
-
},
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
module.exports = config;
|
|
167
|
-
```
|
|
168
|
-
|
|
169
143
|
> 이 구성 파일을 통해 지역화된 URL, 미들웨어 리디렉션, 쿠키 이름, 콘텐츠 선언의 위치 및 확장자 설정, 콘솔에서 Intlayer 로그 비활성화 등 다양한 설정을 할 수 있습니다. 사용 가능한 모든 매개변수 목록은 [구성 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)를 참조하세요.
|
|
170
144
|
|
|
171
145
|
### 3단계: Vite 구성에 Intlayer 통합하기
|
|
172
146
|
|
|
173
147
|
intlayer 플러그인을 구성에 추가하세요.
|
|
174
148
|
|
|
175
|
-
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
149
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
176
150
|
import { defineConfig } from "vite";
|
|
177
151
|
import react from "@vitejs/plugin-react-swc";
|
|
178
152
|
import { intlayer } from "vite-intlayer";
|
|
@@ -183,35 +157,13 @@ export default defineConfig({
|
|
|
183
157
|
});
|
|
184
158
|
```
|
|
185
159
|
|
|
186
|
-
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
187
|
-
import { defineConfig } from "vite";
|
|
188
|
-
import react from "@vitejs/plugin-react-swc";
|
|
189
|
-
import { intlayer } from "vite-intlayer";
|
|
190
|
-
|
|
191
|
-
// https://vitejs.dev/config/
|
|
192
|
-
export default defineConfig({
|
|
193
|
-
plugins: [react(), intlayer()],
|
|
194
|
-
});
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
```javascript fileName="vite.config.cjs" codeFormat="commonjs"
|
|
198
|
-
const { defineConfig } = require("vite");
|
|
199
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
200
|
-
const { intlayer } = require("vite-intlayer");
|
|
201
|
-
|
|
202
|
-
// https://vitejs.dev/config/
|
|
203
|
-
module.exports = defineConfig({
|
|
204
|
-
plugins: [react(), intlayer()],
|
|
205
|
-
});
|
|
206
|
-
```
|
|
207
|
-
|
|
208
160
|
> `intlayer()` Vite 플러그인은 Intlayer를 Vite와 통합하는 데 사용됩니다. 이 플러그인은 콘텐츠 선언 파일의 빌드를 보장하고 개발 모드에서 이를 모니터링합니다. 또한 Vite 애플리케이션 내에서 Intlayer 환경 변수를 정의합니다. 추가로, 성능 최적화를 위한 별칭(alias)도 제공합니다.
|
|
209
161
|
|
|
210
162
|
### 4단계: 콘텐츠 선언하기
|
|
211
163
|
|
|
212
164
|
번역을 저장하기 위해 콘텐츠 선언을 생성하고 관리하세요:
|
|
213
165
|
|
|
214
|
-
```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
|
|
166
|
+
```tsx fileName="src/app.content.tsx" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
215
167
|
import { t, type Dictionary } from "intlayer";
|
|
216
168
|
import type { ReactNode } from "react";
|
|
217
169
|
|
|
@@ -266,126 +218,6 @@ const appContent = {
|
|
|
266
218
|
export default appContent;
|
|
267
219
|
```
|
|
268
220
|
|
|
269
|
-
```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
|
|
270
|
-
import { t } from "intlayer";
|
|
271
|
-
|
|
272
|
-
/** @type {import('intlayer').Dictionary} */
|
|
273
|
-
const appContent = {
|
|
274
|
-
key: "app",
|
|
275
|
-
content: {
|
|
276
|
-
viteLogo: t({
|
|
277
|
-
en: "Vite logo",
|
|
278
|
-
fr: "Logo Vite",
|
|
279
|
-
es: "Logo Vite",
|
|
280
|
-
}),
|
|
281
|
-
reactLogo: t({
|
|
282
|
-
en: "React logo",
|
|
283
|
-
fr: "Logo React",
|
|
284
|
-
es: "Logo React",
|
|
285
|
-
}),
|
|
286
|
-
|
|
287
|
-
title: "Vite + React",
|
|
288
|
-
|
|
289
|
-
count: t({
|
|
290
|
-
en: "count is ",
|
|
291
|
-
fr: "le compte est ",
|
|
292
|
-
es: "el recuento es ",
|
|
293
|
-
}),
|
|
294
|
-
|
|
295
|
-
edit:
|
|
296
|
-
t <
|
|
297
|
-
ReactNode >
|
|
298
|
-
{
|
|
299
|
-
// 콘텐츠에 React 노드를 사용하는 경우 React를 반드시 import하세요
|
|
300
|
-
en: (
|
|
301
|
-
<>
|
|
302
|
-
Edit <code>src/App.tsx</code> 파일을 수정하고 저장하여 HMR을
|
|
303
|
-
테스트하세요
|
|
304
|
-
</>
|
|
305
|
-
),
|
|
306
|
-
fr: (
|
|
307
|
-
<>
|
|
308
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
309
|
-
</>
|
|
310
|
-
),
|
|
311
|
-
es: (
|
|
312
|
-
<>
|
|
313
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
314
|
-
</>
|
|
315
|
-
),
|
|
316
|
-
},
|
|
317
|
-
|
|
318
|
-
readTheDocs: t({
|
|
319
|
-
en: "Click on the Vite and React logos to learn more",
|
|
320
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
321
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
322
|
-
}),
|
|
323
|
-
},
|
|
324
|
-
};
|
|
325
|
-
|
|
326
|
-
export default appContent;
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
|
|
330
|
-
const { t } = require("intlayer");
|
|
331
|
-
|
|
332
|
-
/** @type {import('intlayer').Dictionary} */
|
|
333
|
-
const appContent = {
|
|
334
|
-
key: "app",
|
|
335
|
-
content: {
|
|
336
|
-
viteLogo: t({
|
|
337
|
-
en: "Vite logo",
|
|
338
|
-
fr: "Logo Vite",
|
|
339
|
-
es: "Logo Vite",
|
|
340
|
-
}),
|
|
341
|
-
reactLogo: t({
|
|
342
|
-
en: "React logo",
|
|
343
|
-
fr: "Logo React",
|
|
344
|
-
es: "Logo React",
|
|
345
|
-
}),
|
|
346
|
-
|
|
347
|
-
title: "Vite + React",
|
|
348
|
-
|
|
349
|
-
count: t({
|
|
350
|
-
en: "count is ",
|
|
351
|
-
fr: "le compte est ",
|
|
352
|
-
es: "el recuento es ",
|
|
353
|
-
}),
|
|
354
|
-
|
|
355
|
-
edit:
|
|
356
|
-
t <
|
|
357
|
-
ReactNode >
|
|
358
|
-
{
|
|
359
|
-
// 콘텐츠에 React 노드를 사용하는 경우 React를 임포트하는 것을 잊지 마세요
|
|
360
|
-
en: (
|
|
361
|
-
<>
|
|
362
|
-
Edit <code>src/App.tsx</code> and save to test HMR
|
|
363
|
-
</>
|
|
364
|
-
),
|
|
365
|
-
fr: (
|
|
366
|
-
<>
|
|
367
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
368
|
-
</>
|
|
369
|
-
),
|
|
370
|
-
es: (
|
|
371
|
-
<>
|
|
372
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
373
|
-
</>
|
|
374
|
-
),
|
|
375
|
-
},
|
|
376
|
-
|
|
377
|
-
readTheDocs: t({
|
|
378
|
-
en: "Click on the Vite and React logos to learn more",
|
|
379
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
380
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
381
|
-
ko: "Vite 및 React 로고를 클릭하여 자세히 알아보세요",
|
|
382
|
-
}),
|
|
383
|
-
},
|
|
384
|
-
};
|
|
385
|
-
|
|
386
|
-
module.exports = appContent;
|
|
387
|
-
```
|
|
388
|
-
|
|
389
221
|
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
390
222
|
{
|
|
391
223
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -459,7 +291,7 @@ module.exports = appContent;
|
|
|
459
291
|
|
|
460
292
|
애플리케이션 전반에서 콘텐츠 사전을 접근하세요:
|
|
461
293
|
|
|
462
|
-
```tsx {5,9} fileName="src/App.tsx" codeFormat="typescript"
|
|
294
|
+
```tsx {5,9} fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
463
295
|
import { useState, type FC } from "react";
|
|
464
296
|
import reactLogo from "./assets/react.svg";
|
|
465
297
|
import viteLogo from "/vite.svg";
|
|
@@ -506,100 +338,6 @@ const App: FC = () => (
|
|
|
506
338
|
export default App;
|
|
507
339
|
```
|
|
508
340
|
|
|
509
|
-
```tsx {5,9} fileName="src/App.msx" codeFormat="esm"
|
|
510
|
-
import { useState } from "react";
|
|
511
|
-
import reactLogo from "./assets/react.svg";
|
|
512
|
-
import viteLogo from "/vite.svg";
|
|
513
|
-
import "./App.css";
|
|
514
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
515
|
-
|
|
516
|
-
const AppContent = () => {
|
|
517
|
-
const [count, setCount] = useState(0);
|
|
518
|
-
const content = useIntlayer("app");
|
|
519
|
-
|
|
520
|
-
return (
|
|
521
|
-
<>
|
|
522
|
-
<div>
|
|
523
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
524
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
525
|
-
</a>
|
|
526
|
-
<a href="https://react.dev" target="_blank">
|
|
527
|
-
<img
|
|
528
|
-
src={reactLogo}
|
|
529
|
-
className="logo react"
|
|
530
|
-
alt={content.reactLogo.value}
|
|
531
|
-
/>
|
|
532
|
-
</a>
|
|
533
|
-
</div>
|
|
534
|
-
<h1>{content.title}</h1>
|
|
535
|
-
<div className="card">
|
|
536
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
537
|
-
{content.count}
|
|
538
|
-
{count}
|
|
539
|
-
</button>
|
|
540
|
-
<p>{content.edit}</p>
|
|
541
|
-
</div>
|
|
542
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
543
|
-
</>
|
|
544
|
-
);
|
|
545
|
-
};
|
|
546
|
-
|
|
547
|
-
const App = () => (
|
|
548
|
-
<IntlayerProvider>
|
|
549
|
-
<AppContent />
|
|
550
|
-
</IntlayerProvider>
|
|
551
|
-
);
|
|
552
|
-
|
|
553
|
-
export default App;
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
```tsx {5,9} fileName="src/App.csx" codeFormat="commonjs"
|
|
557
|
-
const { useState } = require("react");
|
|
558
|
-
const reactLogo = require("./assets/react.svg");
|
|
559
|
-
const viteLogo = require("/vite.svg");
|
|
560
|
-
require("./App.css");
|
|
561
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
562
|
-
|
|
563
|
-
const AppContent = () => {
|
|
564
|
-
const [count, setCount] = useState(0);
|
|
565
|
-
const content = useIntlayer("app");
|
|
566
|
-
|
|
567
|
-
return (
|
|
568
|
-
<>
|
|
569
|
-
<div>
|
|
570
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
571
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
572
|
-
</a>
|
|
573
|
-
<a href="https://react.dev" target="_blank">
|
|
574
|
-
<img
|
|
575
|
-
src={reactLogo}
|
|
576
|
-
className="logo react"
|
|
577
|
-
alt={content.reactLogo.value}
|
|
578
|
-
/>
|
|
579
|
-
</a>
|
|
580
|
-
</div>
|
|
581
|
-
<h1>{content.title}</h1>
|
|
582
|
-
<div className="card">
|
|
583
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
584
|
-
{content.count}
|
|
585
|
-
{count}
|
|
586
|
-
</button>
|
|
587
|
-
<p>{content.edit}</p>
|
|
588
|
-
</div>
|
|
589
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
590
|
-
</>
|
|
591
|
-
);
|
|
592
|
-
};
|
|
593
|
-
|
|
594
|
-
const App = () => (
|
|
595
|
-
<IntlayerProvider>
|
|
596
|
-
<AppContent />
|
|
597
|
-
</IntlayerProvider>
|
|
598
|
-
);
|
|
599
|
-
|
|
600
|
-
module.exports = App;
|
|
601
|
-
```
|
|
602
|
-
|
|
603
341
|
> `alt`, `title`, `href`, `aria-label` 등과 같은 `string` 속성에서 콘텐츠를 사용하려면, 함수의 값을 호출해야 합니다. 예를 들어:
|
|
604
342
|
|
|
605
343
|
> ```jsx
|
|
@@ -612,7 +350,7 @@ module.exports = App;
|
|
|
612
350
|
|
|
613
351
|
콘텐츠의 언어를 변경하려면 `useLocale` 훅에서 제공하는 `setLocale` 함수를 사용할 수 있습니다. 이 함수는 애플리케이션의 로케일을 설정하고 그에 따라 콘텐츠를 업데이트할 수 있게 해줍니다.
|
|
614
352
|
|
|
615
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
353
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
616
354
|
import type { FC } from "react";
|
|
617
355
|
import { Locales } from "intlayer";
|
|
618
356
|
import { useLocale } from "react-intlayer";
|
|
@@ -626,32 +364,6 @@ const LocaleSwitcher: FC = () => {
|
|
|
626
364
|
};
|
|
627
365
|
```
|
|
628
366
|
|
|
629
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
630
|
-
import { Locales } from "intlayer";
|
|
631
|
-
import { useLocale } from "react-intlayer";
|
|
632
|
-
|
|
633
|
-
const LocaleSwitcher = () => {
|
|
634
|
-
const { setLocale } = useLocale();
|
|
635
|
-
|
|
636
|
-
return (
|
|
637
|
-
<button onClick={() => setLocale(Locales.English)}>영어로 언어 변경</button>
|
|
638
|
-
);
|
|
639
|
-
};
|
|
640
|
-
```
|
|
641
|
-
|
|
642
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
643
|
-
const { Locales } = require("intlayer");
|
|
644
|
-
const { useLocale } = require("react-intlayer");
|
|
645
|
-
|
|
646
|
-
const LocaleSwitcher = () => {
|
|
647
|
-
const { setLocale } = useLocale();
|
|
648
|
-
|
|
649
|
-
return (
|
|
650
|
-
<button onClick={() => setLocale(Locales.English)}>영어로 언어 변경</button>
|
|
651
|
-
);
|
|
652
|
-
};
|
|
653
|
-
```
|
|
654
|
-
|
|
655
367
|
> `useLocale` 훅에 대해 더 알아보려면 [문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/packages/react-intlayer/useLocale.md)를 참조하세요.
|
|
656
368
|
|
|
657
369
|
### (선택 사항) 7단계: 애플리케이션에 지역화된 라우팅 추가하기
|
|
@@ -669,7 +381,7 @@ const LocaleSwitcher = () => {
|
|
|
669
381
|
|
|
670
382
|
애플리케이션에 지역화된 라우팅을 추가하려면, 애플리케이션의 라우트를 감싸고 로케일 기반 라우팅을 처리하는 `LocaleRouter` 컴포넌트를 생성할 수 있습니다. 다음은 [React Router](https://reactrouter.com/home)를 사용한 예제입니다:
|
|
671
383
|
|
|
672
|
-
```tsx fileName="src/components/LocaleRouter.tsx"
|
|
384
|
+
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat={["typescript", "esm"]}
|
|
673
385
|
import { localeMap } from "intlayer"; // 'intlayer'에서 제공하는 유틸리티 함수 및 타입
|
|
674
386
|
import type { FC, PropsWithChildren } from "react"; // 함수형 컴포넌트 및 props 타입
|
|
675
387
|
import { IntlayerProvider } from "react-intlayer"; // 국제화 컨텍스트를 위한 프로바이더
|
|
@@ -697,69 +409,11 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
697
409
|
);
|
|
698
410
|
```
|
|
699
411
|
|
|
700
|
-
```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
|
|
701
|
-
import { localeMap } from 'intlayer'; // 'intlayer'에서 제공하는 유틸리티 함수와 타입
|
|
702
|
-
import type { FC, PropsWithChildren } from 'react'; // 함수형 컴포넌트와 props 타입을 위한 React 타입
|
|
703
|
-
import { IntlayerProvider } from "react-intlayer"; // 국제화 컨텍스트를 위한 프로바이더
|
|
704
|
-
import { BrowserRouter, Route, Routes } from 'react-router-dom'; // 네비게이션 관리를 위한 라우터 컴포넌트들
|
|
705
|
-
|
|
706
|
-
/**
|
|
707
|
-
* 로케일별 경로를 설정하는 라우터 컴포넌트입니다.
|
|
708
|
-
* React Router를 사용하여 내비게이션을 관리하고 로컬라이즈된 컴포넌트를 렌더링합니다.
|
|
709
|
-
*/
|
|
710
|
-
export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
711
|
-
<BrowserRouter>
|
|
712
|
-
<Routes>
|
|
713
|
-
{localeMap(({ locale, urlPrefix }) => (
|
|
714
|
-
<Route
|
|
715
|
-
// 로케일을 캡처하는 라우트 패턴 (예: /en/, /fr/) 및 이후 모든 경로와 매칭
|
|
716
|
-
path={`${urlPrefix}/*`}
|
|
717
|
-
key={locale}
|
|
718
|
-
element={
|
|
719
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
720
|
-
} // 자식 컴포넌트를 로케일 관리로 감쌈
|
|
721
|
-
/>
|
|
722
|
-
))}
|
|
723
|
-
</Routes>
|
|
724
|
-
</BrowserRouter>
|
|
725
|
-
);
|
|
726
|
-
```
|
|
727
|
-
|
|
728
|
-
```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
|
|
729
|
-
const { localeMap } = require("intlayer"); // 'intlayer'에서 제공하는 유틸리티 함수 및 타입
|
|
730
|
-
const React = require("react"); // React를 가져옵니다
|
|
731
|
-
const { IntlayerProvider } = require("react-intlayer"); // 국제화 컨텍스트를 위한 프로바이더
|
|
732
|
-
const { BrowserRouter, Route, Routes } = require("react-router-dom"); // 내비게이션 관리를 위한 라우터 컴포넌트
|
|
733
|
-
|
|
734
|
-
/**
|
|
735
|
-
* 로케일별 경로를 설정하는 라우터 컴포넌트입니다.
|
|
736
|
-
* React Router를 사용하여 내비게이션을 관리하고 로컬라이즈된 컴포넌트를 렌더링합니다.
|
|
737
|
-
*/
|
|
738
|
-
const LocaleRouter = ({ children }) =>
|
|
739
|
-
React.createElement(
|
|
740
|
-
BrowserRouter,
|
|
741
|
-
{},
|
|
742
|
-
React.createElement(
|
|
743
|
-
Routes,
|
|
744
|
-
{},
|
|
745
|
-
localeMap(({ locale, urlPrefix }) =>
|
|
746
|
-
React.createElement(Route, {
|
|
747
|
-
path: `${urlPrefix}/*`,
|
|
748
|
-
key: locale,
|
|
749
|
-
element: React.createElement(IntlayerProvider, { locale }, children),
|
|
750
|
-
})
|
|
751
|
-
)
|
|
752
|
-
)
|
|
753
|
-
);
|
|
754
|
-
|
|
755
|
-
exports.LocaleRouter = LocaleRouter;
|
|
756
|
-
```
|
|
757
|
-
|
|
758
412
|
> 참고: `routing.mode: 'no-prefix' | 'search-params'`를 사용하는 경우, 아마도 `localeMap` 함수를 사용할 필요가 없습니다.
|
|
759
413
|
|
|
760
414
|
그런 다음, 애플리케이션에서 `LocaleRouter` 컴포넌트를 사용할 수 있습니다:
|
|
761
415
|
|
|
762
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
416
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
763
417
|
import { LocaleRouter } from "./components/LocaleRouter";
|
|
764
418
|
import type { FC } from "react";
|
|
765
419
|
|
|
@@ -772,233 +426,51 @@ const App: FC = () => (
|
|
|
772
426
|
);
|
|
773
427
|
```
|
|
774
428
|
|
|
775
|
-
```jsx fileName="src/App.mjx" codeFormat="esm"
|
|
776
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
777
|
-
|
|
778
|
-
// ... 여러분의 AppContent 컴포넌트
|
|
779
|
-
|
|
780
|
-
const App = () => (
|
|
781
|
-
<LocaleRouter>
|
|
782
|
-
<AppContent />
|
|
783
|
-
</LocaleRouter>
|
|
784
|
-
);
|
|
785
|
-
```
|
|
786
|
-
|
|
787
|
-
```jsx fileName="src/App.cjx" codeFormat="commonjs"
|
|
788
|
-
const { LocaleRouter } = require("./components/LocaleRouter");
|
|
789
|
-
|
|
790
|
-
// ... 여러분의 AppContent 컴포넌트
|
|
791
|
-
|
|
792
|
-
const App = () => (
|
|
793
|
-
<LocaleRouter>
|
|
794
|
-
<AppContent />
|
|
795
|
-
</LocaleRouter>
|
|
796
|
-
);
|
|
797
|
-
```
|
|
798
|
-
|
|
799
429
|
병행하여, `intlayerProxy`를 사용하여 애플리케이션에 서버 사이드 라우팅을 추가할 수도 있습니다. 이 플러그인은 URL을 기반으로 현재 로케일을 자동으로 감지하고 적절한 로케일 쿠키를 설정합니다. 로케일이 지정되지 않은 경우, 플러그인은 사용자의 브라우저 언어 설정을 기반으로 가장 적합한 로케일을 결정합니다. 로케일이 감지되지 않으면 기본 로케일로 리디렉션합니다.
|
|
800
430
|
|
|
801
431
|
- 프로덕션 환경에서 `intlayerProxy`를 사용하려면 `vite-intlayer` 패키지를 `devDependencies`에서 `dependencies`로 변경해야 합니다.
|
|
802
432
|
|
|
803
|
-
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
433
|
+
```typescript {3,7} fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
804
434
|
import { defineConfig } from "vite";
|
|
805
435
|
import react from "@vitejs/plugin-react-swc";
|
|
806
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
807
|
-
|
|
808
|
-
// https://vitejs.dev/config/
|
|
809
|
-
export default defineConfig({
|
|
810
|
-
plugins: [
|
|
811
|
-
intlayerProxy(), // should be placed first
|
|
812
|
-
react(),
|
|
813
|
-
intlayer(),
|
|
814
|
-
],
|
|
815
|
-
});
|
|
816
|
-
```
|
|
817
|
-
|
|
818
|
-
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
819
|
-
import { defineConfig } from "vite";
|
|
820
|
-
import react from "@vitejs/plugin-react-swc";
|
|
821
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
822
|
-
|
|
823
|
-
// https://vitejs.dev/config/
|
|
824
|
-
export default defineConfig({
|
|
825
|
-
plugins: [
|
|
826
|
-
intlayerProxy(), // should be placed first
|
|
827
|
-
react(),
|
|
828
|
-
intlayer(),
|
|
829
|
-
],
|
|
830
|
-
});
|
|
831
|
-
```
|
|
832
|
-
|
|
833
|
-
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
834
|
-
const { defineConfig } = require("vite");
|
|
835
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
836
|
-
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
837
|
-
|
|
838
|
-
// https://vitejs.dev/config/
|
|
839
|
-
module.exports = defineConfig({
|
|
840
|
-
plugins: [
|
|
841
|
-
intlayerProxy(), // should be placed first
|
|
842
|
-
react(),
|
|
843
|
-
intlayer(),
|
|
844
|
-
],
|
|
845
|
-
});
|
|
846
|
-
```
|
|
847
|
-
|
|
848
|
-
### (선택 사항) 8단계: 로케일이 변경될 때 URL 변경하기
|
|
849
|
-
|
|
850
|
-
로케일이 변경될 때 URL을 변경하려면, `useLocale` 훅에서 제공하는 `onLocaleChange` 속성을 사용할 수 있습니다. 동시에, `react-router-dom`의 `useLocation`과 `useNavigate` 훅을 사용하여 URL 경로를 업데이트할 수 있습니다.
|
|
851
|
-
|
|
852
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
853
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
854
|
-
import {
|
|
855
|
-
Locales,
|
|
856
|
-
getHTMLTextDir,
|
|
857
|
-
getLocaleName,
|
|
858
|
-
getLocalizedUrl,
|
|
859
|
-
} from "intlayer";
|
|
860
|
-
import { useLocale } from "react-intlayer";
|
|
861
|
-
import { type FC } from "react";
|
|
862
|
-
|
|
863
|
-
const LocaleSwitcher: FC = () => {
|
|
864
|
-
const { pathname, search } = useLocation(); // 현재 URL 경로를 가져옵니다. 예: /fr/about?foo=bar
|
|
865
|
-
const navigate = useNavigate();
|
|
866
|
-
|
|
867
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
868
|
-
onLocaleChange: (locale) => {
|
|
869
|
-
// 업데이트된 로케일로 URL을 구성합니다
|
|
870
|
-
// 예: /es/about?foo=bar
|
|
871
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
872
|
-
|
|
873
|
-
// URL 경로를 업데이트합니다
|
|
874
|
-
navigate(pathWithLocale);
|
|
875
|
-
},
|
|
876
|
-
});
|
|
877
|
-
|
|
878
|
-
return (
|
|
879
|
-
<div>
|
|
880
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
881
|
-
<div id="localePopover" popover="auto">
|
|
882
|
-
{availableLocales.map((localeItem) => (
|
|
883
|
-
<a
|
|
884
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
885
|
-
hrefLang={localeItem}
|
|
886
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
887
|
-
onClick={(e) => {
|
|
888
|
-
e.preventDefault();
|
|
889
|
-
setLocale(localeItem);
|
|
890
|
-
}}
|
|
891
|
-
key={localeItem}
|
|
892
|
-
>
|
|
893
|
-
<span>
|
|
894
|
-
{/* 로케일 - 예: FR */}
|
|
895
|
-
{localeItem}
|
|
896
|
-
</span>
|
|
897
|
-
<span>
|
|
898
|
-
{/* 해당 로케일에서의 언어명 - 예: Français */}
|
|
899
|
-
{getLocaleName(localeItem, locale)}
|
|
900
|
-
</span>
|
|
901
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
902
|
-
{/* 현재 로케일에서의 언어명 - 예: Francés (현재 로케일이 Locales.SPANISH일 때) */}
|
|
903
|
-
{getLocaleName(localeItem)}
|
|
904
|
-
</span>
|
|
905
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
906
|
-
{/* 영어로 된 언어명 - 예: French */}
|
|
907
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
908
|
-
</span>
|
|
909
|
-
</a>
|
|
910
|
-
))}
|
|
911
|
-
</div>
|
|
912
|
-
</div>
|
|
913
|
-
);
|
|
914
|
-
};
|
|
915
|
-
```
|
|
916
|
-
|
|
917
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
918
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
919
|
-
import {
|
|
920
|
-
Locales,
|
|
921
|
-
getHTMLTextDir,
|
|
922
|
-
getLocaleName,
|
|
923
|
-
getLocalizedUrl,
|
|
924
|
-
} from "intlayer";
|
|
925
|
-
import { useLocale } from "react-intlayer";
|
|
926
|
-
|
|
927
|
-
const LocaleSwitcher = () => {
|
|
928
|
-
const { pathname, search } = useLocation(); // 현재 URL 경로를 가져옵니다. 예: /fr/about?foo=bar
|
|
929
|
-
const navigate = useNavigate();
|
|
930
|
-
|
|
931
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
932
|
-
onLocaleChange: (locale) => {
|
|
933
|
-
// 업데이트된 로케일로 URL을 구성합니다.
|
|
934
|
-
// 예: /es/about?foo=bar
|
|
935
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
936
|
-
|
|
937
|
-
// URL 경로를 업데이트합니다.
|
|
938
|
-
navigate(pathWithLocale);
|
|
939
|
-
},
|
|
940
|
-
});
|
|
436
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
941
437
|
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
951
|
-
onClick={(e) => {
|
|
952
|
-
e.preventDefault();
|
|
953
|
-
setLocale(localeItem);
|
|
954
|
-
}}
|
|
955
|
-
key={localeItem}
|
|
956
|
-
>
|
|
957
|
-
<span>
|
|
958
|
-
{/* 로케일 - 예: FR */}
|
|
959
|
-
{localeItem}
|
|
960
|
-
</span>
|
|
961
|
-
<span>
|
|
962
|
-
{/* 해당 로케일의 언어 - 예: Français */}
|
|
963
|
-
{getLocaleName(localeItem, locale)}
|
|
964
|
-
</span>
|
|
965
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
966
|
-
{/* 현재 로케일에서의 언어 - 예: Locales.SPANISH로 설정된 현재 로케일에서 Francés */}
|
|
967
|
-
{getLocaleName(localeItem)}
|
|
968
|
-
</span>
|
|
969
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
970
|
-
{/* 영어로 된 언어 - 예: French */}
|
|
971
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
972
|
-
</span>
|
|
973
|
-
</a>
|
|
974
|
-
))}
|
|
975
|
-
</div>
|
|
976
|
-
</div>
|
|
977
|
-
);
|
|
978
|
-
};
|
|
438
|
+
// https://vitejs.dev/config/
|
|
439
|
+
export default defineConfig({
|
|
440
|
+
plugins: [
|
|
441
|
+
intlayerProxy(), // should be placed first
|
|
442
|
+
react(),
|
|
443
|
+
intlayer(),
|
|
444
|
+
],
|
|
445
|
+
});
|
|
979
446
|
```
|
|
980
447
|
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
448
|
+
### (선택 사항) 8단계: 로케일이 변경될 때 URL 변경하기
|
|
449
|
+
|
|
450
|
+
로케일이 변경될 때 URL을 변경하려면, `useLocale` 훅에서 제공하는 `onLocaleChange` 속성을 사용할 수 있습니다. 동시에, `react-router-dom`의 `useLocation`과 `useNavigate` 훅을 사용하여 URL 경로를 업데이트할 수 있습니다.
|
|
451
|
+
|
|
452
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
453
|
+
import { useLocation, useNavigate } from "react-router-dom";
|
|
454
|
+
import {
|
|
984
455
|
Locales,
|
|
985
456
|
getHTMLTextDir,
|
|
986
457
|
getLocaleName,
|
|
987
458
|
getLocalizedUrl,
|
|
988
|
-
}
|
|
989
|
-
|
|
459
|
+
} from "intlayer";
|
|
460
|
+
import { useLocale } from "react-intlayer";
|
|
461
|
+
import { type FC } from "react";
|
|
990
462
|
|
|
991
|
-
const LocaleSwitcher = () => {
|
|
463
|
+
const LocaleSwitcher: FC = () => {
|
|
992
464
|
const { pathname, search } = useLocation(); // 현재 URL 경로를 가져옵니다. 예: /fr/about?foo=bar
|
|
993
465
|
const navigate = useNavigate();
|
|
994
466
|
|
|
995
467
|
const { locale, availableLocales, setLocale } = useLocale({
|
|
996
468
|
onLocaleChange: (locale) => {
|
|
997
|
-
// 업데이트된 로케일로 URL을
|
|
469
|
+
// 업데이트된 로케일로 URL을 구성합니다
|
|
998
470
|
// 예: /es/about?foo=bar
|
|
999
471
|
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
1000
472
|
|
|
1001
|
-
// URL 경로를
|
|
473
|
+
// URL 경로를 업데이트합니다
|
|
1002
474
|
navigate(pathWithLocale);
|
|
1003
475
|
},
|
|
1004
476
|
});
|
|
@@ -1023,11 +495,11 @@ const LocaleSwitcher = () => {
|
|
|
1023
495
|
{localeItem}
|
|
1024
496
|
</span>
|
|
1025
497
|
<span>
|
|
1026
|
-
{/* 해당
|
|
498
|
+
{/* 해당 로케일에서의 언어명 - 예: Français */}
|
|
1027
499
|
{getLocaleName(localeItem, locale)}
|
|
1028
500
|
</span>
|
|
1029
501
|
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1030
|
-
{/* 현재 로케일에서의 언어명 - 예: Francés (현재 로케일이 Locales.SPANISH
|
|
502
|
+
{/* 현재 로케일에서의 언어명 - 예: Francés (현재 로케일이 Locales.SPANISH일 때) */}
|
|
1031
503
|
{getLocaleName(localeItem)}
|
|
1032
504
|
</span>
|
|
1033
505
|
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
@@ -1071,32 +543,7 @@ const LocaleSwitcher = () => {
|
|
|
1071
543
|
|
|
1072
544
|
HTML 속성을 관리하는 커스텀 훅을 만듭니다. 이 훅은 로케일 변경을 감지하여 속성을 적절히 업데이트합니다:
|
|
1073
545
|
|
|
1074
|
-
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
|
|
1075
|
-
import { useEffect } from "react";
|
|
1076
|
-
import { useLocale } from "react-intlayer";
|
|
1077
|
-
import { getHTMLTextDir } from "intlayer";
|
|
1078
|
-
|
|
1079
|
-
/**
|
|
1080
|
-
* 현재 로케일에 따라 HTML <html> 요소의 `lang` 및 `dir` 속성을 업데이트합니다.
|
|
1081
|
-
* - `lang`: 브라우저와 검색 엔진에 페이지의 언어를 알립니다.
|
|
1082
|
-
* - `dir`: 올바른 읽기 순서(예: 영어는 'ltr', 아랍어는 'rtl')를 보장합니다.
|
|
1083
|
-
*
|
|
1084
|
-
* 이 동적 업데이트는 올바른 텍스트 렌더링, 접근성 및 SEO에 필수적입니다.
|
|
1085
|
-
*/
|
|
1086
|
-
export const useI18nHTMLAttributes = () => {
|
|
1087
|
-
const { locale } = useLocale();
|
|
1088
|
-
|
|
1089
|
-
useEffect(() => {
|
|
1090
|
-
// 현재 로케일로 언어 속성을 업데이트합니다.
|
|
1091
|
-
document.documentElement.lang = locale;
|
|
1092
|
-
|
|
1093
|
-
// 현재 로케일에 따라 텍스트 방향을 설정합니다.
|
|
1094
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1095
|
-
}, [locale]);
|
|
1096
|
-
};
|
|
1097
|
-
```
|
|
1098
|
-
|
|
1099
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
|
|
546
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
1100
547
|
import { useEffect } from "react";
|
|
1101
548
|
import { useLocale } from "react-intlayer";
|
|
1102
549
|
import { getHTMLTextDir } from "intlayer";
|
|
@@ -1121,38 +568,11 @@ export const useI18nHTMLAttributes = () => {
|
|
|
1121
568
|
};
|
|
1122
569
|
```
|
|
1123
570
|
|
|
1124
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
|
|
1125
|
-
const { useEffect } = require("react");
|
|
1126
|
-
const { useLocale } = require("react-intlayer");
|
|
1127
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
1128
|
-
|
|
1129
|
-
/**
|
|
1130
|
-
* 현재 로케일에 따라 HTML <html> 요소의 `lang` 및 `dir` 속성을 업데이트합니다.
|
|
1131
|
-
* - `lang`: 브라우저와 검색 엔진에 페이지의 언어를 알립니다.
|
|
1132
|
-
* - `dir`: 올바른 읽기 순서 보장을 위해 설정합니다 (예: 영어는 'ltr', 아랍어는 'rtl').
|
|
1133
|
-
*
|
|
1134
|
-
* 이 동적 업데이트는 올바른 텍스트 렌더링, 접근성 및 SEO에 필수적입니다.
|
|
1135
|
-
*/
|
|
1136
|
-
const useI18nHTMLAttributes = () => {
|
|
1137
|
-
const { locale } = useLocale();
|
|
1138
|
-
|
|
1139
|
-
useEffect(() => {
|
|
1140
|
-
// 현재 로케일에 맞게 언어 속성을 업데이트합니다.
|
|
1141
|
-
document.documentElement.lang = locale;
|
|
1142
|
-
|
|
1143
|
-
// 현재 로케일에 따라 텍스트 방향을 설정합니다.
|
|
1144
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1145
|
-
}, [locale]);
|
|
1146
|
-
};
|
|
1147
|
-
|
|
1148
|
-
module.exports = { useI18nHTMLAttributes };
|
|
1149
|
-
```
|
|
1150
|
-
|
|
1151
571
|
#### 애플리케이션에서 훅 사용하기
|
|
1152
572
|
|
|
1153
573
|
로케일이 변경될 때마다 HTML 속성이 업데이트되도록 훅을 메인 컴포넌트에 통합하세요:
|
|
1154
574
|
|
|
1155
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
575
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
1156
576
|
import type { FC } from "react";
|
|
1157
577
|
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1158
578
|
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
@@ -1174,49 +594,6 @@ const App: FC = () => (
|
|
|
1174
594
|
export default App;
|
|
1175
595
|
```
|
|
1176
596
|
|
|
1177
|
-
```jsx fileName="src/App.msx" codeFormat="esm"
|
|
1178
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1179
|
-
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
1180
|
-
import "./App.css";
|
|
1181
|
-
|
|
1182
|
-
const AppContent = () => {
|
|
1183
|
-
// 로케일에 따라 <html> 태그의 lang 및 dir 속성을 업데이트하기 위해 훅을 적용합니다.
|
|
1184
|
-
useI18nHTMLAttributes();
|
|
1185
|
-
|
|
1186
|
-
// ... 나머지 컴포넌트 내용
|
|
1187
|
-
};
|
|
1188
|
-
|
|
1189
|
-
const App = () => (
|
|
1190
|
-
<IntlayerProvider>
|
|
1191
|
-
<AppContent />
|
|
1192
|
-
</IntlayerProvider>
|
|
1193
|
-
);
|
|
1194
|
-
|
|
1195
|
-
export default App;
|
|
1196
|
-
```
|
|
1197
|
-
|
|
1198
|
-
```jsx fileName="src/App.csx" codeFormat="commonjs"
|
|
1199
|
-
const { FC } = require("react");
|
|
1200
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
1201
|
-
const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
|
|
1202
|
-
require("./App.css");
|
|
1203
|
-
|
|
1204
|
-
const AppContent = () => {
|
|
1205
|
-
// 로케일에 따라 <html> 태그의 lang 및 dir 속성을 업데이트하기 위해 훅을 적용합니다.
|
|
1206
|
-
useI18nHTMLAttributes();
|
|
1207
|
-
|
|
1208
|
-
// ... 컴포넌트의 나머지 부분
|
|
1209
|
-
};
|
|
1210
|
-
|
|
1211
|
-
const App = () => (
|
|
1212
|
-
<IntlayerProvider>
|
|
1213
|
-
<AppContent />
|
|
1214
|
-
</IntlayerProvider>
|
|
1215
|
-
);
|
|
1216
|
-
|
|
1217
|
-
module.exports = App;
|
|
1218
|
-
```
|
|
1219
|
-
|
|
1220
597
|
이 변경 사항을 적용하면 애플리케이션은 다음을 보장합니다:
|
|
1221
598
|
|
|
1222
599
|
- 현재 로케일을 올바르게 반영하는 **언어**(`lang`) 속성으로 SEO 및 브라우저 동작에 중요합니다.
|
|
@@ -1235,7 +612,7 @@ module.exports = App;
|
|
|
1235
612
|
|
|
1236
613
|
아래는 TypeScript로 구현한 로컬라이즈된 `Link` 컴포넌트입니다:
|
|
1237
614
|
|
|
1238
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
615
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1239
616
|
import { getLocalizedUrl } from "intlayer";
|
|
1240
617
|
import {
|
|
1241
618
|
forwardRef,
|
|
@@ -1281,79 +658,6 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
1281
658
|
Link.displayName = "Link";
|
|
1282
659
|
```
|
|
1283
660
|
|
|
1284
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1285
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1286
|
-
import { useLocale } from "react-intlayer";
|
|
1287
|
-
import { forwardRef } from "react";
|
|
1288
|
-
|
|
1289
|
-
/**
|
|
1290
|
-
* 주어진 URL이 외부 링크인지 확인하는 유틸리티 함수입니다.
|
|
1291
|
-
* URL이 http:// 또는 https://로 시작하면 외부 링크로 간주합니다.
|
|
1292
|
-
*/
|
|
1293
|
-
export const checkIsExternalLink = (href?: string): boolean =>
|
|
1294
|
-
/^https?:\/\//.test(href ?? "");
|
|
1295
|
-
|
|
1296
|
-
/**
|
|
1297
|
-
* 현재 로케일에 따라 href 속성을 조정하는 커스텀 Link 컴포넌트입니다.
|
|
1298
|
-
* 내부 링크의 경우 `getLocalizedUrl`을 사용하여 URL 앞에 로케일 접두사를 붙입니다 (예: /fr/about).
|
|
1299
|
-
* 이를 통해 내비게이션이 동일한 로케일 컨텍스트 내에서 이루어지도록 보장합니다.
|
|
1300
|
-
*/
|
|
1301
|
-
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1302
|
-
const { locale } = useLocale();
|
|
1303
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1304
|
-
|
|
1305
|
-
// 링크가 내부 링크이고 유효한 href가 제공된 경우, 지역화된 URL을 가져옵니다.
|
|
1306
|
-
const hrefI18n =
|
|
1307
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1308
|
-
|
|
1309
|
-
return (
|
|
1310
|
-
<a href={hrefI18n} ref={ref} {...props}>
|
|
1311
|
-
{children}
|
|
1312
|
-
</a>
|
|
1313
|
-
);
|
|
1314
|
-
});
|
|
1315
|
-
|
|
1316
|
-
Link.displayName = "Link";
|
|
1317
|
-
```
|
|
1318
|
-
|
|
1319
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1320
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1321
|
-
const { useLocale } = require("react-intlayer");
|
|
1322
|
-
const { forwardRef } = require("react");
|
|
1323
|
-
|
|
1324
|
-
/**
|
|
1325
|
-
* 주어진 URL이 외부 링크인지 확인하는 유틸리티 함수입니다.
|
|
1326
|
-
* URL이 http:// 또는 https://로 시작하면 외부 링크로 간주합니다.
|
|
1327
|
-
*/
|
|
1328
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1329
|
-
|
|
1330
|
-
/**
|
|
1331
|
-
* 현재 로케일에 따라 href 속성을 조정하는 커스텀 Link 컴포넌트입니다.
|
|
1332
|
-
* 내부 링크의 경우 `getLocalizedUrl`을 사용하여 URL 앞에 로케일을 붙입니다 (예: /fr/about).
|
|
1333
|
-
* 이를 통해 내비게이션이 동일한 로케일 컨텍스트 내에서 이루어지도록 보장합니다.
|
|
1334
|
-
*/
|
|
1335
|
-
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1336
|
-
const { locale } = useLocale();
|
|
1337
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1338
|
-
|
|
1339
|
-
// 링크가 내부 링크이고 유효한 href가 제공된 경우, 로컬라이즈된 URL을 가져옵니다.
|
|
1340
|
-
const localizedHref = isExternalLink ? href : getLocalizedUrl(href, locale);
|
|
1341
|
-
|
|
1342
|
-
return (
|
|
1343
|
-
<a
|
|
1344
|
-
href={localizedHref}
|
|
1345
|
-
ref={ref}
|
|
1346
|
-
{...props}
|
|
1347
|
-
aria-current={isExternalLink ? "external" : undefined}
|
|
1348
|
-
>
|
|
1349
|
-
{children}
|
|
1350
|
-
</a>
|
|
1351
|
-
);
|
|
1352
|
-
});
|
|
1353
|
-
|
|
1354
|
-
Link.displayName = "Link";
|
|
1355
|
-
```
|
|
1356
|
-
|
|
1357
661
|
#### 작동 원리
|
|
1358
662
|
|
|
1359
663
|
- **외부 링크 감지**:
|
|
@@ -1426,7 +730,7 @@ Intlayer와 함께 개발 경험을 향상시키기 위해 공식 **Intlayer VS
|
|
|
1426
730
|
|
|
1427
731
|
설정하려면 `intlayer.config.ts` 파일에 `compiler` 섹션을 추가할 수 있습니다.
|
|
1428
732
|
|
|
1429
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
733
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1430
734
|
import { type IntlayerConfig } from "intlayer";
|
|
1431
735
|
|
|
1432
736
|
const config: IntlayerConfig = {
|
|
@@ -1457,66 +761,6 @@ const config: IntlayerConfig = {
|
|
|
1457
761
|
export default config;
|
|
1458
762
|
```
|
|
1459
763
|
|
|
1460
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1461
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1462
|
-
const config = {
|
|
1463
|
-
// ... 나머지 구성
|
|
1464
|
-
compiler: {
|
|
1465
|
-
/**
|
|
1466
|
-
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1467
|
-
*/
|
|
1468
|
-
enabled: true,
|
|
1469
|
-
|
|
1470
|
-
/**
|
|
1471
|
-
* 출력 파일 경로를 정의합니다.
|
|
1472
|
-
*/
|
|
1473
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1474
|
-
|
|
1475
|
-
/**
|
|
1476
|
-
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1477
|
-
*/
|
|
1478
|
-
saveComponents: false,
|
|
1479
|
-
|
|
1480
|
-
/**
|
|
1481
|
-
* 사전 키 접두사
|
|
1482
|
-
*/
|
|
1483
|
-
dictionaryKeyPrefix: "",
|
|
1484
|
-
},
|
|
1485
|
-
};
|
|
1486
|
-
|
|
1487
|
-
export default config;
|
|
1488
|
-
```
|
|
1489
|
-
|
|
1490
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1491
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1492
|
-
const config = {
|
|
1493
|
-
// ... 나머지 구성
|
|
1494
|
-
compiler: {
|
|
1495
|
-
/**
|
|
1496
|
-
* 컴파일러 활성화 여부를 나타냅니다.
|
|
1497
|
-
*/
|
|
1498
|
-
enabled: true,
|
|
1499
|
-
|
|
1500
|
-
/**
|
|
1501
|
-
* 출력 파일 경로를 정의합니다.
|
|
1502
|
-
*/
|
|
1503
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1504
|
-
|
|
1505
|
-
/**
|
|
1506
|
-
* 변환 후 컴포넌트를 저장할지 여부를 나타냅니다. 그렇게 하면 컴파일러를 한 번만 실행하여 앱을 변환한 다음 제거할 수 있습니다.
|
|
1507
|
-
*/
|
|
1508
|
-
saveComponents: false,
|
|
1509
|
-
|
|
1510
|
-
/**
|
|
1511
|
-
* 사전 키 접두사
|
|
1512
|
-
*/
|
|
1513
|
-
dictionaryKeyPrefix: "",
|
|
1514
|
-
},
|
|
1515
|
-
};
|
|
1516
|
-
|
|
1517
|
-
module.exports = config;
|
|
1518
|
-
```
|
|
1519
|
-
|
|
1520
764
|
<Tabs>
|
|
1521
765
|
<Tab value='추출 명령'>
|
|
1522
766
|
|
|
@@ -1574,6 +818,80 @@ bun run build # Or bun run dev
|
|
|
1574
818
|
</Tab>
|
|
1575
819
|
</Tabs>
|
|
1576
820
|
|
|
821
|
+
### (선택) 사이트맵과 robots.txt(빌드 시 생성)
|
|
822
|
+
|
|
823
|
+
Intlayer는 `generateSitemap`과 `getMultilingualUrls`로 크롤러용 다국어 `sitemap.xml`과 `robots.txt`를 만들어 `public/`에 자동으로 쓸 수 있습니다. 보통 Vite 실행 **전에** 작은 Node 스크립트를 돌립니다(예: npm `predev` / `prebuild`).
|
|
824
|
+
|
|
825
|
+
#### 사이트맵
|
|
826
|
+
|
|
827
|
+
Intlayer 사이트맵 생성기는 로케일 설정을 반영하고 크롤러용 메타데이터를 포함합니다.
|
|
828
|
+
|
|
829
|
+
> 생성된 사이트맵은 `xhtml:link`(hreflang)를 지원합니다. 단순 URL 나열이 아니라 각 페이지의 모든 언어 버전을 양방향으로 연결합니다(예: `/about`, `/fr/about`, `/about?lang=fr` — 라우팅 모드에 따름).
|
|
830
|
+
|
|
831
|
+
#### Robots.txt
|
|
832
|
+
|
|
833
|
+
`getMultilingualUrls`로 `Disallow`가 민감 경로의 모든 현지화 변형에 적용되도록 하세요.
|
|
834
|
+
|
|
835
|
+
#### 1. 프로젝트 루트에 `generate-seo.mjs` 추가
|
|
836
|
+
|
|
837
|
+
```javascript fileName="generate-seo.mjs"
|
|
838
|
+
import fs from "fs";
|
|
839
|
+
import path from "path";
|
|
840
|
+
import { fileURLToPath } from "url";
|
|
841
|
+
import { generateSitemap, getMultilingualUrls } from "intlayer";
|
|
842
|
+
|
|
843
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
844
|
+
|
|
845
|
+
const SITE_URL = (process.env.SITE_URL || "http://localhost:5173").replace(
|
|
846
|
+
/\/$/,
|
|
847
|
+
""
|
|
848
|
+
);
|
|
849
|
+
|
|
850
|
+
const pathList = [
|
|
851
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
852
|
+
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
853
|
+
];
|
|
854
|
+
|
|
855
|
+
const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
|
|
856
|
+
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
857
|
+
|
|
858
|
+
const getAllMultilingualUrls = (urls) =>
|
|
859
|
+
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
860
|
+
|
|
861
|
+
const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
|
|
862
|
+
|
|
863
|
+
const robotsTxt = [
|
|
864
|
+
"User-agent: *",
|
|
865
|
+
"Allow: /",
|
|
866
|
+
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
867
|
+
"",
|
|
868
|
+
`Sitemap: ${SITE_URL}/sitemap.xml`,
|
|
869
|
+
].join("\n");
|
|
870
|
+
|
|
871
|
+
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
872
|
+
|
|
873
|
+
console.log("SEO files generated successfully.");
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
스크립트가 `intlayer`를 import하려면 패키지가 설치되어 있어야 합니다. 프로덕션에서는 환경 변수 `SITE_URL`을 설정하세요(CI 등).
|
|
877
|
+
|
|
878
|
+
> Node ESM에는 `generate-seo.mjs` 사용을 권장합니다. `generate-seo.js`를 쓰면 `package.json`의 `"type": "module"` 등으로 ESM을 켜세요.
|
|
879
|
+
|
|
880
|
+
#### 2. Vite 전에 스크립트 실행
|
|
881
|
+
|
|
882
|
+
```json fileName="package.json"
|
|
883
|
+
{
|
|
884
|
+
"scripts": {
|
|
885
|
+
"dev": "vite",
|
|
886
|
+
"prebuild": "node generate-seo.mjs",
|
|
887
|
+
"build": "vite build",
|
|
888
|
+
"preview": "vite preview"
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
```
|
|
892
|
+
|
|
893
|
+
pnpm이나 yarn을 쓰면 명령을 맞게 바꾸세요. CI에서 호출해도 됩니다.
|
|
894
|
+
|
|
1577
895
|
### 더 나아가기
|
|
1578
896
|
|
|
1579
897
|
더 나아가려면 [비주얼 에디터](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)를 사용하여 콘텐츠를 외부화할 수 있습니다.
|