@intlayer/docs 8.7.6 → 8.7.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -16,6 +16,7 @@ slugs:
|
|
|
16
16
|
- environment
|
|
17
17
|
- vite-and-react
|
|
18
18
|
applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
|
|
19
|
+
applicationShowcase: https://intlayer-vite-react-template.vercel.app
|
|
19
20
|
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
|
|
20
21
|
history:
|
|
21
22
|
- version: 7.5.9
|
|
@@ -56,13 +57,24 @@ history:
|
|
|
56
57
|
<Tab label="Код" value="code">
|
|
57
58
|
|
|
58
59
|
<iframe
|
|
59
|
-
src="https://
|
|
60
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-vite-react-template?file=intlayer.config.ts"
|
|
60
61
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
61
62
|
title="Демо CodeSandbox, як інтернаціоналізувати ваш додаток за допомогою Intlayer"
|
|
62
63
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
63
64
|
loading="lazy"
|
|
64
65
|
/>
|
|
65
66
|
|
|
67
|
+
</Tab>
|
|
68
|
+
<Tab label="Демо" value="demo">
|
|
69
|
+
|
|
70
|
+
<iframe
|
|
71
|
+
src="https://intlayer-vite-react-template.vercel.app"
|
|
72
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
73
|
+
title="Демо — intlayer-vite-react-template"
|
|
74
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
75
|
+
loading="lazy"
|
|
76
|
+
/>
|
|
77
|
+
|
|
66
78
|
</Tab>
|
|
67
79
|
</Tabs>
|
|
68
80
|
|
|
@@ -109,7 +121,7 @@ bun x intlayer init
|
|
|
109
121
|
|
|
110
122
|
Створіть файл конфігурації для налаштування мов вашого застосунку:
|
|
111
123
|
|
|
112
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
124
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
113
125
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
114
126
|
|
|
115
127
|
const config: IntlayerConfig = {
|
|
@@ -127,62 +139,13 @@ const config: IntlayerConfig = {
|
|
|
127
139
|
export default config;
|
|
128
140
|
```
|
|
129
141
|
|
|
130
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
131
|
-
import { Locales } from "intlayer";
|
|
132
|
-
|
|
133
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
134
|
-
const config = {
|
|
135
|
-
internationalization: {
|
|
136
|
-
locales: [
|
|
137
|
-
Locales.ENGLISH,
|
|
138
|
-
Locales.FRENCH,
|
|
139
|
-
Locales.SPANISH,
|
|
140
|
-
// Інші локалі
|
|
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
|
-
// Ваші інші локалі
|
|
160
|
-
],
|
|
161
|
-
defaultLocale: Locales.ENGLISH,
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
module.exports = config;
|
|
166
|
-
```
|
|
167
|
-
|
|
168
142
|
> Через цей файл конфігурації ви можете налаштувати локалізовані URL-адреси, перенаправлення в middleware, назви cookie, розташування та розширення ваших декларацій контенту, вимкнути логи Intlayer у консолі та інше. Для повного списку доступних параметрів зверніться до [документації з конфігурації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/configuration.md).
|
|
169
143
|
|
|
170
144
|
### Крок 3: Інтегруйте Intlayer у вашу конфігурацію Vite
|
|
171
145
|
|
|
172
146
|
Додайте плагін intlayer у вашу конфігурацію.
|
|
173
147
|
|
|
174
|
-
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
175
|
-
import { defineConfig } from "vite";
|
|
176
|
-
import react from "@vitejs/plugin-react-swc";
|
|
177
|
-
import { intlayer } from "vite-intlayer";
|
|
178
|
-
|
|
179
|
-
// https://vitejs.dev/config/ (документація конфігурації Vite)
|
|
180
|
-
export default defineConfig({
|
|
181
|
-
plugins: [react(), intlayer()],
|
|
182
|
-
});
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
148
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
186
149
|
import { defineConfig } from "vite";
|
|
187
150
|
import react from "@vitejs/plugin-react-swc";
|
|
188
151
|
import { intlayer } from "vite-intlayer";
|
|
@@ -193,24 +156,13 @@ export default defineConfig({
|
|
|
193
156
|
});
|
|
194
157
|
```
|
|
195
158
|
|
|
196
|
-
```javascript fileName="vite.config.cjs" codeFormat="commonjs"
|
|
197
|
-
const { defineConfig } = require("vite");
|
|
198
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
199
|
-
const { intlayer } = require("vite-intlayer");
|
|
200
|
-
|
|
201
|
-
// https://vitejs.dev/config/
|
|
202
|
-
module.exports = defineConfig({
|
|
203
|
-
plugins: [react(), intlayer()],
|
|
204
|
-
});
|
|
205
|
-
```
|
|
206
|
-
|
|
207
159
|
> Плагін Vite `intlayer()` використовується для інтеграції Intlayer з Vite. Він забезпечує побудову файлів декларацій контенту та контролює їх у режимі розробки. Він визначає змінні середовища Intlayer у застосунку Vite. Додатково надає аліаси для оптимізації продуктивності.
|
|
208
160
|
|
|
209
161
|
### Крок 4: Оголосіть свій контент
|
|
210
162
|
|
|
211
163
|
Створюйте та керуйте деклараціями контенту для зберігання перекладів:
|
|
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
|
|
|
@@ -275,149 +227,6 @@ const appContent = {
|
|
|
275
227
|
export default appContent;
|
|
276
228
|
```
|
|
277
229
|
|
|
278
|
-
```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
|
|
279
|
-
import { t } from "intlayer";
|
|
280
|
-
|
|
281
|
-
/** @type {import('intlayer').Dictionary} */
|
|
282
|
-
const appContent = {
|
|
283
|
-
key: "app",
|
|
284
|
-
content: {
|
|
285
|
-
viteLogo: t({
|
|
286
|
-
uk: "Логотип Vite",
|
|
287
|
-
en: "Vite logo",
|
|
288
|
-
fr: "Logo Vite",
|
|
289
|
-
es: "Logo Vite",
|
|
290
|
-
}),
|
|
291
|
-
reactLogo: t({
|
|
292
|
-
uk: "Логотип React",
|
|
293
|
-
en: "React logo",
|
|
294
|
-
fr: "Logo React",
|
|
295
|
-
es: "Logo React",
|
|
296
|
-
}),
|
|
297
|
-
|
|
298
|
-
title: "Vite + React",
|
|
299
|
-
|
|
300
|
-
count: t({
|
|
301
|
-
uk: "лічильник: ",
|
|
302
|
-
en: "count is ",
|
|
303
|
-
fr: "le compte est ",
|
|
304
|
-
es: "el recuento es ",
|
|
305
|
-
}),
|
|
306
|
-
|
|
307
|
-
edit:
|
|
308
|
-
t <
|
|
309
|
-
ReactNode >
|
|
310
|
-
{
|
|
311
|
-
// Не забудьте імпортувати React, якщо ви використовуєте React node у своєму контенті
|
|
312
|
-
uk: (
|
|
313
|
-
<>
|
|
314
|
-
Редагуйте <code>src/App.tsx</code> і збережіть, щоб протестувати HMR
|
|
315
|
-
</>
|
|
316
|
-
),
|
|
317
|
-
en: (
|
|
318
|
-
<>
|
|
319
|
-
Edit <code>src/App.tsx</code> and save to test HMR
|
|
320
|
-
</>
|
|
321
|
-
),
|
|
322
|
-
fr: (
|
|
323
|
-
<>
|
|
324
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
325
|
-
</>
|
|
326
|
-
),
|
|
327
|
-
es: (
|
|
328
|
-
<>
|
|
329
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
330
|
-
</>
|
|
331
|
-
),
|
|
332
|
-
},
|
|
333
|
-
|
|
334
|
-
readTheDocs: t({
|
|
335
|
-
uk: "Клацніть на логотипи Vite та React, щоб дізнатися більше",
|
|
336
|
-
en: "Click on the Vite and React logos to learn more",
|
|
337
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
338
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
339
|
-
}),
|
|
340
|
-
},
|
|
341
|
-
};
|
|
342
|
-
|
|
343
|
-
export default appContent;
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
|
|
347
|
-
const { t } = require("intlayer");
|
|
348
|
-
|
|
349
|
-
/** @type {import('intlayer').Dictionary} */
|
|
350
|
-
const appContent = {
|
|
351
|
-
key: "app",
|
|
352
|
-
content: {
|
|
353
|
-
viteLogo: t({
|
|
354
|
-
uk: "Логотип Vite",
|
|
355
|
-
en: "Vite logo",
|
|
356
|
-
fr: "Logo Vite",
|
|
357
|
-
es: "Logo Vite",
|
|
358
|
-
}),
|
|
359
|
-
reactLogo: t({
|
|
360
|
-
uk: "Логотип React",
|
|
361
|
-
en: "React logo",
|
|
362
|
-
fr: "Logo React",
|
|
363
|
-
es: "Logo React",
|
|
364
|
-
}),
|
|
365
|
-
|
|
366
|
-
title: "Vite + React",
|
|
367
|
-
|
|
368
|
-
count: t({
|
|
369
|
-
uk: "лічильник: ",
|
|
370
|
-
en: "count is ",
|
|
371
|
-
fr: "le compte est ",
|
|
372
|
-
es: "el recuento es ",
|
|
373
|
-
}),
|
|
374
|
-
|
|
375
|
-
edit:
|
|
376
|
-
t <
|
|
377
|
-
ReactNode >
|
|
378
|
-
{
|
|
379
|
-
// Не забудьте імпортувати React, якщо ви використовуєте React node у вашому вмісті
|
|
380
|
-
uk: (
|
|
381
|
-
<>
|
|
382
|
-
Редагуйте <code>src/App.tsx</code> та збережіть, щоб протестувати
|
|
383
|
-
HMR
|
|
384
|
-
</>
|
|
385
|
-
),
|
|
386
|
-
en: (
|
|
387
|
-
<>
|
|
388
|
-
Edit <code>src/App.tsx</code> and save to test HMR
|
|
389
|
-
</>
|
|
390
|
-
),
|
|
391
|
-
uk: (
|
|
392
|
-
<>
|
|
393
|
-
Відредагуйте <code>src/App.tsx</code> та збережіть, щоб перевірити
|
|
394
|
-
HMR
|
|
395
|
-
</>
|
|
396
|
-
),
|
|
397
|
-
fr: (
|
|
398
|
-
<>
|
|
399
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
400
|
-
</>
|
|
401
|
-
),
|
|
402
|
-
es: (
|
|
403
|
-
<>
|
|
404
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
405
|
-
</>
|
|
406
|
-
),
|
|
407
|
-
},
|
|
408
|
-
|
|
409
|
-
readTheDocs: t({
|
|
410
|
-
uk: "Натисніть на логотипи Vite і React, щоб дізнатися більше",
|
|
411
|
-
en: "Click on the Vite and React logos to learn more",
|
|
412
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
413
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
414
|
-
}),
|
|
415
|
-
},
|
|
416
|
-
};
|
|
417
|
-
|
|
418
|
-
module.exports = appContent;
|
|
419
|
-
```
|
|
420
|
-
|
|
421
230
|
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
422
231
|
{
|
|
423
232
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -491,7 +300,7 @@ module.exports = appContent;
|
|
|
491
300
|
|
|
492
301
|
Отримуйте доступ до словників контенту по всьому застосунку:
|
|
493
302
|
|
|
494
|
-
```tsx {5,9} fileName="src/App.tsx" codeFormat="typescript"
|
|
303
|
+
```tsx {5,9} fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
495
304
|
import { useState, type FC } from "react";
|
|
496
305
|
import reactLogo from "./assets/react.svg";
|
|
497
306
|
import viteLogo from "/vite.svg";
|
|
@@ -538,100 +347,6 @@ const App: FC = () => (
|
|
|
538
347
|
export default App;
|
|
539
348
|
```
|
|
540
349
|
|
|
541
|
-
```tsx {5,9} fileName="src/App.msx" codeFormat="esm"
|
|
542
|
-
import { useState } from "react";
|
|
543
|
-
import reactLogo from "./assets/react.svg";
|
|
544
|
-
import viteLogo from "/vite.svg";
|
|
545
|
-
import "./App.css";
|
|
546
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
547
|
-
|
|
548
|
-
const AppContent = () => {
|
|
549
|
-
const [count, setCount] = useState(0);
|
|
550
|
-
const content = useIntlayer("app");
|
|
551
|
-
|
|
552
|
-
return (
|
|
553
|
-
<>
|
|
554
|
-
<div>
|
|
555
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
556
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
557
|
-
</a>
|
|
558
|
-
<a href="https://react.dev" target="_blank">
|
|
559
|
-
<img
|
|
560
|
-
src={reactLogo}
|
|
561
|
-
className="logo react"
|
|
562
|
-
alt={content.reactLogo.value}
|
|
563
|
-
/>
|
|
564
|
-
</a>
|
|
565
|
-
</div>
|
|
566
|
-
<h1>{content.title}</h1>
|
|
567
|
-
<div className="card">
|
|
568
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
569
|
-
{content.count}
|
|
570
|
-
{count}
|
|
571
|
-
</button>
|
|
572
|
-
<p>{content.edit}</p>
|
|
573
|
-
</div>
|
|
574
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
575
|
-
</>
|
|
576
|
-
);
|
|
577
|
-
};
|
|
578
|
-
|
|
579
|
-
const App = () => (
|
|
580
|
-
<IntlayerProvider>
|
|
581
|
-
<AppContent />
|
|
582
|
-
</IntlayerProvider>
|
|
583
|
-
);
|
|
584
|
-
|
|
585
|
-
export default App;
|
|
586
|
-
```
|
|
587
|
-
|
|
588
|
-
```tsx {5,9} fileName="src/App.csx" codeFormat="commonjs"
|
|
589
|
-
const { useState } = require("react");
|
|
590
|
-
const reactLogo = require("./assets/react.svg");
|
|
591
|
-
const viteLogo = require("/vite.svg");
|
|
592
|
-
require("./App.css");
|
|
593
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
594
|
-
|
|
595
|
-
const AppContent = () => {
|
|
596
|
-
const [count, setCount] = useState(0);
|
|
597
|
-
const content = useIntlayer("app");
|
|
598
|
-
|
|
599
|
-
return (
|
|
600
|
-
<>
|
|
601
|
-
<div>
|
|
602
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
603
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
604
|
-
</a>
|
|
605
|
-
<a href="https://react.dev" target="_blank">
|
|
606
|
-
<img
|
|
607
|
-
src={reactLogo}
|
|
608
|
-
className="logo react"
|
|
609
|
-
alt={content.reactLogo.value}
|
|
610
|
-
/>
|
|
611
|
-
</a>
|
|
612
|
-
</div>
|
|
613
|
-
<h1>{content.title}</h1>
|
|
614
|
-
<div className="card">
|
|
615
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
616
|
-
{content.count}
|
|
617
|
-
{count}
|
|
618
|
-
</button>
|
|
619
|
-
<p>{content.edit}</p>
|
|
620
|
-
</div>
|
|
621
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
622
|
-
</>
|
|
623
|
-
);
|
|
624
|
-
};
|
|
625
|
-
|
|
626
|
-
const App = () => (
|
|
627
|
-
<IntlayerProvider>
|
|
628
|
-
<AppContent />
|
|
629
|
-
</IntlayerProvider>
|
|
630
|
-
);
|
|
631
|
-
|
|
632
|
-
module.exports = App;
|
|
633
|
-
```
|
|
634
|
-
|
|
635
350
|
> Якщо ви хочете використовувати ваш контент у атрибуті типу `string`, наприклад `alt`, `title`, `href`, `aria-label` тощо, ви повинні викликати значення функції, як-от:
|
|
636
351
|
|
|
637
352
|
> ```jsx
|
|
@@ -646,7 +361,7 @@ module.exports = App;
|
|
|
646
361
|
|
|
647
362
|
Щоб змінити мову вашого контенту, ви можете використати функцію `setLocale`, що надається хуком `useLocale`. Ця функція дозволяє встановити локаль додатку і відповідно оновити контент.
|
|
648
363
|
|
|
649
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
364
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
650
365
|
import type { FC } from "react";
|
|
651
366
|
import { Locales } from "intlayer";
|
|
652
367
|
import { useLocale } from "react-intlayer";
|
|
@@ -662,36 +377,6 @@ const LocaleSwitcher: FC = () => {
|
|
|
662
377
|
};
|
|
663
378
|
```
|
|
664
379
|
|
|
665
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
666
|
-
import { Locales } from "intlayer";
|
|
667
|
-
import { useLocale } from "react-intlayer";
|
|
668
|
-
|
|
669
|
-
const LocaleSwitcher = () => {
|
|
670
|
-
const { setLocale } = useLocale();
|
|
671
|
-
|
|
672
|
-
return (
|
|
673
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
674
|
-
Змінити мову на англійську
|
|
675
|
-
</button>
|
|
676
|
-
);
|
|
677
|
-
};
|
|
678
|
-
```
|
|
679
|
-
|
|
680
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
681
|
-
const { Locales } = require("intlayer");
|
|
682
|
-
const { useLocale } = require("react-intlayer");
|
|
683
|
-
|
|
684
|
-
const LocaleSwitcher = () => {
|
|
685
|
-
const { setLocale } = useLocale();
|
|
686
|
-
|
|
687
|
-
return (
|
|
688
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
689
|
-
Змінити мову на англійську
|
|
690
|
-
</button>
|
|
691
|
-
);
|
|
692
|
-
};
|
|
693
|
-
```
|
|
694
|
-
|
|
695
380
|
> Щоб дізнатися більше про хук `useLocale`, зверніться до [документації](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/packages/react-intlayer/useLocale.md).
|
|
696
381
|
|
|
697
382
|
### (Необов'язково) Крок 7: Додайте локалізовану маршрутизацію до вашого застосунку
|
|
@@ -709,7 +394,7 @@ const LocaleSwitcher = () => {
|
|
|
709
394
|
|
|
710
395
|
Щоб додати локалізовану маршрутизацію у ваш додаток, ви можете створити компонент `LocaleRouter`, який обгортає маршрути вашого додатка та обробляє маршрутизацію на основі локалі. Ось приклад із використанням [React Router](https://reactrouter.com/home):
|
|
711
396
|
|
|
712
|
-
```tsx fileName="src/components/LocaleRouter.tsx"
|
|
397
|
+
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat={["typescript", "esm"]}
|
|
713
398
|
import { localeMap } from "intlayer"; // Утиліти та типи з 'intlayer'
|
|
714
399
|
import type { FC, PropsWithChildren } from "react"; // Типи React для функціональних компонентів та props
|
|
715
400
|
import { IntlayerProvider } from "react-intlayer"; // Провайдер для контексту інтернаціоналізації
|
|
@@ -737,69 +422,11 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
737
422
|
);
|
|
738
423
|
```
|
|
739
424
|
|
|
740
|
-
```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
|
|
741
|
-
import { localeMap } from 'intlayer'; // Утилітні функції та типи з 'intlayer'
|
|
742
|
-
import type { FC, PropsWithChildren } from 'react'; // Типи React для функціональних компонентів та пропсів
|
|
743
|
-
import { IntlayerProvider } from "react-intlayer"; // Провайдер контексту інтернаціоналізації
|
|
744
|
-
import { BrowserRouter, Route, Routes } from 'react-router-dom'; // Компоненти маршрутизації для керування навігацією
|
|
745
|
-
|
|
746
|
-
/**
|
|
747
|
-
* Компонент роутера, який налаштовує маршрути для конкретних локалей.
|
|
748
|
-
* Використовує React Router для керування навігацією та відображення локалізованих компонентів.
|
|
749
|
-
*/
|
|
750
|
-
export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
751
|
-
<BrowserRouter>
|
|
752
|
-
<Routes>
|
|
753
|
-
{localeMap(({ locale, urlPrefix }) => (
|
|
754
|
-
<Route
|
|
755
|
-
// Шаблон маршруту для захоплення локалі (наприклад, /en/, /fr/) і для відповідності всім наступним шляхам
|
|
756
|
-
path={`${urlPrefix}/*`}
|
|
757
|
-
key={locale}
|
|
758
|
-
element={
|
|
759
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
760
|
-
} // Обгортає children управлінням локалі
|
|
761
|
-
/>
|
|
762
|
-
))}
|
|
763
|
-
</Routes>
|
|
764
|
-
</BrowserRouter>
|
|
765
|
-
);
|
|
766
|
-
```
|
|
767
|
-
|
|
768
|
-
```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
|
|
769
|
-
const { localeMap } = require("intlayer"); // Утиліти та типи з 'intlayer'
|
|
770
|
-
const React = require("react"); // Імпортує React
|
|
771
|
-
const { IntlayerProvider } = require("react-intlayer"); // Провайдер контексту інтернаціоналізації
|
|
772
|
-
const { BrowserRouter, Route, Routes } = require("react-router-dom"); // Компоненти роутера для керування навігацією
|
|
773
|
-
|
|
774
|
-
/**
|
|
775
|
-
* Компонент роутера, який налаштовує маршрути, специфічні для локалі.
|
|
776
|
-
* Використовує React Router для керування навігацією та відображення локалізованих компонентів.
|
|
777
|
-
*/
|
|
778
|
-
const LocaleRouter = ({ children }) =>
|
|
779
|
-
React.createElement(
|
|
780
|
-
BrowserRouter,
|
|
781
|
-
{},
|
|
782
|
-
React.createElement(
|
|
783
|
-
Routes,
|
|
784
|
-
{},
|
|
785
|
-
localeMap(({ locale, urlPrefix }) =>
|
|
786
|
-
React.createElement(Route, {
|
|
787
|
-
path: `${urlPrefix}/*`,
|
|
788
|
-
key: locale,
|
|
789
|
-
element: React.createElement(IntlayerProvider, { locale }, children),
|
|
790
|
-
})
|
|
791
|
-
)
|
|
792
|
-
)
|
|
793
|
-
);
|
|
794
|
-
|
|
795
|
-
exports.LocaleRouter = LocaleRouter;
|
|
796
|
-
```
|
|
797
|
-
|
|
798
425
|
> Примітка: Якщо ви використовуєте `routing.mode: 'no-prefix' | 'search-params'`, ймовірно, вам не потрібно використовувати функцію `localeMap`.
|
|
799
426
|
|
|
800
427
|
Потім ви можете використовувати компонент `LocaleRouter` у вашому застосунку:
|
|
801
428
|
|
|
802
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
429
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
803
430
|
import { LocaleRouter } from "./components/LocaleRouter";
|
|
804
431
|
import type { FC } from "react";
|
|
805
432
|
|
|
@@ -812,35 +439,11 @@ const App: FC = () => (
|
|
|
812
439
|
);
|
|
813
440
|
```
|
|
814
441
|
|
|
815
|
-
```jsx fileName="src/App.mjx" codeFormat="esm"
|
|
816
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
817
|
-
|
|
818
|
-
// ... Ваш компонент AppContent
|
|
819
|
-
|
|
820
|
-
const App = () => (
|
|
821
|
-
<LocaleRouter>
|
|
822
|
-
<AppContent />
|
|
823
|
-
</LocaleRouter>
|
|
824
|
-
);
|
|
825
|
-
```
|
|
826
|
-
|
|
827
|
-
```jsx fileName="src/App.cjx" codeFormat="commonjs"
|
|
828
|
-
const { LocaleRouter } = require("./components/LocaleRouter");
|
|
829
|
-
|
|
830
|
-
// ... Ваш компонент AppContent
|
|
831
|
-
|
|
832
|
-
const App = () => (
|
|
833
|
-
<LocaleRouter>
|
|
834
|
-
<AppContent />
|
|
835
|
-
</LocaleRouter>
|
|
836
|
-
);
|
|
837
|
-
```
|
|
838
|
-
|
|
839
442
|
Паралельно, ви також можете використовувати `intlayerProxy` для додавання серверного маршрутизування до вашого додатка. Цей плагін автоматично визначатиме поточну локаль на основі URL і встановлюватиме відповідний cookie для локалі. Якщо локаль не вказана, плагін визначить найбільш відповідну локаль на основі мовних налаштувань браузера користувача. Якщо локаль так і не буде виявлена, він перенаправить на локаль за замовчуванням.
|
|
840
443
|
|
|
841
444
|
> Заувага: щоб використовувати `intlayerProxy` у production, потрібно перемістити пакет `vite-intlayer` з `devDependencies` до `dependencies`.
|
|
842
445
|
|
|
843
|
-
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
446
|
+
```typescript {3,7} fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
844
447
|
import { defineConfig } from "vite";
|
|
845
448
|
import react from "@vitejs/plugin-react-swc";
|
|
846
449
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
@@ -851,110 +454,15 @@ export default defineConfig({
|
|
|
851
454
|
intlayerProxy(), // should be placed first
|
|
852
455
|
react(),
|
|
853
456
|
intlayer(),
|
|
854
|
-
],
|
|
855
|
-
});
|
|
856
|
-
```
|
|
857
|
-
|
|
858
|
-
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
859
|
-
import { defineConfig } from "vite";
|
|
860
|
-
import react from "@vitejs/plugin-react-swc";
|
|
861
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
862
|
-
|
|
863
|
-
// https://vitejs.dev/config/ - документація Vite
|
|
864
|
-
export default defineConfig({
|
|
865
|
-
plugins: [
|
|
866
|
-
intlayerProxy(), // should be placed first
|
|
867
|
-
react(),
|
|
868
|
-
intlayer(),
|
|
869
|
-
],
|
|
870
|
-
});
|
|
871
|
-
```
|
|
872
|
-
|
|
873
|
-
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
874
|
-
const { defineConfig } = require("vite");
|
|
875
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
876
|
-
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
877
|
-
|
|
878
|
-
// https://vitejs.dev/config/
|
|
879
|
-
module.exports = defineConfig({
|
|
880
|
-
plugins: [
|
|
881
|
-
intlayerProxy(), // should be placed first
|
|
882
|
-
react(),
|
|
883
|
-
intlayer(),
|
|
884
|
-
],
|
|
885
|
-
});
|
|
886
|
-
```
|
|
887
|
-
|
|
888
|
-
### (Необов'язково) Крок 8: Змінити URL при зміні локалі
|
|
889
|
-
|
|
890
|
-
Щоб змінювати URL при зміні локалі, ви можете використати проп `onLocaleChange`, який надає хук `useLocale`. Паралельно, ви можете використати хуки `useLocation` та `useNavigate` з `react-router-dom`, щоб оновлювати шлях URL.
|
|
891
|
-
|
|
892
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
893
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
894
|
-
import {
|
|
895
|
-
Locales,
|
|
896
|
-
getHTMLTextDir,
|
|
897
|
-
getLocaleName,
|
|
898
|
-
getLocalizedUrl,
|
|
899
|
-
} from "intlayer";
|
|
900
|
-
import { useLocale } from "react-intlayer";
|
|
901
|
-
import { type FC } from "react";
|
|
902
|
-
|
|
903
|
-
const LocaleSwitcher: FC = () => {
|
|
904
|
-
const { pathname, search } = useLocation(); // Отримати поточний шлях URL. Приклад: /fr/about?foo=bar
|
|
905
|
-
const navigate = useNavigate();
|
|
906
|
-
|
|
907
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
908
|
-
onLocaleChange: (locale) => {
|
|
909
|
-
// Побудувати URL з оновленою локаллю
|
|
910
|
-
// Приклад: /es/about?foo=bar
|
|
911
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
912
|
-
|
|
913
|
-
// Оновити шлях URL
|
|
914
|
-
navigate(pathWithLocale);
|
|
915
|
-
},
|
|
916
|
-
});
|
|
917
|
-
|
|
918
|
-
return (
|
|
919
|
-
<div>
|
|
920
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
921
|
-
<div id="localePopover" popover="auto">
|
|
922
|
-
{availableLocales.map((localeItem) => (
|
|
923
|
-
<a
|
|
924
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
925
|
-
hrefLang={localeItem}
|
|
926
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
927
|
-
onClick={(e) => {
|
|
928
|
-
e.preventDefault();
|
|
929
|
-
setLocale(localeItem);
|
|
930
|
-
}}
|
|
931
|
-
key={localeItem}
|
|
932
|
-
>
|
|
933
|
-
<span>
|
|
934
|
-
{/* Локаль - наприклад FR */}
|
|
935
|
-
{localeItem}
|
|
936
|
-
</span>
|
|
937
|
-
<span>
|
|
938
|
-
{/* Мова у власній локалі - наприклад Français */}
|
|
939
|
-
{getLocaleName(localeItem, locale)}
|
|
940
|
-
</span>
|
|
941
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
942
|
-
{/* Мова поточною локаллю - наприклад Francés, якщо поточна локаль встановлена на Locales.SPANISH */}
|
|
943
|
-
{getLocaleName(localeItem)}
|
|
944
|
-
</span>
|
|
945
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
946
|
-
{/* Мова англійською, наприклад, French */}
|
|
947
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
948
|
-
</span>
|
|
949
|
-
</a>
|
|
950
|
-
))}
|
|
951
|
-
</div>
|
|
952
|
-
</div>
|
|
953
|
-
);
|
|
954
|
-
};
|
|
457
|
+
],
|
|
458
|
+
});
|
|
955
459
|
```
|
|
956
460
|
|
|
957
|
-
|
|
461
|
+
### (Необов'язково) Крок 8: Змінити URL при зміні локалі
|
|
462
|
+
|
|
463
|
+
Щоб змінювати URL при зміні локалі, ви можете використати проп `onLocaleChange`, який надає хук `useLocale`. Паралельно, ви можете використати хуки `useLocation` та `useNavigate` з `react-router-dom`, щоб оновлювати шлях URL.
|
|
464
|
+
|
|
465
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
958
466
|
import { useLocation, useNavigate } from "react-router-dom";
|
|
959
467
|
import {
|
|
960
468
|
Locales,
|
|
@@ -963,78 +471,15 @@ import {
|
|
|
963
471
|
getLocalizedUrl,
|
|
964
472
|
} from "intlayer";
|
|
965
473
|
import { useLocale } from "react-intlayer";
|
|
474
|
+
import { type FC } from "react";
|
|
966
475
|
|
|
967
|
-
const LocaleSwitcher = () => {
|
|
968
|
-
const { pathname, search } = useLocation(); // Отримує поточний шлях URL. Приклад: /fr/about?foo=bar
|
|
969
|
-
const navigate = useNavigate();
|
|
970
|
-
|
|
971
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
972
|
-
onLocaleChange: (locale) => {
|
|
973
|
-
// Сформувати URL з оновленою локаллю
|
|
974
|
-
// Приклад: /es/about?foo=bar
|
|
975
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
976
|
-
|
|
977
|
-
// Оновити шлях URL
|
|
978
|
-
navigate(pathWithLocale);
|
|
979
|
-
},
|
|
980
|
-
});
|
|
981
|
-
|
|
982
|
-
return (
|
|
983
|
-
<div>
|
|
984
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
985
|
-
<div id="localePopover" popover="auto">
|
|
986
|
-
{availableLocales.map((localeItem) => (
|
|
987
|
-
<a
|
|
988
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
989
|
-
hrefLang={localeItem}
|
|
990
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
991
|
-
onClick={(e) => {
|
|
992
|
-
e.preventDefault();
|
|
993
|
-
setLocale(localeItem);
|
|
994
|
-
}}
|
|
995
|
-
key={localeItem}
|
|
996
|
-
>
|
|
997
|
-
<span>
|
|
998
|
-
{/* Локаль - наприклад FR */}
|
|
999
|
-
{localeItem}
|
|
1000
|
-
</span>
|
|
1001
|
-
<span>
|
|
1002
|
-
{/* Мова у власній локалі, наприклад Français */}
|
|
1003
|
-
{getLocaleName(localeItem, locale)}
|
|
1004
|
-
</span>
|
|
1005
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1006
|
-
{/* Мова у поточній локалі, наприклад Francés, коли поточна локаль встановлена в Locales.SPANISH */}
|
|
1007
|
-
{getLocaleName(localeItem)}
|
|
1008
|
-
</span>
|
|
1009
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1010
|
-
{/* Мова англійською, наприклад French */}
|
|
1011
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1012
|
-
</span>
|
|
1013
|
-
</a>
|
|
1014
|
-
))}
|
|
1015
|
-
</div>
|
|
1016
|
-
</div>
|
|
1017
|
-
);
|
|
1018
|
-
};
|
|
1019
|
-
```
|
|
1020
|
-
|
|
1021
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
1022
|
-
const { useLocation, useNavigate } = require("react-router-dom");
|
|
1023
|
-
const {
|
|
1024
|
-
Locales,
|
|
1025
|
-
getHTMLTextDir,
|
|
1026
|
-
getLocaleName,
|
|
1027
|
-
getLocalizedUrl,
|
|
1028
|
-
} = require("intlayer");
|
|
1029
|
-
const { useLocale } = require("react-intlayer");
|
|
1030
|
-
|
|
1031
|
-
const LocaleSwitcher = () => {
|
|
476
|
+
const LocaleSwitcher: FC = () => {
|
|
1032
477
|
const { pathname, search } = useLocation(); // Отримати поточний шлях URL. Приклад: /fr/about?foo=bar
|
|
1033
478
|
const navigate = useNavigate();
|
|
1034
479
|
|
|
1035
480
|
const { locale, availableLocales, setLocale } = useLocale({
|
|
1036
481
|
onLocaleChange: (locale) => {
|
|
1037
|
-
//
|
|
482
|
+
// Побудувати URL з оновленою локаллю
|
|
1038
483
|
// Приклад: /es/about?foo=bar
|
|
1039
484
|
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
1040
485
|
|
|
@@ -1059,19 +504,19 @@ const LocaleSwitcher = () => {
|
|
|
1059
504
|
key={localeItem}
|
|
1060
505
|
>
|
|
1061
506
|
<span>
|
|
1062
|
-
{/*
|
|
507
|
+
{/* Локаль - наприклад FR */}
|
|
1063
508
|
{localeItem}
|
|
1064
509
|
</span>
|
|
1065
510
|
<span>
|
|
1066
|
-
{/* Мова у власній
|
|
511
|
+
{/* Мова у власній локалі - наприклад Français */}
|
|
1067
512
|
{getLocaleName(localeItem, locale)}
|
|
1068
513
|
</span>
|
|
1069
514
|
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1070
|
-
{/* Мова
|
|
515
|
+
{/* Мова поточною локаллю - наприклад Francés, якщо поточна локаль встановлена на Locales.SPANISH */}
|
|
1071
516
|
{getLocaleName(localeItem)}
|
|
1072
517
|
</span>
|
|
1073
518
|
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1074
|
-
{/* Мова англійською,
|
|
519
|
+
{/* Мова англійською, наприклад, French */}
|
|
1075
520
|
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1076
521
|
</span>
|
|
1077
522
|
</a>
|
|
@@ -1111,7 +556,7 @@ const LocaleSwitcher = () => {
|
|
|
1111
556
|
|
|
1112
557
|
Створіть кастомний хук для керування атрибутами HTML. Хук слухає зміни локалі і відповідно оновлює атрибути:
|
|
1113
558
|
|
|
1114
|
-
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
|
|
559
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
1115
560
|
import { useEffect } from "react";
|
|
1116
561
|
import { useLocale } from "react-intlayer";
|
|
1117
562
|
import { getHTMLTextDir } from "intlayer";
|
|
@@ -1136,63 +581,11 @@ export const useI18nHTMLAttributes = () => {
|
|
|
1136
581
|
};
|
|
1137
582
|
```
|
|
1138
583
|
|
|
1139
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
|
|
1140
|
-
import { useEffect } from "react";
|
|
1141
|
-
import { useLocale } from "react-intlayer";
|
|
1142
|
-
import { getHTMLTextDir } from "intlayer";
|
|
1143
|
-
|
|
1144
|
-
/**
|
|
1145
|
-
* Оновлює атрибути `lang` та `dir` елемента <html> залежно від поточної локалі.
|
|
1146
|
-
* - `lang`: Повідомляє браузерам та пошуковим системам про мову сторінки.
|
|
1147
|
-
* - `dir`: Забезпечує правильний порядок читання (наприклад, 'ltr' для англійської, 'rtl' для арабської).
|
|
1148
|
-
*
|
|
1149
|
-
* Це динамічне оновлення необхідне для коректного відображення тексту, доступності та SEO.
|
|
1150
|
-
*/
|
|
1151
|
-
export const useI18nHTMLAttributes = () => {
|
|
1152
|
-
const { locale } = useLocale();
|
|
1153
|
-
|
|
1154
|
-
useEffect(() => {
|
|
1155
|
-
// Оновлює атрибут lang відповідно до поточної локалі.
|
|
1156
|
-
document.documentElement.lang = locale;
|
|
1157
|
-
|
|
1158
|
-
// Встановлює напрямок тексту відповідно до поточної локалі.
|
|
1159
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1160
|
-
}, [locale]);
|
|
1161
|
-
};
|
|
1162
|
-
```
|
|
1163
|
-
|
|
1164
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
|
|
1165
|
-
const { useEffect } = require("react");
|
|
1166
|
-
const { useLocale } = require("react-intlayer");
|
|
1167
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
1168
|
-
|
|
1169
|
-
/**
|
|
1170
|
-
* Оновлює атрибути `lang` та `dir` елемента <html> на основі поточної локалі.
|
|
1171
|
-
* - `lang`: Повідомляє браузерам та пошуковим системам мову сторінки.
|
|
1172
|
-
* - `dir`: Забезпечує правильний порядок читання (наприклад, 'ltr' для англійської, 'rtl' для арабської).
|
|
1173
|
-
*
|
|
1174
|
-
* Це динамічне оновлення необхідне для коректного відображення тексту, доступності та SEO.
|
|
1175
|
-
*/
|
|
1176
|
-
const useI18nHTMLAttributes = () => {
|
|
1177
|
-
const { locale } = useLocale();
|
|
1178
|
-
|
|
1179
|
-
useEffect(() => {
|
|
1180
|
-
// Оновити атрибут мови відповідно до поточної локалі.
|
|
1181
|
-
document.documentElement.lang = locale;
|
|
1182
|
-
|
|
1183
|
-
// Встановити напрямок тексту на основі поточної локалі.
|
|
1184
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1185
|
-
}, [locale]);
|
|
1186
|
-
};
|
|
1187
|
-
|
|
1188
|
-
module.exports = { useI18nHTMLAttributes };
|
|
1189
|
-
```
|
|
1190
|
-
|
|
1191
584
|
#### Використання хука у вашому застосунку
|
|
1192
585
|
|
|
1193
586
|
Інтегруйте хук у ваш головний компонент, щоб атрибути HTML оновлювалися щоразу при зміні локалі:
|
|
1194
587
|
|
|
1195
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
588
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
1196
589
|
import type { FC } from "react";
|
|
1197
590
|
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1198
591
|
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
@@ -1214,49 +607,6 @@ const App: FC = () => (
|
|
|
1214
607
|
export default App;
|
|
1215
608
|
```
|
|
1216
609
|
|
|
1217
|
-
```jsx fileName="src/App.msx" codeFormat="esm"
|
|
1218
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1219
|
-
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
1220
|
-
import "./App.css";
|
|
1221
|
-
|
|
1222
|
-
const AppContent = () => {
|
|
1223
|
-
// Застосувати хук, щоб оновлювати атрибути lang і dir елемента <html> відповідно до локалі.
|
|
1224
|
-
useI18nHTMLAttributes();
|
|
1225
|
-
|
|
1226
|
-
// ... Решта вашого компонента
|
|
1227
|
-
};
|
|
1228
|
-
|
|
1229
|
-
const App = () => (
|
|
1230
|
-
<IntlayerProvider>
|
|
1231
|
-
<AppContent />
|
|
1232
|
-
</IntlayerProvider>
|
|
1233
|
-
);
|
|
1234
|
-
|
|
1235
|
-
export default App;
|
|
1236
|
-
```
|
|
1237
|
-
|
|
1238
|
-
```jsx fileName="src/App.csx" codeFormat="commonjs"
|
|
1239
|
-
const { FC } = require("react");
|
|
1240
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
1241
|
-
const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
|
|
1242
|
-
require("./App.css");
|
|
1243
|
-
|
|
1244
|
-
const AppContent = () => {
|
|
1245
|
-
// Застосувати хук для оновлення атрибутів lang і dir тега <html> на основі локалі.
|
|
1246
|
-
useI18nHTMLAttributes();
|
|
1247
|
-
|
|
1248
|
-
// ... Решта вашого компонента
|
|
1249
|
-
};
|
|
1250
|
-
|
|
1251
|
-
const App = () => (
|
|
1252
|
-
<IntlayerProvider>
|
|
1253
|
-
<AppContent />
|
|
1254
|
-
</IntlayerProvider>
|
|
1255
|
-
);
|
|
1256
|
-
|
|
1257
|
-
module.exports = App;
|
|
1258
|
-
```
|
|
1259
|
-
|
|
1260
610
|
Після застосування цих змін ваш застосунок:
|
|
1261
611
|
|
|
1262
612
|
- Переконатися, що атрибут **lang** (мова) правильно відображає поточну локаль, що важливо для SEO та поведінки браузера.
|
|
@@ -1275,7 +625,7 @@ module.exports = App;
|
|
|
1275
625
|
|
|
1276
626
|
Нижче наведено реалізацію локалізованого компонента `Link` на TypeScript:
|
|
1277
627
|
|
|
1278
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
628
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1279
629
|
import { getLocalizedUrl } from "intlayer";
|
|
1280
630
|
import {
|
|
1281
631
|
forwardRef,
|
|
@@ -1321,79 +671,6 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
1321
671
|
Link.displayName = "Link";
|
|
1322
672
|
```
|
|
1323
673
|
|
|
1324
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1325
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1326
|
-
import { useLocale } from "react-intlayer";
|
|
1327
|
-
import { forwardRef } from "react";
|
|
1328
|
-
|
|
1329
|
-
/**
|
|
1330
|
-
* Утилітна функція для перевірки, чи є заданий URL зовнішнім.
|
|
1331
|
-
* Якщо URL починається з http:// або https://, він вважається зовнішнім.
|
|
1332
|
-
*/
|
|
1333
|
-
export const checkIsExternalLink = (href?: string): boolean =>
|
|
1334
|
-
/^https?:\/\//.test(href ?? "");
|
|
1335
|
-
|
|
1336
|
-
/**
|
|
1337
|
-
* Користувацький компонент Link, який адаптує атрибут href залежно від поточної локалі.
|
|
1338
|
-
* Для внутрішніх посилань він використовує `getLocalizedUrl`, щоб додати префікс локалі до URL (наприклад, /fr/about).
|
|
1339
|
-
* Це гарантує, що навігація залишатиметься в межах тієї ж локалі.
|
|
1340
|
-
*/
|
|
1341
|
-
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1342
|
-
const { locale } = useLocale();
|
|
1343
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1344
|
-
|
|
1345
|
-
// Якщо посилання внутрішнє і вказано дійсний href, отримати локалізований URL.
|
|
1346
|
-
const hrefI18n =
|
|
1347
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1348
|
-
|
|
1349
|
-
return (
|
|
1350
|
-
<a href={hrefI18n} ref={ref} {...props}>
|
|
1351
|
-
{children}
|
|
1352
|
-
</a>
|
|
1353
|
-
);
|
|
1354
|
-
});
|
|
1355
|
-
|
|
1356
|
-
Link.displayName = "Link";
|
|
1357
|
-
```
|
|
1358
|
-
|
|
1359
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1360
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1361
|
-
const { useLocale } = require("react-intlayer");
|
|
1362
|
-
const { forwardRef } = require("react");
|
|
1363
|
-
|
|
1364
|
-
/**
|
|
1365
|
-
* Утилітна функція для перевірки, чи є заданий URL зовнішнім.
|
|
1366
|
-
* Якщо URL починається з http:// або https://, вважати його зовнішнім.
|
|
1367
|
-
*/
|
|
1368
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1369
|
-
|
|
1370
|
-
/**
|
|
1371
|
-
* Користувацький компонент Link, що адаптує атрибут href залежно від поточної локалі.
|
|
1372
|
-
* Для внутрішніх посилань він використовує `getLocalizedUrl`, щоб додати префікс локалі до URL (наприклад, /fr/about).
|
|
1373
|
-
* Це гарантує, що навігація залишатиметься в межах тієї самої локалі.
|
|
1374
|
-
*/
|
|
1375
|
-
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1376
|
-
const { locale } = useLocale();
|
|
1377
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1378
|
-
|
|
1379
|
-
// Якщо посилання внутрішнє і вказано валідний href, отримати локалізований URL.
|
|
1380
|
-
const localizedHref = isExternalLink ? href : getLocalizedUrl(href, locale);
|
|
1381
|
-
|
|
1382
|
-
return (
|
|
1383
|
-
<a
|
|
1384
|
-
href={localizedHref}
|
|
1385
|
-
ref={ref}
|
|
1386
|
-
{...props}
|
|
1387
|
-
aria-current={isExternalLink ? "external" : undefined}
|
|
1388
|
-
>
|
|
1389
|
-
{children}
|
|
1390
|
-
</a>
|
|
1391
|
-
);
|
|
1392
|
-
});
|
|
1393
|
-
|
|
1394
|
-
Link.displayName = "Link";
|
|
1395
|
-
```
|
|
1396
|
-
|
|
1397
674
|
#### Як це працює
|
|
1398
675
|
|
|
1399
676
|
- **Виявлення зовнішніх посилань**:
|
|
@@ -1466,7 +743,7 @@ Intlayer використовує module augmentation, щоб отримати
|
|
|
1466
743
|
|
|
1467
744
|
Щоб налаштувати його, ви можете додати розділ `compiler` у свій файл `intlayer.config.ts`:
|
|
1468
745
|
|
|
1469
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
746
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1470
747
|
import { type IntlayerConfig } from "intlayer";
|
|
1471
748
|
|
|
1472
749
|
const config: IntlayerConfig = {
|
|
@@ -1497,66 +774,6 @@ const config: IntlayerConfig = {
|
|
|
1497
774
|
export default config;
|
|
1498
775
|
```
|
|
1499
776
|
|
|
1500
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1501
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1502
|
-
const config = {
|
|
1503
|
-
// ... Інша частина вашої конфігурації
|
|
1504
|
-
compiler: {
|
|
1505
|
-
/**
|
|
1506
|
-
* Вказує, чи повинен бути включений компілятор.
|
|
1507
|
-
*/
|
|
1508
|
-
enabled: true,
|
|
1509
|
-
|
|
1510
|
-
/**
|
|
1511
|
-
* Визначає шлях до вихідних файлів
|
|
1512
|
-
*/
|
|
1513
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1514
|
-
|
|
1515
|
-
/**
|
|
1516
|
-
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
1517
|
-
*/
|
|
1518
|
-
saveComponents: false,
|
|
1519
|
-
|
|
1520
|
-
/**
|
|
1521
|
-
* Префікс ключа словника
|
|
1522
|
-
*/
|
|
1523
|
-
dictionaryKeyPrefix: "",
|
|
1524
|
-
},
|
|
1525
|
-
};
|
|
1526
|
-
|
|
1527
|
-
export default config;
|
|
1528
|
-
```
|
|
1529
|
-
|
|
1530
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1531
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1532
|
-
const config = {
|
|
1533
|
-
// ... Інша частина вашої конфігурації
|
|
1534
|
-
compiler: {
|
|
1535
|
-
/**
|
|
1536
|
-
* Вказує, чи повинен бути включений компілятор.
|
|
1537
|
-
*/
|
|
1538
|
-
enabled: true,
|
|
1539
|
-
|
|
1540
|
-
/**
|
|
1541
|
-
* Визначає шлях до вихідних файлів
|
|
1542
|
-
*/
|
|
1543
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1544
|
-
|
|
1545
|
-
/**
|
|
1546
|
-
* Вказує, чи повинні компоненти зберігатися після перетворення. Таким чином, компілятор можна запустити лише один раз для перетворення програми, а потім видалити.
|
|
1547
|
-
*/
|
|
1548
|
-
saveComponents: false,
|
|
1549
|
-
|
|
1550
|
-
/**
|
|
1551
|
-
* Префікс ключа словника
|
|
1552
|
-
*/
|
|
1553
|
-
dictionaryKeyPrefix: "",
|
|
1554
|
-
},
|
|
1555
|
-
};
|
|
1556
|
-
|
|
1557
|
-
module.exports = config;
|
|
1558
|
-
```
|
|
1559
|
-
|
|
1560
777
|
<Tabs>
|
|
1561
778
|
<Tab value='Команда витягування'>
|
|
1562
779
|
|
|
@@ -1614,6 +831,80 @@ bun run build # Or bun run dev
|
|
|
1614
831
|
</Tab>
|
|
1615
832
|
</Tabs>
|
|
1616
833
|
|
|
834
|
+
### (Опційно) Sitemap і robots.txt (генерація під час збірки)
|
|
835
|
+
|
|
836
|
+
Intlayer надає `generateSitemap` і `getMultilingualUrls` — утиліти для формування багатомовних `sitemap.xml` і `robots.txt` для краулерів та автоматичного запису в `public/`. Зазвичай запускають невеликий Node-скрипт **перед** Vite (наприклад, npm-хуки `predev` / `prebuild`).
|
|
837
|
+
|
|
838
|
+
#### Sitemap
|
|
839
|
+
|
|
840
|
+
Генератор sitemap враховує локалі й додає метадані для краулерів.
|
|
841
|
+
|
|
842
|
+
> Підтримується простір імен `xhtml:link` (hreflang). Замість плоского списку URL Intlayer пов’язує всі мовні версії сторінки в обидва боки (наприклад `/about`, `/fr/about` або `/about?lang=fr` залежно від режиму маршрутизації).
|
|
843
|
+
|
|
844
|
+
#### Robots.txt
|
|
845
|
+
|
|
846
|
+
Використовуйте `getMultilingualUrls`, щоб правила `Disallow` покривали всі локалізовані варіанти шляхів.
|
|
847
|
+
|
|
848
|
+
#### 1. Файл `generate-seo.mjs` у корені проєкту
|
|
849
|
+
|
|
850
|
+
```javascript fileName="generate-seo.mjs"
|
|
851
|
+
import fs from "fs";
|
|
852
|
+
import path from "path";
|
|
853
|
+
import { fileURLToPath } from "url";
|
|
854
|
+
import { generateSitemap, getMultilingualUrls } from "intlayer";
|
|
855
|
+
|
|
856
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
857
|
+
|
|
858
|
+
const SITE_URL = (process.env.SITE_URL || "http://localhost:5173").replace(
|
|
859
|
+
/\/$/,
|
|
860
|
+
""
|
|
861
|
+
);
|
|
862
|
+
|
|
863
|
+
const pathList = [
|
|
864
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
865
|
+
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
866
|
+
];
|
|
867
|
+
|
|
868
|
+
const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
|
|
869
|
+
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
870
|
+
|
|
871
|
+
const getAllMultilingualUrls = (urls) =>
|
|
872
|
+
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
873
|
+
|
|
874
|
+
const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
|
|
875
|
+
|
|
876
|
+
const robotsTxt = [
|
|
877
|
+
"User-agent: *",
|
|
878
|
+
"Allow: /",
|
|
879
|
+
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
880
|
+
"",
|
|
881
|
+
`Sitemap: ${SITE_URL}/sitemap.xml`,
|
|
882
|
+
].join("\n");
|
|
883
|
+
|
|
884
|
+
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
885
|
+
|
|
886
|
+
console.log("SEO files generated successfully.");
|
|
887
|
+
```
|
|
888
|
+
|
|
889
|
+
Пакет `intlayer` має бути встановлений. У продакшені задайте `SITE_URL` у середовищі (наприклад у CI).
|
|
890
|
+
|
|
891
|
+
> Для Node ESM краще `generate-seo.mjs`. Для `generate-seo.js` додайте `"type": "module"` у `package.json` або ввімкніть ESM інакше.
|
|
892
|
+
|
|
893
|
+
#### 2. Запуск скрипта перед Vite
|
|
894
|
+
|
|
895
|
+
```json fileName="package.json"
|
|
896
|
+
{
|
|
897
|
+
"scripts": {
|
|
898
|
+
"dev": "vite",
|
|
899
|
+
"prebuild": "node generate-seo.mjs",
|
|
900
|
+
"build": "vite build",
|
|
901
|
+
"preview": "vite preview"
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
Підлаштуйте команди для pnpm або yarn. Можна викликати скрипт із CI.
|
|
907
|
+
|
|
1617
908
|
### Розширені можливості
|
|
1618
909
|
|
|
1619
910
|
Щоб розширити можливості, ви можете реалізувати [візуальний редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_visual_editor.md) або винести ваш контент, використовуючи [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/uk/intlayer_CMS.md).
|