@intlayer/docs 8.7.7 → 8.7.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -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, puoi:
|
|
|
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 - How to Internationalize your application using 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 file di configurazione per impostare le lingue della tua applicazione:
|
|
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,51 +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
|
-
// Le tue altre localizzazioni
|
|
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
|
-
// Le tue altre localizzazioni
|
|
160
|
-
],
|
|
161
|
-
defaultLocale: Locales.ENGLISH,
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
module.exports = config;
|
|
166
|
-
```
|
|
167
|
-
|
|
168
142
|
> Attraverso questo file di configurazione, puoi impostare URL localizzati, reindirizzamenti middleware, nomi dei cookie, la posizione e l'estensione delle tue dichiarazioni di contenuto, disabilitare i log di Intlayer nella console e altro ancora. Per un elenco completo dei parametri disponibili, consulta la [documentazione di configurazione](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/configuration.md).
|
|
169
143
|
|
|
170
144
|
### Passo 3: Integra Intlayer nella tua configurazione Vite
|
|
171
145
|
|
|
172
146
|
Aggiungi il plugin intlayer nella tua configurazione.
|
|
173
147
|
|
|
174
|
-
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
148
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
175
149
|
import { defineConfig } from "vite";
|
|
176
150
|
import react from "@vitejs/plugin-react-swc";
|
|
177
151
|
import { intlayer } from "vite-intlayer";
|
|
@@ -182,35 +156,13 @@ export default defineConfig({
|
|
|
182
156
|
});
|
|
183
157
|
```
|
|
184
158
|
|
|
185
|
-
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
186
|
-
import { defineConfig } from "vite";
|
|
187
|
-
import react from "@vitejs/plugin-react-swc";
|
|
188
|
-
import { intlayer } from "vite-intlayer";
|
|
189
|
-
|
|
190
|
-
// https://vitejs.dev/config/
|
|
191
|
-
export default defineConfig({
|
|
192
|
-
plugins: [react(), intlayer()],
|
|
193
|
-
});
|
|
194
|
-
```
|
|
195
|
-
|
|
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
|
> Il plugin Vite `intlayer()` viene utilizzato per integrare Intlayer con Vite. Garantisce la creazione dei file di dichiarazione del contenuto e li monitora in modalità sviluppo. Definisce le variabili d'ambiente di Intlayer all'interno dell'applicazione Vite. Inoltre, fornisce alias per ottimizzare le prestazioni.
|
|
208
160
|
|
|
209
161
|
### Passo 4: Dichiara il Tuo Contenuto
|
|
210
162
|
|
|
211
163
|
Crea e gestisci le tue dichiarazioni di contenuto per memorizzare le traduzioni:
|
|
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,125 +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
|
-
// Non dimenticare di importare React se usi un nodo React nel tuo contenuto
|
|
299
|
-
en: (
|
|
300
|
-
<>
|
|
301
|
-
Edit <code>src/App.tsx</code> e salva per testare 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: "Clicca sui loghi di Vite e React per saperne di più",
|
|
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
|
-
// Non dimenticare di importare React se usi un nodo React nel tuo contenuto
|
|
358
|
-
en: (
|
|
359
|
-
<>
|
|
360
|
-
Edit <code>src/App.tsx</code> e salva per testare 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> e salva per testare 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
|
-
it: "Clicca sui loghi di Vite e React per saperne di più",
|
|
380
|
-
}),
|
|
381
|
-
},
|
|
382
|
-
};
|
|
383
|
-
|
|
384
|
-
module.exports = appContent;
|
|
385
|
-
```
|
|
386
|
-
|
|
387
220
|
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
388
221
|
{
|
|
389
222
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -454,7 +287,7 @@ module.exports = appContent;
|
|
|
454
287
|
|
|
455
288
|
Accedi ai tuoi dizionari di contenuti in tutta la tua applicazione:
|
|
456
289
|
|
|
457
|
-
```tsx {5,9} fileName="src/App.tsx" codeFormat="typescript"
|
|
290
|
+
```tsx {5,9} fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
458
291
|
import { useState, type FC } from "react";
|
|
459
292
|
import reactLogo from "./assets/react.svg";
|
|
460
293
|
import viteLogo from "/vite.svg";
|
|
@@ -501,100 +334,6 @@ const App: FC = () => (
|
|
|
501
334
|
export default App;
|
|
502
335
|
```
|
|
503
336
|
|
|
504
|
-
```tsx {5,9} fileName="src/App.msx" codeFormat="esm"
|
|
505
|
-
import { useState } from "react";
|
|
506
|
-
import reactLogo from "./assets/react.svg";
|
|
507
|
-
import viteLogo from "/vite.svg";
|
|
508
|
-
import "./App.css";
|
|
509
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
510
|
-
|
|
511
|
-
const AppContent = () => {
|
|
512
|
-
const [count, setCount] = useState(0);
|
|
513
|
-
const content = useIntlayer("app");
|
|
514
|
-
|
|
515
|
-
return (
|
|
516
|
-
<>
|
|
517
|
-
<div>
|
|
518
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
519
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
520
|
-
</a>
|
|
521
|
-
<a href="https://react.dev" target="_blank">
|
|
522
|
-
<img
|
|
523
|
-
src={reactLogo}
|
|
524
|
-
className="logo react"
|
|
525
|
-
alt={content.reactLogo.value}
|
|
526
|
-
/>
|
|
527
|
-
</a>
|
|
528
|
-
</div>
|
|
529
|
-
<h1>{content.title}</h1>
|
|
530
|
-
<div className="card">
|
|
531
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
532
|
-
{content.count}
|
|
533
|
-
{count}
|
|
534
|
-
</button>
|
|
535
|
-
<p>{content.edit}</p>
|
|
536
|
-
</div>
|
|
537
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
538
|
-
</>
|
|
539
|
-
);
|
|
540
|
-
};
|
|
541
|
-
|
|
542
|
-
const App = () => (
|
|
543
|
-
<IntlayerProvider>
|
|
544
|
-
<AppContent />
|
|
545
|
-
</IntlayerProvider>
|
|
546
|
-
);
|
|
547
|
-
|
|
548
|
-
export default App;
|
|
549
|
-
```
|
|
550
|
-
|
|
551
|
-
```tsx {5,9} fileName="src/App.csx" codeFormat="commonjs"
|
|
552
|
-
const { useState } = require("react");
|
|
553
|
-
const reactLogo = require("./assets/react.svg");
|
|
554
|
-
const viteLogo = require("/vite.svg");
|
|
555
|
-
require("./App.css");
|
|
556
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
557
|
-
|
|
558
|
-
const AppContent = () => {
|
|
559
|
-
const [count, setCount] = useState(0);
|
|
560
|
-
const content = useIntlayer("app");
|
|
561
|
-
|
|
562
|
-
return (
|
|
563
|
-
<>
|
|
564
|
-
<div>
|
|
565
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
566
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
567
|
-
</a>
|
|
568
|
-
<a href="https://react.dev" target="_blank">
|
|
569
|
-
<img
|
|
570
|
-
src={reactLogo}
|
|
571
|
-
className="logo react"
|
|
572
|
-
alt={content.reactLogo.value}
|
|
573
|
-
/>
|
|
574
|
-
</a>
|
|
575
|
-
</div>
|
|
576
|
-
<h1>{content.title}</h1>
|
|
577
|
-
<div className="card">
|
|
578
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
579
|
-
{content.count}
|
|
580
|
-
{count}
|
|
581
|
-
</button>
|
|
582
|
-
<p>{content.edit}</p>
|
|
583
|
-
</div>
|
|
584
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
585
|
-
</>
|
|
586
|
-
);
|
|
587
|
-
};
|
|
588
|
-
|
|
589
|
-
const App = () => (
|
|
590
|
-
<IntlayerProvider>
|
|
591
|
-
<AppContent />
|
|
592
|
-
</IntlayerProvider>
|
|
593
|
-
);
|
|
594
|
-
|
|
595
|
-
module.exports = App;
|
|
596
|
-
```
|
|
597
|
-
|
|
598
337
|
> Se vuoi usare il tuo contenuto in un attributo di tipo `string`, come `alt`, `title`, `href`, `aria-label`, ecc., devi chiamare il valore della funzione, come:
|
|
599
338
|
|
|
600
339
|
> ```jsx
|
|
@@ -609,7 +348,7 @@ module.exports = App;
|
|
|
609
348
|
|
|
610
349
|
Per cambiare la lingua del tuo contenuto, puoi utilizzare la funzione `setLocale` fornita dall'hook `useLocale`. Questa funzione ti permette di impostare la localizzazione dell'applicazione e aggiornare di conseguenza il contenuto.
|
|
611
350
|
|
|
612
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
351
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
613
352
|
import type { FC } from "react";
|
|
614
353
|
import { Locales } from "intlayer";
|
|
615
354
|
import { useLocale } from "react-intlayer";
|
|
@@ -625,36 +364,6 @@ const LocaleSwitcher: FC = () => {
|
|
|
625
364
|
};
|
|
626
365
|
```
|
|
627
366
|
|
|
628
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
629
|
-
import { Locales } from "intlayer";
|
|
630
|
-
import { useLocale } from "react-intlayer";
|
|
631
|
-
|
|
632
|
-
const LocaleSwitcher = () => {
|
|
633
|
-
const { setLocale } = useLocale();
|
|
634
|
-
|
|
635
|
-
return (
|
|
636
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
637
|
-
Cambia lingua in Inglese
|
|
638
|
-
</button>
|
|
639
|
-
);
|
|
640
|
-
};
|
|
641
|
-
```
|
|
642
|
-
|
|
643
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
644
|
-
const { Locales } = require("intlayer");
|
|
645
|
-
const { useLocale } = require("react-intlayer");
|
|
646
|
-
|
|
647
|
-
const LocaleSwitcher = () => {
|
|
648
|
-
const { setLocale } = useLocale();
|
|
649
|
-
|
|
650
|
-
return (
|
|
651
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
652
|
-
Cambia lingua in Inglese
|
|
653
|
-
</button>
|
|
654
|
-
);
|
|
655
|
-
};
|
|
656
|
-
```
|
|
657
|
-
|
|
658
367
|
> Per saperne di più sull'hook `useLocale`, consulta la [documentazione](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/packages/react-intlayer/useLocale.md).
|
|
659
368
|
|
|
660
369
|
### (Opzionale) Passo 7: Aggiungere il routing localizzato alla tua applicazione
|
|
@@ -672,7 +381,7 @@ Per impostazione predefinita, i percorsi non sono prefissati per la lingua prede
|
|
|
672
381
|
|
|
673
382
|
Per aggiungere il routing localizzato alla tua applicazione, puoi creare un componente `LocaleRouter` che avvolge le rotte della tua applicazione e gestisce il routing basato sulla lingua. Ecco un esempio che utilizza [React Router](https://reactrouter.com/home):
|
|
674
383
|
|
|
675
|
-
```tsx fileName="src/components/LocaleRouter.tsx"
|
|
384
|
+
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat={["typescript", "esm"]}
|
|
676
385
|
import { localeMap } from "intlayer"; // Funzioni di utilità e tipi da 'intlayer'
|
|
677
386
|
import type { FC, PropsWithChildren } from "react"; // Tipi React per componenti funzionali e props
|
|
678
387
|
import { IntlayerProvider } from "react-intlayer"; // Provider per il contesto di internazionalizzazione
|
|
@@ -700,69 +409,11 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
700
409
|
);
|
|
701
410
|
```
|
|
702
411
|
|
|
703
|
-
```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
|
|
704
|
-
import { localeMap } from 'intlayer'; // Funzioni e tipi di utilità da 'intlayer'
|
|
705
|
-
import type { FC, PropsWithChildren } from 'react'; // Tipi React per componenti funzionali e props
|
|
706
|
-
import { IntlayerProvider } from "react-intlayer"; // Provider per il contesto di internazionalizzazione
|
|
707
|
-
import { BrowserRouter, Route, Routes } from 'react-router-dom'; // Componenti router per la gestione della navigazione
|
|
708
|
-
|
|
709
|
-
/**
|
|
710
|
-
* Un componente router che configura le rotte specifiche per la localizzazione.
|
|
711
|
-
* Utilizza React Router per gestire la navigazione e rendere i componenti localizzati.
|
|
712
|
-
*/
|
|
713
|
-
export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
714
|
-
<BrowserRouter>
|
|
715
|
-
<Routes>
|
|
716
|
-
{localeMap(({ locale, urlPrefix }) => (
|
|
717
|
-
<Route
|
|
718
|
-
// Modello di percorso per catturare la localizzazione (es. /en/, /fr/) e abbinare tutti i percorsi successivi
|
|
719
|
-
path={`${urlPrefix}/*`}
|
|
720
|
-
key={locale}
|
|
721
|
-
element={
|
|
722
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
723
|
-
} // Avvolge i figli con la gestione della localizzazione
|
|
724
|
-
/>
|
|
725
|
-
))}
|
|
726
|
-
</Routes>
|
|
727
|
-
</BrowserRouter>
|
|
728
|
-
);
|
|
729
|
-
```
|
|
730
|
-
|
|
731
|
-
```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
|
|
732
|
-
const { localeMap } = require("intlayer"); // Funzioni e tipi di utilità da 'intlayer'
|
|
733
|
-
const React = require("react"); // Importa React
|
|
734
|
-
const { IntlayerProvider } = require("react-intlayer"); // Provider per il contesto di internazionalizzazione
|
|
735
|
-
const { BrowserRouter, Route, Routes } = require("react-router-dom"); // Componenti del router per la gestione della navigazione
|
|
736
|
-
|
|
737
|
-
/**
|
|
738
|
-
* Un componente router che configura le rotte specifiche per la locale.
|
|
739
|
-
* Usa React Router per gestire la navigazione e renderizzare componenti localizzati.
|
|
740
|
-
*/
|
|
741
|
-
const LocaleRouter = ({ children }) =>
|
|
742
|
-
React.createElement(
|
|
743
|
-
BrowserRouter,
|
|
744
|
-
{},
|
|
745
|
-
React.createElement(
|
|
746
|
-
Routes,
|
|
747
|
-
{},
|
|
748
|
-
localeMap(({ locale, urlPrefix }) =>
|
|
749
|
-
React.createElement(Route, {
|
|
750
|
-
path: `${urlPrefix}/*`,
|
|
751
|
-
key: locale,
|
|
752
|
-
element: React.createElement(IntlayerProvider, { locale }, children),
|
|
753
|
-
})
|
|
754
|
-
)
|
|
755
|
-
)
|
|
756
|
-
);
|
|
757
|
-
|
|
758
|
-
exports.LocaleRouter = LocaleRouter;
|
|
759
|
-
```
|
|
760
|
-
|
|
761
412
|
> Nota: Se usi `routing.mode: 'no-prefix' | 'search-params'`, probabilmente non hai bisogno di usare la funzione `localeMap`.
|
|
762
413
|
|
|
763
414
|
Quindi, puoi utilizzare il componente `LocaleRouter` nella tua applicazione:
|
|
764
415
|
|
|
765
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
416
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
766
417
|
import { LocaleRouter } from "./components/LocaleRouter";
|
|
767
418
|
import type { FC } from "react";
|
|
768
419
|
|
|
@@ -775,35 +426,11 @@ const App: FC = () => (
|
|
|
775
426
|
);
|
|
776
427
|
```
|
|
777
428
|
|
|
778
|
-
```jsx fileName="src/App.mjx" codeFormat="esm"
|
|
779
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
780
|
-
|
|
781
|
-
// ... Il tuo componente AppContent
|
|
782
|
-
|
|
783
|
-
const App = () => (
|
|
784
|
-
<LocaleRouter>
|
|
785
|
-
<AppContent />
|
|
786
|
-
</LocaleRouter>
|
|
787
|
-
);
|
|
788
|
-
```
|
|
789
|
-
|
|
790
|
-
```jsx fileName="src/App.cjx" codeFormat="commonjs"
|
|
791
|
-
const { LocaleRouter } = require("./components/LocaleRouter");
|
|
792
|
-
|
|
793
|
-
// ... Il tuo componente AppContent
|
|
794
|
-
|
|
795
|
-
const App = () => (
|
|
796
|
-
<LocaleRouter>
|
|
797
|
-
<AppContent />
|
|
798
|
-
</LocaleRouter>
|
|
799
|
-
);
|
|
800
|
-
```
|
|
801
|
-
|
|
802
429
|
In parallelo, puoi anche utilizzare il `intlayerProxy` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, verrà effettuato un reindirizzamento alla locale predefinita.
|
|
803
430
|
|
|
804
431
|
> Nota che per usare `intlayerProxy` in produzione, devi spostare il pacchetto `vite-intlayer` da `devDependencies` a `dependencies`.
|
|
805
432
|
|
|
806
|
-
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
433
|
+
```typescript {3,7} fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
807
434
|
import { defineConfig } from "vite";
|
|
808
435
|
import react from "@vitejs/plugin-react-swc";
|
|
809
436
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
@@ -812,112 +439,17 @@ import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
|
812
439
|
export default defineConfig({
|
|
813
440
|
plugins: [
|
|
814
441
|
intlayerProxy(), // should be placed first
|
|
815
|
-
react(),
|
|
816
|
-
intlayer(),
|
|
817
|
-
],
|
|
818
|
-
});
|
|
819
|
-
```
|
|
820
|
-
|
|
821
|
-
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
822
|
-
import { defineConfig } from "vite";
|
|
823
|
-
import react from "@vitejs/plugin-react-swc";
|
|
824
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
825
|
-
|
|
826
|
-
// https://vitejs.dev/config/
|
|
827
|
-
export default defineConfig({
|
|
828
|
-
plugins: [
|
|
829
|
-
intlayerProxy(), // should be placed first
|
|
830
|
-
react(),
|
|
831
|
-
intlayer(),
|
|
832
|
-
],
|
|
833
|
-
});
|
|
834
|
-
```
|
|
835
|
-
|
|
836
|
-
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
837
|
-
const { defineConfig } = require("vite");
|
|
838
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
839
|
-
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
840
|
-
|
|
841
|
-
// https://vitejs.dev/config/
|
|
842
|
-
module.exports = defineConfig({
|
|
843
|
-
plugins: [
|
|
844
|
-
intlayerProxy(), // should be placed first
|
|
845
|
-
react(),
|
|
846
|
-
intlayer(),
|
|
847
|
-
],
|
|
848
|
-
});
|
|
849
|
-
```
|
|
850
|
-
|
|
851
|
-
### (Opzionale) Passo 8: Cambiare l'URL quando la lingua cambia
|
|
852
|
-
|
|
853
|
-
Per cambiare l'URL quando la lingua cambia, puoi usare la proprietà `onLocaleChange` fornita dall'hook `useLocale`. Parallelamente, puoi usare gli hook `useLocation` e `useNavigate` di `react-router-dom` per aggiornare il percorso dell'URL.
|
|
854
|
-
|
|
855
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
856
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
857
|
-
import {
|
|
858
|
-
Locales,
|
|
859
|
-
getHTMLTextDir,
|
|
860
|
-
getLocaleName,
|
|
861
|
-
getLocalizedUrl,
|
|
862
|
-
} from "intlayer";
|
|
863
|
-
import { useLocale } from "react-intlayer";
|
|
864
|
-
import { type FC } from "react";
|
|
865
|
-
|
|
866
|
-
const LocaleSwitcher: FC = () => {
|
|
867
|
-
const { pathname, search } = useLocation(); // Ottieni il percorso URL corrente. Esempio: /fr/about?foo=bar
|
|
868
|
-
const navigate = useNavigate();
|
|
869
|
-
|
|
870
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
871
|
-
onLocaleChange: (locale) => {
|
|
872
|
-
// Costruisci l'URL con la locale aggiornata
|
|
873
|
-
// Esempio: /es/about?foo=bar
|
|
874
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
875
|
-
|
|
876
|
-
// Aggiorna il percorso URL
|
|
877
|
-
navigate(pathWithLocale);
|
|
878
|
-
},
|
|
879
|
-
});
|
|
880
|
-
|
|
881
|
-
return (
|
|
882
|
-
<div>
|
|
883
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
884
|
-
<div id="localePopover" popover="auto">
|
|
885
|
-
{availableLocales.map((localeItem) => (
|
|
886
|
-
<a
|
|
887
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
888
|
-
hrefLang={localeItem}
|
|
889
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
890
|
-
onClick={(e) => {
|
|
891
|
-
e.preventDefault();
|
|
892
|
-
setLocale(localeItem);
|
|
893
|
-
}}
|
|
894
|
-
key={localeItem}
|
|
895
|
-
>
|
|
896
|
-
<span>
|
|
897
|
-
{/* Località - es. FR */}
|
|
898
|
-
{localeItem}
|
|
899
|
-
</span>
|
|
900
|
-
<span>
|
|
901
|
-
{/* Lingua nella sua stessa località - es. Français */}
|
|
902
|
-
{getLocaleName(localeItem, locale)}
|
|
903
|
-
</span>
|
|
904
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
905
|
-
{/* Lingua nella località corrente - es. Francés con la località corrente impostata su Locales.SPANISH */}
|
|
906
|
-
{getLocaleName(localeItem)}
|
|
907
|
-
</span>
|
|
908
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
909
|
-
{/* Lingua in inglese - es. French */}
|
|
910
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
911
|
-
</span>
|
|
912
|
-
</a>
|
|
913
|
-
))}
|
|
914
|
-
</div>
|
|
915
|
-
</div>
|
|
916
|
-
);
|
|
917
|
-
};
|
|
442
|
+
react(),
|
|
443
|
+
intlayer(),
|
|
444
|
+
],
|
|
445
|
+
});
|
|
918
446
|
```
|
|
919
447
|
|
|
920
|
-
|
|
448
|
+
### (Opzionale) Passo 8: Cambiare l'URL quando la lingua cambia
|
|
449
|
+
|
|
450
|
+
Per cambiare l'URL quando la lingua cambia, puoi usare la proprietà `onLocaleChange` fornita dall'hook `useLocale`. Parallelamente, puoi usare gli hook `useLocation` e `useNavigate` di `react-router-dom` per aggiornare il percorso dell'URL.
|
|
451
|
+
|
|
452
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
921
453
|
import { useLocation, useNavigate } from "react-router-dom";
|
|
922
454
|
import {
|
|
923
455
|
Locales,
|
|
@@ -926,8 +458,9 @@ import {
|
|
|
926
458
|
getLocalizedUrl,
|
|
927
459
|
} from "intlayer";
|
|
928
460
|
import { useLocale } from "react-intlayer";
|
|
461
|
+
import { type FC } from "react";
|
|
929
462
|
|
|
930
|
-
const LocaleSwitcher = () => {
|
|
463
|
+
const LocaleSwitcher: FC = () => {
|
|
931
464
|
const { pathname, search } = useLocation(); // Ottieni il percorso URL corrente. Esempio: /fr/about?foo=bar
|
|
932
465
|
const navigate = useNavigate();
|
|
933
466
|
|
|
@@ -962,11 +495,11 @@ const LocaleSwitcher = () => {
|
|
|
962
495
|
{localeItem}
|
|
963
496
|
</span>
|
|
964
497
|
<span>
|
|
965
|
-
{/* Lingua nella
|
|
498
|
+
{/* Lingua nella sua stessa località - es. Français */}
|
|
966
499
|
{getLocaleName(localeItem, locale)}
|
|
967
500
|
</span>
|
|
968
501
|
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
969
|
-
{/* Lingua nella
|
|
502
|
+
{/* Lingua nella località corrente - es. Francés con la località corrente impostata su Locales.SPANISH */}
|
|
970
503
|
{getLocaleName(localeItem)}
|
|
971
504
|
</span>
|
|
972
505
|
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
@@ -981,70 +514,6 @@ const LocaleSwitcher = () => {
|
|
|
981
514
|
};
|
|
982
515
|
```
|
|
983
516
|
|
|
984
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
985
|
-
const { useLocation, useNavigate } = require("react-router-dom");
|
|
986
|
-
const {
|
|
987
|
-
Locales,
|
|
988
|
-
getHTMLTextDir,
|
|
989
|
-
getLocaleName,
|
|
990
|
-
getLocalizedUrl,
|
|
991
|
-
} = require("intlayer");
|
|
992
|
-
const { useLocale } = require("react-intlayer");
|
|
993
|
-
|
|
994
|
-
const LocaleSwitcher = () => {
|
|
995
|
-
const { pathname, search } = useLocation(); // Ottieni il percorso URL corrente. Esempio: /fr/about?foo=bar
|
|
996
|
-
const navigate = useNavigate();
|
|
997
|
-
|
|
998
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
999
|
-
onLocaleChange: (locale) => {
|
|
1000
|
-
// Costruisci l'URL con la locale aggiornata
|
|
1001
|
-
// Esempio: /es/about?foo=bar
|
|
1002
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
1003
|
-
|
|
1004
|
-
// Aggiorna il percorso URL
|
|
1005
|
-
navigate(pathWithLocale);
|
|
1006
|
-
},
|
|
1007
|
-
});
|
|
1008
|
-
|
|
1009
|
-
return (
|
|
1010
|
-
<div>
|
|
1011
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1012
|
-
<div id="localePopover" popover="auto">
|
|
1013
|
-
{availableLocales.map((localeItem) => (
|
|
1014
|
-
<a
|
|
1015
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
1016
|
-
hrefLang={localeItem}
|
|
1017
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1018
|
-
onClick={(e) => {
|
|
1019
|
-
e.preventDefault();
|
|
1020
|
-
setLocale(localeItem);
|
|
1021
|
-
}}
|
|
1022
|
-
key={localeItem}
|
|
1023
|
-
>
|
|
1024
|
-
<span>
|
|
1025
|
-
{/* Locale - es. FR */}
|
|
1026
|
-
{localeItem}
|
|
1027
|
-
</span>
|
|
1028
|
-
<span>
|
|
1029
|
-
{/* Lingua nella sua stessa Locale - es. Français */}
|
|
1030
|
-
{getLocaleName(localeItem, locale)}
|
|
1031
|
-
</span>
|
|
1032
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1033
|
-
{/* Lingua nella Locale corrente - es. Francés con la locale corrente impostata su Locales.SPANISH */}
|
|
1034
|
-
{getLocaleName(localeItem)}
|
|
1035
|
-
</span>
|
|
1036
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1037
|
-
{/* Lingua in inglese - es. Francese */}
|
|
1038
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1039
|
-
</span>
|
|
1040
|
-
</a>
|
|
1041
|
-
))}
|
|
1042
|
-
</div>
|
|
1043
|
-
</div>
|
|
1044
|
-
);
|
|
1045
|
-
};
|
|
1046
|
-
```
|
|
1047
|
-
|
|
1048
517
|
> Riferimenti alla documentazione:
|
|
1049
518
|
>
|
|
1050
519
|
> - [`useLocale` hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/packages/react-intlayer/useLocale.md)
|
|
@@ -1074,7 +543,7 @@ Aggiornando dinamicamente questi attributi quando la locale cambia, garantisci u
|
|
|
1074
543
|
|
|
1075
544
|
Crea un hook personalizzato per gestire gli attributi HTML. L'hook ascolta i cambiamenti della locale e aggiorna gli attributi di conseguenza:
|
|
1076
545
|
|
|
1077
|
-
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
|
|
546
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
1078
547
|
import { useEffect } from "react";
|
|
1079
548
|
import { useLocale } from "react-intlayer";
|
|
1080
549
|
import { getHTMLTextDir } from "intlayer";
|
|
@@ -1099,63 +568,11 @@ export const useI18nHTMLAttributes = () => {
|
|
|
1099
568
|
};
|
|
1100
569
|
```
|
|
1101
570
|
|
|
1102
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
|
|
1103
|
-
import { useEffect } from "react";
|
|
1104
|
-
import { useLocale } from "intlayer";
|
|
1105
|
-
import { getHTMLTextDir } from "intlayer";
|
|
1106
|
-
|
|
1107
|
-
/**
|
|
1108
|
-
* Aggiorna gli attributi `lang` e `dir` dell'elemento HTML <html> in base al locale corrente.
|
|
1109
|
-
* - `lang`: Informa i browser e i motori di ricerca sulla lingua della pagina.
|
|
1110
|
-
* - `dir`: Garantisce l'ordine di lettura corretto (ad esempio, 'ltr' per l'inglese, 'rtl' per l'arabo).
|
|
1111
|
-
*
|
|
1112
|
-
* Questo aggiornamento dinamico è essenziale per una corretta visualizzazione del testo, accessibilità e SEO.
|
|
1113
|
-
*/
|
|
1114
|
-
export const useI18nHTMLAttributes = () => {
|
|
1115
|
-
const { locale } = useLocale();
|
|
1116
|
-
|
|
1117
|
-
useEffect(() => {
|
|
1118
|
-
// Aggiorna l'attributo della lingua alla locale corrente.
|
|
1119
|
-
document.documentElement.lang = locale;
|
|
1120
|
-
|
|
1121
|
-
// Imposta la direzione del testo in base alla locale corrente.
|
|
1122
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1123
|
-
}, [locale]);
|
|
1124
|
-
};
|
|
1125
|
-
```
|
|
1126
|
-
|
|
1127
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
|
|
1128
|
-
const { useEffect } = require("react");
|
|
1129
|
-
const { useLocale } = require("react-intlayer");
|
|
1130
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
1131
|
-
|
|
1132
|
-
/**
|
|
1133
|
-
* Aggiorna gli attributi `lang` e `dir` dell'elemento HTML <html> in base alla locale corrente.
|
|
1134
|
-
* - `lang`: Informa browser e motori di ricerca sulla lingua della pagina.
|
|
1135
|
-
* - `dir`: Garantisce l'ordine di lettura corretto (es. 'ltr' per inglese, 'rtl' per arabo).
|
|
1136
|
-
*
|
|
1137
|
-
* Questo aggiornamento dinamico è essenziale per una corretta resa del testo, accessibilità e SEO.
|
|
1138
|
-
*/
|
|
1139
|
-
const useI18nHTMLAttributes = () => {
|
|
1140
|
-
const { locale } = useLocale();
|
|
1141
|
-
|
|
1142
|
-
useEffect(() => {
|
|
1143
|
-
// Aggiorna l'attributo della lingua alla locale corrente.
|
|
1144
|
-
document.documentElement.lang = locale;
|
|
1145
|
-
|
|
1146
|
-
// Imposta la direzione del testo in base alla locale corrente.
|
|
1147
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1148
|
-
}, [locale]);
|
|
1149
|
-
};
|
|
1150
|
-
|
|
1151
|
-
module.exports = { useI18nHTMLAttributes };
|
|
1152
|
-
```
|
|
1153
|
-
|
|
1154
571
|
#### Utilizzo del Hook nella Tua Applicazione
|
|
1155
572
|
|
|
1156
573
|
Integra il hook nel tuo componente principale in modo che gli attributi HTML vengano aggiornati ogni volta che la locale cambia:
|
|
1157
574
|
|
|
1158
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
575
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
1159
576
|
import type { FC } from "react";
|
|
1160
577
|
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1161
578
|
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
@@ -1177,49 +594,6 @@ const App: FC = () => (
|
|
|
1177
594
|
export default App;
|
|
1178
595
|
```
|
|
1179
596
|
|
|
1180
|
-
```jsx fileName="src/App.msx" codeFormat="esm"
|
|
1181
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1182
|
-
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
1183
|
-
import "./App.css";
|
|
1184
|
-
|
|
1185
|
-
const AppContent = () => {
|
|
1186
|
-
// Applica l'hook per aggiornare gli attributi lang e dir del tag <html> in base alla locale.
|
|
1187
|
-
useI18nHTMLAttributes();
|
|
1188
|
-
|
|
1189
|
-
// ... Resto del tuo componente
|
|
1190
|
-
};
|
|
1191
|
-
|
|
1192
|
-
const App = () => (
|
|
1193
|
-
<IntlayerProvider>
|
|
1194
|
-
<AppContent />
|
|
1195
|
-
</IntlayerProvider>
|
|
1196
|
-
);
|
|
1197
|
-
|
|
1198
|
-
export default App;
|
|
1199
|
-
```
|
|
1200
|
-
|
|
1201
|
-
```jsx fileName="src/App.csx" codeFormat="commonjs"
|
|
1202
|
-
const { FC } = require("react");
|
|
1203
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
1204
|
-
const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
|
|
1205
|
-
require("./App.css");
|
|
1206
|
-
|
|
1207
|
-
const AppContent = () => {
|
|
1208
|
-
// Applica l'hook per aggiornare gli attributi lang e dir del tag <html> in base alla locale.
|
|
1209
|
-
useI18nHTMLAttributes();
|
|
1210
|
-
|
|
1211
|
-
// ... Resto del tuo componente
|
|
1212
|
-
};
|
|
1213
|
-
|
|
1214
|
-
const App = () => (
|
|
1215
|
-
<IntlayerProvider>
|
|
1216
|
-
<AppContent />
|
|
1217
|
-
</IntlayerProvider>
|
|
1218
|
-
);
|
|
1219
|
-
|
|
1220
|
-
module.exports = App;
|
|
1221
|
-
```
|
|
1222
|
-
|
|
1223
597
|
Applicando queste modifiche, la tua applicazione:
|
|
1224
598
|
|
|
1225
599
|
- Garantire che l'attributo **language** (`lang`) rifletta correttamente la locale corrente, importante per la SEO e il comportamento del browser.
|
|
@@ -1238,7 +612,7 @@ Questo comportamento è utile per diversi motivi:
|
|
|
1238
612
|
|
|
1239
613
|
Di seguito è riportata l'implementazione di un componente `Link` localizzato in TypeScript:
|
|
1240
614
|
|
|
1241
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
615
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1242
616
|
import { getLocalizedUrl } from "intlayer";
|
|
1243
617
|
import {
|
|
1244
618
|
forwardRef,
|
|
@@ -1284,79 +658,6 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
1284
658
|
Link.displayName = "Link";
|
|
1285
659
|
```
|
|
1286
660
|
|
|
1287
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1288
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1289
|
-
import { useLocale } from "react-intlayer";
|
|
1290
|
-
import { forwardRef } from "react";
|
|
1291
|
-
|
|
1292
|
-
/**
|
|
1293
|
-
* Funzione di utilità per verificare se un URL è esterno.
|
|
1294
|
-
* Se l'URL inizia con http:// o https://, è considerato esterno.
|
|
1295
|
-
*/
|
|
1296
|
-
export const checkIsExternalLink = (href?: string): boolean =>
|
|
1297
|
-
/^https?:\/\//.test(href ?? "");
|
|
1298
|
-
|
|
1299
|
-
/**
|
|
1300
|
-
* Componente Link personalizzato che adatta l'attributo href in base alla locale corrente.
|
|
1301
|
-
* Per i link interni, utilizza `getLocalizedUrl` per anteporre la locale all'URL (es. /fr/about).
|
|
1302
|
-
* Questo garantisce che la navigazione rimanga all'interno dello stesso contesto locale.
|
|
1303
|
-
*/
|
|
1304
|
-
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1305
|
-
const { locale } = useLocale();
|
|
1306
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1307
|
-
|
|
1308
|
-
// Se il link è interno e viene fornito un href valido, ottieni l'URL localizzato.
|
|
1309
|
-
const hrefI18n =
|
|
1310
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1311
|
-
|
|
1312
|
-
return (
|
|
1313
|
-
<a href={hrefI18n} ref={ref} {...props}>
|
|
1314
|
-
{children}
|
|
1315
|
-
</a>
|
|
1316
|
-
);
|
|
1317
|
-
});
|
|
1318
|
-
|
|
1319
|
-
Link.displayName = "Link";
|
|
1320
|
-
```
|
|
1321
|
-
|
|
1322
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1323
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1324
|
-
const { useLocale } = require("react-intlayer");
|
|
1325
|
-
const { forwardRef } = require("react");
|
|
1326
|
-
|
|
1327
|
-
/**
|
|
1328
|
-
* Funzione di utilità per verificare se un URL è esterno.
|
|
1329
|
-
* Se l'URL inizia con http:// o https://, è considerato esterno.
|
|
1330
|
-
*/
|
|
1331
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1332
|
-
|
|
1333
|
-
/**
|
|
1334
|
-
* Un componente Link personalizzato che adatta l'attributo href in base alla locale corrente.
|
|
1335
|
-
* Per i link interni, utilizza `getLocalizedUrl` per aggiungere il prefisso della locale all'URL (es. /fr/about).
|
|
1336
|
-
* Questo garantisce che la navigazione rimanga nel contesto della stessa locale.
|
|
1337
|
-
*/
|
|
1338
|
-
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1339
|
-
const { locale } = useLocale();
|
|
1340
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1341
|
-
|
|
1342
|
-
// Se il link è interno e l'href è valido, ottieni l'URL localizzato.
|
|
1343
|
-
const localizedHref = isExternalLink ? href : getLocalizedUrl(href, locale);
|
|
1344
|
-
|
|
1345
|
-
return (
|
|
1346
|
-
<a
|
|
1347
|
-
href={localizedHref}
|
|
1348
|
-
ref={ref}
|
|
1349
|
-
{...props}
|
|
1350
|
-
aria-current={isExternalLink ? "external" : undefined}
|
|
1351
|
-
>
|
|
1352
|
-
{children}
|
|
1353
|
-
</a>
|
|
1354
|
-
);
|
|
1355
|
-
});
|
|
1356
|
-
|
|
1357
|
-
Link.displayName = "Link";
|
|
1358
|
-
```
|
|
1359
|
-
|
|
1360
661
|
- Funzione di utilità per verificare se un URL è esterno.
|
|
1361
662
|
- Se l'URL inizia con http:// o https://, è considerato esterno.
|
|
1362
663
|
|
|
@@ -1434,7 +735,7 @@ Per facilitare questo processo, Intlayer propone un [compilatore](https://github
|
|
|
1434
735
|
|
|
1435
736
|
Per configurarlo, puoi aggiungere una sezione `compiler` nel tuo file `intlayer.config.ts`:
|
|
1436
737
|
|
|
1437
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
738
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1438
739
|
import { type IntlayerConfig } from "intlayer";
|
|
1439
740
|
|
|
1440
741
|
const config: IntlayerConfig = {
|
|
@@ -1465,66 +766,6 @@ const config: IntlayerConfig = {
|
|
|
1465
766
|
export default config;
|
|
1466
767
|
```
|
|
1467
768
|
|
|
1468
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1469
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1470
|
-
const config = {
|
|
1471
|
-
// ... Resto della tua configurazione
|
|
1472
|
-
compiler: {
|
|
1473
|
-
/**
|
|
1474
|
-
* Indica se il compilatore deve essere abilitato.
|
|
1475
|
-
*/
|
|
1476
|
-
enabled: true,
|
|
1477
|
-
|
|
1478
|
-
/**
|
|
1479
|
-
* Definisce il percorso dei file di output
|
|
1480
|
-
*/
|
|
1481
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1482
|
-
|
|
1483
|
-
/**
|
|
1484
|
-
* Indica se i componenti devono essere salvati dopo essere stati trasformati. In questo modo, il compilatore può essere eseguito solo una volta per trasformare l'app e poi rimosso.
|
|
1485
|
-
*/
|
|
1486
|
-
saveComponents: false,
|
|
1487
|
-
|
|
1488
|
-
/**
|
|
1489
|
-
* Prefisso chiave dizionario
|
|
1490
|
-
*/
|
|
1491
|
-
dictionaryKeyPrefix: "",
|
|
1492
|
-
},
|
|
1493
|
-
};
|
|
1494
|
-
|
|
1495
|
-
export default config;
|
|
1496
|
-
```
|
|
1497
|
-
|
|
1498
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1499
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1500
|
-
const config = {
|
|
1501
|
-
// ... Resto della tua configurazione
|
|
1502
|
-
compiler: {
|
|
1503
|
-
/**
|
|
1504
|
-
* Indica se il compilatore deve essere abilitato.
|
|
1505
|
-
*/
|
|
1506
|
-
enabled: true,
|
|
1507
|
-
|
|
1508
|
-
/**
|
|
1509
|
-
* Definisce il percorso dei file di output
|
|
1510
|
-
*/
|
|
1511
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1512
|
-
|
|
1513
|
-
/**
|
|
1514
|
-
* Indica se i componenti devono essere salvati dopo essere stati trasformati. In questo modo, il compilatore può essere eseguito solo una volta per trasformare l'app e poi rimosso.
|
|
1515
|
-
*/
|
|
1516
|
-
saveComponents: false,
|
|
1517
|
-
|
|
1518
|
-
/**
|
|
1519
|
-
* Prefisso chiave dizionario
|
|
1520
|
-
*/
|
|
1521
|
-
dictionaryKeyPrefix: "",
|
|
1522
|
-
},
|
|
1523
|
-
};
|
|
1524
|
-
|
|
1525
|
-
module.exports = config;
|
|
1526
|
-
```
|
|
1527
|
-
|
|
1528
769
|
<Tabs>
|
|
1529
770
|
<Tab value='Comando di estrazione'>
|
|
1530
771
|
|
|
@@ -1582,6 +823,80 @@ bun run build # Or bun run dev
|
|
|
1582
823
|
</Tab>
|
|
1583
824
|
</Tabs>
|
|
1584
825
|
|
|
826
|
+
### (Opzionale) Sitemap e robots.txt (generazione in build)
|
|
827
|
+
|
|
828
|
+
Intlayer espone utilità — `generateSitemap` e `getMultilingualUrls` — per formattare `sitemap.xml` multilingue e `robots.txt` pronti per i crawler e scriverli automaticamente in `public/`. Di solito si esegue un piccolo script Node **prima** di Vite (ad esempio hook npm `predev` / `prebuild`) così che i file siano presenti in build o in sviluppo.
|
|
829
|
+
|
|
830
|
+
#### Sitemap
|
|
831
|
+
|
|
832
|
+
Il generatore di sitemap di Intlayer rispetta le tue lingue e aggiunge i metadati attesi dai crawler.
|
|
833
|
+
|
|
834
|
+
> La sitemap supporta lo spazio dei nomi `xhtml:link` (hreflang). Invece di elencare solo URL “piatti”, Intlayer collega in modo bidirezionale tutte le versioni linguistiche di ogni pagina (ad es. `/about`, `/fr/about` o `/about?lang=fr` a seconda del routing).
|
|
835
|
+
|
|
836
|
+
#### Robots.txt
|
|
837
|
+
|
|
838
|
+
Usa `getMultilingualUrls` così le regole `Disallow` coprono tutte le varianti localizzate dei percorsi sensibili.
|
|
839
|
+
|
|
840
|
+
#### 1. Aggiungi `generate-seo.mjs` nella root del progetto
|
|
841
|
+
|
|
842
|
+
```javascript fileName="generate-seo.mjs"
|
|
843
|
+
import fs from "fs";
|
|
844
|
+
import path from "path";
|
|
845
|
+
import { fileURLToPath } from "url";
|
|
846
|
+
import { generateSitemap, getMultilingualUrls } from "intlayer";
|
|
847
|
+
|
|
848
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
849
|
+
|
|
850
|
+
const SITE_URL = (process.env.SITE_URL || "http://localhost:5173").replace(
|
|
851
|
+
/\/$/,
|
|
852
|
+
""
|
|
853
|
+
);
|
|
854
|
+
|
|
855
|
+
const pathList = [
|
|
856
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
857
|
+
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
858
|
+
];
|
|
859
|
+
|
|
860
|
+
const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
|
|
861
|
+
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
862
|
+
|
|
863
|
+
const getAllMultilingualUrls = (urls) =>
|
|
864
|
+
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
865
|
+
|
|
866
|
+
const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
|
|
867
|
+
|
|
868
|
+
const robotsTxt = [
|
|
869
|
+
"User-agent: *",
|
|
870
|
+
"Allow: /",
|
|
871
|
+
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
872
|
+
"",
|
|
873
|
+
`Sitemap: ${SITE_URL}/sitemap.xml`,
|
|
874
|
+
].join("\n");
|
|
875
|
+
|
|
876
|
+
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
877
|
+
|
|
878
|
+
console.log("SEO files generated successfully.");
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
Serve il pacchetto `intlayer` installato. Imposta `SITE_URL` in ambiente per la produzione (es. in CI).
|
|
882
|
+
|
|
883
|
+
> Preferisci `generate-seo.mjs` per l’ESM di Node. Con `generate-seo.js` imposta `"type": "module"` in `package.json` oppure abilita l’ESM in Node.
|
|
884
|
+
|
|
885
|
+
#### 2. Esegui lo script prima di Vite
|
|
886
|
+
|
|
887
|
+
```json fileName="package.json"
|
|
888
|
+
{
|
|
889
|
+
"scripts": {
|
|
890
|
+
"dev": "vite",
|
|
891
|
+
"prebuild": "node generate-seo.mjs",
|
|
892
|
+
"build": "vite build",
|
|
893
|
+
"preview": "vite preview"
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
```
|
|
897
|
+
|
|
898
|
+
Adatta i comandi se usi pnpm o yarn. Puoi anche richiamare lo script dalla CI o da un altro passo del pipeline.
|
|
899
|
+
|
|
1585
900
|
### Approfondimenti
|
|
1586
901
|
|
|
1587
902
|
Per approfondire, puoi implementare l'[editor visuale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/intlayer_visual_editor.md) o esternalizzare i tuoi contenuti utilizzando il [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/intlayer_CMS.md).
|