@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
|
@@ -15,6 +15,7 @@ slugs:
|
|
|
15
15
|
- environment
|
|
16
16
|
- nextjs
|
|
17
17
|
applicationTemplate: https://github.com/aymericzip/intlayer-next-16-template
|
|
18
|
+
applicationShowcase: https://intlayer-next-16-template.vercel.app
|
|
18
19
|
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
19
20
|
history:
|
|
20
21
|
- version: 7.5.9
|
|
@@ -39,13 +40,24 @@ history:
|
|
|
39
40
|
<Tab label="Код" value="code">
|
|
40
41
|
|
|
41
42
|
<iframe
|
|
42
|
-
src="https://
|
|
43
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-next-16-template?file=intlayer.config.ts"
|
|
43
44
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
44
45
|
title="Demo CodeSandbox - Как интернационализировать ваше приложение с помощью Intlayer"
|
|
45
46
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
46
47
|
loading="lazy"
|
|
47
48
|
/>
|
|
48
49
|
|
|
50
|
+
</Tab>
|
|
51
|
+
<Tab label="Демо" value="demo">
|
|
52
|
+
|
|
53
|
+
<iframe
|
|
54
|
+
src="https://intlayer-next-16-template.vercel.app"
|
|
55
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
56
|
+
title="Демо — intlayer-next-16-template"
|
|
57
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
58
|
+
loading="lazy"
|
|
59
|
+
/>
|
|
60
|
+
|
|
49
61
|
</Tab>
|
|
50
62
|
</Tabs>
|
|
51
63
|
|
|
@@ -139,7 +151,7 @@ bun x intlayer init
|
|
|
139
151
|
|
|
140
152
|
Создайте конфигурационный файл для настройки языков вашего приложения:
|
|
141
153
|
|
|
142
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
154
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
143
155
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
144
156
|
|
|
145
157
|
const config: IntlayerConfig = {
|
|
@@ -157,51 +169,13 @@ const config: IntlayerConfig = {
|
|
|
157
169
|
export default config;
|
|
158
170
|
```
|
|
159
171
|
|
|
160
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
161
|
-
import { Locales } from "intlayer";
|
|
162
|
-
|
|
163
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
164
|
-
const config = {
|
|
165
|
-
internationalization: {
|
|
166
|
-
locales: [
|
|
167
|
-
Locales.ENGLISH,
|
|
168
|
-
Locales.FRENCH,
|
|
169
|
-
Locales.SPANISH,
|
|
170
|
-
// Ваши другие локали
|
|
171
|
-
],
|
|
172
|
-
defaultLocale: Locales.ENGLISH,
|
|
173
|
-
},
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
export default config;
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
180
|
-
const { Locales } = require("intlayer");
|
|
181
|
-
|
|
182
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
183
|
-
const config = {
|
|
184
|
-
internationalization: {
|
|
185
|
-
locales: [
|
|
186
|
-
Locales.ENGLISH,
|
|
187
|
-
Locales.FRENCH,
|
|
188
|
-
Locales.SPANISH,
|
|
189
|
-
// Ваши другие локали
|
|
190
|
-
],
|
|
191
|
-
defaultLocale: Locales.ENGLISH,
|
|
192
|
-
},
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
module.exports = config;
|
|
196
|
-
```
|
|
197
|
-
|
|
198
172
|
> С помощью этого файла конфигурации вы можете настроить локализованные URL, прокси-перенаправление, имена cookie, расположение и расширение ваших деклараций контента, отключить логи Intlayer в консоли и многое другое. Для полного списка доступных параметров обратитесь к [документации по конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md).
|
|
199
173
|
|
|
200
174
|
### Шаг 3: Интеграция Intlayer в вашу конфигурацию Next.js
|
|
201
175
|
|
|
202
176
|
Настройте ваш Next.js для использования Intlayer:
|
|
203
177
|
|
|
204
|
-
```typescript fileName="next.config.ts" codeFormat="typescript"
|
|
178
|
+
```typescript fileName="next.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
205
179
|
import type { NextConfig } from "next";
|
|
206
180
|
import { withIntlayer } from "next-intlayer/server";
|
|
207
181
|
|
|
@@ -212,28 +186,6 @@ const nextConfig: NextConfig = {
|
|
|
212
186
|
export default withIntlayer(nextConfig);
|
|
213
187
|
```
|
|
214
188
|
|
|
215
|
-
```typescript fileName="next.config.mjs" codeFormat="esm"
|
|
216
|
-
import { withIntlayer } from "next-intlayer/server";
|
|
217
|
-
|
|
218
|
-
/** @type {import('next').NextConfig} */
|
|
219
|
-
const nextConfig = {
|
|
220
|
-
/* параметры конфигурации здесь */
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
export default withIntlayer(nextConfig);
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
```typescript fileName="next.config.cjs" codeFormat="commonjs"
|
|
227
|
-
const { withIntlayer } = require("next-intlayer/server");
|
|
228
|
-
|
|
229
|
-
/** @type {import('next').NextConfig} */
|
|
230
|
-
const nextConfig = {
|
|
231
|
-
/* параметры конфигурации здесь */
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
module.exports = withIntlayer(nextConfig);
|
|
235
|
-
```
|
|
236
|
-
|
|
237
189
|
> Плагин Next.js `withIntlayer()` используется для интеграции Intlayer с Next.js. Он обеспечивает сборку файлов деклараций контента и их мониторинг в режиме разработки. Он определяет переменные окружения Intlayer в средах [Webpack](https://webpack.js.org/) или [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack). Кроме того, он предоставляет алиасы для оптимизации производительности и обеспечивает совместимость с серверными компонентами.
|
|
238
190
|
|
|
239
191
|
> Функция `withIntlayer()` является асинхронной функцией. Она позволяет подготовить словари Intlayer перед началом сборки. Если вы хотите использовать её с другими плагинами, вы можете использовать await. Пример:
|
|
@@ -266,7 +218,7 @@ module.exports = withIntlayer(nextConfig);
|
|
|
266
218
|
|
|
267
219
|
Удалите всё из `RootLayout` и замените следующим кодом:
|
|
268
220
|
|
|
269
|
-
```tsx {3} fileName="src/app/layout.tsx" codeFormat="typescript"
|
|
221
|
+
```tsx {3} fileName="src/app/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
270
222
|
import type { PropsWithChildren, FC } from "react";
|
|
271
223
|
import "./globals.css";
|
|
272
224
|
|
|
@@ -278,37 +230,12 @@ const RootLayout: FC<PropsWithChildren> = ({ children }) => (
|
|
|
278
230
|
export default RootLayout;
|
|
279
231
|
```
|
|
280
232
|
|
|
281
|
-
```jsx {3} fileName="src/app/layout.mjx" codeFormat="esm"
|
|
282
|
-
import "./globals.css";
|
|
283
|
-
|
|
284
|
-
const RootLayout = ({ children }) => (
|
|
285
|
-
// Вы всё ещё можете обернуть дочерние элементы другими провайдерами, такими как `next-themes`, `react-query`, `framer-motion` и т.д.
|
|
286
|
-
<>{children}</>
|
|
287
|
-
);
|
|
288
|
-
|
|
289
|
-
export default RootLayout;
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
```jsx {1,8} fileName="src/app/layout.csx" codeFormat="commonjs"
|
|
293
|
-
require("./globals.css");
|
|
294
|
-
|
|
295
|
-
const RootLayout = ({ children }) => (
|
|
296
|
-
// Вы всё ещё можете обернуть дочерние элементы другими провайдерами, такими как `next-themes`, `react-query`, `framer-motion` и т.д.
|
|
297
|
-
<>{children}</>
|
|
298
|
-
);
|
|
299
|
-
|
|
300
|
-
module.exports = {
|
|
301
|
-
default: RootLayout,
|
|
302
|
-
generateStaticParams,
|
|
303
|
-
};
|
|
304
|
-
```
|
|
305
|
-
|
|
306
233
|
> Оставляя компонент `RootLayout` пустым, вы позволяете установить атрибуты [`lang`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/lang) и [`dir`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/dir) для тега `<html>`.
|
|
307
234
|
|
|
308
235
|
Для реализации динамической маршрутизации укажите путь для локали, добавив новый макет в ваш каталог `[locale]`:
|
|
309
236
|
|
|
310
|
-
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
311
|
-
import type
|
|
237
|
+
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
238
|
+
import { type NextLayoutIntlayer, IntlayerClientProvider } from "next-intlayer";
|
|
312
239
|
import { Inter } from "next/font/google";
|
|
313
240
|
import { getHTMLTextDir } from "intlayer";
|
|
314
241
|
|
|
@@ -318,24 +245,11 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
318
245
|
const { locale } = await params;
|
|
319
246
|
return (
|
|
320
247
|
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
321
|
-
<body className={inter.className}>
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
export default LocaleLayout;
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
```jsx fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
330
|
-
import { getHTMLTextDir } from "intlayer";
|
|
331
|
-
|
|
332
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
333
|
-
|
|
334
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
335
|
-
const { locale } = await params;
|
|
336
|
-
return (
|
|
337
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
338
|
-
<body className={inter.className}>{children}</body>
|
|
248
|
+
<body className={inter.className}>
|
|
249
|
+
<IntlayerClientProvider locale={locale}>
|
|
250
|
+
{children}
|
|
251
|
+
</IntlayerClientProvider>
|
|
252
|
+
</body>
|
|
339
253
|
</html>
|
|
340
254
|
);
|
|
341
255
|
};
|
|
@@ -343,31 +257,13 @@ const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
|
343
257
|
export default LocaleLayout;
|
|
344
258
|
```
|
|
345
259
|
|
|
346
|
-
```jsx fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
347
|
-
const { Inter } = require("next/font/google");
|
|
348
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
349
|
-
|
|
350
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
351
|
-
|
|
352
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
353
|
-
const { locale } = await params;
|
|
354
|
-
return (
|
|
355
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
356
|
-
<body className={inter.className}>{children}</body>
|
|
357
|
-
</html>
|
|
358
|
-
);
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
module.exports = LocaleLayout;
|
|
362
|
-
```
|
|
363
|
-
|
|
364
260
|
> Сегмент пути `[locale]` используется для определения локали. Пример: `/en-US/about` будет соответствовать `en-US`, а `/fr/about`, `fr`.
|
|
365
261
|
|
|
366
262
|
> На этом этапе вы столкнетесь с ошибкой: `Error: Missing <html> and <body> tags in the root layout.`. Это ожидаемо, так как файл `/app/page.tsx` больше не используется и может быть удален. Вместо этого сегмент пути `[locale]` активирует страницу `/app/[locale]/page.tsx`. Следовательно, страницы будут доступны по путям, таким как `/en`, `/fr`, `/es` в вашем браузере. Чтобы установить локаль по умолчанию как корневую страницу, обратитесь к настройке `proxy` в шаге 7.
|
|
367
263
|
|
|
368
264
|
Затем реализуйте функцию `generateStaticParams` в макете вашего приложения.
|
|
369
265
|
|
|
370
|
-
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
266
|
+
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
371
267
|
export { generateStaticParams } from "next-intlayer"; // Строка для вставки
|
|
372
268
|
|
|
373
269
|
const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
@@ -377,26 +273,6 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
377
273
|
export default LocaleLayout;
|
|
378
274
|
```
|
|
379
275
|
|
|
380
|
-
```jsx {1} fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
381
|
-
export { generateStaticParams } from "next-intlayer"; // Строка для вставки
|
|
382
|
-
|
|
383
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
384
|
-
/*... Остальная часть кода*/
|
|
385
|
-
};
|
|
386
|
-
|
|
387
|
-
// ... Остальная часть кода
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
```jsx {1,7} fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
391
|
-
const { generateStaticParams } = require("next-intlayer"); // Строка для вставки
|
|
392
|
-
|
|
393
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
394
|
-
/*... Остальная часть кода*/
|
|
395
|
-
};
|
|
396
|
-
|
|
397
|
-
module.exports = { default: LocaleLayout, generateStaticParams };
|
|
398
|
-
```
|
|
399
|
-
|
|
400
276
|
> `generateStaticParams` гарантирует, что ваше приложение предварительно собирает необходимые страницы для всех локалей, уменьшая вычисления во время выполнения и улучшая пользовательский опыт. Для получения дополнительной информации обратитесь к [документации Next.js по generateStaticParams](https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic-rendering#generate-static-params).
|
|
401
277
|
|
|
402
278
|
> Intlayer работает с `export const dynamic = 'force-static';`, чтобы обеспечить предварительную сборку страниц для всех локалей.
|
|
@@ -405,7 +281,7 @@ module.exports = { default: LocaleLayout, generateStaticParams };
|
|
|
405
281
|
|
|
406
282
|
Создайте и управляйте объявлениями контента для хранения переводов:
|
|
407
283
|
|
|
408
|
-
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat="typescript"
|
|
284
|
+
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
409
285
|
import { t, type Dictionary } from "intlayer";
|
|
410
286
|
|
|
411
287
|
const pageContent = {
|
|
@@ -425,48 +301,6 @@ const pageContent = {
|
|
|
425
301
|
export default pageContent;
|
|
426
302
|
```
|
|
427
303
|
|
|
428
|
-
```javascript fileName="src/app/[locale]/page.content.mjs" contentDeclarationFormat="esm"
|
|
429
|
-
import { t } from "intlayer";
|
|
430
|
-
|
|
431
|
-
/** @type {import('intlayer').Dictionary} */
|
|
432
|
-
const pageContent = {
|
|
433
|
-
key: "page",
|
|
434
|
-
content: {
|
|
435
|
-
getStarted: {
|
|
436
|
-
main: t({
|
|
437
|
-
en: "Get started by editing",
|
|
438
|
-
fr: "Commencez par éditer",
|
|
439
|
-
es: "Comience por editar",
|
|
440
|
-
}),
|
|
441
|
-
pageLink: "src/app/page.tsx",
|
|
442
|
-
},
|
|
443
|
-
},
|
|
444
|
-
};
|
|
445
|
-
|
|
446
|
-
export default pageContent;
|
|
447
|
-
```
|
|
448
|
-
|
|
449
|
-
```javascript fileName="src/app/[locale]/page.content.cjs" contentDeclarationFormat="commonjs"
|
|
450
|
-
const { t } = require("intlayer");
|
|
451
|
-
|
|
452
|
-
/** @type {import('intlayer').Dictionary} */
|
|
453
|
-
const pageContent = {
|
|
454
|
-
key: "page",
|
|
455
|
-
content: {
|
|
456
|
-
getStarted: {
|
|
457
|
-
main: t({
|
|
458
|
-
en: "Get started by editing",
|
|
459
|
-
fr: "Commencez par éditer",
|
|
460
|
-
es: "Comience por editar",
|
|
461
|
-
}),
|
|
462
|
-
pageLink: "src/app/page.tsx",
|
|
463
|
-
},
|
|
464
|
-
},
|
|
465
|
-
};
|
|
466
|
-
|
|
467
|
-
module.exports = pageContent;
|
|
468
|
-
```
|
|
469
|
-
|
|
470
304
|
```json fileName="src/app/[locale]/page.content.json" contentDeclarationFormat="json"
|
|
471
305
|
{
|
|
472
306
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -493,11 +327,11 @@ module.exports = pageContent;
|
|
|
493
327
|
|
|
494
328
|
Получайте доступ к вашим словарям контента по всему приложению:
|
|
495
329
|
|
|
496
|
-
```tsx fileName="src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
330
|
+
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
497
331
|
import type { FC } from "react";
|
|
498
332
|
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
499
333
|
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
500
|
-
import { type NextPageIntlayer
|
|
334
|
+
import { type NextPageIntlayer } from "next-intlayer";
|
|
501
335
|
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
502
336
|
|
|
503
337
|
const PageContent: FC = () => {
|
|
@@ -519,9 +353,7 @@ const Page: NextPageIntlayer = async ({ params }) => {
|
|
|
519
353
|
<PageContent />
|
|
520
354
|
<ServerComponentExample />
|
|
521
355
|
|
|
522
|
-
<
|
|
523
|
-
<ClientComponentExample />
|
|
524
|
-
</IntlayerClientProvider>
|
|
356
|
+
<ClientComponentExample />
|
|
525
357
|
</IntlayerServerProvider>
|
|
526
358
|
);
|
|
527
359
|
};
|
|
@@ -529,80 +361,12 @@ const Page: NextPageIntlayer = async ({ params }) => {
|
|
|
529
361
|
export default Page;
|
|
530
362
|
```
|
|
531
363
|
|
|
532
|
-
```jsx fileName="src/app/[locale]/page.mjx" codeFormat="esm"
|
|
533
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
534
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
535
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
536
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
537
|
-
|
|
538
|
-
const PageContent = () => {
|
|
539
|
-
const content = useIntlayer("page");
|
|
540
|
-
|
|
541
|
-
return (
|
|
542
|
-
<>
|
|
543
|
-
<p>{content.getStarted.main}</p>
|
|
544
|
-
<code>{content.getStarted.pageLink}</code>
|
|
545
|
-
</>
|
|
546
|
-
);
|
|
547
|
-
};
|
|
548
|
-
|
|
549
|
-
const Page = async ({ params }) => {
|
|
550
|
-
const { locale } = await params;
|
|
551
|
-
|
|
552
|
-
return (
|
|
553
|
-
<IntlayerServerProvider locale={locale}>
|
|
554
|
-
<PageContent />
|
|
555
|
-
<ServerComponentExample />
|
|
556
|
-
|
|
557
|
-
<IntlayerClientProvider locale={locale}>
|
|
558
|
-
<ClientComponentExample />
|
|
559
|
-
</IntlayerClientProvider>
|
|
560
|
-
</IntlayerServerProvider>
|
|
561
|
-
);
|
|
562
|
-
};
|
|
563
|
-
|
|
564
|
-
export default Page;
|
|
565
|
-
```
|
|
566
|
-
|
|
567
|
-
```jsx fileName="src/app/[locale]/page.csx" codeFormat="commonjs"
|
|
568
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
569
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
570
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
571
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
572
|
-
|
|
573
|
-
const PageContent = () => {
|
|
574
|
-
const content = useIntlayer("page");
|
|
575
|
-
|
|
576
|
-
return (
|
|
577
|
-
<>
|
|
578
|
-
<p>{content.getStarted.main}</p>
|
|
579
|
-
<code>{content.getStarted.pageLink}</code>
|
|
580
|
-
</>
|
|
581
|
-
);
|
|
582
|
-
};
|
|
583
|
-
|
|
584
|
-
const Page = async ({ params }) => {
|
|
585
|
-
const { locale } = await params;
|
|
586
|
-
|
|
587
|
-
return (
|
|
588
|
-
<IntlayerServerProvider locale={locale}>
|
|
589
|
-
<PageContent />
|
|
590
|
-
<ServerComponentExample />
|
|
591
|
-
|
|
592
|
-
<IntlayerClientProvider locale={locale}>
|
|
593
|
-
<ClientComponentExample />
|
|
594
|
-
</IntlayerClientProvider>
|
|
595
|
-
</IntlayerServerProvider>
|
|
596
|
-
);
|
|
597
|
-
};
|
|
598
|
-
```
|
|
599
|
-
|
|
600
364
|
- **`IntlayerClientProvider`** используется для предоставления локали компонентам на стороне клиента. Его можно разместить в любом родительском компоненте, включая макет. Однако рекомендуется размещать его в макете, так как Next.js разделяет код макета между страницами, что делает это более эффективным. Используя `IntlayerClientProvider` в макете, вы избегаете повторной инициализации для каждой страницы, улучшая производительность и поддерживая единый контекст локализации во всем приложении.
|
|
601
365
|
- **`IntlayerServerProvider`** используется для предоставления локали дочерним компонентам на сервере. Его нельзя устанавливать в макете.
|
|
602
366
|
|
|
603
367
|
> Макет и страница не могут использовать общий серверный контекст, поскольку система серверного контекста основана на хранилище данных для каждого запроса (через механизм [React's cache](https://react.dev/reference/react/cache)), из-за чего каждый "контекст" создаётся заново для разных сегментов приложения. Размещение провайдера в общем макете нарушит эту изоляцию, препятствуя правильной передаче значений серверного контекста вашим серверным компонентам.
|
|
604
368
|
|
|
605
|
-
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat="typescript"
|
|
369
|
+
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
606
370
|
"use client";
|
|
607
371
|
|
|
608
372
|
import type { FC } from "react";
|
|
@@ -620,41 +384,7 @@ export const ClientComponentExample: FC = () => {
|
|
|
620
384
|
};
|
|
621
385
|
```
|
|
622
386
|
|
|
623
|
-
```
|
|
624
|
-
"use client";
|
|
625
|
-
|
|
626
|
-
import { useIntlayer } from "next-intlayer";
|
|
627
|
-
|
|
628
|
-
const ClientComponentExample = () => {
|
|
629
|
-
const content = useIntlayer("client-component-example"); // Создание связанного объявления контента
|
|
630
|
-
|
|
631
|
-
return (
|
|
632
|
-
<div>
|
|
633
|
-
<h2>{content.title}</h2>
|
|
634
|
-
<p>{content.content}</p>
|
|
635
|
-
</div>
|
|
636
|
-
);
|
|
637
|
-
};
|
|
638
|
-
```
|
|
639
|
-
|
|
640
|
-
```jsx {3,6} fileName="src/components/ClientComponentExample.csx" codeFormat="commonjs"
|
|
641
|
-
"use client";
|
|
642
|
-
|
|
643
|
-
const { useIntlayer } = require("next-intlayer");
|
|
644
|
-
|
|
645
|
-
const ClientComponentExample = () => {
|
|
646
|
-
const content = useIntlayer("client-component-example"); // Создание связанного объявления контента
|
|
647
|
-
|
|
648
|
-
return (
|
|
649
|
-
<div>
|
|
650
|
-
<h2>{content.title}</h2>
|
|
651
|
-
<p>{content.content}</p>
|
|
652
|
-
</div>
|
|
653
|
-
);
|
|
654
|
-
};
|
|
655
|
-
```
|
|
656
|
-
|
|
657
|
-
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat="typescript"
|
|
387
|
+
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
658
388
|
import type { FC } from "react";
|
|
659
389
|
import { useIntlayer } from "next-intlayer/server";
|
|
660
390
|
|
|
@@ -670,36 +400,6 @@ export const ServerComponentExample: FC = () => {
|
|
|
670
400
|
};
|
|
671
401
|
```
|
|
672
402
|
|
|
673
|
-
```jsx {1} fileName="src/components/ServerComponentExample.mjx" codeFormat="esm"
|
|
674
|
-
import { useIntlayer } from "next-intlayer/server";
|
|
675
|
-
|
|
676
|
-
const ServerComponentExample = () => {
|
|
677
|
-
const content = useIntlayer("server-component-example"); // Создание связанного объявления контента
|
|
678
|
-
|
|
679
|
-
return (
|
|
680
|
-
<div>
|
|
681
|
-
<h2>{content.title}</h2>
|
|
682
|
-
<p>{content.content}</p>
|
|
683
|
-
</div>
|
|
684
|
-
);
|
|
685
|
-
};
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
```jsx {1} fileName="src/components/ServerComponentExample.csx" codeFormat="commonjs"
|
|
689
|
-
const { useIntlayer } = require("next-intlayer/server");
|
|
690
|
-
|
|
691
|
-
const ServerComponentExample = () => {
|
|
692
|
-
const content = useIntlayer("server-component-example"); // Создание связанного объявления контента
|
|
693
|
-
|
|
694
|
-
return (
|
|
695
|
-
<div>
|
|
696
|
-
<h2>{content.title}</h2>
|
|
697
|
-
<p>{content.content}</p>
|
|
698
|
-
</div>
|
|
699
|
-
);
|
|
700
|
-
};
|
|
701
|
-
```
|
|
702
|
-
|
|
703
403
|
> Если вы хотите использовать ваш контент в атрибуте типа `string`, таком как `alt`, `title`, `href`, `aria-label` и т.д., вы должны вызвать значение функции, например:
|
|
704
404
|
|
|
705
405
|
> ```jsx
|
|
@@ -714,7 +414,7 @@ const ServerComponentExample = () => {
|
|
|
714
414
|
|
|
715
415
|
Настройте прокси для определения предпочитаемой пользователем локали:
|
|
716
416
|
|
|
717
|
-
```typescript fileName="src/proxy.ts" codeFormat="typescript"
|
|
417
|
+
```typescript fileName="src/proxy.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
718
418
|
export { intlayerProxy as proxy } from "next-intlayer/proxy";
|
|
719
419
|
|
|
720
420
|
export const config = {
|
|
@@ -723,26 +423,6 @@ export const config = {
|
|
|
723
423
|
};
|
|
724
424
|
```
|
|
725
425
|
|
|
726
|
-
```javascript fileName="src/proxy.mjs" codeFormat="esm"
|
|
727
|
-
export { intlayerProxy as proxy } from "next-intlayer/proxy";
|
|
728
|
-
|
|
729
|
-
export const config = {
|
|
730
|
-
matcher:
|
|
731
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
732
|
-
};
|
|
733
|
-
```
|
|
734
|
-
|
|
735
|
-
```javascript fileName="src/proxy.cjs" codeFormat="commonjs"
|
|
736
|
-
const { intlayerProxy } = require("next-intlayer/proxy");
|
|
737
|
-
|
|
738
|
-
const config = {
|
|
739
|
-
matcher:
|
|
740
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
741
|
-
};
|
|
742
|
-
|
|
743
|
-
module.exports = { proxy: intlayerProxy, config };
|
|
744
|
-
```
|
|
745
|
-
|
|
746
426
|
> `intlayerProxy` используется для определения предпочтительной локали пользователя и перенаправления его на соответствующий URL, как указано в [конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md). Кроме того, он позволяет сохранять предпочтительную локаль пользователя в cookie.
|
|
747
427
|
|
|
748
428
|
> Если необходимо объединить несколько прокси вместе (например, `intlayerProxy` с аутентификацией или кастомными прокси), Intlayer теперь предоставляет помощник под названием `multipleProxies`.
|
|
@@ -758,7 +438,7 @@ export const proxy = multipleProxies([intlayerProxy, customProxy]);
|
|
|
758
438
|
|
|
759
439
|
Если вы хотите интернационализировать ваши метаданные, такие как заголовок вашей страницы, вы можете использовать функцию `generateMetadata`, предоставляемую Next.js. Внутри вы можете получить содержимое из функции `getIntlayer` для перевода ваших метаданных.
|
|
760
440
|
|
|
761
|
-
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat="typescript"
|
|
441
|
+
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
762
442
|
import { type Dictionary, t } from "intlayer";
|
|
763
443
|
import { Metadata } from "next";
|
|
764
444
|
|
|
@@ -781,52 +461,6 @@ const metadataContent = {
|
|
|
781
461
|
export default metadataContent;
|
|
782
462
|
```
|
|
783
463
|
|
|
784
|
-
```javascript fileName="src/app/[locale]/metadata.content.mjs" contentDeclarationFormat="esm"
|
|
785
|
-
import { t } from "intlayer";
|
|
786
|
-
|
|
787
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
788
|
-
const metadataContent = {
|
|
789
|
-
key: "page-metadata",
|
|
790
|
-
content: {
|
|
791
|
-
title: t({
|
|
792
|
-
en: "Create Next App",
|
|
793
|
-
fr: "Créer une application Next.js",
|
|
794
|
-
es: "Crear una aplicación Next.js",
|
|
795
|
-
}),
|
|
796
|
-
description: t({
|
|
797
|
-
en: "Generated by create next app",
|
|
798
|
-
fr: "Généré par create next app",
|
|
799
|
-
es: "Generado por create next app",
|
|
800
|
-
}),
|
|
801
|
-
},
|
|
802
|
-
};
|
|
803
|
-
|
|
804
|
-
export default metadataContent;
|
|
805
|
-
```
|
|
806
|
-
|
|
807
|
-
```javascript fileName="src/app/[locale]/metadata.content.cjs" contentDeclarationFormat="commonjs"
|
|
808
|
-
const { t } = require("intlayer");
|
|
809
|
-
|
|
810
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
811
|
-
const metadataContent = {
|
|
812
|
-
key: "page-metadata",
|
|
813
|
-
content: {
|
|
814
|
-
title: t({
|
|
815
|
-
en: "Create Next App",
|
|
816
|
-
fr: "Créer une application Next.js",
|
|
817
|
-
es: "Crear una application Next.js",
|
|
818
|
-
}),
|
|
819
|
-
description: t({
|
|
820
|
-
en: "Generated by create next app",
|
|
821
|
-
fr: "Généré par create next app",
|
|
822
|
-
es: "Generado por create next app",
|
|
823
|
-
}),
|
|
824
|
-
},
|
|
825
|
-
};
|
|
826
|
-
|
|
827
|
-
module.exports = metadataContent;
|
|
828
|
-
```
|
|
829
|
-
|
|
830
464
|
```json fileName="src/app/[locale]/metadata.content.json" contentDeclarationFormat="json"
|
|
831
465
|
{
|
|
832
466
|
"key": "page-metadata",
|
|
@@ -851,7 +485,7 @@ module.exports = metadataContent;
|
|
|
851
485
|
}
|
|
852
486
|
```
|
|
853
487
|
|
|
854
|
-
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
488
|
+
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
855
489
|
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
856
490
|
import type { Metadata } from "next";
|
|
857
491
|
import type { LocalPromiseParams } from "next-intlayer";
|
|
@@ -897,95 +531,11 @@ export const generateMetadata = async ({
|
|
|
897
531
|
// ... Остальная часть кода
|
|
898
532
|
````
|
|
899
533
|
|
|
900
|
-
````javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
901
|
-
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
902
|
-
|
|
903
|
-
export const generateMetadata = async ({ params }) => {
|
|
904
|
-
const { locale } = await params;
|
|
905
|
-
|
|
906
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
907
|
-
|
|
908
|
-
/**
|
|
909
|
-
* Генерирует объект, содержащий все URL для каждой локали.
|
|
910
|
-
*
|
|
911
|
-
* Пример:
|
|
912
|
-
* ```ts
|
|
913
|
-
* getMultilingualUrls('/about');
|
|
914
|
-
*
|
|
915
|
-
* // Возвращает
|
|
916
|
-
* // {
|
|
917
|
-
* // en: '/about',
|
|
918
|
-
* // fr: '/fr/about',
|
|
919
|
-
* // es: '/es/about'
|
|
920
|
-
* // }
|
|
921
|
-
* ```
|
|
922
|
-
*/
|
|
923
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
924
|
-
const localizedUrl = multilingualUrls[locale];
|
|
925
|
-
|
|
926
|
-
return {
|
|
927
|
-
...metadata,
|
|
928
|
-
alternates: {
|
|
929
|
-
canonical: localizedUrl,
|
|
930
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
931
|
-
},
|
|
932
|
-
openGraph: {
|
|
933
|
-
url: localizedUrl,
|
|
934
|
-
},
|
|
935
|
-
};
|
|
936
|
-
};
|
|
937
|
-
|
|
938
|
-
// ... Остальная часть кода
|
|
939
|
-
````
|
|
940
|
-
|
|
941
|
-
````javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
942
|
-
const { getIntlayer, getMultilingualUrls } = require("intlayer");
|
|
943
|
-
|
|
944
|
-
const generateMetadata = async ({ params }) => {
|
|
945
|
-
const { locale } = await params;
|
|
946
|
-
|
|
947
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
948
|
-
|
|
949
|
-
/**
|
|
950
|
-
* Генерирует объект, содержащий все URL для каждой локали.
|
|
951
|
-
*
|
|
952
|
-
* Пример:
|
|
953
|
-
* ```ts
|
|
954
|
-
* getMultilingualUrls('/about');
|
|
955
|
-
*
|
|
956
|
-
* // Возвращает
|
|
957
|
-
* // {
|
|
958
|
-
* // en: '/about',
|
|
959
|
-
* // fr: '/fr/about',
|
|
960
|
-
* // es: '/es/about'
|
|
961
|
-
* // }
|
|
962
|
-
* ```
|
|
963
|
-
*/
|
|
964
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
965
|
-
const localizedUrl = multilingualUrls[locale];
|
|
966
|
-
|
|
967
|
-
return {
|
|
968
|
-
...metadata,
|
|
969
|
-
alternates: {
|
|
970
|
-
canonical: localizedUrl,
|
|
971
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
972
|
-
},
|
|
973
|
-
openGraph: {
|
|
974
|
-
url: localizedUrl,
|
|
975
|
-
},
|
|
976
|
-
};
|
|
977
|
-
};
|
|
978
|
-
|
|
979
|
-
module.exports = { generateMetadata };
|
|
980
|
-
|
|
981
|
-
// ... Остальная часть кода
|
|
982
|
-
````
|
|
983
|
-
|
|
984
534
|
> Обратите внимание, что функция `getIntlayer`, импортируемая из `next-intlayer`, возвращает ваш контент, обёрнутый в `IntlayerNode`, что позволяет интегрироваться с визуальным редактором. В то время как функция `getIntlayer`, импортируемая из `intlayer`, возвращает ваш контент напрямую без дополнительных свойств.
|
|
985
535
|
|
|
986
536
|
Альтернативно, вы можете использовать функцию `getTranslation` для объявления ваших метаданных. Однако рекомендуется использовать файлы декларации контента, чтобы автоматизировать перевод ваших метаданных и в какой-то момент вынести контент.
|
|
987
537
|
|
|
988
|
-
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
538
|
+
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
989
539
|
import {
|
|
990
540
|
type IConfigLocales,
|
|
991
541
|
getTranslation,
|
|
@@ -1003,154 +553,31 @@ export const generateMetadata = async ({
|
|
|
1003
553
|
return {
|
|
1004
554
|
title: t<string>({
|
|
1005
555
|
en: "My title",
|
|
1006
|
-
fr: "Mon titre",
|
|
1007
|
-
es: "Mi título",
|
|
1008
|
-
}),
|
|
1009
|
-
description: t({
|
|
1010
|
-
en: "My description",
|
|
1011
|
-
fr: "Ma description",
|
|
1012
|
-
es: "Mi descripción",
|
|
1013
|
-
}),
|
|
1014
|
-
};
|
|
1015
|
-
};
|
|
1016
|
-
|
|
1017
|
-
// ... Остальная часть кода
|
|
1018
|
-
```
|
|
1019
|
-
|
|
1020
|
-
```javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
1021
|
-
import { getTranslation, getMultilingualUrls } from "intlayer";
|
|
1022
|
-
|
|
1023
|
-
export const generateMetadata = async ({ params }) => {
|
|
1024
|
-
const { locale } = await params;
|
|
1025
|
-
const t = (content) => getTranslation(content, locale);
|
|
1026
|
-
|
|
1027
|
-
return {
|
|
1028
|
-
title: t({
|
|
1029
|
-
en: "My title",
|
|
1030
|
-
fr: "Mon titre",
|
|
1031
|
-
es: "Mi título",
|
|
1032
|
-
}),
|
|
1033
|
-
description: t({
|
|
1034
|
-
en: "My description",
|
|
1035
|
-
fr: "Ma description",
|
|
1036
|
-
es: "Mi descripción",
|
|
1037
|
-
}),
|
|
1038
|
-
};
|
|
1039
|
-
};
|
|
1040
|
-
|
|
1041
|
-
// ... Остальная часть кода
|
|
1042
|
-
```
|
|
1043
|
-
|
|
1044
|
-
```javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
1045
|
-
const { getTranslation, getMultilingualUrls } = require("intlayer");
|
|
1046
|
-
|
|
1047
|
-
const generateMetadata = async ({ params }) => {
|
|
1048
|
-
const { locale } = await params;
|
|
1049
|
-
|
|
1050
|
-
const t = (content) => getTranslation(content, locale);
|
|
1051
|
-
|
|
1052
|
-
return {
|
|
1053
|
-
title: t({
|
|
1054
|
-
en: "My title",
|
|
1055
|
-
fr: "Mon titre",
|
|
1056
|
-
es: "Mi título",
|
|
1057
|
-
}),
|
|
1058
|
-
description: t({
|
|
1059
|
-
en: "My description",
|
|
1060
|
-
fr: "Ma description",
|
|
1061
|
-
es: "Mi descripción",
|
|
1062
|
-
}),
|
|
1063
|
-
};
|
|
1064
|
-
};
|
|
1065
|
-
|
|
1066
|
-
module.exports = { generateMetadata };
|
|
1067
|
-
|
|
1068
|
-
// ... Остальная часть кода
|
|
1069
|
-
```
|
|
1070
|
-
|
|
1071
|
-
> Узнайте больше об оптимизации метаданных [в официальной документации Next.js](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
|
|
1072
|
-
|
|
1073
|
-
### (Необязательно) Шаг 9: Интернационализация ваших sitemap.xml и robots.txt
|
|
1074
|
-
|
|
1075
|
-
Чтобы интернационализировать ваши `sitemap.xml` и `robots.txt`, вы можете использовать функцию `getMultilingualUrls`, предоставляемую Intlayer. Эта функция позволяет генерировать многоязычные URL-адреса для вашей карты сайта.
|
|
1076
|
-
|
|
1077
|
-
```tsx fileName="src/app/sitemap.ts" codeFormat="typescript"
|
|
1078
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1079
|
-
import type { MetadataRoute } from "next";
|
|
1080
|
-
|
|
1081
|
-
const sitemap = (): MetadataRoute.Sitemap => [
|
|
1082
|
-
{
|
|
1083
|
-
url: "https://example.com",
|
|
1084
|
-
alternates: {
|
|
1085
|
-
languages: {
|
|
1086
|
-
...getMultilingualUrls("https://example.com"),
|
|
1087
|
-
"x-default": "https://example.com",
|
|
1088
|
-
},
|
|
1089
|
-
},
|
|
1090
|
-
},
|
|
1091
|
-
{
|
|
1092
|
-
url: "https://example.com/login",
|
|
1093
|
-
alternates: {
|
|
1094
|
-
languages: {
|
|
1095
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1096
|
-
"x-default": "https://example.com/login",
|
|
1097
|
-
},
|
|
1098
|
-
},
|
|
1099
|
-
},
|
|
1100
|
-
{
|
|
1101
|
-
url: "https://example.com/register",
|
|
1102
|
-
alternates: {
|
|
1103
|
-
languages: {
|
|
1104
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1105
|
-
"x-default": "https://example.com/register",
|
|
1106
|
-
},
|
|
1107
|
-
},
|
|
1108
|
-
},
|
|
1109
|
-
];
|
|
1110
|
-
|
|
1111
|
-
export default sitemap;
|
|
1112
|
-
```
|
|
1113
|
-
|
|
1114
|
-
```jsx fileName="src/app/sitemap.mjx" codeFormat="esm"
|
|
1115
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1116
|
-
|
|
1117
|
-
const sitemap = () => [
|
|
1118
|
-
{
|
|
1119
|
-
url: "https://example.com",
|
|
1120
|
-
alternates: {
|
|
1121
|
-
languages: {
|
|
1122
|
-
...getMultilingualUrls("https://example.com"),
|
|
1123
|
-
"x-default": "https://example.com",
|
|
1124
|
-
},
|
|
1125
|
-
},
|
|
1126
|
-
},
|
|
1127
|
-
{
|
|
1128
|
-
url: "https://example.com/login",
|
|
1129
|
-
alternates: {
|
|
1130
|
-
languages: {
|
|
1131
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1132
|
-
"x-default": "https://example.com/login",
|
|
1133
|
-
},
|
|
1134
|
-
},
|
|
1135
|
-
},
|
|
1136
|
-
{
|
|
1137
|
-
url: "https://example.com/register",
|
|
1138
|
-
alternates: {
|
|
1139
|
-
languages: {
|
|
1140
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1141
|
-
"x-default": "https://example.com/register",
|
|
1142
|
-
},
|
|
1143
|
-
},
|
|
1144
|
-
},
|
|
1145
|
-
];
|
|
556
|
+
fr: "Mon titre",
|
|
557
|
+
es: "Mi título",
|
|
558
|
+
}),
|
|
559
|
+
description: t({
|
|
560
|
+
en: "My description",
|
|
561
|
+
fr: "Ma description",
|
|
562
|
+
es: "Mi descripción",
|
|
563
|
+
}),
|
|
564
|
+
};
|
|
565
|
+
};
|
|
1146
566
|
|
|
1147
|
-
|
|
567
|
+
// ... Остальная часть кода
|
|
1148
568
|
```
|
|
1149
569
|
|
|
1150
|
-
|
|
1151
|
-
|
|
570
|
+
> Узнайте больше об оптимизации метаданных [в официальной документации Next.js](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
|
|
571
|
+
|
|
572
|
+
### (Необязательно) Шаг 9: Интернационализация ваших sitemap.xml и robots.txt
|
|
573
|
+
|
|
574
|
+
Чтобы интернационализировать ваши `sitemap.xml` и `robots.txt`, вы можете использовать функцию `getMultilingualUrls`, предоставляемую Intlayer. Эта функция позволяет генерировать многоязычные URL-адреса для вашей карты сайта.
|
|
575
|
+
|
|
576
|
+
```tsx fileName="src/app/sitemap.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
577
|
+
import { getMultilingualUrls } from "intlayer";
|
|
578
|
+
import type { MetadataRoute } from "next";
|
|
1152
579
|
|
|
1153
|
-
const sitemap = () => [
|
|
580
|
+
const sitemap = (): MetadataRoute.Sitemap => [
|
|
1154
581
|
{
|
|
1155
582
|
url: "https://example.com",
|
|
1156
583
|
alternates: {
|
|
@@ -1180,10 +607,10 @@ const sitemap = () => [
|
|
|
1180
607
|
},
|
|
1181
608
|
];
|
|
1182
609
|
|
|
1183
|
-
|
|
610
|
+
export default sitemap;
|
|
1184
611
|
```
|
|
1185
612
|
|
|
1186
|
-
```tsx fileName="src/app/robots.ts" codeFormat="typescript"
|
|
613
|
+
```tsx fileName="src/app/robots.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1187
614
|
import type { MetadataRoute } from "next";
|
|
1188
615
|
import { getMultilingualUrls } from "intlayer";
|
|
1189
616
|
|
|
@@ -1203,51 +630,13 @@ const robots = (): MetadataRoute.Robots => ({
|
|
|
1203
630
|
export default robots;
|
|
1204
631
|
```
|
|
1205
632
|
|
|
1206
|
-
```jsx fileName="src/app/robots.mjx" codeFormat="esm"
|
|
1207
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1208
|
-
|
|
1209
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1210
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1211
|
-
|
|
1212
|
-
const robots = () => ({
|
|
1213
|
-
rules: {
|
|
1214
|
-
userAgent: "*",
|
|
1215
|
-
allow: ["/"],
|
|
1216
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1217
|
-
},
|
|
1218
|
-
host: "https://example.com",
|
|
1219
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1220
|
-
});
|
|
1221
|
-
|
|
1222
|
-
export default robots;
|
|
1223
|
-
```
|
|
1224
|
-
|
|
1225
|
-
```jsx fileName="src/app/robots.csx" codeFormat="commonjs"
|
|
1226
|
-
const { getMultilingualUrls } = require("intlayer");
|
|
1227
|
-
|
|
1228
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1229
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1230
|
-
|
|
1231
|
-
const robots = () => ({
|
|
1232
|
-
rules: {
|
|
1233
|
-
userAgent: "*",
|
|
1234
|
-
allow: ["/"],
|
|
1235
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1236
|
-
},
|
|
1237
|
-
host: "https://example.com",
|
|
1238
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1239
|
-
});
|
|
1240
|
-
|
|
1241
|
-
module.exports = robots;
|
|
1242
|
-
```
|
|
1243
|
-
|
|
1244
633
|
> Узнайте больше об оптимизации карты сайта [в официальной документации Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap). Узнайте больше об оптимизации robots.txt [в официальной документации Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots).
|
|
1245
634
|
|
|
1246
635
|
### (Необязательно) Шаг 10: Изменение языка вашего контента
|
|
1247
636
|
|
|
1248
637
|
Чтобы изменить язык вашего контента в Next.js, рекомендуется использовать компонент `Link` для перенаправления пользователей на соответствующую локализованную страницу. Компонент `Link` позволяет предварительно загружать страницу, что помогает избежать полной перезагрузки страницы.
|
|
1249
638
|
|
|
1250
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
639
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
1251
640
|
"use client";
|
|
1252
641
|
|
|
1253
642
|
import type { FC } from "react";
|
|
@@ -1300,110 +689,6 @@ export const LocaleSwitcher: FC = () => {
|
|
|
1300
689
|
};
|
|
1301
690
|
```
|
|
1302
691
|
|
|
1303
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
1304
|
-
"use client";
|
|
1305
|
-
|
|
1306
|
-
import {
|
|
1307
|
-
Locales,
|
|
1308
|
-
getHTMLTextDir,
|
|
1309
|
-
getLocaleName,
|
|
1310
|
-
getLocalizedUrl,
|
|
1311
|
-
} from "intlayer";
|
|
1312
|
-
import { useLocale } from "next-intlayer";
|
|
1313
|
-
import Link from "next/link";
|
|
1314
|
-
|
|
1315
|
-
export const LocaleSwitcher = () => {
|
|
1316
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1317
|
-
useLocale();
|
|
1318
|
-
|
|
1319
|
-
return (
|
|
1320
|
-
<div>
|
|
1321
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1322
|
-
<div id="localePopover" popover="auto">
|
|
1323
|
-
{availableLocales.map((localeItem) => (
|
|
1324
|
-
<Link
|
|
1325
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1326
|
-
key={localeItem}
|
|
1327
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1328
|
-
onClick={() => setLocale(localeItem)}
|
|
1329
|
-
replace // Будет гарантировать, что кнопка "назад" в браузере перенаправит на предыдущую страницу
|
|
1330
|
-
>
|
|
1331
|
-
<span>
|
|
1332
|
-
{/* Локаль - например, FR */}
|
|
1333
|
-
{localeItem}
|
|
1334
|
-
</span>
|
|
1335
|
-
<span>
|
|
1336
|
-
{/* Язык на его собственной локали - например, Français */}
|
|
1337
|
-
{getLocaleName(localeItem, locale)}
|
|
1338
|
-
</span>
|
|
1339
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1340
|
-
{/* Язык на текущей локали - например, Francés при установленной локали Locales.SPANISH */}
|
|
1341
|
-
{getLocaleName(localeItem)}
|
|
1342
|
-
</span>
|
|
1343
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1344
|
-
{/* Язык на английском - например, French */}
|
|
1345
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1346
|
-
</span>
|
|
1347
|
-
</Link>
|
|
1348
|
-
))}
|
|
1349
|
-
</div>
|
|
1350
|
-
</div>
|
|
1351
|
-
);
|
|
1352
|
-
};
|
|
1353
|
-
```
|
|
1354
|
-
|
|
1355
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
1356
|
-
"use client";
|
|
1357
|
-
|
|
1358
|
-
const {
|
|
1359
|
-
Locales,
|
|
1360
|
-
getHTMLTextDir,
|
|
1361
|
-
getLocaleName,
|
|
1362
|
-
getLocalizedUrl,
|
|
1363
|
-
} = require("intlayer");
|
|
1364
|
-
const { useLocale } = require("next-intlayer");
|
|
1365
|
-
const Link = require("next/link");
|
|
1366
|
-
|
|
1367
|
-
export const LocaleSwitcher = () => {
|
|
1368
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1369
|
-
useLocale();
|
|
1370
|
-
|
|
1371
|
-
return (
|
|
1372
|
-
<div>
|
|
1373
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1374
|
-
<div id="localePopover" popover="auto">
|
|
1375
|
-
{availableLocales.map((localeItem) => (
|
|
1376
|
-
<Link
|
|
1377
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1378
|
-
key={localeItem}
|
|
1379
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1380
|
-
onClick={() => setLocale(localeItem)}
|
|
1381
|
-
replace // Будет гарантировать, что кнопка "назад" в браузере перенаправит на предыдущую страницу
|
|
1382
|
-
>
|
|
1383
|
-
<span>
|
|
1384
|
-
{/* Локаль - например, FR */}
|
|
1385
|
-
{localeItem}
|
|
1386
|
-
</span>
|
|
1387
|
-
<span>
|
|
1388
|
-
{/* Язык на его собственной локали - например, Français */}
|
|
1389
|
-
{getLocaleName(localeItem, locale)}
|
|
1390
|
-
</span>
|
|
1391
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1392
|
-
{/* Язык на текущей локали - например, Francés при установленной локали Locales.SPANISH */}
|
|
1393
|
-
{getLocaleName(localeItem)}
|
|
1394
|
-
</span>
|
|
1395
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1396
|
-
{/* Язык на английском - например, French */}
|
|
1397
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1398
|
-
</span>
|
|
1399
|
-
</Link>
|
|
1400
|
-
))}
|
|
1401
|
-
</div>
|
|
1402
|
-
</div>
|
|
1403
|
-
);
|
|
1404
|
-
};
|
|
1405
|
-
```
|
|
1406
|
-
|
|
1407
692
|
> Альтернативным способом является использование функции `setLocale`, предоставляемой хуком `useLocale`. Эта функция не позволяет предварительно загружать страницу. См. [документацию хука `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/next-intlayer/useLocale.md) для получения подробной информации.
|
|
1408
693
|
|
|
1409
694
|
> Вы также можете установить функцию в опции `onLocaleChange`, чтобы вызвать пользовательскую функцию при изменении локали.
|
|
@@ -1454,7 +739,7 @@ return (
|
|
|
1454
739
|
|
|
1455
740
|
Ниже приведена реализация локализованного компонента `Link` на TypeScript:
|
|
1456
741
|
|
|
1457
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
742
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1458
743
|
"use client";
|
|
1459
744
|
|
|
1460
745
|
import { getLocalizedUrl } from "intlayer";
|
|
@@ -1494,74 +779,6 @@ export const Link: FC<PropsWithChildren<NextLinkProps>> = ({
|
|
|
1494
779
|
};
|
|
1495
780
|
```
|
|
1496
781
|
|
|
1497
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1498
|
-
"use client";
|
|
1499
|
-
|
|
1500
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1501
|
-
import NextLink from "next/link";
|
|
1502
|
-
import { useLocale } from "next-intlayer";
|
|
1503
|
-
|
|
1504
|
-
/**
|
|
1505
|
-
* Вспомогательная функция для проверки, является ли данный URL внешним.
|
|
1506
|
-
* Если URL начинается с http:// или https://, он считается внешним.
|
|
1507
|
-
*/
|
|
1508
|
-
export const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1509
|
-
|
|
1510
|
-
/**
|
|
1511
|
-
* Кастомный компонент Link, который адаптирует атрибут href в зависимости от текущей локали.
|
|
1512
|
-
* Для внутренних ссылок он использует `getLocalizedUrl` для добавления префикса локали к URL (например, /fr/about).
|
|
1513
|
-
* Это гарантирует, что навигация остается в контексте той же локали.
|
|
1514
|
-
*/
|
|
1515
|
-
export const Link = ({ href, children, ...props }) => {
|
|
1516
|
-
const { locale } = useLocale();
|
|
1517
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1518
|
-
|
|
1519
|
-
// Если ссылка внутренняя и указан валидный href, получаем локализованный URL.
|
|
1520
|
-
const hrefI18n =
|
|
1521
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1522
|
-
|
|
1523
|
-
return (
|
|
1524
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1525
|
-
{children}
|
|
1526
|
-
</NextLink>
|
|
1527
|
-
);
|
|
1528
|
-
};
|
|
1529
|
-
```
|
|
1530
|
-
|
|
1531
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1532
|
-
"use client";
|
|
1533
|
-
|
|
1534
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1535
|
-
const NextLink = require("next/link");
|
|
1536
|
-
const { useLocale } = require("next-intlayer");
|
|
1537
|
-
|
|
1538
|
-
/**
|
|
1539
|
-
* Вспомогательная функция для проверки, является ли данный URL внешним.
|
|
1540
|
-
* Если URL начинается с http:// или https://, он считается внешним.
|
|
1541
|
-
*/
|
|
1542
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1543
|
-
|
|
1544
|
-
/**
|
|
1545
|
-
* Кастомный компонент Link, который адаптирует атрибут href в зависимости от текущей локали.
|
|
1546
|
-
* Для внутренних ссылок он использует `getLocalizedUrl` для добавления префикса локали к URL (например, /fr/about).
|
|
1547
|
-
* Это гарантирует, что навигация остается в контексте той же локали.
|
|
1548
|
-
*/
|
|
1549
|
-
const Link = ({ href, children, ...props }) => {
|
|
1550
|
-
const { locale } = useLocale();
|
|
1551
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1552
|
-
|
|
1553
|
-
// Если ссылка внутренняя и указан валидный href, получаем локализованный URL.
|
|
1554
|
-
const hrefI18n =
|
|
1555
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1556
|
-
|
|
1557
|
-
return (
|
|
1558
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1559
|
-
{children}
|
|
1560
|
-
</NextLink>
|
|
1561
|
-
);
|
|
1562
|
-
};
|
|
1563
|
-
```
|
|
1564
|
-
|
|
1565
782
|
#### Как это работает
|
|
1566
783
|
|
|
1567
784
|
- **Определение внешних ссылок**:
|
|
@@ -1703,7 +920,7 @@ Intlayer использует расширение модулей (module augmen
|
|
|
1703
920
|
|
|
1704
921
|
Чтобы настроить его, вы можете добавить раздел `compiler` в ваш файл `intlayer.config.ts`:
|
|
1705
922
|
|
|
1706
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
923
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1707
924
|
import { type IntlayerConfig } from "intlayer";
|
|
1708
925
|
|
|
1709
926
|
const config: IntlayerConfig = {
|
|
@@ -1734,66 +951,6 @@ const config: IntlayerConfig = {
|
|
|
1734
951
|
export default config;
|
|
1735
952
|
```
|
|
1736
953
|
|
|
1737
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1738
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1739
|
-
const config = {
|
|
1740
|
-
// ... Остальная часть вашей конфигурации
|
|
1741
|
-
compiler: {
|
|
1742
|
-
/**
|
|
1743
|
-
* Указывает, должен ли быть включен компилятор.
|
|
1744
|
-
*/
|
|
1745
|
-
enabled: true,
|
|
1746
|
-
|
|
1747
|
-
/**
|
|
1748
|
-
* Определяет путь к выходным файлам
|
|
1749
|
-
*/
|
|
1750
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1751
|
-
|
|
1752
|
-
/**
|
|
1753
|
-
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1754
|
-
*/
|
|
1755
|
-
saveComponents: false,
|
|
1756
|
-
|
|
1757
|
-
/**
|
|
1758
|
-
* Префикс ключа словаря
|
|
1759
|
-
*/
|
|
1760
|
-
dictionaryKeyPrefix: "",
|
|
1761
|
-
},
|
|
1762
|
-
};
|
|
1763
|
-
|
|
1764
|
-
export default config;
|
|
1765
|
-
```
|
|
1766
|
-
|
|
1767
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1768
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1769
|
-
const config = {
|
|
1770
|
-
// ... Остальная часть вашей конфигурации
|
|
1771
|
-
compiler: {
|
|
1772
|
-
/**
|
|
1773
|
-
* Указывает, должен ли быть включен компилятор.
|
|
1774
|
-
*/
|
|
1775
|
-
enabled: true,
|
|
1776
|
-
|
|
1777
|
-
/**
|
|
1778
|
-
* Определяет путь к выходным файлам
|
|
1779
|
-
*/
|
|
1780
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1781
|
-
|
|
1782
|
-
/**
|
|
1783
|
-
* Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
|
|
1784
|
-
*/
|
|
1785
|
-
saveComponents: false,
|
|
1786
|
-
|
|
1787
|
-
/**
|
|
1788
|
-
* Префикс ключа словаря
|
|
1789
|
-
*/
|
|
1790
|
-
dictionaryKeyPrefix: "",
|
|
1791
|
-
},
|
|
1792
|
-
};
|
|
1793
|
-
|
|
1794
|
-
module.exports = config;
|
|
1795
|
-
```
|
|
1796
|
-
|
|
1797
954
|
<Tabs>
|
|
1798
955
|
<Tab value='Команда извлечения'>
|
|
1799
956
|
|