@intlayer/docs 8.7.6 → 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
|
@@ -16,6 +16,7 @@ slugs:
|
|
|
16
16
|
- environment
|
|
17
17
|
- vite-and-react
|
|
18
18
|
applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
|
|
19
|
+
applicationShowcase: https://intlayer-vite-react-template.vercel.app
|
|
19
20
|
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
|
|
20
21
|
history:
|
|
21
22
|
- version: 7.5.9
|
|
@@ -56,13 +57,24 @@ Con Intlayer, puedes:
|
|
|
56
57
|
<Tab label="Code" value="code">
|
|
57
58
|
|
|
58
59
|
<iframe
|
|
59
|
-
src="https://
|
|
60
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-vite-react-template?file=intlayer.config.ts"
|
|
60
61
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
61
62
|
title="Demo CodeSandbox - Cómo internacionalizar tu aplicación usando Intlayer"
|
|
62
63
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
63
64
|
loading="lazy"
|
|
64
65
|
/>
|
|
65
66
|
|
|
67
|
+
</Tab>
|
|
68
|
+
<Tab label="Demo" value="demo">
|
|
69
|
+
|
|
70
|
+
<iframe
|
|
71
|
+
src="https://intlayer-vite-react-template.vercel.app"
|
|
72
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
73
|
+
title="Demo — intlayer-vite-react-template"
|
|
74
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
75
|
+
loading="lazy"
|
|
76
|
+
/>
|
|
77
|
+
|
|
66
78
|
</Tab>
|
|
67
79
|
</Tabs>
|
|
68
80
|
|
|
@@ -109,7 +121,7 @@ bun x intlayer init
|
|
|
109
121
|
|
|
110
122
|
Crea un archivo de configuración para configurar los idiomas de tu aplicación:
|
|
111
123
|
|
|
112
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
124
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
113
125
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
114
126
|
|
|
115
127
|
const config: IntlayerConfig = {
|
|
@@ -127,62 +139,13 @@ const config: IntlayerConfig = {
|
|
|
127
139
|
export default config;
|
|
128
140
|
```
|
|
129
141
|
|
|
130
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
131
|
-
import { Locales } from "intlayer";
|
|
132
|
-
|
|
133
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
134
|
-
const config = {
|
|
135
|
-
internationalization: {
|
|
136
|
-
locales: [
|
|
137
|
-
Locales.ENGLISH,
|
|
138
|
-
Locales.FRENCH,
|
|
139
|
-
Locales.SPANISH,
|
|
140
|
-
// Tus otros idiomas
|
|
141
|
-
],
|
|
142
|
-
defaultLocale: Locales.ENGLISH,
|
|
143
|
-
},
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
export default config;
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
150
|
-
const { Locales } = require("intlayer");
|
|
151
|
-
|
|
152
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
153
|
-
const config = {
|
|
154
|
-
internationalization: {
|
|
155
|
-
locales: [
|
|
156
|
-
Locales.ENGLISH,
|
|
157
|
-
Locales.FRENCH,
|
|
158
|
-
Locales.SPANISH,
|
|
159
|
-
// Tus otros idiomas
|
|
160
|
-
],
|
|
161
|
-
defaultLocale: Locales.ENGLISH,
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
module.exports = config;
|
|
166
|
-
```
|
|
167
|
-
|
|
168
142
|
> A través de este archivo de configuración, puedes configurar URLs localizadas, redirección de middleware, nombres de cookies, la ubicación y extensión de tus declaraciones de contenido, desactivar los registros de Intlayer en la consola, y más. Para una lista completa de los parámetros disponibles, consulta la [documentación de configuración](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md).
|
|
169
143
|
|
|
170
144
|
### Paso 3: Integra Intlayer en tu configuración de Vite
|
|
171
145
|
|
|
172
146
|
Agrega el plugin intlayer en tu configuración.
|
|
173
147
|
|
|
174
|
-
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
175
|
-
import { defineConfig } from "vite";
|
|
176
|
-
import react from "@vitejs/plugin-react-swc";
|
|
177
|
-
import { intlayer } from "vite-intlayer";
|
|
178
|
-
|
|
179
|
-
// https://vitejs.dev/config/
|
|
180
|
-
export default defineConfig({
|
|
181
|
-
plugins: [react(), intlayer()],
|
|
182
|
-
});
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
148
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
186
149
|
import { defineConfig } from "vite";
|
|
187
150
|
import react from "@vitejs/plugin-react-swc";
|
|
188
151
|
import { intlayer } from "vite-intlayer";
|
|
@@ -193,24 +156,13 @@ export default defineConfig({
|
|
|
193
156
|
});
|
|
194
157
|
```
|
|
195
158
|
|
|
196
|
-
```javascript fileName="vite.config.cjs" codeFormat="commonjs"
|
|
197
|
-
const { defineConfig } = require("vite");
|
|
198
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
199
|
-
const { intlayer } = require("vite-intlayer");
|
|
200
|
-
|
|
201
|
-
// https://vitejs.dev/config/
|
|
202
|
-
module.exports = defineConfig({
|
|
203
|
-
plugins: [react(), intlayer()],
|
|
204
|
-
});
|
|
205
|
-
```
|
|
206
|
-
|
|
207
159
|
> El plugin `intlayer()` de Vite se utiliza para integrar Intlayer con Vite. Garantiza la construcción de archivos de declaración de contenido y los supervisa en modo de desarrollo. Define variables de entorno de Intlayer dentro de la aplicación Vite. Además, proporciona alias para optimizar el rendimiento.
|
|
208
160
|
|
|
209
161
|
### Paso 4: Declara Tu Contenido
|
|
210
162
|
|
|
211
163
|
Crea y administra tus declaraciones de contenido para almacenar traducciones:
|
|
212
164
|
|
|
213
|
-
```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
|
|
165
|
+
```tsx fileName="src/app.content.tsx" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
214
166
|
import { t, type Dictionary } from "intlayer";
|
|
215
167
|
import type { ReactNode } from "react";
|
|
216
168
|
|
|
@@ -265,124 +217,6 @@ const appContent = {
|
|
|
265
217
|
export default appContent;
|
|
266
218
|
```
|
|
267
219
|
|
|
268
|
-
```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
|
|
269
|
-
import { t } from "intlayer";
|
|
270
|
-
|
|
271
|
-
/** @type {import('intlayer').Dictionary} */
|
|
272
|
-
const appContent = {
|
|
273
|
-
key: "app",
|
|
274
|
-
content: {
|
|
275
|
-
viteLogo: t({
|
|
276
|
-
en: "Vite logo",
|
|
277
|
-
fr: "Logo Vite",
|
|
278
|
-
es: "Logo Vite",
|
|
279
|
-
}),
|
|
280
|
-
reactLogo: t({
|
|
281
|
-
en: "React logo",
|
|
282
|
-
fr: "Logo React",
|
|
283
|
-
es: "Logo React",
|
|
284
|
-
}),
|
|
285
|
-
|
|
286
|
-
title: "Vite + React",
|
|
287
|
-
|
|
288
|
-
count: t({
|
|
289
|
-
en: "count is ",
|
|
290
|
-
fr: "le compte est ",
|
|
291
|
-
es: "el recuento es ",
|
|
292
|
-
}),
|
|
293
|
-
|
|
294
|
-
edit:
|
|
295
|
-
t <
|
|
296
|
-
ReactNode >
|
|
297
|
-
{
|
|
298
|
-
// No olvides importar React si usas un nodo React en tu contenido
|
|
299
|
-
en: (
|
|
300
|
-
<>
|
|
301
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
302
|
-
</>
|
|
303
|
-
),
|
|
304
|
-
fr: (
|
|
305
|
-
<>
|
|
306
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
307
|
-
</>
|
|
308
|
-
),
|
|
309
|
-
es: (
|
|
310
|
-
<>
|
|
311
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
312
|
-
</>
|
|
313
|
-
),
|
|
314
|
-
},
|
|
315
|
-
|
|
316
|
-
readTheDocs: t({
|
|
317
|
-
en: "Click on the Vite and React logos to learn more",
|
|
318
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
319
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
320
|
-
}),
|
|
321
|
-
},
|
|
322
|
-
};
|
|
323
|
-
|
|
324
|
-
export default appContent;
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
|
|
328
|
-
const { t } = require("intlayer");
|
|
329
|
-
|
|
330
|
-
/** @type {import('intlayer').Dictionary} */
|
|
331
|
-
const appContent = {
|
|
332
|
-
key: "app",
|
|
333
|
-
content: {
|
|
334
|
-
viteLogo: t({
|
|
335
|
-
en: "Vite logo",
|
|
336
|
-
fr: "Logo Vite",
|
|
337
|
-
es: "Logo Vite",
|
|
338
|
-
}),
|
|
339
|
-
reactLogo: t({
|
|
340
|
-
en: "React logo",
|
|
341
|
-
fr: "Logo React",
|
|
342
|
-
es: "Logo React",
|
|
343
|
-
}),
|
|
344
|
-
|
|
345
|
-
title: "Vite + React",
|
|
346
|
-
|
|
347
|
-
count: t({
|
|
348
|
-
en: "count is ",
|
|
349
|
-
fr: "le compte est ",
|
|
350
|
-
es: "el recuento es ",
|
|
351
|
-
}),
|
|
352
|
-
|
|
353
|
-
edit:
|
|
354
|
-
t <
|
|
355
|
-
ReactNode >
|
|
356
|
-
{
|
|
357
|
-
// No olvides importar React si usas un nodo React en tu contenido
|
|
358
|
-
en: (
|
|
359
|
-
<>
|
|
360
|
-
Edit <code>src/App.tsx</code> and save to test HMR
|
|
361
|
-
</>
|
|
362
|
-
),
|
|
363
|
-
fr: (
|
|
364
|
-
<>
|
|
365
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
366
|
-
</>
|
|
367
|
-
),
|
|
368
|
-
es: (
|
|
369
|
-
<>
|
|
370
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
371
|
-
</>
|
|
372
|
-
),
|
|
373
|
-
},
|
|
374
|
-
|
|
375
|
-
readTheDocs: t({
|
|
376
|
-
en: "Click on the Vite and React logos to learn more",
|
|
377
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
378
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
379
|
-
}),
|
|
380
|
-
},
|
|
381
|
-
};
|
|
382
|
-
|
|
383
|
-
module.exports = appContent;
|
|
384
|
-
```
|
|
385
|
-
|
|
386
220
|
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
387
221
|
{
|
|
388
222
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -450,7 +284,7 @@ module.exports = appContent;
|
|
|
450
284
|
|
|
451
285
|
Acceda a sus diccionarios de contenido en toda su aplicación:
|
|
452
286
|
|
|
453
|
-
```tsx {5,9} fileName="src/App.tsx" codeFormat="typescript"
|
|
287
|
+
```tsx {5,9} fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
454
288
|
import { useState, type FC } from "react";
|
|
455
289
|
import reactLogo from "./assets/react.svg";
|
|
456
290
|
import viteLogo from "/vite.svg";
|
|
@@ -497,100 +331,6 @@ const App: FC = () => (
|
|
|
497
331
|
export default App;
|
|
498
332
|
```
|
|
499
333
|
|
|
500
|
-
```tsx {5,9} fileName="src/App.msx" codeFormat="esm"
|
|
501
|
-
import { useState } from "react";
|
|
502
|
-
import reactLogo from "./assets/react.svg";
|
|
503
|
-
import viteLogo from "/vite.svg";
|
|
504
|
-
import "./App.css";
|
|
505
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
506
|
-
|
|
507
|
-
const AppContent = () => {
|
|
508
|
-
const [count, setCount] = useState(0);
|
|
509
|
-
const content = useIntlayer("app");
|
|
510
|
-
|
|
511
|
-
return (
|
|
512
|
-
<>
|
|
513
|
-
<div>
|
|
514
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
515
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
516
|
-
</a>
|
|
517
|
-
<a href="https://react.dev" target="_blank">
|
|
518
|
-
<img
|
|
519
|
-
src={reactLogo}
|
|
520
|
-
className="logo react"
|
|
521
|
-
alt={content.reactLogo.value}
|
|
522
|
-
/>
|
|
523
|
-
</a>
|
|
524
|
-
</div>
|
|
525
|
-
<h1>{content.title}</h1>
|
|
526
|
-
<div className="card">
|
|
527
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
528
|
-
{content.count}
|
|
529
|
-
{count}
|
|
530
|
-
</button>
|
|
531
|
-
<p>{content.edit}</p>
|
|
532
|
-
</div>
|
|
533
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
534
|
-
</>
|
|
535
|
-
);
|
|
536
|
-
};
|
|
537
|
-
|
|
538
|
-
const App = () => (
|
|
539
|
-
<IntlayerProvider>
|
|
540
|
-
<AppContent />
|
|
541
|
-
</IntlayerProvider>
|
|
542
|
-
);
|
|
543
|
-
|
|
544
|
-
export default App;
|
|
545
|
-
```
|
|
546
|
-
|
|
547
|
-
```tsx {5,9} fileName="src/App.csx" codeFormat="commonjs"
|
|
548
|
-
const { useState } = require("react");
|
|
549
|
-
const reactLogo = require("./assets/react.svg");
|
|
550
|
-
const viteLogo = require("/vite.svg");
|
|
551
|
-
require("./App.css");
|
|
552
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
553
|
-
|
|
554
|
-
const AppContent = () => {
|
|
555
|
-
const [count, setCount] = useState(0);
|
|
556
|
-
const content = useIntlayer("app");
|
|
557
|
-
|
|
558
|
-
return (
|
|
559
|
-
<>
|
|
560
|
-
<div>
|
|
561
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
562
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
563
|
-
</a>
|
|
564
|
-
<a href="https://react.dev" target="_blank">
|
|
565
|
-
<img
|
|
566
|
-
src={reactLogo}
|
|
567
|
-
className="logo react"
|
|
568
|
-
alt={content.reactLogo.value}
|
|
569
|
-
/>
|
|
570
|
-
</a>
|
|
571
|
-
</div>
|
|
572
|
-
<h1>{content.title}</h1>
|
|
573
|
-
<div className="card">
|
|
574
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
575
|
-
{content.count}
|
|
576
|
-
{count}
|
|
577
|
-
</button>
|
|
578
|
-
<p>{content.edit}</p>
|
|
579
|
-
</div>
|
|
580
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
581
|
-
</>
|
|
582
|
-
);
|
|
583
|
-
};
|
|
584
|
-
|
|
585
|
-
const App = () => (
|
|
586
|
-
<IntlayerProvider>
|
|
587
|
-
<AppContent />
|
|
588
|
-
</IntlayerProvider>
|
|
589
|
-
);
|
|
590
|
-
|
|
591
|
-
module.exports = App;
|
|
592
|
-
```
|
|
593
|
-
|
|
594
334
|
> Si deseas usar tu contenido en un atributo de tipo `string`, como `alt`, `title`, `href`, `aria-label`, etc., debes llamar al valor de la función, así:
|
|
595
335
|
|
|
596
336
|
> ```jsx
|
|
@@ -605,7 +345,7 @@ module.exports = App;
|
|
|
605
345
|
|
|
606
346
|
Para cambiar el idioma de tu contenido, puedes usar la función `setLocale` proporcionada por el hook `useLocale`. Esta función te permite establecer la configuración regional de la aplicación y actualizar el contenido en consecuencia.
|
|
607
347
|
|
|
608
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
348
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
609
349
|
import type { FC } from "react";
|
|
610
350
|
import { Locales } from "intlayer";
|
|
611
351
|
import { useLocale } from "react-intlayer";
|
|
@@ -621,36 +361,6 @@ const LocaleSwitcher: FC = () => {
|
|
|
621
361
|
};
|
|
622
362
|
```
|
|
623
363
|
|
|
624
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
625
|
-
import { Locales } from "intlayer";
|
|
626
|
-
import { useLocale } from "react-intlayer";
|
|
627
|
-
|
|
628
|
-
const LocaleSwitcher = () => {
|
|
629
|
-
const { setLocale } = useLocale();
|
|
630
|
-
|
|
631
|
-
return (
|
|
632
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
633
|
-
Cambiar idioma a inglés
|
|
634
|
-
</button>
|
|
635
|
-
);
|
|
636
|
-
};
|
|
637
|
-
```
|
|
638
|
-
|
|
639
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
640
|
-
const { Locales } = require("intlayer");
|
|
641
|
-
const { useLocale } = require("react-intlayer");
|
|
642
|
-
|
|
643
|
-
const LocaleSwitcher = () => {
|
|
644
|
-
const { setLocale } = useLocale();
|
|
645
|
-
|
|
646
|
-
return (
|
|
647
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
648
|
-
Cambiar idioma a inglés
|
|
649
|
-
</button>
|
|
650
|
-
);
|
|
651
|
-
};
|
|
652
|
-
```
|
|
653
|
-
|
|
654
364
|
> Para aprender más sobre el hook `useLocale`, consulte la [documentación](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/packages/react-intlayer/useLocale.md).
|
|
655
365
|
|
|
656
366
|
### (Opcional) Paso 7: Agregar enrutamiento localizado a su aplicación
|
|
@@ -668,7 +378,7 @@ Ejemplo:
|
|
|
668
378
|
|
|
669
379
|
Para agregar enrutamiento localizado a su aplicación, puede crear un componente `LocaleRouter` que envuelva las rutas de su aplicación y gestione el enrutamiento basado en la configuración regional. Aquí hay un ejemplo usando [React Router](https://reactrouter.com/home):
|
|
670
380
|
|
|
671
|
-
```tsx fileName="src/components/LocaleRouter.tsx"
|
|
381
|
+
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat={["typescript", "esm"]}
|
|
672
382
|
import { localeMap } from "intlayer"; // Funciones y tipos utilitarios de 'intlayer'
|
|
673
383
|
import type { FC, PropsWithChildren } from "react"; // Tipos de React para componentes funcionales y props
|
|
674
384
|
import { IntlayerProvider } from "react-intlayer"; // Proveedor para el contexto de internacionalización
|
|
@@ -696,73 +406,15 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
696
406
|
);
|
|
697
407
|
```
|
|
698
408
|
|
|
699
|
-
|
|
700
|
-
import { localeMap } from 'intlayer'; // Funciones utilitarias y tipos de 'intlayer'
|
|
701
|
-
import type { FC, PropsWithChildren } from 'react'; // Tipos de React para componentes funcionales y props
|
|
702
|
-
import { IntlayerProvider } from "react-intlayer"; // Proveedor para el contexto de internacionalización
|
|
703
|
-
import { BrowserRouter, Route, Routes } from 'react-router-dom'; // Componentes del enrutador para gestionar la navegación
|
|
409
|
+
> Nota: Si usas `routing.mode: 'no-prefix' | 'search-params'`, probablemente no necesites usar la función `localeMap`.
|
|
704
410
|
|
|
705
|
-
|
|
706
|
-
* Un componente de enrutador que configura rutas específicas por configuración regional.
|
|
707
|
-
* Utiliza React Router para gestionar la navegación y renderizar componentes localizados.
|
|
708
|
-
*/
|
|
709
|
-
export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
710
|
-
<BrowserRouter>
|
|
711
|
-
<Routes>
|
|
712
|
-
{localeMap(({ locale, urlPrefix }) => (
|
|
713
|
-
<Route
|
|
714
|
-
// Patrón de ruta para capturar la localidad (por ejemplo, /en/, /fr/) y coincidir con todas las rutas subsecuentes
|
|
715
|
-
path={`${urlPrefix}/*`}
|
|
716
|
-
key={locale}
|
|
717
|
-
element={
|
|
718
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
719
|
-
} // Envuelve los hijos con la gestión de la localidad
|
|
720
|
-
/>
|
|
721
|
-
))}
|
|
722
|
-
</Routes>
|
|
723
|
-
</BrowserRouter>
|
|
724
|
-
);
|
|
725
|
-
```
|
|
411
|
+
Luego, puedes usar el componente `LocaleRouter` en tu aplicación:
|
|
726
412
|
|
|
727
|
-
```
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
const { IntlayerProvider } = require("react-intlayer"); // Proveedor para el contexto de internacionalización
|
|
731
|
-
const { BrowserRouter, Route, Routes } = require("react-router-dom"); // Componentes del enrutador para gestionar la navegación
|
|
413
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
414
|
+
import { LocaleRouter } from "./components/LocaleRouter";
|
|
415
|
+
import type { FC } from "react";
|
|
732
416
|
|
|
733
|
-
|
|
734
|
-
* Un componente de enrutador que configura rutas específicas por configuración regional.
|
|
735
|
-
* Utiliza React Router para gestionar la navegación y renderizar componentes localizados.
|
|
736
|
-
*/
|
|
737
|
-
const LocaleRouter = ({ children }) =>
|
|
738
|
-
React.createElement(
|
|
739
|
-
BrowserRouter,
|
|
740
|
-
{},
|
|
741
|
-
React.createElement(
|
|
742
|
-
Routes,
|
|
743
|
-
{},
|
|
744
|
-
localeMap(({ locale, urlPrefix }) =>
|
|
745
|
-
React.createElement(Route, {
|
|
746
|
-
path: `${urlPrefix}/*`,
|
|
747
|
-
key: locale,
|
|
748
|
-
element: React.createElement(IntlayerProvider, { locale }, children),
|
|
749
|
-
})
|
|
750
|
-
)
|
|
751
|
-
)
|
|
752
|
-
);
|
|
753
|
-
|
|
754
|
-
exports.LocaleRouter = LocaleRouter;
|
|
755
|
-
```
|
|
756
|
-
|
|
757
|
-
> Nota: Si usas `routing.mode: 'no-prefix' | 'search-params'`, probablemente no necesites usar la función `localeMap`.
|
|
758
|
-
|
|
759
|
-
Luego, puedes usar el componente `LocaleRouter` en tu aplicación:
|
|
760
|
-
|
|
761
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
762
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
763
|
-
import type { FC } from "react";
|
|
764
|
-
|
|
765
|
-
// ... Tu componente AppContent
|
|
417
|
+
// ... Tu componente AppContent
|
|
766
418
|
|
|
767
419
|
const App: FC = () => (
|
|
768
420
|
<LocaleRouter>
|
|
@@ -771,50 +423,11 @@ const App: FC = () => (
|
|
|
771
423
|
);
|
|
772
424
|
```
|
|
773
425
|
|
|
774
|
-
```jsx fileName="src/App.mjx" codeFormat="esm"
|
|
775
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
776
|
-
|
|
777
|
-
// ... Tu componente AppContent
|
|
778
|
-
|
|
779
|
-
const App = () => (
|
|
780
|
-
<LocaleRouter>
|
|
781
|
-
<AppContent />
|
|
782
|
-
</LocaleRouter>
|
|
783
|
-
);
|
|
784
|
-
```
|
|
785
|
-
|
|
786
|
-
```jsx fileName="src/App.cjx" codeFormat="commonjs"
|
|
787
|
-
const { LocaleRouter } = require("./components/LocaleRouter");
|
|
788
|
-
|
|
789
|
-
// ... Tu componente AppContent
|
|
790
|
-
|
|
791
|
-
const App = () => (
|
|
792
|
-
<LocaleRouter>
|
|
793
|
-
<AppContent />
|
|
794
|
-
</LocaleRouter>
|
|
795
|
-
);
|
|
796
|
-
```
|
|
797
|
-
|
|
798
426
|
Paralelamente, también puedes usar el `intlayerProxy` para agregar enrutamiento del lado del servidor a tu aplicación. Este plugin detectará automáticamente la configuración regional actual basada en la URL y establecerá la cookie de configuración regional correspondiente. Si no se especifica ninguna configuración regional, el plugin determinará la configuración regional más adecuada basándose en las preferencias de idioma del navegador del usuario. Si no se detecta ninguna configuración regional, redirigirá a la configuración regional predeterminada.
|
|
799
427
|
|
|
800
428
|
> Ten en cuenta que para usar el `intlayerProxy` en producción, debes mover el paquete `vite-intlayer` de `devDependencies` a `dependencies`.
|
|
801
429
|
|
|
802
|
-
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
803
|
-
import { defineConfig } from "vite";
|
|
804
|
-
import react from "@vitejs/plugin-react-swc";
|
|
805
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
806
|
-
|
|
807
|
-
// https://vitejs.dev/config/
|
|
808
|
-
export default defineConfig({
|
|
809
|
-
plugins: [
|
|
810
|
-
intlayerProxy(), // should be placed first
|
|
811
|
-
react(),
|
|
812
|
-
intlayer(),
|
|
813
|
-
],
|
|
814
|
-
});
|
|
815
|
-
```
|
|
816
|
-
|
|
817
|
-
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
430
|
+
```typescript {3,7} fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
818
431
|
import { defineConfig } from "vite";
|
|
819
432
|
import react from "@vitejs/plugin-react-swc";
|
|
820
433
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
@@ -829,26 +442,11 @@ export default defineConfig({
|
|
|
829
442
|
});
|
|
830
443
|
```
|
|
831
444
|
|
|
832
|
-
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
833
|
-
const { defineConfig } = require("vite");
|
|
834
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
835
|
-
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
836
|
-
|
|
837
|
-
// https://vitejs.dev/config/
|
|
838
|
-
module.exports = defineConfig({
|
|
839
|
-
plugins: [
|
|
840
|
-
intlayerProxy(), // should be placed first
|
|
841
|
-
react(),
|
|
842
|
-
intlayer(),
|
|
843
|
-
],
|
|
844
|
-
});
|
|
845
|
-
```
|
|
846
|
-
|
|
847
445
|
### (Opcional) Paso 8: Cambiar la URL cuando cambia la configuración regional
|
|
848
446
|
|
|
849
447
|
Para cambiar la URL cuando cambia la configuración regional, puedes usar la propiedad `onLocaleChange` proporcionada por el hook `useLocale`. Paralelamente, puedes usar los hooks `useLocation` y `useNavigate` de `react-router-dom` para actualizar la ruta de la URL.
|
|
850
448
|
|
|
851
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
449
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
852
450
|
import { useLocation, useNavigate } from "react-router-dom";
|
|
853
451
|
import {
|
|
854
452
|
Locales,
|
|
@@ -913,134 +511,6 @@ const LocaleSwitcher: FC = () => {
|
|
|
913
511
|
};
|
|
914
512
|
```
|
|
915
513
|
|
|
916
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
917
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
918
|
-
import {
|
|
919
|
-
Locales,
|
|
920
|
-
getHTMLTextDir,
|
|
921
|
-
getLocaleName,
|
|
922
|
-
getLocalizedUrl,
|
|
923
|
-
} from "intlayer";
|
|
924
|
-
import { useLocale } from "react-intlayer";
|
|
925
|
-
|
|
926
|
-
const LocaleSwitcher = () => {
|
|
927
|
-
const { pathname, search } = useLocation(); // Obtener la ruta URL actual. Ejemplo: /fr/about?foo=bar
|
|
928
|
-
const navigate = useNavigate();
|
|
929
|
-
|
|
930
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
931
|
-
onLocaleChange: (locale) => {
|
|
932
|
-
// Construir la URL con la configuración regional actualizada
|
|
933
|
-
// Ejemplo: /es/about?foo=bar
|
|
934
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
935
|
-
|
|
936
|
-
// Actualizar la ruta URL
|
|
937
|
-
navigate(pathWithLocale);
|
|
938
|
-
},
|
|
939
|
-
});
|
|
940
|
-
|
|
941
|
-
return (
|
|
942
|
-
<div>
|
|
943
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
944
|
-
<div id="localePopover" popover="auto">
|
|
945
|
-
{availableLocales.map((localeItem) => (
|
|
946
|
-
<a
|
|
947
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
948
|
-
hrefLang={localeItem}
|
|
949
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
950
|
-
onClick={(e) => {
|
|
951
|
-
e.preventDefault();
|
|
952
|
-
setLocale(localeItem);
|
|
953
|
-
}}
|
|
954
|
-
key={localeItem}
|
|
955
|
-
>
|
|
956
|
-
<span>
|
|
957
|
-
{/* Localidad - p.ej. FR */}
|
|
958
|
-
{localeItem}
|
|
959
|
-
</span>
|
|
960
|
-
<span>
|
|
961
|
-
{/* Idioma en su propia Localidad - p.ej. Français */}
|
|
962
|
-
{getLocaleName(localeItem, locale)}
|
|
963
|
-
</span>
|
|
964
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
965
|
-
{/* Idioma en la configuración regional actual - por ejemplo, Francés con la configuración regional actual establecida en Locales.SPANISH */}
|
|
966
|
-
{getLocaleName(localeItem)}
|
|
967
|
-
</span>
|
|
968
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
969
|
-
{/* Idioma en inglés - por ejemplo, French */}
|
|
970
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
971
|
-
</span>
|
|
972
|
-
</a>
|
|
973
|
-
))}
|
|
974
|
-
</div>
|
|
975
|
-
</div>
|
|
976
|
-
);
|
|
977
|
-
};
|
|
978
|
-
```
|
|
979
|
-
|
|
980
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
981
|
-
const { useLocation, useNavigate } = require("react-router-dom");
|
|
982
|
-
const {
|
|
983
|
-
Locales,
|
|
984
|
-
getHTMLTextDir,
|
|
985
|
-
getLocaleName,
|
|
986
|
-
getLocalizedUrl,
|
|
987
|
-
} = require("intlayer");
|
|
988
|
-
const { useLocale } = require("react-intlayer");
|
|
989
|
-
|
|
990
|
-
const LocaleSwitcher = () => {
|
|
991
|
-
const { pathname, search } = useLocation(); // Obtener la ruta URL actual. Ejemplo: /fr/about?foo=bar
|
|
992
|
-
const navigate = useNavigate();
|
|
993
|
-
|
|
994
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
995
|
-
onLocaleChange: (locale) => {
|
|
996
|
-
// Construir la URL con la configuración regional actualizada
|
|
997
|
-
// Ejemplo: /es/about?foo=bar
|
|
998
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
999
|
-
|
|
1000
|
-
// Actualizar la ruta URL
|
|
1001
|
-
navigate(pathWithLocale);
|
|
1002
|
-
},
|
|
1003
|
-
});
|
|
1004
|
-
|
|
1005
|
-
return (
|
|
1006
|
-
<div>
|
|
1007
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1008
|
-
<div id="localePopover" popover="auto">
|
|
1009
|
-
{availableLocales.map((localeItem) => (
|
|
1010
|
-
<a
|
|
1011
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
1012
|
-
hrefLang={localeItem}
|
|
1013
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1014
|
-
onClick={(e) => {
|
|
1015
|
-
e.preventDefault();
|
|
1016
|
-
setLocale(localeItem);
|
|
1017
|
-
}}
|
|
1018
|
-
key={localeItem}
|
|
1019
|
-
>
|
|
1020
|
-
<span>
|
|
1021
|
-
{/* Localidad - por ejemplo, FR */}
|
|
1022
|
-
{localeItem}
|
|
1023
|
-
</span>
|
|
1024
|
-
<span>
|
|
1025
|
-
{/* Idioma en su propia Localidad - por ejemplo, Français */}
|
|
1026
|
-
{getLocaleName(localeItem, locale)}
|
|
1027
|
-
</span>
|
|
1028
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1029
|
-
{/* Idioma en la Localidad actual - por ejemplo, Francés con la localidad actual configurada en Locales.SPANISH */}
|
|
1030
|
-
{getLocaleName(localeItem)}
|
|
1031
|
-
</span>
|
|
1032
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1033
|
-
{/* Idioma en inglés - por ejemplo, French */}
|
|
1034
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1035
|
-
</span>
|
|
1036
|
-
</a>
|
|
1037
|
-
))}
|
|
1038
|
-
</div>
|
|
1039
|
-
</div>
|
|
1040
|
-
);
|
|
1041
|
-
};
|
|
1042
|
-
```
|
|
1043
|
-
|
|
1044
514
|
> Referencias de la documentación:
|
|
1045
515
|
>
|
|
1046
516
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useLocale.md)
|
|
@@ -1070,7 +540,7 @@ Al actualizar estos atributos dinámicamente cuando cambia la configuración reg
|
|
|
1070
540
|
|
|
1071
541
|
Crea un hook personalizado para gestionar los atributos HTML. El hook escucha los cambios de configuración regional y actualiza los atributos en consecuencia:
|
|
1072
542
|
|
|
1073
|
-
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
|
|
543
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
1074
544
|
import { useEffect } from "react";
|
|
1075
545
|
import { useLocale } from "react-intlayer";
|
|
1076
546
|
import { getHTMLTextDir } from "intlayer";
|
|
@@ -1095,63 +565,11 @@ export const useI18nHTMLAttributes = () => {
|
|
|
1095
565
|
};
|
|
1096
566
|
```
|
|
1097
567
|
|
|
1098
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
|
|
1099
|
-
import { useEffect } from "react";
|
|
1100
|
-
import { useLocale } from "react-intlayer";
|
|
1101
|
-
import { getHTMLTextDir } from "intlayer";
|
|
1102
|
-
|
|
1103
|
-
/**
|
|
1104
|
-
* Actualiza los atributos `lang` y `dir` del elemento HTML <html> según el locale actual.
|
|
1105
|
-
* - `lang`: Informa a los navegadores y motores de búsqueda sobre el idioma de la página.
|
|
1106
|
-
* - `dir`: Garantiza el orden correcto de lectura (por ejemplo, 'ltr' para inglés, 'rtl' para árabe).
|
|
1107
|
-
*
|
|
1108
|
-
* Esta actualización dinámica es esencial para una correcta representación del texto, accesibilidad y SEO.
|
|
1109
|
-
*/
|
|
1110
|
-
export const useI18nHTMLAttributes = () => {
|
|
1111
|
-
const { locale } = useLocale();
|
|
1112
|
-
|
|
1113
|
-
useEffect(() => {
|
|
1114
|
-
// Actualiza el atributo de idioma al locale actual.
|
|
1115
|
-
document.documentElement.lang = locale;
|
|
1116
|
-
|
|
1117
|
-
// Establece la dirección del texto según el locale actual.
|
|
1118
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1119
|
-
}, [locale]);
|
|
1120
|
-
};
|
|
1121
|
-
```
|
|
1122
|
-
|
|
1123
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
|
|
1124
|
-
const { useEffect } = require("react");
|
|
1125
|
-
const { useLocale } = require("react-intlayer");
|
|
1126
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
1127
|
-
|
|
1128
|
-
/**
|
|
1129
|
-
* Actualiza los atributos `lang` y `dir` del elemento HTML <html> según la configuración regional actual.
|
|
1130
|
-
* - `lang`: Informa a los navegadores y motores de búsqueda sobre el idioma de la página.
|
|
1131
|
-
* - `dir`: Asegura el orden correcto de lectura (por ejemplo, 'ltr' para inglés, 'rtl' para árabe).
|
|
1132
|
-
*
|
|
1133
|
-
* Esta actualización dinámica es esencial para una correcta representación del texto, accesibilidad y SEO.
|
|
1134
|
-
*/
|
|
1135
|
-
const useI18nHTMLAttributes = () => {
|
|
1136
|
-
const { locale } = useLocale();
|
|
1137
|
-
|
|
1138
|
-
useEffect(() => {
|
|
1139
|
-
// Actualiza el atributo de idioma a la configuración regional actual.
|
|
1140
|
-
document.documentElement.lang = locale;
|
|
1141
|
-
|
|
1142
|
-
// Establece la dirección del texto según la configuración regional actual.
|
|
1143
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1144
|
-
}, [locale]);
|
|
1145
|
-
};
|
|
1146
|
-
|
|
1147
|
-
module.exports = { useI18nHTMLAttributes };
|
|
1148
|
-
```
|
|
1149
|
-
|
|
1150
568
|
#### Uso del Hook en Tu Aplicación
|
|
1151
569
|
|
|
1152
570
|
Integra el hook en tu componente principal para que los atributos HTML se actualicen cada vez que cambie la configuración regional:
|
|
1153
571
|
|
|
1154
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
572
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
1155
573
|
import type { FC } from "react";
|
|
1156
574
|
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1157
575
|
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
@@ -1173,49 +591,6 @@ const App: FC = () => (
|
|
|
1173
591
|
export default App;
|
|
1174
592
|
```
|
|
1175
593
|
|
|
1176
|
-
```jsx fileName="src/App.msx" codeFormat="esm"
|
|
1177
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1178
|
-
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
1179
|
-
import "./App.css";
|
|
1180
|
-
|
|
1181
|
-
const AppContent = () => {
|
|
1182
|
-
// Aplicar el hook para actualizar los atributos lang y dir de la etiqueta <html> según la configuración regional.
|
|
1183
|
-
useI18nHTMLAttributes();
|
|
1184
|
-
|
|
1185
|
-
// ... Resto de tu componente
|
|
1186
|
-
};
|
|
1187
|
-
|
|
1188
|
-
const App = () => (
|
|
1189
|
-
<IntlayerProvider>
|
|
1190
|
-
<AppContent />
|
|
1191
|
-
</IntlayerProvider>
|
|
1192
|
-
);
|
|
1193
|
-
|
|
1194
|
-
export default App;
|
|
1195
|
-
```
|
|
1196
|
-
|
|
1197
|
-
```jsx fileName="src/App.csx" codeFormat="commonjs"
|
|
1198
|
-
const { FC } = require("react");
|
|
1199
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
1200
|
-
const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
|
|
1201
|
-
require("./App.css");
|
|
1202
|
-
|
|
1203
|
-
const AppContent = () => {
|
|
1204
|
-
// Aplica el hook para actualizar los atributos lang y dir de la etiqueta <html> según la configuración regional.
|
|
1205
|
-
useI18nHTMLAttributes();
|
|
1206
|
-
|
|
1207
|
-
// ... Resto de tu componente
|
|
1208
|
-
};
|
|
1209
|
-
|
|
1210
|
-
const App = () => (
|
|
1211
|
-
<IntlayerProvider>
|
|
1212
|
-
<AppContent />
|
|
1213
|
-
</IntlayerProvider>
|
|
1214
|
-
);
|
|
1215
|
-
|
|
1216
|
-
module.exports = App;
|
|
1217
|
-
```
|
|
1218
|
-
|
|
1219
594
|
Al aplicar estos cambios, tu aplicación:
|
|
1220
595
|
|
|
1221
596
|
- Asegurar que el atributo **language** (`lang`) refleje correctamente la configuración regional actual, lo cual es importante para SEO y el comportamiento del navegador.
|
|
@@ -1234,7 +609,7 @@ Este comportamiento es útil por varias razones:
|
|
|
1234
609
|
|
|
1235
610
|
A continuación se muestra la implementación de un componente `Link` localizado en TypeScript:
|
|
1236
611
|
|
|
1237
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
612
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1238
613
|
import { getLocalizedUrl } from "intlayer";
|
|
1239
614
|
import {
|
|
1240
615
|
forwardRef,
|
|
@@ -1280,79 +655,6 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
1280
655
|
Link.displayName = "Link";
|
|
1281
656
|
```
|
|
1282
657
|
|
|
1283
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1284
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1285
|
-
import { useLocale } from "react-intlayer";
|
|
1286
|
-
import { forwardRef } from "react";
|
|
1287
|
-
|
|
1288
|
-
/**
|
|
1289
|
-
* Función utilitaria para verificar si una URL dada es externa.
|
|
1290
|
-
* Si la URL comienza con http:// o https://, se considera externa.
|
|
1291
|
-
*/
|
|
1292
|
-
export const checkIsExternalLink = (href?: string): boolean =>
|
|
1293
|
-
/^https?:\/\//.test(href ?? "");
|
|
1294
|
-
|
|
1295
|
-
/**
|
|
1296
|
-
* Un componente Link personalizado que adapta el atributo href según la configuración regional actual.
|
|
1297
|
-
* Para enlaces internos, utiliza `getLocalizedUrl` para anteponer la configuración regional a la URL (por ejemplo, /fr/about).
|
|
1298
|
-
* Esto asegura que la navegación se mantenga dentro del mismo contexto regional.
|
|
1299
|
-
*/
|
|
1300
|
-
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1301
|
-
const { locale } = useLocale();
|
|
1302
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1303
|
-
|
|
1304
|
-
// Si el enlace es interno y se proporciona un href válido, obtener la URL localizada.
|
|
1305
|
-
const hrefI18n =
|
|
1306
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1307
|
-
|
|
1308
|
-
return (
|
|
1309
|
-
<a href={hrefI18n} ref={ref} {...props}>
|
|
1310
|
-
{children}
|
|
1311
|
-
</a>
|
|
1312
|
-
);
|
|
1313
|
-
});
|
|
1314
|
-
|
|
1315
|
-
Link.displayName = "Link";
|
|
1316
|
-
```
|
|
1317
|
-
|
|
1318
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1319
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1320
|
-
const { useLocale } = require("react-intlayer");
|
|
1321
|
-
const { forwardRef } = require("react");
|
|
1322
|
-
|
|
1323
|
-
/**
|
|
1324
|
-
* Función utilitaria para verificar si una URL dada es externa.
|
|
1325
|
-
* Si la URL comienza con http:// o https://, se considera externa.
|
|
1326
|
-
*/
|
|
1327
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1328
|
-
|
|
1329
|
-
/**
|
|
1330
|
-
* Un componente Link personalizado que adapta el atributo href según la configuración regional actual.
|
|
1331
|
-
* Para enlaces internos, utiliza `getLocalizedUrl` para anteponer la URL con la configuración regional (por ejemplo, /fr/about).
|
|
1332
|
-
* Esto asegura que la navegación se mantenga dentro del mismo contexto regional.
|
|
1333
|
-
*/
|
|
1334
|
-
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1335
|
-
const { locale } = useLocale();
|
|
1336
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1337
|
-
|
|
1338
|
-
// Si el enlace es interno y se proporciona un href válido, obtiene la URL localizada.
|
|
1339
|
-
const localizedHref = isExternalLink ? href : getLocalizedUrl(href, locale);
|
|
1340
|
-
|
|
1341
|
-
return (
|
|
1342
|
-
<a
|
|
1343
|
-
href={localizedHref}
|
|
1344
|
-
ref={ref}
|
|
1345
|
-
{...props}
|
|
1346
|
-
aria-current={isExternalLink ? "external" : undefined}
|
|
1347
|
-
>
|
|
1348
|
-
{children}
|
|
1349
|
-
</a>
|
|
1350
|
-
);
|
|
1351
|
-
});
|
|
1352
|
-
|
|
1353
|
-
Link.displayName = "Link";
|
|
1354
|
-
```
|
|
1355
|
-
|
|
1356
658
|
#### Cómo Funciona
|
|
1357
659
|
|
|
1358
660
|
- **Detección de Enlaces Externos**:
|
|
@@ -1377,7 +679,7 @@ Para facilitar este proceso, Intlayer propone un [compilador](https://github.com
|
|
|
1377
679
|
|
|
1378
680
|
Para configurarlo, puedes agregar una sección `compiler` en tu archivo `intlayer.config.ts` :
|
|
1379
681
|
|
|
1380
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
682
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1381
683
|
import { type IntlayerConfig } from "intlayer";
|
|
1382
684
|
|
|
1383
685
|
const config: IntlayerConfig = {
|
|
@@ -1408,66 +710,6 @@ const config: IntlayerConfig = {
|
|
|
1408
710
|
export default config;
|
|
1409
711
|
```
|
|
1410
712
|
|
|
1411
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1412
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1413
|
-
const config = {
|
|
1414
|
-
// ... Resto de tu configuración
|
|
1415
|
-
compiler: {
|
|
1416
|
-
/**
|
|
1417
|
-
* Indica si el compilador debe estar habilitado.
|
|
1418
|
-
*/
|
|
1419
|
-
enabled: true,
|
|
1420
|
-
|
|
1421
|
-
/**
|
|
1422
|
-
* Define la ruta de los archivos de salida
|
|
1423
|
-
*/
|
|
1424
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1425
|
-
|
|
1426
|
-
/**
|
|
1427
|
-
* Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
|
|
1428
|
-
*/
|
|
1429
|
-
saveComponents: false,
|
|
1430
|
-
|
|
1431
|
-
/**
|
|
1432
|
-
* Prefijo de clave de diccionario
|
|
1433
|
-
*/
|
|
1434
|
-
dictionaryKeyPrefix: "",
|
|
1435
|
-
},
|
|
1436
|
-
};
|
|
1437
|
-
|
|
1438
|
-
export default config;
|
|
1439
|
-
```
|
|
1440
|
-
|
|
1441
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1442
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1443
|
-
const config = {
|
|
1444
|
-
// ... Resto de tu configuración
|
|
1445
|
-
compiler: {
|
|
1446
|
-
/**
|
|
1447
|
-
* Indica si el compilador debe estar habilitado.
|
|
1448
|
-
*/
|
|
1449
|
-
enabled: true,
|
|
1450
|
-
|
|
1451
|
-
/**
|
|
1452
|
-
* Define la ruta de los archivos de salida
|
|
1453
|
-
*/
|
|
1454
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1455
|
-
|
|
1456
|
-
/**
|
|
1457
|
-
* Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
|
|
1458
|
-
*/
|
|
1459
|
-
saveComponents: false,
|
|
1460
|
-
|
|
1461
|
-
/**
|
|
1462
|
-
* Prefijo de clave de diccionario
|
|
1463
|
-
*/
|
|
1464
|
-
dictionaryKeyPrefix: "",
|
|
1465
|
-
},
|
|
1466
|
-
};
|
|
1467
|
-
|
|
1468
|
-
module.exports = config;
|
|
1469
|
-
```
|
|
1470
|
-
|
|
1471
713
|
<Tabs>
|
|
1472
714
|
<Tab value='Comando de extracción'>
|
|
1473
715
|
|
|
@@ -1525,6 +767,80 @@ bun run build # Or bun run dev
|
|
|
1525
767
|
</Tab>
|
|
1526
768
|
</Tabs>
|
|
1527
769
|
|
|
770
|
+
### (Opcional) Sitemap y robots.txt (generación en el build)
|
|
771
|
+
|
|
772
|
+
Intlayer ofrece utilidades — `generateSitemap` y `getMultilingualUrls` — para formatear un `sitemap.xml` multilingüe y un `robots.txt` listos para rastreadores y escribirlos automáticamente en `public/`. Lo habitual es ejecutar un script pequeño de Node **antes** de Vite (por ejemplo hooks npm `predev` / `prebuild`) para que esos archivos existan al compilar o al levantar el servidor de desarrollo.
|
|
773
|
+
|
|
774
|
+
#### Sitemap
|
|
775
|
+
|
|
776
|
+
El generador de sitemaps de Intlayer respeta tu configuración de idiomas y añade los metadatos habituales.
|
|
777
|
+
|
|
778
|
+
> El sitemap admite el espacio de nombres `xhtml:link` (hreflang). En lugar de listar solo URLs sueltas, Intlayer enlaza de forma bidireccional todas las versiones localizadas de cada página (p. ej. `/about`, `/fr/about` o `/about?lang=fr` según el modo de rutas).
|
|
779
|
+
|
|
780
|
+
#### Robots.txt
|
|
781
|
+
|
|
782
|
+
Usa `getMultilingualUrls` para que las reglas `Disallow` cubran todas las variantes localizadas de rutas sensibles.
|
|
783
|
+
|
|
784
|
+
#### 1. Crear `generate-seo.mjs` en la raíz del proyecto
|
|
785
|
+
|
|
786
|
+
```javascript fileName="generate-seo.mjs"
|
|
787
|
+
import fs from "fs";
|
|
788
|
+
import path from "path";
|
|
789
|
+
import { fileURLToPath } from "url";
|
|
790
|
+
import { generateSitemap, getMultilingualUrls } from "intlayer";
|
|
791
|
+
|
|
792
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
793
|
+
|
|
794
|
+
const SITE_URL = (process.env.SITE_URL || "http://localhost:5173").replace(
|
|
795
|
+
/\/$/,
|
|
796
|
+
""
|
|
797
|
+
);
|
|
798
|
+
|
|
799
|
+
const pathList = [
|
|
800
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
801
|
+
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
802
|
+
];
|
|
803
|
+
|
|
804
|
+
const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
|
|
805
|
+
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
806
|
+
|
|
807
|
+
const getAllMultilingualUrls = (urls) =>
|
|
808
|
+
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
809
|
+
|
|
810
|
+
const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
|
|
811
|
+
|
|
812
|
+
const robotsTxt = [
|
|
813
|
+
"User-agent: *",
|
|
814
|
+
"Allow: /",
|
|
815
|
+
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
816
|
+
"",
|
|
817
|
+
`Sitemap: ${SITE_URL}/sitemap.xml`,
|
|
818
|
+
].join("\n");
|
|
819
|
+
|
|
820
|
+
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
821
|
+
|
|
822
|
+
console.log("SEO files generated successfully.");
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
Debe estar instalado `intlayer` para poder importarlo. Define `SITE_URL` en el entorno en producción (por ejemplo en CI).
|
|
826
|
+
|
|
827
|
+
> Prefiere `generate-seo.mjs` para ESM en Node. Si usas `generate-seo.js`, asegúrate de tener `"type": "module"` en `package.json` o ejecuta Node con ESM.
|
|
828
|
+
|
|
829
|
+
#### 2. Ejecutar el script antes de Vite
|
|
830
|
+
|
|
831
|
+
```json fileName="package.json"
|
|
832
|
+
{
|
|
833
|
+
"scripts": {
|
|
834
|
+
"dev": "vite",
|
|
835
|
+
"prebuild": "node generate-seo.mjs",
|
|
836
|
+
"build": "vite build",
|
|
837
|
+
"preview": "vite preview"
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
Ajusta los comandos si usas pnpm o yarn. También puedes llamar al script desde CI u otro paso del pipeline.
|
|
843
|
+
|
|
1528
844
|
### Configurar TypeScript
|
|
1529
845
|
|
|
1530
846
|
Intlayer utiliza la ampliación de módulos para aprovechar las ventajas de TypeScript y fortalecer su base de código.
|