@intlayer/docs 8.7.6 → 8.7.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -16,6 +16,7 @@ slugs:
|
|
|
16
16
|
- nextjs
|
|
17
17
|
- 15
|
|
18
18
|
applicationTemplate: https://github.com/aymericzip/intlayer-next-15-template
|
|
19
|
+
applicationShowcase: https://next-15-intlayer-template-xt83.vercel.app
|
|
19
20
|
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
20
21
|
history:
|
|
21
22
|
- version: 7.5.9
|
|
@@ -28,6 +29,36 @@ history:
|
|
|
28
29
|
|
|
29
30
|
# Getting Started internationalising (i18n) with Intlayer and Next.js 15 App Router
|
|
30
31
|
|
|
32
|
+
<Tabs defaultTab="video">
|
|
33
|
+
<Tab label="Video" value="video">
|
|
34
|
+
|
|
35
|
+
<iframe title="Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
36
|
+
|
|
37
|
+
</Tab>
|
|
38
|
+
<Tab label="Code" value="code">
|
|
39
|
+
|
|
40
|
+
<iframe
|
|
41
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-next-15-template?file=intlayer.config.ts"
|
|
42
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
43
|
+
title="Demo CodeSandbox — Intlayer"
|
|
44
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
45
|
+
loading="lazy"
|
|
46
|
+
/>
|
|
47
|
+
|
|
48
|
+
</Tab>
|
|
49
|
+
<Tab label="Demo" value="demo">
|
|
50
|
+
|
|
51
|
+
<iframe
|
|
52
|
+
src="https://next-15-intlayer-template-xt83.vercel.app"
|
|
53
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
54
|
+
title="Demo — intlayer-next-15-template"
|
|
55
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
56
|
+
loading="lazy"
|
|
57
|
+
/>
|
|
58
|
+
|
|
59
|
+
</Tab>
|
|
60
|
+
</Tabs>
|
|
61
|
+
|
|
31
62
|
<iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
32
63
|
|
|
33
64
|
See [Application Template](https://github.com/aymericzip/intlayer-next-15-template) on GitHub.
|
|
@@ -114,7 +145,7 @@ Here is the final structure that we will make:
|
|
|
114
145
|
|
|
115
146
|
Create a config file to configure the languages of your application:
|
|
116
147
|
|
|
117
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
148
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
118
149
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
119
150
|
|
|
120
151
|
const config: IntlayerConfig = {
|
|
@@ -132,51 +163,13 @@ const config: IntlayerConfig = {
|
|
|
132
163
|
export default config;
|
|
133
164
|
```
|
|
134
165
|
|
|
135
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
136
|
-
import { Locales } from "intlayer";
|
|
137
|
-
|
|
138
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
139
|
-
const config = {
|
|
140
|
-
internationalization: {
|
|
141
|
-
locales: [
|
|
142
|
-
Locales.ENGLISH,
|
|
143
|
-
Locales.FRENCH,
|
|
144
|
-
Locales.SPANISH,
|
|
145
|
-
// Your other locales
|
|
146
|
-
],
|
|
147
|
-
defaultLocale: Locales.ENGLISH,
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
export default config;
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
155
|
-
const { Locales } = require("intlayer");
|
|
156
|
-
|
|
157
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
158
|
-
const config = {
|
|
159
|
-
internationalization: {
|
|
160
|
-
locales: [
|
|
161
|
-
Locales.ENGLISH,
|
|
162
|
-
Locales.FRENCH,
|
|
163
|
-
Locales.SPANISH,
|
|
164
|
-
// Your other locales
|
|
165
|
-
],
|
|
166
|
-
defaultLocale: Locales.ENGLISH,
|
|
167
|
-
},
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
module.exports = config;
|
|
171
|
-
```
|
|
172
|
-
|
|
173
166
|
> Through this configuration file, you can set up localised URLs, middleware redirection, cookie names, the location and extension of your content declarations, disable Intlayer logs in the console, and more. For a complete list of available parameters, refer to the [configuration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md).
|
|
174
167
|
|
|
175
168
|
### Step 3: Integrate Intlayer in Your Next.js Configuration
|
|
176
169
|
|
|
177
170
|
Configure your Next.js setup to use Intlayer:
|
|
178
171
|
|
|
179
|
-
```typescript fileName="next.config.ts" codeFormat="typescript"
|
|
172
|
+
```typescript fileName="next.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
180
173
|
import type { NextConfig } from "next";
|
|
181
174
|
import { withIntlayer } from "next-intlayer/server";
|
|
182
175
|
|
|
@@ -187,35 +180,13 @@ const nextConfig: NextConfig = {
|
|
|
187
180
|
export default withIntlayer(nextConfig);
|
|
188
181
|
```
|
|
189
182
|
|
|
190
|
-
```typescript fileName="next.config.mjs" codeFormat="esm"
|
|
191
|
-
import { withIntlayer } from "next-intlayer/server";
|
|
192
|
-
|
|
193
|
-
/** @type {import('next').NextConfig} */
|
|
194
|
-
const nextConfig = {
|
|
195
|
-
/* config options here */
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
export default withIntlayer(nextConfig);
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
```typescript fileName="next.config.cjs" codeFormat="commonjs"
|
|
202
|
-
const { withIntlayer } = require("next-intlayer/server");
|
|
203
|
-
|
|
204
|
-
/** @type {import('next').NextConfig} */
|
|
205
|
-
const nextConfig = {
|
|
206
|
-
/* config options here */
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
module.exports = withIntlayer(nextConfig);
|
|
210
|
-
```
|
|
211
|
-
|
|
212
183
|
> The `withIntlayer()` Next.js plugin is used to integrate Intlayer with Next.js. It ensures the building of content declaration files and monitors them in development mode. It defines Intlayer environment variables within the [Webpack](https://webpack.js.org/) or [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack) environments. Additionally, it provides aliases to optimise performance and ensures compatibility with server components.
|
|
213
184
|
|
|
214
185
|
### Step 4: Define Dynamic Locale Routes
|
|
215
186
|
|
|
216
187
|
Remove everything from `RootLayout` and replace it with the following code:
|
|
217
188
|
|
|
218
|
-
```tsx {3} fileName="src/app/layout.tsx" codeFormat="typescript"
|
|
189
|
+
```tsx {3} fileName="src/app/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
219
190
|
import type { PropsWithChildren, FC } from "react";
|
|
220
191
|
import "./globals.css";
|
|
221
192
|
|
|
@@ -224,31 +195,12 @@ const RootLayout: FC<PropsWithChildren> = ({ children }) => children;
|
|
|
224
195
|
export default RootLayout;
|
|
225
196
|
```
|
|
226
197
|
|
|
227
|
-
```jsx {3} fileName="src/app/layout.mjx" codeFormat="esm"
|
|
228
|
-
import "./globals.css";
|
|
229
|
-
|
|
230
|
-
const RootLayout = ({ children }) => children;
|
|
231
|
-
|
|
232
|
-
export default RootLayout;
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
```jsx {1,8} fileName="src/app/layout.csx" codeFormat="commonjs"
|
|
236
|
-
require("./globals.css");
|
|
237
|
-
|
|
238
|
-
const RootLayout = ({ children }) => children;
|
|
239
|
-
|
|
240
|
-
module.exports = {
|
|
241
|
-
default: RootLayout,
|
|
242
|
-
generateStaticParams,
|
|
243
|
-
};
|
|
244
|
-
```
|
|
245
|
-
|
|
246
198
|
> Keeping the `RootLayout` component empty allows setting the [`lang`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/lang) and [`dir`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/dir) attributes on the `<html>` tag.
|
|
247
199
|
|
|
248
200
|
To implement dynamic routing, provide the path for the locale by adding a new layout in your `[locale]` directory:
|
|
249
201
|
|
|
250
|
-
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
251
|
-
import type
|
|
202
|
+
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
203
|
+
import { type NextLayoutIntlayer, IntlayerClientProvider } from "next-intlayer";
|
|
252
204
|
import { Inter } from "next/font/google";
|
|
253
205
|
import { getHTMLTextDir } from "intlayer";
|
|
254
206
|
|
|
@@ -258,24 +210,11 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
258
210
|
const { locale } = await params;
|
|
259
211
|
return (
|
|
260
212
|
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
261
|
-
<body className={inter.className}>
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
export default LocaleLayout;
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
```jsx fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
270
|
-
import { getHTMLTextDir } from "intlayer";
|
|
271
|
-
|
|
272
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
273
|
-
|
|
274
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
275
|
-
const { locale } = await params;
|
|
276
|
-
return (
|
|
277
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
278
|
-
<body className={inter.className}>{children}</body>
|
|
213
|
+
<body className={inter.className}>
|
|
214
|
+
<IntlayerClientProvider locale={locale}>
|
|
215
|
+
{children}
|
|
216
|
+
</IntlayerClientProvider>
|
|
217
|
+
</body>
|
|
279
218
|
</html>
|
|
280
219
|
);
|
|
281
220
|
};
|
|
@@ -283,31 +222,13 @@ const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
|
283
222
|
export default LocaleLayout;
|
|
284
223
|
```
|
|
285
224
|
|
|
286
|
-
```jsx fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
287
|
-
const { Inter } = require("next/font/google");
|
|
288
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
289
|
-
|
|
290
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
291
|
-
|
|
292
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
293
|
-
const { locale } = await params;
|
|
294
|
-
return (
|
|
295
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
296
|
-
<body className={inter.className}>{children}</body>
|
|
297
|
-
</html>
|
|
298
|
-
);
|
|
299
|
-
};
|
|
300
|
-
|
|
301
|
-
module.exports = LocaleLayout;
|
|
302
|
-
```
|
|
303
|
-
|
|
304
225
|
> The `[locale]` path segment is used to define the locale. Example: `/en-US/about` will refer to `en-US` and `/fr/about` to `fr`.
|
|
305
226
|
|
|
306
227
|
> At this stage, you will encounter the error: `Error: Missing <html> and <body> tags in the root layout.`. This is expected because the `/app/page.tsx` file is no longer in use and can be removed. Instead, the `[locale]` path segment will activate the `/app/[locale]/page.tsx` page. Consequently, pages will be accessible via paths like `/en`, `/fr`, `/es` in your browser. To set the default locale as the root page, refer to the `middleware` setup in step 7.
|
|
307
228
|
|
|
308
229
|
Then, implement the `generateStaticParams` function in your application Layout.
|
|
309
230
|
|
|
310
|
-
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
231
|
+
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
311
232
|
export { generateStaticParams } from "next-intlayer"; // Line to insert
|
|
312
233
|
|
|
313
234
|
const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
@@ -317,33 +238,13 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
317
238
|
export default LocaleLayout;
|
|
318
239
|
```
|
|
319
240
|
|
|
320
|
-
```jsx {1} fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
321
|
-
export { generateStaticParams } from "next-intlayer"; // Line to insert
|
|
322
|
-
|
|
323
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
324
|
-
/*... Rest of the code*/
|
|
325
|
-
};
|
|
326
|
-
|
|
327
|
-
// ... Rest of the code
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
```jsx {1,7} fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
331
|
-
const { generateStaticParams } = require("next-intlayer"); // Line to insert
|
|
332
|
-
|
|
333
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
334
|
-
/*... Rest of the code*/
|
|
335
|
-
};
|
|
336
|
-
|
|
337
|
-
module.exports = { default: LocaleLayout, generateStaticParams };
|
|
338
|
-
```
|
|
339
|
-
|
|
340
241
|
> `generateStaticParams` ensures that your application pre-builds the necessary pages for all locales, reducing runtime computation and improving the user experience. For more details, refer to the [Next.js documentation on generateStaticParams](https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic-rendering#generate-static-params).
|
|
341
242
|
|
|
342
243
|
### Step 5: Declare Your Content
|
|
343
244
|
|
|
344
245
|
Create and manage your content declarations to store translations:
|
|
345
246
|
|
|
346
|
-
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat="typescript"
|
|
247
|
+
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
347
248
|
import { t, type Dictionary } from "intlayer";
|
|
348
249
|
|
|
349
250
|
const pageContent = {
|
|
@@ -364,50 +265,6 @@ const pageContent = {
|
|
|
364
265
|
export default pageContent;
|
|
365
266
|
```
|
|
366
267
|
|
|
367
|
-
```javascript fileName="src/app/[locale]/page.content.mjs" contentDeclarationFormat="esm"
|
|
368
|
-
import { t } from "intlayer";
|
|
369
|
-
|
|
370
|
-
/** @type {import('intlayer').Dictionary} */
|
|
371
|
-
const pageContent = {
|
|
372
|
-
key: "page",
|
|
373
|
-
content: {
|
|
374
|
-
getStarted: {
|
|
375
|
-
main: t({
|
|
376
|
-
"en-GB": "Get started by editing",
|
|
377
|
-
en: "Get started by editing",
|
|
378
|
-
fr: "Commencez par éditer",
|
|
379
|
-
es: "Comience por editar",
|
|
380
|
-
}),
|
|
381
|
-
pageLink: "src/app/page.tsx",
|
|
382
|
-
},
|
|
383
|
-
},
|
|
384
|
-
};
|
|
385
|
-
|
|
386
|
-
export default pageContent;
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
```javascript fileName="src/app/[locale]/page.content.cjs" contentDeclarationFormat="commonjs"
|
|
390
|
-
const { t } = require("intlayer");
|
|
391
|
-
|
|
392
|
-
/** @type {import('intlayer').Dictionary} */
|
|
393
|
-
const pageContent = {
|
|
394
|
-
key: "page",
|
|
395
|
-
content: {
|
|
396
|
-
getStarted: {
|
|
397
|
-
main: t({
|
|
398
|
-
"en-GB": "Get started by editing",
|
|
399
|
-
en: "Get started by editing",
|
|
400
|
-
fr: "Commencez par éditer",
|
|
401
|
-
es: "Comience por editar",
|
|
402
|
-
}),
|
|
403
|
-
pageLink: "src/app/page.tsx",
|
|
404
|
-
},
|
|
405
|
-
},
|
|
406
|
-
};
|
|
407
|
-
|
|
408
|
-
module.exports = pageContent;
|
|
409
|
-
```
|
|
410
|
-
|
|
411
268
|
```json fileName="src/app/[locale]/page.content.json" contentDeclarationFormat="json"
|
|
412
269
|
{
|
|
413
270
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -435,11 +292,11 @@ module.exports = pageContent;
|
|
|
435
292
|
|
|
436
293
|
Access your content dictionaries throughout your application:
|
|
437
294
|
|
|
438
|
-
```tsx fileName="src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
295
|
+
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
439
296
|
import type { FC } from "react";
|
|
440
297
|
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
441
298
|
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
442
|
-
import { type NextPageIntlayer
|
|
299
|
+
import { type NextPageIntlayer } from "next-intlayer";
|
|
443
300
|
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
444
301
|
|
|
445
302
|
const PageContent: FC = () => {
|
|
@@ -461,44 +318,7 @@ const Page: NextPageIntlayer = async ({ params }) => {
|
|
|
461
318
|
<PageContent />
|
|
462
319
|
<ServerComponentExample />
|
|
463
320
|
|
|
464
|
-
<
|
|
465
|
-
<ClientComponentExample />
|
|
466
|
-
</IntlayerClientProvider>
|
|
467
|
-
</IntlayerServerProvider>
|
|
468
|
-
);
|
|
469
|
-
};
|
|
470
|
-
|
|
471
|
-
export default Page;
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
```jsx fileName="src/app/[locale]/page.mjx" codeFormat="esm"
|
|
475
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
476
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
477
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
478
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
479
|
-
|
|
480
|
-
const PageContent = () => {
|
|
481
|
-
const content = useIntlayer("page");
|
|
482
|
-
|
|
483
|
-
return (
|
|
484
|
-
<>
|
|
485
|
-
<p>{content.getStarted.main}</p>
|
|
486
|
-
<code>{content.getStarted.pageLink}</code>
|
|
487
|
-
</>
|
|
488
|
-
);
|
|
489
|
-
};
|
|
490
|
-
|
|
491
|
-
const Page = async ({ params }) => {
|
|
492
|
-
const { locale } = await params;
|
|
493
|
-
|
|
494
|
-
return (
|
|
495
|
-
<IntlayerServerProvider locale={locale}>
|
|
496
|
-
<PageContent />
|
|
497
|
-
<ServerComponentExample />
|
|
498
|
-
|
|
499
|
-
<IntlayerClientProvider locale={locale}>
|
|
500
|
-
<ClientComponentExample />
|
|
501
|
-
</IntlayerClientProvider>
|
|
321
|
+
<ClientComponentExample />
|
|
502
322
|
</IntlayerServerProvider>
|
|
503
323
|
);
|
|
504
324
|
};
|
|
@@ -506,39 +326,6 @@ const Page = async ({ params }) => {
|
|
|
506
326
|
export default Page;
|
|
507
327
|
```
|
|
508
328
|
|
|
509
|
-
```jsx fileName="src/app/[locale]/page.csx" codeFormat="commonjs"
|
|
510
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
511
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
512
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
513
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
514
|
-
|
|
515
|
-
const PageContent = () => {
|
|
516
|
-
const content = useIntlayer("page");
|
|
517
|
-
|
|
518
|
-
return (
|
|
519
|
-
<>
|
|
520
|
-
<p>{content.getStarted.main}</p>
|
|
521
|
-
<code>{content.getStarted.pageLink}</code>
|
|
522
|
-
</>
|
|
523
|
-
);
|
|
524
|
-
};
|
|
525
|
-
|
|
526
|
-
const Page = async ({ params }) => {
|
|
527
|
-
const { locale } = await params;
|
|
528
|
-
|
|
529
|
-
return (
|
|
530
|
-
<IntlayerServerProvider locale={locale}>
|
|
531
|
-
<PageContent />
|
|
532
|
-
<ServerComponentExample />
|
|
533
|
-
|
|
534
|
-
<IntlayerClientProvider locale={locale}>
|
|
535
|
-
<ClientComponentExample />
|
|
536
|
-
</IntlayerClientProvider>
|
|
537
|
-
</IntlayerServerProvider>
|
|
538
|
-
);
|
|
539
|
-
};
|
|
540
|
-
```
|
|
541
|
-
|
|
542
329
|
- **`IntlayerClientProvider`** is used to provide the locale to client-side components. It can be placed in any parent component, including the layout. However, placing it in a layout is recommended because Next.js shares layout code across pages, making it more efficient. By using `IntlayerClientProvider` in the layout, you avoid reinitialising it for every page, improving performance and maintaining a consistent localisation context throughout your application.
|
|
543
330
|
- **`IntlayerServerProvider`** is used to provide the locale to the server children. It cannot be set in the layout.
|
|
544
331
|
|
|
@@ -546,7 +333,7 @@ const Page = async ({ params }) => {
|
|
|
546
333
|
|
|
547
334
|
> Layout and page cannot share a common server context because the server context system is based on a per-request data store (via [React's cache](https://react.dev/reference/react/cache) mechanism), causing each "context" to be re-created for different segments of the application. Placing the provider in a shared layout would break this isolation, preventing the correct propagation of the server context values to your server components.
|
|
548
335
|
|
|
549
|
-
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat="typescript"
|
|
336
|
+
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
550
337
|
"use client";
|
|
551
338
|
|
|
552
339
|
import type { FC } from "react";
|
|
@@ -564,41 +351,7 @@ export const ClientComponentExample: FC = () => {
|
|
|
564
351
|
};
|
|
565
352
|
```
|
|
566
353
|
|
|
567
|
-
```
|
|
568
|
-
"use client";
|
|
569
|
-
|
|
570
|
-
import { useIntlayer } from "next-intlayer";
|
|
571
|
-
|
|
572
|
-
const ClientComponentExample = () => {
|
|
573
|
-
const content = useIntlayer("client-component-example"); // Create related content declaration
|
|
574
|
-
|
|
575
|
-
return (
|
|
576
|
-
<div>
|
|
577
|
-
<h2>{content.title}</h2>
|
|
578
|
-
<p>{content.content}</p>
|
|
579
|
-
</div>
|
|
580
|
-
);
|
|
581
|
-
};
|
|
582
|
-
```
|
|
583
|
-
|
|
584
|
-
```jsx {3,6} fileName="src/components/ClientComponentExample.csx" codeFormat="commonjs"
|
|
585
|
-
"use client";
|
|
586
|
-
|
|
587
|
-
const { useIntlayer } = require("next-intlayer");
|
|
588
|
-
|
|
589
|
-
const ClientComponentExample = () => {
|
|
590
|
-
const content = useIntlayer("client-component-example"); // Create related content declaration
|
|
591
|
-
|
|
592
|
-
return (
|
|
593
|
-
<div>
|
|
594
|
-
<h2>{content.title}</h2>
|
|
595
|
-
<p>{content.content}</p>
|
|
596
|
-
</div>
|
|
597
|
-
);
|
|
598
|
-
};
|
|
599
|
-
```
|
|
600
|
-
|
|
601
|
-
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat="typescript"
|
|
354
|
+
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
602
355
|
import type { FC } from "react";
|
|
603
356
|
import { useIntlayer } from "next-intlayer/server";
|
|
604
357
|
|
|
@@ -614,36 +367,6 @@ export const ServerComponentExample: FC = () => {
|
|
|
614
367
|
};
|
|
615
368
|
```
|
|
616
369
|
|
|
617
|
-
```jsx {1} fileName="src/components/ServerComponentExample.mjx" codeFormat="esm"
|
|
618
|
-
import { useIntlayer } from "next-intlayer/server";
|
|
619
|
-
|
|
620
|
-
const ServerComponentExample = () => {
|
|
621
|
-
const content = useIntlayer("server-component-example"); // Create related content declaration
|
|
622
|
-
|
|
623
|
-
return (
|
|
624
|
-
<div>
|
|
625
|
-
<h2>{content.title}</h2>
|
|
626
|
-
<p>{content.content}</p>
|
|
627
|
-
</div>
|
|
628
|
-
);
|
|
629
|
-
};
|
|
630
|
-
```
|
|
631
|
-
|
|
632
|
-
```jsx {1} fileName="src/components/ServerComponentExample.csx" codeFormat="commonjs"
|
|
633
|
-
const { useIntlayer } = require("next-intlayer/server");
|
|
634
|
-
|
|
635
|
-
const ServerComponentExample = () => {
|
|
636
|
-
const content = useIntlayer("server-component-example"); // Create related content declaration
|
|
637
|
-
|
|
638
|
-
return (
|
|
639
|
-
<div>
|
|
640
|
-
<h2>{content.title}</h2>
|
|
641
|
-
<p>{content.content}</p>
|
|
642
|
-
</div>
|
|
643
|
-
);
|
|
644
|
-
};
|
|
645
|
-
```
|
|
646
|
-
|
|
647
370
|
> If you want to use your content in a `string` attribute, such as `alt`, `title`, `href`, `aria-label`, etc., you must call the value of the function, like:
|
|
648
371
|
|
|
649
372
|
> ```jsx
|
|
@@ -656,7 +379,7 @@ const ServerComponentExample = () => {
|
|
|
656
379
|
|
|
657
380
|
Set up middleware to detect the user's preferred locale:
|
|
658
381
|
|
|
659
|
-
```typescript fileName="src/middleware.ts" codeFormat="typescript"
|
|
382
|
+
```typescript fileName="src/middleware.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
660
383
|
export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
|
|
661
384
|
|
|
662
385
|
export const config = {
|
|
@@ -665,33 +388,13 @@ export const config = {
|
|
|
665
388
|
};
|
|
666
389
|
```
|
|
667
390
|
|
|
668
|
-
|
|
669
|
-
export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
|
|
391
|
+
> The `intlayerMiddleware` is used to detect the user's preferred locale and redirect them to the appropriate URL as specified in the [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md). Additionally, it enables saving the user's preferred locale in a cookie.
|
|
670
392
|
|
|
671
|
-
|
|
672
|
-
matcher:
|
|
673
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
674
|
-
};
|
|
675
|
-
```
|
|
393
|
+
### (Optional) Step 8: Internationalisation of your metadata
|
|
676
394
|
|
|
677
|
-
|
|
678
|
-
const { intlayerMiddleware } = require("next-intlayer/middleware");
|
|
395
|
+
In the case you want to internationalise your metadata, such as the title of your page, you can use the `generateMetadata` function provided by Next.js. Inside, you can retrieve the content from the `getIntlayer` function to translate your metadata.
|
|
679
396
|
|
|
680
|
-
|
|
681
|
-
matcher:
|
|
682
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
683
|
-
};
|
|
684
|
-
|
|
685
|
-
module.exports = { middleware: intlayerMiddleware, config };
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
> The `intlayerMiddleware` is used to detect the user's preferred locale and redirect them to the appropriate URL as specified in the [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/configuration.md). Additionally, it enables saving the user's preferred locale in a cookie.
|
|
689
|
-
|
|
690
|
-
### (Optional) Step 8: Internationalisation of your metadata
|
|
691
|
-
|
|
692
|
-
In the case you want to internationalise your metadata, such as the title of your page, you can use the `generateMetadata` function provided by Next.js. Inside, you can retrieve the content from the `getIntlayer` function to translate your metadata.
|
|
693
|
-
|
|
694
|
-
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat="typescript"
|
|
397
|
+
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
695
398
|
import { type Dictionary, t } from "intlayer";
|
|
696
399
|
import { Metadata } from "next";
|
|
697
400
|
|
|
@@ -714,72 +417,6 @@ const metadataContent = {
|
|
|
714
417
|
export default metadataContent;
|
|
715
418
|
```
|
|
716
419
|
|
|
717
|
-
```javascript fileName="src/app/[locale]/metadata.content.mjs" contentDeclarationFormat="esm"
|
|
718
|
-
import { t } from "intlayer";
|
|
719
|
-
|
|
720
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
721
|
-
const metadataContent = {
|
|
722
|
-
key: "page-metadata",
|
|
723
|
-
content: {
|
|
724
|
-
title: t({
|
|
725
|
-
en: "Create Next App",
|
|
726
|
-
fr: "Créer une application Next.js",
|
|
727
|
-
es: "Crear una aplicación Next.js",
|
|
728
|
-
}),
|
|
729
|
-
description: t({
|
|
730
|
-
en: "Generated by create next app",
|
|
731
|
-
fr: "Généré par create next app",
|
|
732
|
-
es: "Generado por create next app",
|
|
733
|
-
}),
|
|
734
|
-
},
|
|
735
|
-
};
|
|
736
|
-
|
|
737
|
-
export default metadataContent;
|
|
738
|
-
```
|
|
739
|
-
|
|
740
|
-
```javascript fileName="src/app/[locale]/metadata.content.cjs" contentDeclarationFormat="commonjs"
|
|
741
|
-
const { t } = require("intlayer");
|
|
742
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
743
|
-
const metadataContent = {
|
|
744
|
-
key: "page-metadata",
|
|
745
|
-
content: {
|
|
746
|
-
title: t({
|
|
747
|
-
en: "Create Next App",
|
|
748
|
-
fr: "Créer une application Next.js",
|
|
749
|
-
es: "Crear una aplicación Next.js",
|
|
750
|
-
}),
|
|
751
|
-
description: t({
|
|
752
|
-
en: "Generated by create next app",
|
|
753
|
-
fr: "Généré par create next app",
|
|
754
|
-
es: "Generado por create next app",
|
|
755
|
-
}),
|
|
756
|
-
},
|
|
757
|
-
};
|
|
758
|
-
|
|
759
|
-
module.exports = metadataContent;
|
|
760
|
-
|
|
761
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
762
|
-
const metadataContent = {
|
|
763
|
-
key: "page-metadata",
|
|
764
|
-
content: {
|
|
765
|
-
title: t({
|
|
766
|
-
"en-GB": "Create Next App",
|
|
767
|
-
en: "Create Next App",
|
|
768
|
-
fr: "Créer une application Next.js",
|
|
769
|
-
es: "Crear una aplicación Next.js",
|
|
770
|
-
}),
|
|
771
|
-
description: t({
|
|
772
|
-
"en-GB": "Generated by create next app",
|
|
773
|
-
en: "Generated by create next app",
|
|
774
|
-
fr: "Généré par create next app",
|
|
775
|
-
es: "Generado por create next app",
|
|
776
|
-
}),
|
|
777
|
-
},
|
|
778
|
-
};
|
|
779
|
-
|
|
780
|
-
module.exports = metadataContent;
|
|
781
|
-
```
|
|
782
|
-
|
|
783
420
|
```json fileName="src/app/[locale]/metadata.content.json" contentDeclarationFormat="json"
|
|
784
421
|
{
|
|
785
422
|
"key": "page-metadata",
|
|
@@ -806,7 +443,7 @@ module.exports = metadataContent;
|
|
|
806
443
|
};
|
|
807
444
|
```
|
|
808
445
|
|
|
809
|
-
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
446
|
+
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
810
447
|
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
811
448
|
import type { Metadata } from "next";
|
|
812
449
|
import type { LocalPromiseParams } from "next-intlayer";
|
|
@@ -852,95 +489,11 @@ export const generateMetadata = async ({
|
|
|
852
489
|
// ... Rest of the code
|
|
853
490
|
````
|
|
854
491
|
|
|
855
|
-
````javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
856
|
-
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
857
|
-
|
|
858
|
-
export const generateMetadata = async ({ params }) => {
|
|
859
|
-
const { locale } = await params;
|
|
860
|
-
|
|
861
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
862
|
-
|
|
863
|
-
/**
|
|
864
|
-
* Generates an object containing all URLs for each locale.
|
|
865
|
-
*
|
|
866
|
-
* Example:
|
|
867
|
-
* ```ts
|
|
868
|
-
* getMultilingualUrls('/about');
|
|
869
|
-
*
|
|
870
|
-
* // Returns
|
|
871
|
-
* // {
|
|
872
|
-
* // en: '/about',
|
|
873
|
-
* // fr: '/fr/about',
|
|
874
|
-
* // es: '/es/about'
|
|
875
|
-
* // }
|
|
876
|
-
* ```
|
|
877
|
-
*/
|
|
878
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
879
|
-
const localizedUrl = multilingualUrls[locale];
|
|
880
|
-
|
|
881
|
-
return {
|
|
882
|
-
...metadata,
|
|
883
|
-
alternates: {
|
|
884
|
-
canonical: localizedUrl,
|
|
885
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
886
|
-
},
|
|
887
|
-
openGraph: {
|
|
888
|
-
url: localizedUrl,
|
|
889
|
-
},
|
|
890
|
-
};
|
|
891
|
-
};
|
|
892
|
-
|
|
893
|
-
// ... Rest of the code
|
|
894
|
-
````
|
|
895
|
-
|
|
896
|
-
````javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
897
|
-
const { getIntlayer, getMultilingualUrls } = require("intlayer");
|
|
898
|
-
|
|
899
|
-
const generateMetadata = async ({ params }) => {
|
|
900
|
-
const { locale } = await params;
|
|
901
|
-
|
|
902
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
903
|
-
|
|
904
|
-
/**
|
|
905
|
-
* Generates an object containing all URLs for each locale.
|
|
906
|
-
*
|
|
907
|
-
* Example:
|
|
908
|
-
* ```ts
|
|
909
|
-
* getMultilingualUrls('/about');
|
|
910
|
-
*
|
|
911
|
-
* // Returns
|
|
912
|
-
* // {
|
|
913
|
-
* // en: '/about',
|
|
914
|
-
* // fr: '/fr/about',
|
|
915
|
-
* // es: '/es/about'
|
|
916
|
-
* // }
|
|
917
|
-
* ```
|
|
918
|
-
*/
|
|
919
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
920
|
-
const localizedUrl = multilingualUrls[locale];
|
|
921
|
-
|
|
922
|
-
return {
|
|
923
|
-
...metadata,
|
|
924
|
-
alternates: {
|
|
925
|
-
canonical: localizedUrl,
|
|
926
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
927
|
-
},
|
|
928
|
-
openGraph: {
|
|
929
|
-
url: localizedUrl,
|
|
930
|
-
},
|
|
931
|
-
};
|
|
932
|
-
};
|
|
933
|
-
|
|
934
|
-
module.exports = { generateMetadata };
|
|
935
|
-
|
|
936
|
-
// ... Rest of the code
|
|
937
|
-
````
|
|
938
|
-
|
|
939
492
|
> Note that the `getIntlayer` function imported from `next-intlayer` returns your content wrapped in an `IntlayerNode`, allowing integration with the visual editor. In contrast, the `getIntlayer` function imported from `intlayer` returns your content directly without additional properties.
|
|
940
493
|
|
|
941
494
|
Alternatively, you can use the `getTranslation` function to declare your metadata. However, using content declaration files is recommended to automate the translation of your metadata and externalise the content at some point.
|
|
942
495
|
|
|
943
|
-
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
496
|
+
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
944
497
|
import {
|
|
945
498
|
type IConfigLocales,
|
|
946
499
|
getTranslation,
|
|
@@ -972,64 +525,13 @@ export const generateMetadata = async ({
|
|
|
972
525
|
// ... Rest of the code
|
|
973
526
|
```
|
|
974
527
|
|
|
975
|
-
```javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
976
|
-
import { getTranslation, getMultilingualUrls } from "intlayer";
|
|
977
|
-
|
|
978
|
-
export const generateMetadata = async ({ params }) => {
|
|
979
|
-
const { locale } = await params;
|
|
980
|
-
const t = (content) => getTranslation(content, locale);
|
|
981
|
-
|
|
982
|
-
return {
|
|
983
|
-
title: t({
|
|
984
|
-
en: "My title",
|
|
985
|
-
fr: "Mon titre",
|
|
986
|
-
es: "Mi título",
|
|
987
|
-
}),
|
|
988
|
-
description: t({
|
|
989
|
-
en: "My description",
|
|
990
|
-
fr: "Ma description",
|
|
991
|
-
es: "Mi descripción",
|
|
992
|
-
}),
|
|
993
|
-
};
|
|
994
|
-
};
|
|
995
|
-
|
|
996
|
-
// ... Rest of the code
|
|
997
|
-
```
|
|
998
|
-
|
|
999
|
-
```javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
1000
|
-
const { getTranslation, getMultilingualUrls } = require("intlayer");
|
|
1001
|
-
|
|
1002
|
-
const generateMetadata = async ({ params }) => {
|
|
1003
|
-
const { locale } = await params;
|
|
1004
|
-
|
|
1005
|
-
const t = (content) => getTranslation(content, locale);
|
|
1006
|
-
|
|
1007
|
-
return {
|
|
1008
|
-
title: t({
|
|
1009
|
-
en: "My title",
|
|
1010
|
-
fr: "Mon titre",
|
|
1011
|
-
es: "Mi título",
|
|
1012
|
-
}),
|
|
1013
|
-
description: t({
|
|
1014
|
-
en: "My description",
|
|
1015
|
-
fr: "Ma description",
|
|
1016
|
-
es: "Mi descripción",
|
|
1017
|
-
}),
|
|
1018
|
-
};
|
|
1019
|
-
};
|
|
1020
|
-
|
|
1021
|
-
module.exports = { generateMetadata };
|
|
1022
|
-
|
|
1023
|
-
// ... Rest of the code
|
|
1024
|
-
```
|
|
1025
|
-
|
|
1026
528
|
> Learn more about metadata optimisation [on the official Next.js documentation](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
|
|
1027
529
|
|
|
1028
530
|
### (Optional) Step 9: Internationalisation of your sitemap.xml and robots.txt
|
|
1029
531
|
|
|
1030
532
|
To internationalise your `sitemap.xml` and `robots.txt`, you can use the `getMultilingualUrls` function provided by Intlayer. This function allows you to generate multilingual URLs for your sitemap.
|
|
1031
533
|
|
|
1032
|
-
```tsx fileName="src/app/sitemap.ts" codeFormat="typescript"
|
|
534
|
+
```tsx fileName="src/app/sitemap.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1033
535
|
import { getMultilingualUrls } from "intlayer";
|
|
1034
536
|
import type { MetadataRoute } from "next";
|
|
1035
537
|
|
|
@@ -1066,79 +568,7 @@ const sitemap = (): MetadataRoute.Sitemap => [
|
|
|
1066
568
|
export default sitemap;
|
|
1067
569
|
```
|
|
1068
570
|
|
|
1069
|
-
```
|
|
1070
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1071
|
-
|
|
1072
|
-
const sitemap = () => [
|
|
1073
|
-
{
|
|
1074
|
-
url: "https://example.com",
|
|
1075
|
-
alternates: {
|
|
1076
|
-
languages: {
|
|
1077
|
-
...getMultilingualUrls("https://example.com"),
|
|
1078
|
-
"x-default": "https://example.com",
|
|
1079
|
-
},
|
|
1080
|
-
},
|
|
1081
|
-
},
|
|
1082
|
-
{
|
|
1083
|
-
url: "https://example.com/login",
|
|
1084
|
-
alternates: {
|
|
1085
|
-
languages: {
|
|
1086
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1087
|
-
"x-default": "https://example.com/login",
|
|
1088
|
-
},
|
|
1089
|
-
},
|
|
1090
|
-
},
|
|
1091
|
-
{
|
|
1092
|
-
url: "https://example.com/register",
|
|
1093
|
-
alternates: {
|
|
1094
|
-
languages: {
|
|
1095
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1096
|
-
"x-default": "https://example.com/register",
|
|
1097
|
-
},
|
|
1098
|
-
},
|
|
1099
|
-
},
|
|
1100
|
-
];
|
|
1101
|
-
|
|
1102
|
-
export default sitemap;
|
|
1103
|
-
```
|
|
1104
|
-
|
|
1105
|
-
```jsx fileName="src/app/sitemap.csx" codeFormat="commonjs"
|
|
1106
|
-
const { getMultilingualUrls } = require("intlayer");
|
|
1107
|
-
|
|
1108
|
-
const sitemap = () => [
|
|
1109
|
-
{
|
|
1110
|
-
url: "https://example.com",
|
|
1111
|
-
alternates: {
|
|
1112
|
-
languages: {
|
|
1113
|
-
...getMultilingualUrls("https://example.com"),
|
|
1114
|
-
"x-default": "https://example.com",
|
|
1115
|
-
},
|
|
1116
|
-
},
|
|
1117
|
-
},
|
|
1118
|
-
{
|
|
1119
|
-
url: "https://example.com/login",
|
|
1120
|
-
alternates: {
|
|
1121
|
-
languages: {
|
|
1122
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1123
|
-
"x-default": "https://example.com/login",
|
|
1124
|
-
},
|
|
1125
|
-
},
|
|
1126
|
-
},
|
|
1127
|
-
{
|
|
1128
|
-
url: "https://example.com/register",
|
|
1129
|
-
alternates: {
|
|
1130
|
-
languages: {
|
|
1131
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1132
|
-
"x-default": "https://example.com/register",
|
|
1133
|
-
},
|
|
1134
|
-
},
|
|
1135
|
-
},
|
|
1136
|
-
];
|
|
1137
|
-
|
|
1138
|
-
module.exports = sitemap;
|
|
1139
|
-
```
|
|
1140
|
-
|
|
1141
|
-
```tsx fileName="src/app/robots.ts" codeFormat="typescript"
|
|
571
|
+
```tsx fileName="src/app/robots.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1142
572
|
import type { MetadataRoute } from "next";
|
|
1143
573
|
import { getMultilingualUrls } from "intlayer";
|
|
1144
574
|
|
|
@@ -1159,51 +589,13 @@ const robots = (): MetadataRoute.Robots => ({
|
|
|
1159
589
|
export default robots;
|
|
1160
590
|
```
|
|
1161
591
|
|
|
1162
|
-
```jsx fileName="src/app/robots.mjx" codeFormat="esm"
|
|
1163
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1164
|
-
|
|
1165
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1166
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1167
|
-
|
|
1168
|
-
const robots = () => ({
|
|
1169
|
-
rules: {
|
|
1170
|
-
userAgent: "*",
|
|
1171
|
-
allow: ["/"],
|
|
1172
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1173
|
-
},
|
|
1174
|
-
host: "https://example.com",
|
|
1175
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1176
|
-
});
|
|
1177
|
-
|
|
1178
|
-
export default robots;
|
|
1179
|
-
```
|
|
1180
|
-
|
|
1181
|
-
```jsx fileName="src/app/robots.csx" codeFormat="commonjs"
|
|
1182
|
-
const { getMultilingualUrls } = require("intlayer");
|
|
1183
|
-
|
|
1184
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1185
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1186
|
-
|
|
1187
|
-
const robots = () => ({
|
|
1188
|
-
rules: {
|
|
1189
|
-
userAgent: "*",
|
|
1190
|
-
allow: ["/"],
|
|
1191
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1192
|
-
},
|
|
1193
|
-
host: "https://example.com",
|
|
1194
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1195
|
-
});
|
|
1196
|
-
|
|
1197
|
-
module.exports = robots;
|
|
1198
|
-
```
|
|
1199
|
-
|
|
1200
592
|
> Learn more about sitemap optimisation [on the official Next.js documentation](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap). Learn more about robots.txt optimisation [on the official Next.js documentation](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots).
|
|
1201
593
|
|
|
1202
594
|
### (Optional) Step 10: Change the language of your content
|
|
1203
595
|
|
|
1204
596
|
To change the language of your content in Next.js, the recommended method is to use the `Link` component to redirect users to the appropriate localised page. The `Link` component enables prefetching of the page, which helps avoid a full page reload.
|
|
1205
597
|
|
|
1206
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
598
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
1207
599
|
"use client";
|
|
1208
600
|
|
|
1209
601
|
import type { FC } from "react";
|
|
@@ -1256,110 +648,6 @@ export const LocaleSwitcher: FC = () => {
|
|
|
1256
648
|
};
|
|
1257
649
|
```
|
|
1258
650
|
|
|
1259
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
1260
|
-
"use client";
|
|
1261
|
-
|
|
1262
|
-
import {
|
|
1263
|
-
Locales,
|
|
1264
|
-
getHTMLTextDir,
|
|
1265
|
-
getLocaleName,
|
|
1266
|
-
getLocalizedUrl,
|
|
1267
|
-
} from "intlayer";
|
|
1268
|
-
import { useLocale } from "next-intlayer";
|
|
1269
|
-
import Link from "next/link";
|
|
1270
|
-
|
|
1271
|
-
export const LocaleSwitcher = () => {
|
|
1272
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1273
|
-
useLocale();
|
|
1274
|
-
|
|
1275
|
-
return (
|
|
1276
|
-
<div>
|
|
1277
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1278
|
-
<div id="localePopover" popover="auto">
|
|
1279
|
-
{availableLocales.map((localeItem) => (
|
|
1280
|
-
<Link
|
|
1281
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1282
|
-
hrefLang={localeItem}
|
|
1283
|
-
key={localeItem}
|
|
1284
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1285
|
-
onClick={() => setLocale(localeItem)}
|
|
1286
|
-
>
|
|
1287
|
-
<span>
|
|
1288
|
-
{/* Locale - e.g. FR */}
|
|
1289
|
-
{localeItem}
|
|
1290
|
-
</span>
|
|
1291
|
-
<span>
|
|
1292
|
-
{/* Language in its own Locale - e.g. Français */}
|
|
1293
|
-
{getLocaleName(localeItem, locale)}
|
|
1294
|
-
</span>
|
|
1295
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1296
|
-
{/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
|
|
1297
|
-
{getLocaleName(localeItem)}
|
|
1298
|
-
</span>
|
|
1299
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1300
|
-
{/* Language in English - e.g. French */}
|
|
1301
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1302
|
-
</span>
|
|
1303
|
-
</Link>
|
|
1304
|
-
))}
|
|
1305
|
-
</div>
|
|
1306
|
-
</div>
|
|
1307
|
-
);
|
|
1308
|
-
};
|
|
1309
|
-
```
|
|
1310
|
-
|
|
1311
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
1312
|
-
"use client";
|
|
1313
|
-
|
|
1314
|
-
const {
|
|
1315
|
-
Locales,
|
|
1316
|
-
getHTMLTextDir,
|
|
1317
|
-
getLocaleName,
|
|
1318
|
-
getLocalizedUrl,
|
|
1319
|
-
} = require("intlayer");
|
|
1320
|
-
const { useLocale } = require("next-intlayer");
|
|
1321
|
-
const Link = require("next/link");
|
|
1322
|
-
|
|
1323
|
-
export const LocaleSwitcher = () => {
|
|
1324
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1325
|
-
useLocale();
|
|
1326
|
-
|
|
1327
|
-
return (
|
|
1328
|
-
<div>
|
|
1329
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1330
|
-
<div id="localePopover" popover="auto">
|
|
1331
|
-
{availableLocales.map((localeItem) => (
|
|
1332
|
-
<Link
|
|
1333
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1334
|
-
hrefLang={localeItem}
|
|
1335
|
-
key={localeItem}
|
|
1336
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1337
|
-
onClick={() => setLocale(localeItem)}
|
|
1338
|
-
>
|
|
1339
|
-
<span>
|
|
1340
|
-
{/* Locale - e.g. FR */}
|
|
1341
|
-
{localeItem}
|
|
1342
|
-
</span>
|
|
1343
|
-
<span>
|
|
1344
|
-
{/* Language in its own Locale - e.g. Français */}
|
|
1345
|
-
{getLocaleName(localeItem, locale)}
|
|
1346
|
-
</span>
|
|
1347
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1348
|
-
{/* Language in current Locale - e.g. Francés with current locale set to Locales.SPANISH */}
|
|
1349
|
-
{getLocaleName(localeItem)}
|
|
1350
|
-
</span>
|
|
1351
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1352
|
-
{/* Language in English - e.g. French */}
|
|
1353
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1354
|
-
</span>
|
|
1355
|
-
</Link>
|
|
1356
|
-
))}
|
|
1357
|
-
</div>
|
|
1358
|
-
</div>
|
|
1359
|
-
);
|
|
1360
|
-
};
|
|
1361
|
-
```
|
|
1362
|
-
|
|
1363
651
|
> An alternative method is to use the `setLocale` function provided by the `useLocale` hook. This function will not permit prefetching the page and will reload the page.
|
|
1364
652
|
|
|
1365
653
|
> In this case, without redirection using `router.push`, only your server-side code will modify the locale of the content.
|
|
@@ -1408,7 +696,7 @@ This behaviour is useful for several reasons:
|
|
|
1408
696
|
|
|
1409
697
|
Below is the implementation of a localised `Link` component in TypeScript:
|
|
1410
698
|
|
|
1411
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
699
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1412
700
|
"use client";
|
|
1413
701
|
|
|
1414
702
|
import { getLocalizedUrl } from "intlayer";
|
|
@@ -1448,74 +736,6 @@ export const Link: FC<PropsWithChildren<NextLinkProps>> = ({
|
|
|
1448
736
|
};
|
|
1449
737
|
```
|
|
1450
738
|
|
|
1451
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1452
|
-
"use client";
|
|
1453
|
-
|
|
1454
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1455
|
-
import NextLink from "next/link";
|
|
1456
|
-
import { useLocale } from "next-intlayer";
|
|
1457
|
-
|
|
1458
|
-
/**
|
|
1459
|
-
* Utility function to check whether a given URL is external.
|
|
1460
|
-
* If the URL starts with http:// or https://, it is considered external.
|
|
1461
|
-
*/
|
|
1462
|
-
export const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1463
|
-
|
|
1464
|
-
/**
|
|
1465
|
-
* A custom Link component that adapts the href attribute based on the current locale.
|
|
1466
|
-
* For internal links, it uses `getLocalizedUrl` to prefix the URL with the locale (e.g., /fr/about).
|
|
1467
|
-
* This ensures that navigation stays within the same locale context.
|
|
1468
|
-
*/
|
|
1469
|
-
export const Link = ({ href, children, ...props }) => {
|
|
1470
|
-
const { locale } = useLocale();
|
|
1471
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1472
|
-
|
|
1473
|
-
// If the link is internal and a valid href is provided, get the localised URL.
|
|
1474
|
-
const hrefI18n =
|
|
1475
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1476
|
-
|
|
1477
|
-
return (
|
|
1478
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1479
|
-
{children}
|
|
1480
|
-
</NextLink>
|
|
1481
|
-
);
|
|
1482
|
-
};
|
|
1483
|
-
```
|
|
1484
|
-
|
|
1485
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1486
|
-
"use client";
|
|
1487
|
-
|
|
1488
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1489
|
-
const NextLink = require("next/link");
|
|
1490
|
-
const { useLocale } = require("next-intlayer");
|
|
1491
|
-
|
|
1492
|
-
/**
|
|
1493
|
-
* Utility function to check whether a given URL is external.
|
|
1494
|
-
* If the URL starts with http:// or https://, it is considered external.
|
|
1495
|
-
*/
|
|
1496
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1497
|
-
|
|
1498
|
-
/**
|
|
1499
|
-
* A custom Link component that adapts the href attribute based on the current locale.
|
|
1500
|
-
* For internal links, it uses `getLocalizedUrl` to prefix the URL with the locale (e.g., /fr/about).
|
|
1501
|
-
* This ensures that navigation remains within the same locale context.
|
|
1502
|
-
*/
|
|
1503
|
-
const Link = ({ href, children, ...props }) => {
|
|
1504
|
-
const { locale } = useLocale();
|
|
1505
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1506
|
-
|
|
1507
|
-
// If the link is internal and a valid href is provided, get the localised URL.
|
|
1508
|
-
const hrefI18n =
|
|
1509
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1510
|
-
|
|
1511
|
-
return (
|
|
1512
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1513
|
-
{children}
|
|
1514
|
-
</NextLink>
|
|
1515
|
-
);
|
|
1516
|
-
};
|
|
1517
|
-
```
|
|
1518
|
-
|
|
1519
739
|
#### How It Works
|
|
1520
740
|
|
|
1521
741
|
- **Detecting External Links**:
|