@intlayer/docs 8.7.7 → 8.7.8-canary.0
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
|
@@ -15,6 +15,7 @@ slugs:
|
|
|
15
15
|
- environment
|
|
16
16
|
- vite-and-preact
|
|
17
17
|
applicationTemplate: https://github.com/aymericzip/intlayer-vite-preact-template
|
|
18
|
+
applicationShowcase: https://intlayer-vite-preact-template.vercel.app
|
|
18
19
|
history:
|
|
19
20
|
- version: 7.5.9
|
|
20
21
|
date: 2025-12-30
|
|
@@ -32,12 +33,23 @@ history:
|
|
|
32
33
|
<iframe title="The best i18n solution for Vite and Preact? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
33
34
|
|
|
34
35
|
</Tab>
|
|
35
|
-
<Tab label="
|
|
36
|
+
<Tab label="代码" value="code">
|
|
36
37
|
|
|
37
38
|
<iframe
|
|
38
|
-
src="https://
|
|
39
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-vite-preact-template?file=intlayer.config.ts"
|
|
39
40
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
40
|
-
title="
|
|
41
|
+
title="演示 CodeSandbox - 如何使用 Intlayer 实现应用国际化"
|
|
42
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
43
|
+
loading="lazy"
|
|
44
|
+
/>
|
|
45
|
+
|
|
46
|
+
</Tab>
|
|
47
|
+
<Tab label="演示" value="demo">
|
|
48
|
+
|
|
49
|
+
<iframe
|
|
50
|
+
src="https://intlayer-vite-preact-template.vercel.app"
|
|
51
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
52
|
+
title="演示 — intlayer-vite-preact-template"
|
|
41
53
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
42
54
|
loading="lazy"
|
|
43
55
|
/>
|
|
@@ -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 = {
|
|
@@ -132,59 +144,13 @@ const config: IntlayerConfig = {
|
|
|
132
144
|
export default config;
|
|
133
145
|
```
|
|
134
146
|
|
|
135
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
136
|
-
import { Locales } from "intlayer";
|
|
137
|
-
|
|
138
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
139
|
-
const config = {
|
|
140
|
-
internationalization: {
|
|
141
|
-
locales: [
|
|
142
|
-
Locales.ENGLISH,
|
|
143
|
-
Locales.FRENCH,
|
|
144
|
-
Locales.SPANISH,
|
|
145
|
-
// 您的其他语言环境
|
|
146
|
-
],
|
|
147
|
-
defaultLocale: Locales.ENGLISH,
|
|
148
|
-
},
|
|
149
|
-
routing: {
|
|
150
|
-
mode: "prefix-no-default", // 默认:除默认语言环境外,为所有语言环境添加前缀
|
|
151
|
-
storage: ["cookie", "header"], // 默认:在 cookie 中存储语言环境并从 header 中检测
|
|
152
|
-
},
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
export default config;
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
159
|
-
const { Locales } = require("intlayer");
|
|
160
|
-
|
|
161
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
162
|
-
const config = {
|
|
163
|
-
internationalization: {
|
|
164
|
-
locales: [
|
|
165
|
-
Locales.ENGLISH,
|
|
166
|
-
Locales.FRENCH,
|
|
167
|
-
Locales.SPANISH,
|
|
168
|
-
// 您的其他语言环境
|
|
169
|
-
],
|
|
170
|
-
defaultLocale: Locales.ENGLISH,
|
|
171
|
-
},
|
|
172
|
-
routing: {
|
|
173
|
-
mode: "prefix-no-default", // 默认:除默认语言环境外,为所有语言环境添加前缀
|
|
174
|
-
storage: ["cookie", "header"], // 默认:在 cookie 中存储语言环境并从 header 中检测
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
module.exports = config;
|
|
179
|
-
```
|
|
180
|
-
|
|
181
147
|
> 通过此配置文件,您可以设置本地化 URL、路由模式、存储选项、cookie 名称、内容声明的位置和扩展名、禁用控制台中的 Intlayer 日志等。有关可用参数的完整列表,请参阅 [配置文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)。
|
|
182
148
|
|
|
183
149
|
### 第 3 步:在 Vite 配置中集成 Intlayer
|
|
184
150
|
|
|
185
151
|
将 intlayer 插件添加到您的配置中。
|
|
186
152
|
|
|
187
|
-
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
153
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
188
154
|
import { defineConfig } from "vite";
|
|
189
155
|
import preact from "@preact/preset-vite";
|
|
190
156
|
import { intlayer } from "vite-intlayer";
|
|
@@ -195,35 +161,13 @@ export default defineConfig({
|
|
|
195
161
|
});
|
|
196
162
|
```
|
|
197
163
|
|
|
198
|
-
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
199
|
-
import { defineConfig } from "vite";
|
|
200
|
-
import preact from "@preact/preset-vite";
|
|
201
|
-
import { intlayer } from "vite-intlayer";
|
|
202
|
-
|
|
203
|
-
// https://vitejs.dev/config/
|
|
204
|
-
export default defineConfig({
|
|
205
|
-
plugins: [preact(), intlayer()],
|
|
206
|
-
});
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
```javascript fileName="vite.config.cjs" codeFormat="commonjs"
|
|
210
|
-
const { defineConfig } = require("vite");
|
|
211
|
-
const preact = require("@preact/preset-vite");
|
|
212
|
-
const { intlayer } = require("vite-intlayer");
|
|
213
|
-
|
|
214
|
-
// https://vitejs.dev/config/
|
|
215
|
-
module.exports = defineConfig({
|
|
216
|
-
plugins: [preact(), intlayer()],
|
|
217
|
-
});
|
|
218
|
-
```
|
|
219
|
-
|
|
220
164
|
> `intlayer()` Vite 插件用于将 Intlayer 与 Vite 集成。它确保构建内容声明文件并在开发模式下监视它们。它在 Vite 应用程序中定义了 Intlayer 环境变量。此外,它还提供别名以优化性能。
|
|
221
165
|
|
|
222
166
|
### 第 4 步:声明内容
|
|
223
167
|
|
|
224
168
|
创建并管理您的内容声明以存储翻译:
|
|
225
169
|
|
|
226
|
-
```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
|
|
170
|
+
```tsx fileName="src/app.content.tsx" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
227
171
|
import { t, type Dictionary } from "intlayer";
|
|
228
172
|
import type { ComponentChildren } from "preact";
|
|
229
173
|
|
|
@@ -278,94 +222,6 @@ const appContent = {
|
|
|
278
222
|
export default appContent;
|
|
279
223
|
```
|
|
280
224
|
|
|
281
|
-
```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
|
|
282
|
-
import { t } from "intlayer";
|
|
283
|
-
// import { h } from 'preact'; // 如果直接在 .mjs 中使用 JSX,则需要此行
|
|
284
|
-
|
|
285
|
-
/** @type {import('intlayer').Dictionary} */
|
|
286
|
-
const appContent = {
|
|
287
|
-
key: "app",
|
|
288
|
-
content: {
|
|
289
|
-
viteLogo: t({
|
|
290
|
-
en: "Vite logo",
|
|
291
|
-
fr: "Logo Vite",
|
|
292
|
-
es: "Logo Vite",
|
|
293
|
-
}),
|
|
294
|
-
preactLogo: t({
|
|
295
|
-
en: "Preact logo",
|
|
296
|
-
fr: "Logo Preact",
|
|
297
|
-
es: "Logo Preact",
|
|
298
|
-
}),
|
|
299
|
-
|
|
300
|
-
title: "Vite + Preact",
|
|
301
|
-
|
|
302
|
-
count: t({
|
|
303
|
-
en: "count is ",
|
|
304
|
-
fr: "le compte est ",
|
|
305
|
-
es: "el recuento es ",
|
|
306
|
-
}),
|
|
307
|
-
|
|
308
|
-
edit: t({
|
|
309
|
-
en: "Edit src/app.jsx and save to test HMR",
|
|
310
|
-
fr: "Éditez src/app.jsx et enregistrez pour tester HMR",
|
|
311
|
-
es: "Edita src/app.jsx y guarda para probar HMR",
|
|
312
|
-
}),
|
|
313
|
-
|
|
314
|
-
readTheDocs: t({
|
|
315
|
-
en: "Click on the Vite and Preact logos to learn more",
|
|
316
|
-
fr: "Cliquez sur les logos Vite et Preact pour en savoir plus",
|
|
317
|
-
es: "Haga clic en los logotipos de Vite y Preact para obtener más información",
|
|
318
|
-
}),
|
|
319
|
-
},
|
|
320
|
-
};
|
|
321
|
-
|
|
322
|
-
export default appContent;
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
|
|
326
|
-
const { t } = require("intlayer");
|
|
327
|
-
// const { h } = require('preact'); // 如果直接在 .cjs 中使用 JSX,则需要此行
|
|
328
|
-
|
|
329
|
-
/** @type {import('intlayer').Dictionary} */
|
|
330
|
-
const appContent = {
|
|
331
|
-
key: "app",
|
|
332
|
-
content: {
|
|
333
|
-
viteLogo: t({
|
|
334
|
-
en: "Vite logo",
|
|
335
|
-
fr: "Logo Vite",
|
|
336
|
-
es: "Logo Vite",
|
|
337
|
-
}),
|
|
338
|
-
preactLogo: t({
|
|
339
|
-
en: "Preact logo",
|
|
340
|
-
fr: "Logo Preact",
|
|
341
|
-
es: "Logo Preact",
|
|
342
|
-
}),
|
|
343
|
-
|
|
344
|
-
title: "Vite + Preact",
|
|
345
|
-
|
|
346
|
-
count: t({
|
|
347
|
-
en: "count is ",
|
|
348
|
-
fr: "le compte est ",
|
|
349
|
-
es: "el recuento es ",
|
|
350
|
-
}),
|
|
351
|
-
|
|
352
|
-
edit: t({
|
|
353
|
-
en: "Edit src/app.tsx and save to test HMR",
|
|
354
|
-
fr: "Éditez src/app.tsx et enregistrez pour tester HMR",
|
|
355
|
-
es: "Edita src/app.tsx y guarda para probar HMR",
|
|
356
|
-
}),
|
|
357
|
-
|
|
358
|
-
readTheDocs: t({
|
|
359
|
-
en: "Click on the Vite and Preact logos to learn more",
|
|
360
|
-
fr: "Cliquez sur les logos Vite et Preact pour en savoir plus",
|
|
361
|
-
es: "Haga clic en los logotipos de Vite et Preact pour en savoir plus",
|
|
362
|
-
}),
|
|
363
|
-
},
|
|
364
|
-
};
|
|
365
|
-
|
|
366
|
-
module.exports = appContent;
|
|
367
|
-
```
|
|
368
|
-
|
|
369
225
|
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
370
226
|
{
|
|
371
227
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -433,7 +289,7 @@ module.exports = appContent;
|
|
|
433
289
|
|
|
434
290
|
在整个应用程序中访问您的内容字典:
|
|
435
291
|
|
|
436
|
-
```tsx {6,10} fileName="src/app.tsx" codeFormat="typescript"
|
|
292
|
+
```tsx {6,10} fileName="src/app.tsx" codeFormat={["typescript", "esm"]}
|
|
437
293
|
import { useState } from "preact/hooks";
|
|
438
294
|
import type { FunctionalComponent } from "preact";
|
|
439
295
|
import preactLogo from "./assets/preact.svg"; // 假设您有 preact.svg
|
|
@@ -487,100 +343,6 @@ const App: FunctionalComponent = () => (
|
|
|
487
343
|
export default App;
|
|
488
344
|
```
|
|
489
345
|
|
|
490
|
-
```jsx {5,9} fileName="src/app.jsx" codeFormat="esm"
|
|
491
|
-
import { useState } from "preact/hooks";
|
|
492
|
-
import preactLogo from "./assets/preact.svg";
|
|
493
|
-
import viteLogo from "/vite.svg";
|
|
494
|
-
import "./app.css";
|
|
495
|
-
import { IntlayerProvider, useIntlayer } from "preact-intlayer";
|
|
496
|
-
|
|
497
|
-
const AppContent = () => {
|
|
498
|
-
const [count, setCount] = useState(0);
|
|
499
|
-
const content = useIntlayer("app");
|
|
500
|
-
|
|
501
|
-
return (
|
|
502
|
-
<>
|
|
503
|
-
<div>
|
|
504
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
505
|
-
<img src={viteLogo} class="logo" alt={content.viteLogo.value} />
|
|
506
|
-
</a>
|
|
507
|
-
<a href="https://preactjs.com" target="_blank">
|
|
508
|
-
<img
|
|
509
|
-
src={preactLogo}
|
|
510
|
-
class="logo preact"
|
|
511
|
-
alt={content.preactLogo.value}
|
|
512
|
-
/>
|
|
513
|
-
</a>
|
|
514
|
-
</div>
|
|
515
|
-
<h1>{content.title}</h1>
|
|
516
|
-
<div class="card">
|
|
517
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
518
|
-
{content.count}
|
|
519
|
-
{count}
|
|
520
|
-
</button>
|
|
521
|
-
<p>{content.edit}</p>
|
|
522
|
-
</div>
|
|
523
|
-
<p class="read-the-docs">{content.readTheDocs}</p>
|
|
524
|
-
</>
|
|
525
|
-
);
|
|
526
|
-
};
|
|
527
|
-
|
|
528
|
-
const App = () => (
|
|
529
|
-
<IntlayerProvider>
|
|
530
|
-
<AppContent />
|
|
531
|
-
</IntlayerProvider>
|
|
532
|
-
);
|
|
533
|
-
|
|
534
|
-
export default App;
|
|
535
|
-
```
|
|
536
|
-
|
|
537
|
-
```jsx {5,9} fileName="src/app.cjsx" codeFormat="commonjs"
|
|
538
|
-
const { useState } = require("preact/hooks");
|
|
539
|
-
const preactLogo = require("./assets/preact.svg");
|
|
540
|
-
const viteLogo = require("/vite.svg");
|
|
541
|
-
require("./app.css");
|
|
542
|
-
const { IntlayerProvider, useIntlayer } = require("preact-intlayer");
|
|
543
|
-
|
|
544
|
-
const AppContent = () => {
|
|
545
|
-
const [count, setCount] = useState(0);
|
|
546
|
-
const content = useIntlayer("app");
|
|
547
|
-
|
|
548
|
-
return (
|
|
549
|
-
<>
|
|
550
|
-
<div>
|
|
551
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
552
|
-
<img src={viteLogo} class="logo" alt={content.viteLogo.value} />
|
|
553
|
-
</a>
|
|
554
|
-
<a href="https://preactjs.com" target="_blank">
|
|
555
|
-
<img
|
|
556
|
-
src={preactLogo}
|
|
557
|
-
class="logo preact"
|
|
558
|
-
alt={content.preactLogo.value}
|
|
559
|
-
/>
|
|
560
|
-
</a>
|
|
561
|
-
</div>
|
|
562
|
-
<h1>{content.title}</h1>
|
|
563
|
-
<div class="card">
|
|
564
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
565
|
-
{content.count}
|
|
566
|
-
{count}
|
|
567
|
-
</button>
|
|
568
|
-
<p>{content.edit}</p>
|
|
569
|
-
</div>
|
|
570
|
-
<p class="read-the-docs">{content.readTheDocs}</p>
|
|
571
|
-
</>
|
|
572
|
-
);
|
|
573
|
-
};
|
|
574
|
-
|
|
575
|
-
const App = () => (
|
|
576
|
-
<IntlayerProvider>
|
|
577
|
-
<AppContent />
|
|
578
|
-
</IntlayerProvider>
|
|
579
|
-
);
|
|
580
|
-
|
|
581
|
-
module.exports = App;
|
|
582
|
-
```
|
|
583
|
-
|
|
584
346
|
> 如果您想在字符串属性中使用您的内容,例如 `alt`、`title`、`href`、`aria-label` 等,您必须调用该函数的值,例如:
|
|
585
347
|
|
|
586
348
|
> ```jsx
|
|
@@ -597,7 +359,7 @@ module.exports = App;
|
|
|
597
359
|
|
|
598
360
|
要更改内容的语言,您可以使用 `useLocale` 钩子提供的 `setLocale` 函数。此函数允许您设置应用程序的语言环境并相应地更新内容。
|
|
599
361
|
|
|
600
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
362
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
601
363
|
import type { FunctionalComponent } from "preact";
|
|
602
364
|
import { Locales } from "intlayer";
|
|
603
365
|
import { useLocale } from "preact-intlayer";
|
|
@@ -615,40 +377,6 @@ const LocaleSwitcher: FunctionalComponent = () => {
|
|
|
615
377
|
export default LocaleSwitcher;
|
|
616
378
|
```
|
|
617
379
|
|
|
618
|
-
```jsx fileName="src/components/LocaleSwitcher.jsx" codeFormat="esm"
|
|
619
|
-
import { Locales } from "intlayer";
|
|
620
|
-
import { useLocale } from "preact-intlayer";
|
|
621
|
-
|
|
622
|
-
const LocaleSwitcher = () => {
|
|
623
|
-
const { setLocale } = useLocale();
|
|
624
|
-
|
|
625
|
-
return (
|
|
626
|
-
<button onClick={() => setLocale(Locales.ENGLISH)}>
|
|
627
|
-
Change Language to English
|
|
628
|
-
</button>
|
|
629
|
-
);
|
|
630
|
-
};
|
|
631
|
-
|
|
632
|
-
export default LocaleSwitcher;
|
|
633
|
-
```
|
|
634
|
-
|
|
635
|
-
```jsx fileName="src/components/LocaleSwitcher.cjsx" codeFormat="commonjs"
|
|
636
|
-
const { Locales } = require("intlayer");
|
|
637
|
-
const { useLocale } = require("preact-intlayer");
|
|
638
|
-
|
|
639
|
-
const LocaleSwitcher = () => {
|
|
640
|
-
const { setLocale } = useLocale();
|
|
641
|
-
|
|
642
|
-
return (
|
|
643
|
-
<button onClick={() => setLocale(Locales.ENGLISH)}>
|
|
644
|
-
Change Language to English
|
|
645
|
-
</button>
|
|
646
|
-
);
|
|
647
|
-
};
|
|
648
|
-
|
|
649
|
-
module.exports = LocaleSwitcher;
|
|
650
|
-
```
|
|
651
|
-
|
|
652
380
|
> 要了解有关 `useLocale` 钩子的更多信息,请参考 [文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/react-intlayer/useLocale.md)(`preact-intlayer` 的 API 类似)。
|
|
653
381
|
|
|
654
382
|
### (可选)步骤 7:为您的应用程序添加本地化路由
|
|
@@ -666,7 +394,7 @@ module.exports = LocaleSwitcher;
|
|
|
666
394
|
|
|
667
395
|
要为您的应用程序添加本地化路由,您可以创建一个 `LocaleRouter` 组件,该组件包裹您的应用程序路由并处理基于语言环境的路由。以下是使用 [preact-iso](https://github.com/preactjs/preact-iso) 的示例:
|
|
668
396
|
|
|
669
|
-
```tsx fileName="src/components/LocaleRouter.tsx"
|
|
397
|
+
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat={["typescript", "esm"]}
|
|
670
398
|
import { localeMap } from "intlayer";
|
|
671
399
|
import { IntlayerProvider } from "preact-intlayer";
|
|
672
400
|
import { LocationProvider, Router, Route } from "preact-iso";
|
|
@@ -697,115 +425,28 @@ export const LocaleRouter: FunctionalComponent<{
|
|
|
697
425
|
);
|
|
698
426
|
```
|
|
699
427
|
|
|
700
|
-
```jsx fileName="src/components/LocaleRouter.jsx" codeFormat="esm"
|
|
701
|
-
import { localeMap } from "intlayer";
|
|
702
|
-
import { IntlayerProvider } from "preact-intlayer";
|
|
703
|
-
import { LocationProvider, Router, Route } from "preact-iso";
|
|
704
|
-
|
|
705
|
-
/**
|
|
706
|
-
* 设置特定语言环境路由的路由组件。
|
|
707
|
-
* 它使用 preact-iso 管理导航并渲染本地化组件。
|
|
708
|
-
*/
|
|
709
|
-
export const LocaleRouter = ({ children }) => (
|
|
710
|
-
<LocationProvider>
|
|
711
|
-
<Router>
|
|
712
|
-
{localeMap(({ locale, urlPrefix }) => ({ locale, urlPrefix }))
|
|
713
|
-
.sort((a, b) => b.urlPrefix.length - a.urlPrefix.length)
|
|
714
|
-
.map(({ locale, urlPrefix }) => (
|
|
715
|
-
<Route
|
|
716
|
-
key={locale}
|
|
717
|
-
path={`${urlPrefix}/:rest*`}
|
|
718
|
-
component={() => (
|
|
719
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
720
|
-
)}
|
|
721
|
-
/>
|
|
722
|
-
))}
|
|
723
|
-
</Router>
|
|
724
|
-
</LocationProvider>
|
|
725
|
-
);
|
|
726
|
-
```
|
|
727
|
-
|
|
728
|
-
```jsx fileName="src/components/LocaleRouter.cjsx" codeFormat="commonjs"
|
|
729
|
-
const { localeMap } = require("intlayer");
|
|
730
|
-
const { IntlayerProvider } = require("preact-intlayer");
|
|
731
|
-
const { LocationProvider, Router, Route } = require("preact-iso");
|
|
732
|
-
|
|
733
|
-
/**
|
|
734
|
-
* 设置特定语言环境路由的路由组件。
|
|
735
|
-
* 它使用 preact-iso 管理导航并渲染本地化组件。
|
|
736
|
-
*/
|
|
737
|
-
const LocaleRouter = ({ children }) =>
|
|
738
|
-
h(
|
|
739
|
-
LocationProvider,
|
|
740
|
-
{},
|
|
741
|
-
h(
|
|
742
|
-
Router,
|
|
743
|
-
{},
|
|
744
|
-
localeMap(({ locale, urlPrefix }) => ({ locale, urlPrefix }))
|
|
745
|
-
.sort((a, b) => b.urlPrefix.length - a.urlPrefix.length)
|
|
746
|
-
.map(({ locale, urlPrefix }) =>
|
|
747
|
-
h(Route, {
|
|
748
|
-
key: locale,
|
|
749
|
-
path: `${urlPrefix}/:rest*`,
|
|
750
|
-
component: () => h(IntlayerProvider, { locale }, children),
|
|
751
|
-
})
|
|
752
|
-
)
|
|
753
|
-
)
|
|
754
|
-
);
|
|
755
|
-
|
|
756
|
-
module.exports = { LocaleRouter };
|
|
757
|
-
```
|
|
758
|
-
|
|
759
428
|
然后,您可以在应用程序中使用 `LocaleRouter` 组件:
|
|
760
429
|
|
|
761
|
-
```tsx fileName="src/app.tsx" codeFormat="typescript"
|
|
430
|
+
```tsx fileName="src/app.tsx" codeFormat={["typescript", "esm"]}
|
|
762
431
|
import { LocaleRouter } from "./components/LocaleRouter";
|
|
763
|
-
import type { FunctionalComponent } from "preact";
|
|
764
|
-
|
|
765
|
-
// ... 您的 AppContent 组件
|
|
766
|
-
|
|
767
|
-
const App: FunctionalComponent = () => (
|
|
768
|
-
<LocaleRouter>
|
|
769
|
-
<AppContent />
|
|
770
|
-
</LocaleRouter>
|
|
771
|
-
);
|
|
772
|
-
|
|
773
|
-
export default App;
|
|
774
|
-
```
|
|
775
|
-
|
|
776
|
-
```jsx fileName="src/app.jsx" codeFormat="esm"
|
|
777
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
778
|
-
|
|
779
|
-
// ... 您的 AppContent 组件
|
|
780
|
-
|
|
781
|
-
const App = () => (
|
|
782
|
-
<LocaleRouter>
|
|
783
|
-
<AppContent />
|
|
784
|
-
</LocaleRouter>
|
|
785
|
-
);
|
|
786
|
-
|
|
787
|
-
export default App;
|
|
788
|
-
```
|
|
789
|
-
|
|
790
|
-
```jsx fileName="src/app.cjsx" codeFormat="commonjs"
|
|
791
|
-
const { LocaleRouter } = require("./components/LocaleRouter");
|
|
432
|
+
import type { FunctionalComponent } from "preact";
|
|
792
433
|
|
|
793
434
|
// ... 您的 AppContent 组件
|
|
794
435
|
|
|
795
|
-
const App = () => (
|
|
436
|
+
const App: FunctionalComponent = () => (
|
|
796
437
|
<LocaleRouter>
|
|
797
438
|
<AppContent />
|
|
798
439
|
</LocaleRouter>
|
|
799
440
|
);
|
|
800
441
|
|
|
801
|
-
|
|
442
|
+
export default App;
|
|
802
443
|
```
|
|
803
444
|
|
|
804
445
|
### (可选)步骤 8:在语言环境更改时更改 URL
|
|
805
446
|
|
|
806
447
|
要在语言环境更改时更改 URL,可以使用 `useLocale` 钩子提供的 `onLocaleChange` 属性。同时,您可以使用 `preact-iso` 中 `useLocation` 的 `route` 方法来更新 URL 路径。
|
|
807
448
|
|
|
808
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
449
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
809
450
|
import { useLocation } from "preact-iso";
|
|
810
451
|
import {
|
|
811
452
|
Locales,
|
|
@@ -871,118 +512,6 @@ const LocaleSwitcher: FunctionalComponent = () => {
|
|
|
871
512
|
export default LocaleSwitcher;
|
|
872
513
|
```
|
|
873
514
|
|
|
874
|
-
```jsx fileName="src/components/LocaleSwitcher.jsx" codeFormat="esm"
|
|
875
|
-
import { useLocation } from "preact-iso";
|
|
876
|
-
import {
|
|
877
|
-
Locales,
|
|
878
|
-
getHTMLTextDir,
|
|
879
|
-
getLocaleName,
|
|
880
|
-
getLocalizedUrl,
|
|
881
|
-
} from "intlayer";
|
|
882
|
-
import { useLocale } from "preact-intlayer";
|
|
883
|
-
|
|
884
|
-
const LocaleSwitcher = () => {
|
|
885
|
-
const { url, route } = useLocation();
|
|
886
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
887
|
-
onLocaleChange: (newLocale) => {
|
|
888
|
-
const pathWithLocale = getLocalizedUrl(url, newLocale);
|
|
889
|
-
route(pathWithLocale, true);
|
|
890
|
-
},
|
|
891
|
-
});
|
|
892
|
-
|
|
893
|
-
return (
|
|
894
|
-
<div>
|
|
895
|
-
<button popovertarget="localePopover">{getLocaleName(locale)}</button>
|
|
896
|
-
<div id="localePopover" popover="auto">
|
|
897
|
-
{availableLocales.map((localeItem) => (
|
|
898
|
-
<a
|
|
899
|
-
href={getLocalizedUrl(url, localeItem)}
|
|
900
|
-
hreflang={localeItem}
|
|
901
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
902
|
-
onClick={(e) => {
|
|
903
|
-
e.preventDefault();
|
|
904
|
-
setLocale(localeItem);
|
|
905
|
-
}}
|
|
906
|
-
key={localeItem}
|
|
907
|
-
>
|
|
908
|
-
<span>{localeItem}</span>
|
|
909
|
-
<span>{getLocaleName(localeItem, localeItem)}</span>
|
|
910
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
911
|
-
{getLocaleName(localeItem, locale)}
|
|
912
|
-
</span>
|
|
913
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
914
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
915
|
-
</span>
|
|
916
|
-
</a>
|
|
917
|
-
))}
|
|
918
|
-
</div>
|
|
919
|
-
</div>
|
|
920
|
-
);
|
|
921
|
-
};
|
|
922
|
-
|
|
923
|
-
export default LocaleSwitcher;
|
|
924
|
-
```
|
|
925
|
-
|
|
926
|
-
```jsx fileName="src/components/LocaleSwitcher.cjsx" codeFormat="commonjs"
|
|
927
|
-
const { useLocation } = require("preact-iso");
|
|
928
|
-
const {
|
|
929
|
-
Locales,
|
|
930
|
-
getHTMLTextDir,
|
|
931
|
-
getLocaleName,
|
|
932
|
-
getLocalizedUrl,
|
|
933
|
-
} = require("intlayer");
|
|
934
|
-
const { useLocale } = require("preact-intlayer");
|
|
935
|
-
|
|
936
|
-
const LocaleSwitcher = () => {
|
|
937
|
-
const { url, route } = useLocation();
|
|
938
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
939
|
-
onLocaleChange: (newLocale) => {
|
|
940
|
-
const pathWithLocale = getLocalizedUrl(url, newLocale);
|
|
941
|
-
route(pathWithLocale, true);
|
|
942
|
-
},
|
|
943
|
-
});
|
|
944
|
-
|
|
945
|
-
return h(
|
|
946
|
-
"div",
|
|
947
|
-
{},
|
|
948
|
-
h("button", { popovertarget: "localePopover" }, getLocaleName(locale)),
|
|
949
|
-
h(
|
|
950
|
-
"div",
|
|
951
|
-
{ id: "localePopover", popover: "auto" },
|
|
952
|
-
availableLocales.map((localeItem) =>
|
|
953
|
-
h(
|
|
954
|
-
"a",
|
|
955
|
-
{
|
|
956
|
-
href: getLocalizedUrl(url, localeItem),
|
|
957
|
-
hreflang: localeItem,
|
|
958
|
-
"aria-current": locale === localeItem ? "page" : undefined,
|
|
959
|
-
onClick: (e) => {
|
|
960
|
-
e.preventDefault();
|
|
961
|
-
setLocale(localeItem);
|
|
962
|
-
},
|
|
963
|
-
key: localeItem,
|
|
964
|
-
},
|
|
965
|
-
h("span", {}, localeItem),
|
|
966
|
-
h("span", {}, getLocaleName(localeItem, localeItem)),
|
|
967
|
-
h(
|
|
968
|
-
"span",
|
|
969
|
-
{ dir: getHTMLTextDir(localeItem), lang: localeItem },
|
|
970
|
-
getLocaleName(localeItem, locale)
|
|
971
|
-
),
|
|
972
|
-
h(
|
|
973
|
-
"span",
|
|
974
|
-
{ dir: "ltr", lang: Locales.ENGLISH },
|
|
975
|
-
getLocaleName(localeItem, Locales.ENGLISH)
|
|
976
|
-
)
|
|
977
|
-
)
|
|
978
|
-
)
|
|
979
|
-
)
|
|
980
|
-
);
|
|
981
|
-
};
|
|
982
|
-
|
|
983
|
-
module.exports = LocaleSwitcher;
|
|
984
|
-
```
|
|
985
|
-
|
|
986
515
|
> 文档参考:
|
|
987
516
|
>
|
|
988
517
|
> > - [`useLocale` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/react-intlayer/useLocale.md)(`preact-intlayer` 的 API 类似)> - [`getLocaleName` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/intlayer/getLocaleName.md)> - [`getLocalizedUrl` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/intlayer/getLocalizedUrl.md)> - [`getHTMLTextDir` 钩子](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/intlayer/getHTMLTextDir.md)> - [`hreflang` 属性](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=fr)> - [`lang` 属性](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/lang)> - [`dir` 属性](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/dir)> - [`aria-current` 属性](https://developer.mozilla.org/zh-CN/docs/Web/Accessibility/ARIA/Attributes/aria-current)> - [Popover API](https://developer.mozilla.org/zh-CN/docs/Web/API/Popover_API)
|
|
@@ -1001,7 +530,7 @@ module.exports = LocaleSwitcher;
|
|
|
1001
530
|
|
|
1002
531
|
创建一个自定义钩子来管理 HTML 属性。该钩子监听语言环境更改并相应地更新属性:
|
|
1003
532
|
|
|
1004
|
-
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
|
|
533
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
1005
534
|
import { useEffect } from "preact/hooks";
|
|
1006
535
|
import { useLocale } from "preact-intlayer";
|
|
1007
536
|
import { getHTMLTextDir } from "intlayer";
|
|
@@ -1026,49 +555,11 @@ export const useI18nHTMLAttributes = () => {
|
|
|
1026
555
|
};
|
|
1027
556
|
```
|
|
1028
557
|
|
|
1029
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.jsx" codeFormat="esm"
|
|
1030
|
-
import { useEffect } from "preact/hooks";
|
|
1031
|
-
import { useLocale } from "preact-intlayer";
|
|
1032
|
-
import { getHTMLTextDir } from "intlayer";
|
|
1033
|
-
|
|
1034
|
-
/**
|
|
1035
|
-
* 根据当前语言环境更新 HTML <html> 元素的 `lang` 和 `dir` 属性。
|
|
1036
|
-
*/
|
|
1037
|
-
export const useI18nHTMLAttributes = () => {
|
|
1038
|
-
const { locale } = useLocale();
|
|
1039
|
-
|
|
1040
|
-
useEffect(() => {
|
|
1041
|
-
document.documentElement.lang = locale;
|
|
1042
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1043
|
-
}, [locale]);
|
|
1044
|
-
};
|
|
1045
|
-
```
|
|
1046
|
-
|
|
1047
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.cjsx" codeFormat="commonjs"
|
|
1048
|
-
const { useEffect } = require("preact/hooks");
|
|
1049
|
-
const { useLocale } = require("preact-intlayer");
|
|
1050
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
1051
|
-
|
|
1052
|
-
/**
|
|
1053
|
-
* 根据当前语言环境更新 HTML <html> 元素的 `lang` 和 `dir` 属性。
|
|
1054
|
-
*/
|
|
1055
|
-
const useI18nHTMLAttributes = () => {
|
|
1056
|
-
const { locale } = useLocale();
|
|
1057
|
-
|
|
1058
|
-
useEffect(() => {
|
|
1059
|
-
document.documentElement.lang = locale;
|
|
1060
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1061
|
-
}, [locale]);
|
|
1062
|
-
};
|
|
1063
|
-
|
|
1064
|
-
module.exports = { useI18nHTMLAttributes };
|
|
1065
|
-
```
|
|
1066
|
-
|
|
1067
558
|
#### 在应用程序中使用钩子
|
|
1068
559
|
|
|
1069
560
|
将钩子集成到您的主组件中,以便在语言环境更改时更新 HTML 属性:
|
|
1070
561
|
|
|
1071
|
-
```tsx fileName="src/app.tsx" codeFormat="typescript"
|
|
562
|
+
```tsx fileName="src/app.tsx" codeFormat={["typescript", "esm"]}
|
|
1072
563
|
import type { FunctionalComponent } from "preact";
|
|
1073
564
|
import { IntlayerProvider } from "preact-intlayer"; // 如果 AppContent 需要,useIntlayer 已导入
|
|
1074
565
|
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
@@ -1092,46 +583,6 @@ const App: FunctionalComponent = () => (
|
|
|
1092
583
|
export default App;
|
|
1093
584
|
```
|
|
1094
585
|
|
|
1095
|
-
```jsx fileName="src/app.jsx" codeFormat="esm"
|
|
1096
|
-
import { IntlayerProvider } from "preact-intlayer";
|
|
1097
|
-
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
1098
|
-
import "./app.css";
|
|
1099
|
-
// 第 5 步中的 AppContent 定义
|
|
1100
|
-
|
|
1101
|
-
const AppWithHooks = () => {
|
|
1102
|
-
useI18nHTMLAttributes();
|
|
1103
|
-
return <AppContent />;
|
|
1104
|
-
};
|
|
1105
|
-
|
|
1106
|
-
const App = () => (
|
|
1107
|
-
<IntlayerProvider>
|
|
1108
|
-
<AppWithHooks />
|
|
1109
|
-
</IntlayerProvider>
|
|
1110
|
-
);
|
|
1111
|
-
|
|
1112
|
-
export default App;
|
|
1113
|
-
```
|
|
1114
|
-
|
|
1115
|
-
```jsx fileName="src/app.cjsx" codeFormat="commonjs"
|
|
1116
|
-
const { IntlayerProvider } = require("preact-intlayer");
|
|
1117
|
-
const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
|
|
1118
|
-
require("./app.css");
|
|
1119
|
-
// 第 5 步中的 AppContent 定义
|
|
1120
|
-
|
|
1121
|
-
const AppWithHooks = () => {
|
|
1122
|
-
useI18nHTMLAttributes();
|
|
1123
|
-
return <AppContent />;
|
|
1124
|
-
};
|
|
1125
|
-
|
|
1126
|
-
const App = () => (
|
|
1127
|
-
<IntlayerProvider>
|
|
1128
|
-
<AppWithHooks />
|
|
1129
|
-
</IntlayerProvider>
|
|
1130
|
-
);
|
|
1131
|
-
|
|
1132
|
-
module.exports = App;
|
|
1133
|
-
```
|
|
1134
|
-
|
|
1135
586
|
### (可选)第 10 步:创建本地化链接组件
|
|
1136
587
|
|
|
1137
588
|
为了确保您的应用程序导航尊重当前语言环境,您可以创建一个自定义 `Link` 组件。此组件会自动为内部 URL 添加当前语言前缀。
|
|
@@ -1144,7 +595,7 @@ module.exports = App;
|
|
|
1144
595
|
|
|
1145
596
|
以下是 Preact 中本地化 `Link` 组件的实现:
|
|
1146
597
|
|
|
1147
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
598
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1148
599
|
import { getLocalizedUrl } from "intlayer";
|
|
1149
600
|
import { useLocale } from "preact-intlayer";
|
|
1150
601
|
import { forwardRef } from "preact/compat";
|
|
@@ -1186,80 +637,6 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
1186
637
|
Link.displayName = "Link";
|
|
1187
638
|
```
|
|
1188
639
|
|
|
1189
|
-
```jsx fileName="src/components/Link.jsx" codeFormat="esm"
|
|
1190
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1191
|
-
import { useLocale } from "preact-intlayer";
|
|
1192
|
-
import { forwardRef } from "preact/compat";
|
|
1193
|
-
|
|
1194
|
-
/**
|
|
1195
|
-
* 检查给定 URL 是否为外部链接的实用函数。
|
|
1196
|
-
* 如果 URL 以 http:// 或 https:// 开头,则被视为外部链接。
|
|
1197
|
-
*/
|
|
1198
|
-
export const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1199
|
-
|
|
1200
|
-
/**
|
|
1201
|
-
* 一个自定义 Link 组件,根据当前语言环境自适应 href 属性。
|
|
1202
|
-
* 对于内部链接,它使用 `getLocalizedUrl` 为 URL 添加语言环境前缀(例如 /fr/about)。
|
|
1203
|
-
* 这确保了导航保持在同一语言环境上下文中。
|
|
1204
|
-
*/
|
|
1205
|
-
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1206
|
-
const { locale } = useLocale();
|
|
1207
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1208
|
-
|
|
1209
|
-
// 如果链接是内部的且提供了有效的 href,则获取本地化 URL。
|
|
1210
|
-
const hrefI18n =
|
|
1211
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1212
|
-
|
|
1213
|
-
return (
|
|
1214
|
-
<a href={hrefI18n} ref={ref} {...props}>
|
|
1215
|
-
{children}
|
|
1216
|
-
</a>
|
|
1217
|
-
);
|
|
1218
|
-
});
|
|
1219
|
-
|
|
1220
|
-
Link.displayName = "Link";
|
|
1221
|
-
```
|
|
1222
|
-
|
|
1223
|
-
```jsx fileName="src/components/Link.cjsx" codeFormat="commonjs"
|
|
1224
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1225
|
-
const { useLocale } = require("preact-intlayer");
|
|
1226
|
-
const { forwardRef } = require("preact/compat");
|
|
1227
|
-
|
|
1228
|
-
/**
|
|
1229
|
-
* 检查给定 URL 是否为外部链接的实用函数。
|
|
1230
|
-
* 如果 URL 以 http:// 或 https:// 开头,则被视为外部链接。
|
|
1231
|
-
*/
|
|
1232
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1233
|
-
|
|
1234
|
-
/**
|
|
1235
|
-
* 一个自定义 Link 组件,根据当前语言环境自适应 href 属性。
|
|
1236
|
-
* 对于内部链接,它使用 `getLocalizedUrl` 为 URL 添加语言环境前缀(例如 /fr/about)。
|
|
1237
|
-
* 这确保了导航保持在同一语言环境上下文中。
|
|
1238
|
-
*/
|
|
1239
|
-
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1240
|
-
const { locale } = useLocale();
|
|
1241
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1242
|
-
|
|
1243
|
-
// 如果链接是内部的且提供了有效的 href,则获取本地化 URL。
|
|
1244
|
-
const hrefI18n =
|
|
1245
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1246
|
-
|
|
1247
|
-
return h(
|
|
1248
|
-
"a",
|
|
1249
|
-
{
|
|
1250
|
-
href: hrefI18n,
|
|
1251
|
-
ref: ref,
|
|
1252
|
-
...props,
|
|
1253
|
-
},
|
|
1254
|
-
children
|
|
1255
|
-
);
|
|
1256
|
-
});
|
|
1257
|
-
|
|
1258
|
-
Link.displayName = "Link";
|
|
1259
|
-
|
|
1260
|
-
module.exports = { Link, checkIsExternalLink };
|
|
1261
|
-
```
|
|
1262
|
-
|
|
1263
640
|
#### 工作原理
|
|
1264
641
|
|
|
1265
642
|
- **检测外部链接**:
|
|
@@ -1369,7 +746,7 @@ Intlayer 使用模块增强来利用 TypeScript 的优势,使您的代码库
|
|
|
1369
746
|
|
|
1370
747
|
要进行设置,您可以在 `intlayer.config.ts` 文件中添加 `compiler` 部分:
|
|
1371
748
|
|
|
1372
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
749
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1373
750
|
import { type IntlayerConfig } from "intlayer";
|
|
1374
751
|
|
|
1375
752
|
const config: IntlayerConfig = {
|
|
@@ -1400,66 +777,6 @@ const config: IntlayerConfig = {
|
|
|
1400
777
|
export default config;
|
|
1401
778
|
```
|
|
1402
779
|
|
|
1403
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1404
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1405
|
-
const config = {
|
|
1406
|
-
// ... 您的其他配置
|
|
1407
|
-
compiler: {
|
|
1408
|
-
/**
|
|
1409
|
-
* 指示是否应启用编译器。
|
|
1410
|
-
*/
|
|
1411
|
-
enabled: true,
|
|
1412
|
-
|
|
1413
|
-
/**
|
|
1414
|
-
* 定义输出文件路径
|
|
1415
|
-
*/
|
|
1416
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1417
|
-
|
|
1418
|
-
/**
|
|
1419
|
-
* 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
|
|
1420
|
-
*/
|
|
1421
|
-
saveComponents: false,
|
|
1422
|
-
|
|
1423
|
-
/**
|
|
1424
|
-
* 字典键前缀
|
|
1425
|
-
*/
|
|
1426
|
-
dictionaryKeyPrefix: "",
|
|
1427
|
-
},
|
|
1428
|
-
};
|
|
1429
|
-
|
|
1430
|
-
export default config;
|
|
1431
|
-
```
|
|
1432
|
-
|
|
1433
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1434
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1435
|
-
const config = {
|
|
1436
|
-
// ... 您的其他配置
|
|
1437
|
-
compiler: {
|
|
1438
|
-
/**
|
|
1439
|
-
* 指示是否应启用编译器。
|
|
1440
|
-
*/
|
|
1441
|
-
enabled: true,
|
|
1442
|
-
|
|
1443
|
-
/**
|
|
1444
|
-
* 定义输出文件路径
|
|
1445
|
-
*/
|
|
1446
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1447
|
-
|
|
1448
|
-
/**
|
|
1449
|
-
* 指示在转换后是否应保存组件。这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
|
|
1450
|
-
*/
|
|
1451
|
-
saveComponents: false,
|
|
1452
|
-
|
|
1453
|
-
/**
|
|
1454
|
-
* 字典键前缀
|
|
1455
|
-
*/
|
|
1456
|
-
dictionaryKeyPrefix: "",
|
|
1457
|
-
},
|
|
1458
|
-
};
|
|
1459
|
-
|
|
1460
|
-
module.exports = config;
|
|
1461
|
-
```
|
|
1462
|
-
|
|
1463
780
|
<Tabs>
|
|
1464
781
|
<Tab value='提取命令'>
|
|
1465
782
|
|
|
@@ -1517,6 +834,80 @@ bun run build # Or bun run dev
|
|
|
1517
834
|
</Tab>
|
|
1518
835
|
</Tabs>
|
|
1519
836
|
|
|
837
|
+
### (可选)站点地图与 robots.txt(构建时生成)
|
|
838
|
+
|
|
839
|
+
Intlayer 提供 `generateSitemap` 与 `getMultilingualUrls`,可将面向爬虫的多语言 `sitemap.xml` 和 `robots.txt` 格式化并自动写入 `public/`。实践中在 Vite **之前**运行小型 Node 脚本(例如 npm 的 `predev` / `prebuild`)即可在构建或开发时生成这些文件。
|
|
840
|
+
|
|
841
|
+
#### 站点地图
|
|
842
|
+
|
|
843
|
+
Intlayer 的站点地图生成会尊重你的语言配置,并包含爬虫所需的元数据。
|
|
844
|
+
|
|
845
|
+
> 生成的站点地图支持 `xhtml:link`(hreflang)。与只列出扁平 URL 不同,Intlayer 会在各语言版本之间建立双向关联(例如 `/about`、`/fr/about` 或 `/about?lang=fr`,取决于路由模式)。
|
|
846
|
+
|
|
847
|
+
#### Robots.txt
|
|
848
|
+
|
|
849
|
+
使用 `getMultilingualUrls`,使 `Disallow` 覆盖敏感路径的每一种本地化写法。
|
|
850
|
+
|
|
851
|
+
#### 1. 在项目根目录添加 `generate-seo.mjs`
|
|
852
|
+
|
|
853
|
+
```javascript fileName="generate-seo.mjs"
|
|
854
|
+
import fs from "fs";
|
|
855
|
+
import path from "path";
|
|
856
|
+
import { fileURLToPath } from "url";
|
|
857
|
+
import { generateSitemap, getMultilingualUrls } from "intlayer";
|
|
858
|
+
|
|
859
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
860
|
+
|
|
861
|
+
const SITE_URL = (process.env.SITE_URL || "http://localhost:5173").replace(
|
|
862
|
+
/\/$/,
|
|
863
|
+
""
|
|
864
|
+
);
|
|
865
|
+
|
|
866
|
+
const pathList = [
|
|
867
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
868
|
+
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
869
|
+
];
|
|
870
|
+
|
|
871
|
+
const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
|
|
872
|
+
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
873
|
+
|
|
874
|
+
const getAllMultilingualUrls = (urls) =>
|
|
875
|
+
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
876
|
+
|
|
877
|
+
const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
|
|
878
|
+
|
|
879
|
+
const robotsTxt = [
|
|
880
|
+
"User-agent: *",
|
|
881
|
+
"Allow: /",
|
|
882
|
+
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
883
|
+
"",
|
|
884
|
+
`Sitemap: ${SITE_URL}/sitemap.xml`,
|
|
885
|
+
].join("\n");
|
|
886
|
+
|
|
887
|
+
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
888
|
+
|
|
889
|
+
console.log("SEO files generated successfully.");
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
需已安装 `intlayer` 以便脚本导入。生产环境请设置环境变量 `SITE_URL`(例如在 CI 中)。
|
|
893
|
+
|
|
894
|
+
> 建议在 Node 中使用 `generate-seo.mjs`(ESM)。若使用 `generate-seo.js`,请在 `package.json` 中设置 `"type": "module"` 或以其他方式启用 ESM。
|
|
895
|
+
|
|
896
|
+
#### 2. 在运行 Vite 之前执行脚本
|
|
897
|
+
|
|
898
|
+
```json fileName="package.json"
|
|
899
|
+
{
|
|
900
|
+
"scripts": {
|
|
901
|
+
"dev": "vite",
|
|
902
|
+
"prebuild": "node generate-seo.mjs",
|
|
903
|
+
"build": "vite build",
|
|
904
|
+
"preview": "vite preview"
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
若使用 pnpm 或 yarn,请相应调整命令;也可在 CI 或其他步骤中调用该脚本。
|
|
910
|
+
|
|
1520
911
|
### 深入了解
|
|
1521
912
|
|
|
1522
913
|
要进一步了解,您可以实现 [可视化编辑器](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_visual_editor.md) 或使用 [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_CMS.md) 将内容外部化。
|