@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="Демо 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/uk/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()` повертає Promise. Вона дозволяє підготувати словники 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,44 +353,7 @@ const Page: NextPageIntlayer = async ({ params }) => {
|
|
|
519
353
|
<PageContent />
|
|
520
354
|
<ServerComponentExample />
|
|
521
355
|
|
|
522
|
-
<
|
|
523
|
-
<ClientComponentExample />
|
|
524
|
-
</IntlayerClientProvider>
|
|
525
|
-
</IntlayerServerProvider>
|
|
526
|
-
);
|
|
527
|
-
};
|
|
528
|
-
|
|
529
|
-
export default Page;
|
|
530
|
-
```
|
|
531
|
-
|
|
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>
|
|
356
|
+
<ClientComponentExample />
|
|
560
357
|
</IntlayerServerProvider>
|
|
561
358
|
);
|
|
562
359
|
};
|
|
@@ -564,45 +361,12 @@ const Page = async ({ params }) => {
|
|
|
564
361
|
export default Page;
|
|
565
362
|
```
|
|
566
363
|
|
|
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](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
|
> Якщо ви хочете використовувати свій контент у рядковому атрибуті, такому як `alt`, `title`, `href`, `aria-label` тощо, ви повинні викликати значення функції, наприклад:
|
|
704
404
|
|
|
705
405
|
> ```jsx
|
|
@@ -714,16 +414,7 @@ const ServerComponentExample = () => {
|
|
|
714
414
|
|
|
715
415
|
Налаштуйте проксі для виявлення бажаної локалі користувача:
|
|
716
416
|
|
|
717
|
-
```typescript fileName="src/proxy.ts" codeFormat="typescript"
|
|
718
|
-
export { intlayerProxy as proxy } from "next-intlayer/proxy";
|
|
719
|
-
|
|
720
|
-
export const config = {
|
|
721
|
-
matcher:
|
|
722
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
723
|
-
};
|
|
724
|
-
```
|
|
725
|
-
|
|
726
|
-
```javascript fileName="src/proxy.mjs" codeFormat="esm"
|
|
417
|
+
```typescript fileName="src/proxy.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
727
418
|
export { intlayerProxy as proxy } from "next-intlayer/proxy";
|
|
728
419
|
|
|
729
420
|
export const config = {
|
|
@@ -732,17 +423,6 @@ export const config = {
|
|
|
732
423
|
};
|
|
733
424
|
```
|
|
734
425
|
|
|
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/uk/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 aplicación 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/uk/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 au
|
|
|
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
|
|