@intlayer/docs 8.7.7 → 8.7.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -16,6 +16,7 @@ slugs:
|
|
|
16
16
|
- 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
|
# Traduire votre Next.js 15 avec Intlayer | Internationalisation (i18n)
|
|
30
31
|
|
|
32
|
+
<Tabs defaultTab="video">
|
|
33
|
+
<Tab label="Vidéo" 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="Démo" 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="Démo — 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="La meilleure solution i18n pour Next.js ? Découvrez 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
|
Voir le [Modèle d’Application](https://github.com/aymericzip/intlayer-next-15-template) sur GitHub.
|
|
@@ -114,7 +145,7 @@ Here is the final structure that we will make:
|
|
|
114
145
|
|
|
115
146
|
Créez un fichier de configuration pour configurer les langues de votre 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
|
-
// Vos autres 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
|
-
// Vos autres locales
|
|
165
|
-
],
|
|
166
|
-
defaultLocale: Locales.ENGLISH,
|
|
167
|
-
},
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
module.exports = config;
|
|
171
|
-
```
|
|
172
|
-
|
|
173
166
|
> Grâce à ce fichier de configuration, vous pouvez configurer des URLs localisées, la redirection via middleware, les noms de cookies, l'emplacement et l'extension de vos déclarations de contenu, désactiver les logs Intlayer dans la console, et plus encore. Pour une liste complète des paramètres disponibles, référez-vous à la [documentation de configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md).
|
|
174
167
|
|
|
175
168
|
### Étape 3 : Intégrer Intlayer dans votre configuration Next.js
|
|
176
169
|
|
|
177
170
|
Configurez votre setup Next.js pour utiliser 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
|
-
/* options de configuration ici */
|
|
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
|
-
/* options de configuration ici */
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
module.exports = withIntlayer(nextConfig);
|
|
210
|
-
```
|
|
211
|
-
|
|
212
183
|
> Le plugin Next.js `withIntlayer()` est utilisé pour intégrer Intlayer avec Next.js. Il assure la construction des fichiers de déclaration de contenu et les surveille en mode développement. Il définit les variables d'environnement Intlayer dans les environnements [Webpack](https://webpack.js.org/) ou [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack). De plus, il fournit des alias pour optimiser les performances et garantit la compatibilité avec les composants serveur.
|
|
213
184
|
|
|
214
185
|
### Étape 4 : Définir les routes dynamiques de locale
|
|
215
186
|
|
|
216
187
|
Supprimez tout dans `RootLayout` et remplacez-le par le code suivant :
|
|
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,32 +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
|
-
// Composant RootLayout vide pour permettre de définir les attributs `lang` et `dir` sur la balise `<html>`
|
|
241
|
-
module.exports = {
|
|
242
|
-
default: RootLayout,
|
|
243
|
-
generateStaticParams,
|
|
244
|
-
};
|
|
245
|
-
```
|
|
246
|
-
|
|
247
198
|
> Garder le composant `RootLayout` vide permet de définir les attributs [`lang`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/lang) et [`dir`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/dir) sur la balise `<html>`.
|
|
248
199
|
|
|
249
200
|
Pour implémenter le routage dynamique, fournissez le chemin pour la locale en ajoutant un nouveau layout dans votre répertoire `[locale]` :
|
|
250
201
|
|
|
251
|
-
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
252
|
-
import type
|
|
202
|
+
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
203
|
+
import { type NextLayoutIntlayer, IntlayerClientProvider } from "next-intlayer";
|
|
253
204
|
import { Inter } from "next/font/google";
|
|
254
205
|
import { getHTMLTextDir } from "intlayer";
|
|
255
206
|
|
|
@@ -259,24 +210,11 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
259
210
|
const { locale } = await params;
|
|
260
211
|
return (
|
|
261
212
|
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
262
|
-
<body className={inter.className}>
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
export default LocaleLayout;
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
```jsx fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
271
|
-
import { getHTMLTextDir } from "intlayer";
|
|
272
|
-
|
|
273
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
274
|
-
|
|
275
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
276
|
-
const { locale } = await params;
|
|
277
|
-
return (
|
|
278
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
279
|
-
<body className={inter.className}>{children}</body>
|
|
213
|
+
<body className={inter.className}>
|
|
214
|
+
<IntlayerClientProvider locale={locale}>
|
|
215
|
+
{children}
|
|
216
|
+
</IntlayerClientProvider>
|
|
217
|
+
</body>
|
|
280
218
|
</html>
|
|
281
219
|
);
|
|
282
220
|
};
|
|
@@ -284,24 +222,6 @@ const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
|
284
222
|
export default LocaleLayout;
|
|
285
223
|
```
|
|
286
224
|
|
|
287
|
-
```jsx fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
288
|
-
const { Inter } = require("next/font/google");
|
|
289
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
290
|
-
|
|
291
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
292
|
-
|
|
293
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
294
|
-
const { locale } = await params;
|
|
295
|
-
return (
|
|
296
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
297
|
-
<body className={inter.className}>{children}</body>
|
|
298
|
-
</html>
|
|
299
|
-
);
|
|
300
|
-
};
|
|
301
|
-
|
|
302
|
-
module.exports = LocaleLayout;
|
|
303
|
-
```
|
|
304
|
-
|
|
305
225
|
> Le segment de chemin `[locale]` est utilisé pour définir la locale. Exemple : `/en-US/about` fera référence à `en-US` et `/fr/about` à `fr`.
|
|
306
226
|
|
|
307
227
|
> À ce stade, vous rencontrerez l'erreur : `Error: Missing <html> and <body> tags in the root layout.`. Cela est attendu car le fichier `/app/page.tsx` n'est plus utilisé et peut être supprimé. À la place, le segment de chemin `[locale]` activera la page `/app/[locale]/page.tsx`. Par conséquent, les pages seront accessibles via des chemins comme `/en`, `/fr`, `/es` dans votre navigateur. Pour définir la locale par défaut comme page racine, référez-vous à la configuration du `middleware` à l'étape 7.
|
|
@@ -318,7 +238,7 @@ Ensuite, implémentez la fonction `generateStaticParams` dans le Layout de votre
|
|
|
318
238
|
|
|
319
239
|
Ensuite, implémentez la fonction `generateStaticParams` dans le Layout de votre application.
|
|
320
240
|
|
|
321
|
-
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
241
|
+
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
322
242
|
export { generateStaticParams } from "next-intlayer"; // Ligne à insérer
|
|
323
243
|
|
|
324
244
|
const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
@@ -328,33 +248,13 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
328
248
|
export default LocaleLayout;
|
|
329
249
|
```
|
|
330
250
|
|
|
331
|
-
```jsx {1} fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
332
|
-
export { generateStaticParams } from "next-intlayer"; // Ligne à insérer
|
|
333
|
-
|
|
334
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
335
|
-
/*... Reste du code */
|
|
336
|
-
};
|
|
337
|
-
|
|
338
|
-
// ... Reste du code
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
```jsx {1,7} fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
342
|
-
const { generateStaticParams } = require("next-intlayer"); // Ligne à insérer
|
|
343
|
-
|
|
344
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
345
|
-
/*... Reste du code */
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
module.exports = { default: LocaleLayout, generateStaticParams };
|
|
349
|
-
```
|
|
350
|
-
|
|
351
251
|
> `generateStaticParams` garantit que votre application préconstruit les pages nécessaires pour toutes les locales, réduisant ainsi le calcul à l'exécution et améliorant l'expérience utilisateur. Pour plus de détails, consultez la [documentation Next.js sur generateStaticParams](https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic-rendering#generate-static-params).
|
|
352
252
|
|
|
353
253
|
### Étape 5 : Déclarez Votre Contenu
|
|
354
254
|
|
|
355
255
|
Créez et gérez vos déclarations de contenu pour stocker les traductions :
|
|
356
256
|
|
|
357
|
-
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat="typescript"
|
|
257
|
+
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
358
258
|
import { t, type Dictionary } from "intlayer";
|
|
359
259
|
|
|
360
260
|
const pageContent = {
|
|
@@ -374,48 +274,6 @@ const pageContent = {
|
|
|
374
274
|
export default pageContent;
|
|
375
275
|
```
|
|
376
276
|
|
|
377
|
-
```javascript fileName="src/app/[locale]/page.content.mjs" contentDeclarationFormat="esm"
|
|
378
|
-
import { t } from "intlayer";
|
|
379
|
-
|
|
380
|
-
/** @type {import('intlayer').Dictionary} */
|
|
381
|
-
const pageContent = {
|
|
382
|
-
key: "page",
|
|
383
|
-
content: {
|
|
384
|
-
getStarted: {
|
|
385
|
-
main: t({
|
|
386
|
-
fr: "Commencez par éditer",
|
|
387
|
-
en: "Get started by editing",
|
|
388
|
-
es: "Comience por editar",
|
|
389
|
-
}),
|
|
390
|
-
pageLink: "src/app/page.tsx",
|
|
391
|
-
},
|
|
392
|
-
},
|
|
393
|
-
};
|
|
394
|
-
|
|
395
|
-
export default pageContent;
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
```javascript fileName="src/app/[locale]/page.content.cjs" contentDeclarationFormat="commonjs"
|
|
399
|
-
const { t } = require("intlayer");
|
|
400
|
-
|
|
401
|
-
/** @type {import('intlayer').Dictionary} */
|
|
402
|
-
const pageContent = {
|
|
403
|
-
key: "page",
|
|
404
|
-
content: {
|
|
405
|
-
getStarted: {
|
|
406
|
-
main: t({
|
|
407
|
-
fr: "Commencez par éditer",
|
|
408
|
-
en: "Get started by editing",
|
|
409
|
-
es: "Comience por editar",
|
|
410
|
-
}),
|
|
411
|
-
pageLink: "src/app/page.tsx",
|
|
412
|
-
},
|
|
413
|
-
},
|
|
414
|
-
};
|
|
415
|
-
|
|
416
|
-
module.exports = pageContent;
|
|
417
|
-
```
|
|
418
|
-
|
|
419
277
|
```json fileName="src/app/[locale]/page.content.json" contentDeclarationFormat="json"
|
|
420
278
|
{
|
|
421
279
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -442,11 +300,11 @@ module.exports = pageContent;
|
|
|
442
300
|
|
|
443
301
|
Accédez à vos dictionnaires de contenu dans toute votre application :
|
|
444
302
|
|
|
445
|
-
```tsx fileName="src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
303
|
+
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
446
304
|
import type { FC } from "react";
|
|
447
305
|
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
448
306
|
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
449
|
-
import { type NextPageIntlayer
|
|
307
|
+
import { type NextPageIntlayer } from "next-intlayer";
|
|
450
308
|
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
451
309
|
|
|
452
310
|
const PageContent: FC = () => {
|
|
@@ -468,44 +326,7 @@ const Page: NextPageIntlayer = async ({ params }) => {
|
|
|
468
326
|
<PageContent />
|
|
469
327
|
<ServerComponentExample />
|
|
470
328
|
|
|
471
|
-
<
|
|
472
|
-
<ClientComponentExample />
|
|
473
|
-
</IntlayerClientProvider>
|
|
474
|
-
</IntlayerServerProvider>
|
|
475
|
-
);
|
|
476
|
-
};
|
|
477
|
-
|
|
478
|
-
export default Page;
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
```jsx fileName="src/app/[locale]/page.mjx" codeFormat="esm"
|
|
482
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
483
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
484
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
485
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
486
|
-
|
|
487
|
-
const PageContent = () => {
|
|
488
|
-
const content = useIntlayer("page");
|
|
489
|
-
|
|
490
|
-
return (
|
|
491
|
-
<>
|
|
492
|
-
<p>{content.getStarted.main}</p>
|
|
493
|
-
<code>{content.getStarted.pageLink}</code>
|
|
494
|
-
</>
|
|
495
|
-
);
|
|
496
|
-
};
|
|
497
|
-
|
|
498
|
-
const Page = async ({ params }) => {
|
|
499
|
-
const { locale } = await params;
|
|
500
|
-
|
|
501
|
-
return (
|
|
502
|
-
<IntlayerServerProvider locale={locale}>
|
|
503
|
-
<PageContent />
|
|
504
|
-
<ServerComponentExample />
|
|
505
|
-
|
|
506
|
-
<IntlayerClientProvider locale={locale}>
|
|
507
|
-
<ClientComponentExample />
|
|
508
|
-
</IntlayerClientProvider>
|
|
329
|
+
<ClientComponentExample />
|
|
509
330
|
</IntlayerServerProvider>
|
|
510
331
|
);
|
|
511
332
|
};
|
|
@@ -513,39 +334,6 @@ const Page = async ({ params }) => {
|
|
|
513
334
|
export default Page;
|
|
514
335
|
```
|
|
515
336
|
|
|
516
|
-
```jsx fileName="src/app/[locale]/page.csx" codeFormat="commonjs"
|
|
517
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
518
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
519
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
520
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
521
|
-
|
|
522
|
-
const PageContent = () => {
|
|
523
|
-
const content = useIntlayer("page");
|
|
524
|
-
|
|
525
|
-
return (
|
|
526
|
-
<>
|
|
527
|
-
<p>{content.getStarted.main}</p>
|
|
528
|
-
<code>{content.getStarted.pageLink}</code>
|
|
529
|
-
</>
|
|
530
|
-
);
|
|
531
|
-
};
|
|
532
|
-
|
|
533
|
-
const Page = async ({ params }) => {
|
|
534
|
-
const { locale } = await params;
|
|
535
|
-
|
|
536
|
-
return (
|
|
537
|
-
<IntlayerServerProvider locale={locale}>
|
|
538
|
-
<PageContent />
|
|
539
|
-
<ServerComponentExample />
|
|
540
|
-
|
|
541
|
-
<IntlayerClientProvider locale={locale}>
|
|
542
|
-
<ClientComponentExample />
|
|
543
|
-
</IntlayerClientProvider>
|
|
544
|
-
</IntlayerServerProvider>
|
|
545
|
-
);
|
|
546
|
-
};
|
|
547
|
-
```
|
|
548
|
-
|
|
549
337
|
- **`IntlayerClientProvider`** est utilisé pour fournir la locale aux composants côté client. Il peut être placé dans n'importe quel composant parent, y compris le layout. Cependant, il est recommandé de le placer dans un layout car Next.js partage le code du layout entre les pages, ce qui le rend plus efficace. En utilisant `IntlayerClientProvider` dans le layout, vous évitez de le réinitialiser pour chaque page, améliorant ainsi les performances et maintenant un contexte de localisation cohérent dans toute votre application.
|
|
550
338
|
- **`IntlayerServerProvider`** est utilisé pour fournir la locale aux enfants côté serveur. Il ne peut pas être défini dans le layout.
|
|
551
339
|
|
|
@@ -553,7 +341,7 @@ const Page = async ({ params }) => {
|
|
|
553
341
|
|
|
554
342
|
> La mise en page (layout) et la page ne peuvent pas partager un contexte serveur commun car le système de contexte serveur est basé sur un magasin de données par requête (via le mécanisme [React's cache](https://react.dev/reference/react/cache)), ce qui entraîne la recréation de chaque "contexte" pour différents segments de l'application. Placer le provider dans une mise en page partagée briserait cette isolation, empêchant la bonne propagation des valeurs du contexte serveur à vos composants serveur.
|
|
555
343
|
|
|
556
|
-
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat="typescript"
|
|
344
|
+
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
557
345
|
"use client";
|
|
558
346
|
|
|
559
347
|
import type { FC } from "react";
|
|
@@ -571,41 +359,7 @@ export const ClientComponentExample: FC = () => {
|
|
|
571
359
|
};
|
|
572
360
|
```
|
|
573
361
|
|
|
574
|
-
```
|
|
575
|
-
"use client";
|
|
576
|
-
|
|
577
|
-
import { useIntlayer } from "next-intlayer";
|
|
578
|
-
|
|
579
|
-
const ClientComponentExample = () => {
|
|
580
|
-
const content = useIntlayer("client-component-example"); // Crée la déclaration de contenu associée
|
|
581
|
-
|
|
582
|
-
return (
|
|
583
|
-
<div>
|
|
584
|
-
<h2>{content.title}</h2>
|
|
585
|
-
<p>{content.content}</p>
|
|
586
|
-
</div>
|
|
587
|
-
);
|
|
588
|
-
};
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
```jsx {3,6} fileName="src/components/ClientComponentExample.csx" codeFormat="commonjs"
|
|
592
|
-
"use client";
|
|
593
|
-
|
|
594
|
-
const { useIntlayer } = require("next-intlayer");
|
|
595
|
-
|
|
596
|
-
const ClientComponentExample = () => {
|
|
597
|
-
const content = useIntlayer("client-component-example"); // Crée la déclaration de contenu associée
|
|
598
|
-
|
|
599
|
-
return (
|
|
600
|
-
<div>
|
|
601
|
-
<h2>{content.title}</h2>
|
|
602
|
-
<p>{content.content}</p>
|
|
603
|
-
</div>
|
|
604
|
-
);
|
|
605
|
-
};
|
|
606
|
-
```
|
|
607
|
-
|
|
608
|
-
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat="typescript"
|
|
362
|
+
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
609
363
|
import type { FC } from "react";
|
|
610
364
|
import { useIntlayer } from "next-intlayer/server";
|
|
611
365
|
|
|
@@ -621,26 +375,7 @@ export const ServerComponentExample: FC = () => {
|
|
|
621
375
|
};
|
|
622
376
|
```
|
|
623
377
|
|
|
624
|
-
```
|
|
625
|
-
import { useIntlayer } from "next-intlayer/server";
|
|
626
|
-
|
|
627
|
-
const ServerComponentExample = () => {
|
|
628
|
-
const content = useIntlayer("server-component-example"); // Crée la déclaration de contenu associée
|
|
629
|
-
|
|
630
|
-
return (
|
|
631
|
-
<h2>{content.title}</h2>
|
|
632
|
-
<p>{content.content}</p>
|
|
633
|
-
</div>
|
|
634
|
-
);
|
|
635
|
-
};
|
|
636
|
-
<h2>{content.title}</h2>
|
|
637
|
-
<p>{content.content}</p>
|
|
638
|
-
</div>
|
|
639
|
-
);
|
|
640
|
-
};
|
|
641
|
-
```
|
|
642
|
-
|
|
643
|
-
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat="typescript"
|
|
378
|
+
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
644
379
|
import type { FC } from "react";
|
|
645
380
|
import { useIntlayer } from "next-intlayer/server";
|
|
646
381
|
|
|
@@ -656,49 +391,19 @@ export const ServerComponentExample: FC = () => {
|
|
|
656
391
|
};
|
|
657
392
|
```
|
|
658
393
|
|
|
659
|
-
|
|
660
|
-
import { useIntlayer } from "next-intlayer/server";
|
|
394
|
+
> Si vous souhaitez utiliser votre contenu dans un attribut de type `string`, tel que `alt`, `title`, `href`, `aria-label`, etc., vous devez appeler la valeur de la fonction, comme ceci :
|
|
661
395
|
|
|
662
|
-
|
|
663
|
-
|
|
396
|
+
> ```jsx
|
|
397
|
+
> <img src={content.image.src.value} alt={content.image.value} />
|
|
398
|
+
> ```
|
|
664
399
|
|
|
665
|
-
|
|
666
|
-
<div>
|
|
667
|
-
<h2>{content.title}</h2>
|
|
668
|
-
<p>{content.content}</p>
|
|
669
|
-
</div>
|
|
670
|
-
);
|
|
671
|
-
};
|
|
672
|
-
```
|
|
400
|
+
> Pour en savoir plus sur le hook `useIntlayer`, consultez la [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/packages/next-intlayer/useIntlayer.md).
|
|
673
401
|
|
|
674
|
-
|
|
675
|
-
const { useIntlayer } = require("next-intlayer/server");
|
|
402
|
+
### (Optionnel) Étape 7 : Configurer le Middleware pour la détection de la langue
|
|
676
403
|
|
|
677
|
-
|
|
678
|
-
const content = useIntlayer("server-component-example"); // Créez la déclaration de contenu associée
|
|
404
|
+
Configurez un middleware pour détecter la langue préférée de l'utilisateur :
|
|
679
405
|
|
|
680
|
-
|
|
681
|
-
<div>
|
|
682
|
-
<h2>{content.title}</h2>
|
|
683
|
-
<p>{content.content}</p>
|
|
684
|
-
</div>
|
|
685
|
-
);
|
|
686
|
-
};
|
|
687
|
-
```
|
|
688
|
-
|
|
689
|
-
> Si vous souhaitez utiliser votre contenu dans un attribut de type `string`, tel que `alt`, `title`, `href`, `aria-label`, etc., vous devez appeler la valeur de la fonction, comme ceci :
|
|
690
|
-
|
|
691
|
-
> ```jsx
|
|
692
|
-
> <img src={content.image.src.value} alt={content.image.value} />
|
|
693
|
-
> ```
|
|
694
|
-
|
|
695
|
-
> Pour en savoir plus sur le hook `useIntlayer`, consultez la [documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/packages/next-intlayer/useIntlayer.md).
|
|
696
|
-
|
|
697
|
-
### (Optionnel) Étape 7 : Configurer le Middleware pour la détection de la langue
|
|
698
|
-
|
|
699
|
-
Configurez un middleware pour détecter la langue préférée de l'utilisateur :
|
|
700
|
-
|
|
701
|
-
```typescript fileName="src/middleware.ts" codeFormat="typescript"
|
|
406
|
+
```typescript fileName="src/middleware.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
702
407
|
export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
|
|
703
408
|
|
|
704
409
|
export const config = {
|
|
@@ -707,33 +412,13 @@ export const config = {
|
|
|
707
412
|
};
|
|
708
413
|
```
|
|
709
414
|
|
|
710
|
-
```javascript fileName="src/middleware.mjs" codeFormat="esm"
|
|
711
|
-
export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
|
|
712
|
-
|
|
713
|
-
export const config = {
|
|
714
|
-
matcher:
|
|
715
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
716
|
-
};
|
|
717
|
-
```
|
|
718
|
-
|
|
719
|
-
```javascript fileName="src/middleware.cjs" codeFormat="commonjs"
|
|
720
|
-
const { intlayerMiddleware } = require("next-intlayer/middleware");
|
|
721
|
-
|
|
722
|
-
const config = {
|
|
723
|
-
matcher:
|
|
724
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
725
|
-
};
|
|
726
|
-
|
|
727
|
-
module.exports = { middleware: intlayerMiddleware, config };
|
|
728
|
-
```
|
|
729
|
-
|
|
730
415
|
> Le `intlayerMiddleware` est utilisé pour détecter la locale préférée de l'utilisateur et le rediriger vers l'URL appropriée comme spécifié dans la [configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md). De plus, il permet de sauvegarder la locale préférée de l'utilisateur dans un cookie.
|
|
731
416
|
|
|
732
417
|
### (Optionnel) Étape 8 : Internationalisation de vos métadonnées
|
|
733
418
|
|
|
734
419
|
Dans le cas où vous souhaitez internationaliser vos métadonnées, telles que le titre de votre page, vous pouvez utiliser la fonction `generateMetadata` fournie par Next.js. À l'intérieur, vous pouvez récupérer le contenu depuis la fonction `getIntlayer` pour traduire vos métadonnées.
|
|
735
420
|
|
|
736
|
-
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat="typescript"
|
|
421
|
+
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
737
422
|
import { type Dictionary, t } from "intlayer";
|
|
738
423
|
import { Metadata } from "next";
|
|
739
424
|
|
|
@@ -756,52 +441,6 @@ const metadataContent = {
|
|
|
756
441
|
export default metadataContent;
|
|
757
442
|
```
|
|
758
443
|
|
|
759
|
-
```javascript fileName="src/app/[locale]/metadata.content.mjs" contentDeclarationFormat="esm"
|
|
760
|
-
import { t } from "intlayer";
|
|
761
|
-
|
|
762
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
763
|
-
const metadataContent = {
|
|
764
|
-
key: "page-metadata",
|
|
765
|
-
content: {
|
|
766
|
-
title: t({
|
|
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: "Generated by create next app",
|
|
773
|
-
fr: "Généré par create next app",
|
|
774
|
-
es: "Generado por create next app",
|
|
775
|
-
}),
|
|
776
|
-
},
|
|
777
|
-
};
|
|
778
|
-
|
|
779
|
-
export default metadataContent;
|
|
780
|
-
```
|
|
781
|
-
|
|
782
|
-
```javascript fileName="src/app/[locale]/metadata.content.cjs" contentDeclarationFormat="commonjs"
|
|
783
|
-
const { t } = require("intlayer");
|
|
784
|
-
|
|
785
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
786
|
-
const metadataContent = {
|
|
787
|
-
key: "page-metadata",
|
|
788
|
-
content: {
|
|
789
|
-
title: t({
|
|
790
|
-
fr: "Créer une application Next.js",
|
|
791
|
-
en: "Create Next App",
|
|
792
|
-
es: "Crear una aplicación Next.js",
|
|
793
|
-
}),
|
|
794
|
-
description: t({
|
|
795
|
-
fr: "Généré par create next app",
|
|
796
|
-
en: "Generated by create next app",
|
|
797
|
-
es: "Generado por create next app",
|
|
798
|
-
}),
|
|
799
|
-
},
|
|
800
|
-
};
|
|
801
|
-
|
|
802
|
-
module.exports = metadataContent;
|
|
803
|
-
```
|
|
804
|
-
|
|
805
444
|
```json fileName="src/app/[locale]/metadata.content.json" contentDeclarationFormat="json"
|
|
806
445
|
{
|
|
807
446
|
"key": "page-metadata",
|
|
@@ -826,7 +465,7 @@ module.exports = metadataContent;
|
|
|
826
465
|
};
|
|
827
466
|
```
|
|
828
467
|
|
|
829
|
-
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
468
|
+
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
830
469
|
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
831
470
|
import type { Metadata } from "next";
|
|
832
471
|
import type { LocalPromiseParams } from "next-intlayer";
|
|
@@ -872,95 +511,11 @@ export const generateMetadata = async ({
|
|
|
872
511
|
// ... Reste du code
|
|
873
512
|
````
|
|
874
513
|
|
|
875
|
-
````javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
876
|
-
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
877
|
-
|
|
878
|
-
export const generateMetadata = async ({ params }) => {
|
|
879
|
-
const { locale } = await params;
|
|
880
|
-
|
|
881
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
882
|
-
|
|
883
|
-
/**
|
|
884
|
-
* Génère un objet contenant toutes les URL pour chaque locale.
|
|
885
|
-
*
|
|
886
|
-
* Exemple :
|
|
887
|
-
* ```ts
|
|
888
|
-
* getMultilingualUrls('/about');
|
|
889
|
-
*
|
|
890
|
-
* // Retourne
|
|
891
|
-
* // {
|
|
892
|
-
* // en: '/about',
|
|
893
|
-
* // fr: '/fr/about',
|
|
894
|
-
* // es: '/es/about'
|
|
895
|
-
* // }
|
|
896
|
-
* ```
|
|
897
|
-
*/
|
|
898
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
899
|
-
const localizedUrl = multilingualUrls[locale];
|
|
900
|
-
|
|
901
|
-
return {
|
|
902
|
-
...metadata,
|
|
903
|
-
alternates: {
|
|
904
|
-
canonical: localizedUrl,
|
|
905
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
906
|
-
},
|
|
907
|
-
openGraph: {
|
|
908
|
-
url: localizedUrl,
|
|
909
|
-
},
|
|
910
|
-
};
|
|
911
|
-
};
|
|
912
|
-
|
|
913
|
-
// ... Suite du code
|
|
914
|
-
````
|
|
915
|
-
|
|
916
|
-
````javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
917
|
-
const { getIntlayer, getMultilingualUrls } = require("intlayer");
|
|
918
|
-
|
|
919
|
-
const generateMetadata = async ({ params }) => {
|
|
920
|
-
const { locale } = await params;
|
|
921
|
-
|
|
922
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
923
|
-
|
|
924
|
-
/**
|
|
925
|
-
* Génère un objet contenant toutes les URL pour chaque locale.
|
|
926
|
-
*
|
|
927
|
-
* Exemple :
|
|
928
|
-
* ```ts
|
|
929
|
-
* getMultilingualUrls('/about');
|
|
930
|
-
*
|
|
931
|
-
* // Retourne
|
|
932
|
-
* // {
|
|
933
|
-
* // en: '/about',
|
|
934
|
-
* // fr: '/fr/about',
|
|
935
|
-
* // es: '/es/about'
|
|
936
|
-
* // }
|
|
937
|
-
* ```
|
|
938
|
-
*/
|
|
939
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
940
|
-
const localizedUrl = multilingualUrls[locale];
|
|
941
|
-
|
|
942
|
-
return {
|
|
943
|
-
...metadata,
|
|
944
|
-
alternates: {
|
|
945
|
-
canonical: localizedUrl,
|
|
946
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
947
|
-
},
|
|
948
|
-
openGraph: {
|
|
949
|
-
url: localizedUrl,
|
|
950
|
-
},
|
|
951
|
-
};
|
|
952
|
-
};
|
|
953
|
-
|
|
954
|
-
module.exports = { generateMetadata };
|
|
955
|
-
|
|
956
|
-
// ... Reste du code
|
|
957
|
-
````
|
|
958
|
-
|
|
959
514
|
> Notez que la fonction `getIntlayer` importée depuis `next-intlayer` retourne votre contenu encapsulé dans un `IntlayerNode`, permettant l'intégration avec l'éditeur visuel. En revanche, la fonction `getIntlayer` importée depuis `intlayer` retourne votre contenu directement sans propriétés supplémentaires.
|
|
960
515
|
|
|
961
516
|
Alternativement, vous pouvez utiliser la fonction `getTranslation` pour déclarer vos métadonnées. Cependant, il est recommandé d'utiliser des fichiers de déclaration de contenu pour automatiser la traduction de vos métadonnées et externaliser le contenu à terme.
|
|
962
517
|
|
|
963
|
-
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
518
|
+
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
964
519
|
import {
|
|
965
520
|
type IConfigLocales,
|
|
966
521
|
getTranslation,
|
|
@@ -992,64 +547,13 @@ export const generateMetadata = async ({
|
|
|
992
547
|
// ... Suite du code
|
|
993
548
|
```
|
|
994
549
|
|
|
995
|
-
```javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
996
|
-
import { getTranslation, getMultilingualUrls } from "intlayer";
|
|
997
|
-
|
|
998
|
-
export const generateMetadata = async ({ params }) => {
|
|
999
|
-
const { locale } = await params;
|
|
1000
|
-
const t = (content) => getTranslation(content, locale);
|
|
1001
|
-
|
|
1002
|
-
return {
|
|
1003
|
-
title: t({
|
|
1004
|
-
en: "My title",
|
|
1005
|
-
fr: "Mon titre",
|
|
1006
|
-
es: "Mi título",
|
|
1007
|
-
}),
|
|
1008
|
-
description: t({
|
|
1009
|
-
en: "My description",
|
|
1010
|
-
fr: "Ma description",
|
|
1011
|
-
es: "Mi descripción",
|
|
1012
|
-
}),
|
|
1013
|
-
};
|
|
1014
|
-
};
|
|
1015
|
-
|
|
1016
|
-
// ... Reste du code
|
|
1017
|
-
```
|
|
1018
|
-
|
|
1019
|
-
```javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
1020
|
-
const { getTranslation, getMultilingualUrls } = require("intlayer");
|
|
1021
|
-
|
|
1022
|
-
const generateMetadata = async ({ params }) => {
|
|
1023
|
-
const { locale } = await params;
|
|
1024
|
-
|
|
1025
|
-
const t = (content) => getTranslation(content, locale);
|
|
1026
|
-
|
|
1027
|
-
return {
|
|
1028
|
-
title: t({
|
|
1029
|
-
en: "My title",
|
|
1030
|
-
fr: "Mon titre",
|
|
1031
|
-
es: "Mi título",
|
|
1032
|
-
}),
|
|
1033
|
-
description: t({
|
|
1034
|
-
en: "My description",
|
|
1035
|
-
fr: "Ma description",
|
|
1036
|
-
es: "Mi descripción",
|
|
1037
|
-
}),
|
|
1038
|
-
};
|
|
1039
|
-
};
|
|
1040
|
-
|
|
1041
|
-
module.exports = { generateMetadata };
|
|
1042
|
-
|
|
1043
|
-
// ... Reste du code
|
|
1044
|
-
```
|
|
1045
|
-
|
|
1046
550
|
> En savoir plus sur l'optimisation des métadonnées [dans la documentation officielle de Next.js](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
|
|
1047
551
|
|
|
1048
552
|
### (Optionnel) Étape 9 : Internationalisation de votre sitemap.xml et robots.txt
|
|
1049
553
|
|
|
1050
554
|
Pour internationaliser votre `sitemap.xml` et `robots.txt`, vous pouvez utiliser la fonction `getMultilingualUrls` fournie par Intlayer. Cette fonction vous permet de générer des URLs multilingues pour votre sitemap.
|
|
1051
555
|
|
|
1052
|
-
```tsx fileName="src/app/sitemap.ts" codeFormat="typescript"
|
|
556
|
+
```tsx fileName="src/app/sitemap.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1053
557
|
import { getMultilingualUrls } from "intlayer";
|
|
1054
558
|
import type { MetadataRoute } from "next";
|
|
1055
559
|
|
|
@@ -1086,79 +590,7 @@ const sitemap = (): MetadataRoute.Sitemap => [
|
|
|
1086
590
|
export default sitemap;
|
|
1087
591
|
```
|
|
1088
592
|
|
|
1089
|
-
```
|
|
1090
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1091
|
-
|
|
1092
|
-
const sitemap = () => [
|
|
1093
|
-
{
|
|
1094
|
-
url: "https://example.com",
|
|
1095
|
-
alternates: {
|
|
1096
|
-
languages: {
|
|
1097
|
-
...getMultilingualUrls("https://example.com"),
|
|
1098
|
-
"x-default": "https://example.com",
|
|
1099
|
-
},
|
|
1100
|
-
},
|
|
1101
|
-
},
|
|
1102
|
-
{
|
|
1103
|
-
url: "https://example.com/login",
|
|
1104
|
-
alternates: {
|
|
1105
|
-
languages: {
|
|
1106
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1107
|
-
"x-default": "https://example.com/login",
|
|
1108
|
-
},
|
|
1109
|
-
},
|
|
1110
|
-
},
|
|
1111
|
-
{
|
|
1112
|
-
url: "https://example.com/register",
|
|
1113
|
-
alternates: {
|
|
1114
|
-
languages: {
|
|
1115
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1116
|
-
"x-default": "https://example.com/register",
|
|
1117
|
-
},
|
|
1118
|
-
},
|
|
1119
|
-
},
|
|
1120
|
-
];
|
|
1121
|
-
|
|
1122
|
-
export default sitemap;
|
|
1123
|
-
```
|
|
1124
|
-
|
|
1125
|
-
```jsx fileName="src/app/sitemap.csx" codeFormat="commonjs"
|
|
1126
|
-
const { getMultilingualUrls } = require("intlayer");
|
|
1127
|
-
|
|
1128
|
-
const sitemap = () => [
|
|
1129
|
-
{
|
|
1130
|
-
url: "https://example.com",
|
|
1131
|
-
alternates: {
|
|
1132
|
-
languages: {
|
|
1133
|
-
...getMultilingualUrls("https://example.com"),
|
|
1134
|
-
"x-default": "https://example.com",
|
|
1135
|
-
},
|
|
1136
|
-
},
|
|
1137
|
-
},
|
|
1138
|
-
{
|
|
1139
|
-
url: "https://example.com/login",
|
|
1140
|
-
alternates: {
|
|
1141
|
-
languages: {
|
|
1142
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1143
|
-
"x-default": "https://example.com/login",
|
|
1144
|
-
},
|
|
1145
|
-
},
|
|
1146
|
-
},
|
|
1147
|
-
{
|
|
1148
|
-
url: "https://example.com/register",
|
|
1149
|
-
alternates: {
|
|
1150
|
-
languages: {
|
|
1151
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1152
|
-
"x-default": "https://example.com/register",
|
|
1153
|
-
},
|
|
1154
|
-
},
|
|
1155
|
-
},
|
|
1156
|
-
];
|
|
1157
|
-
|
|
1158
|
-
module.exports = sitemap;
|
|
1159
|
-
```
|
|
1160
|
-
|
|
1161
|
-
```tsx fileName="src/app/robots.ts" codeFormat="typescript"
|
|
593
|
+
```tsx fileName="src/app/robots.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1162
594
|
import type { MetadataRoute } from "next";
|
|
1163
595
|
import { getMultilingualUrls } from "intlayer";
|
|
1164
596
|
|
|
@@ -1179,51 +611,13 @@ const robots = (): MetadataRoute.Robots => ({
|
|
|
1179
611
|
export default robots;
|
|
1180
612
|
```
|
|
1181
613
|
|
|
1182
|
-
```jsx fileName="src/app/robots.mjx" codeFormat="esm"
|
|
1183
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1184
|
-
|
|
1185
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1186
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1187
|
-
|
|
1188
|
-
const robots = () => ({
|
|
1189
|
-
rules: {
|
|
1190
|
-
userAgent: "*",
|
|
1191
|
-
allow: ["/"],
|
|
1192
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1193
|
-
},
|
|
1194
|
-
host: "https://example.com",
|
|
1195
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1196
|
-
});
|
|
1197
|
-
|
|
1198
|
-
export default robots;
|
|
1199
|
-
```
|
|
1200
|
-
|
|
1201
|
-
```jsx fileName="src/app/robots.csx" codeFormat="commonjs"
|
|
1202
|
-
const { getMultilingualUrls } = require("intlayer");
|
|
1203
|
-
|
|
1204
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1205
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1206
|
-
|
|
1207
|
-
const robots = () => ({
|
|
1208
|
-
rules: {
|
|
1209
|
-
userAgent: "*",
|
|
1210
|
-
allow: ["/"],
|
|
1211
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1212
|
-
},
|
|
1213
|
-
host: "https://example.com",
|
|
1214
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1215
|
-
});
|
|
1216
|
-
|
|
1217
|
-
module.exports = robots;
|
|
1218
|
-
```
|
|
1219
|
-
|
|
1220
614
|
> En savoir plus sur l'optimisation du sitemap [dans la documentation officielle de Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap). En savoir plus sur l'optimisation du fichier robots.txt [dans la documentation officielle de Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots).
|
|
1221
615
|
|
|
1222
616
|
### (Optionnel) Étape 10 : Changer la langue de votre contenu
|
|
1223
617
|
|
|
1224
618
|
Pour changer la langue de votre contenu dans Next.js, la méthode recommandée est d'utiliser le composant `Link` pour rediriger les utilisateurs vers la page localisée appropriée. Le composant `Link` permet le préchargement de la page, ce qui évite un rechargement complet.
|
|
1225
619
|
|
|
1226
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
620
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
1227
621
|
"use client";
|
|
1228
622
|
|
|
1229
623
|
import type { FC } from "react";
|
|
@@ -1276,110 +670,6 @@ export const LocaleSwitcher: FC = () => {
|
|
|
1276
670
|
};
|
|
1277
671
|
```
|
|
1278
672
|
|
|
1279
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
1280
|
-
"use client";
|
|
1281
|
-
|
|
1282
|
-
import {
|
|
1283
|
-
Locales,
|
|
1284
|
-
getHTMLTextDir,
|
|
1285
|
-
getLocaleName,
|
|
1286
|
-
getLocalizedUrl,
|
|
1287
|
-
} from "intlayer";
|
|
1288
|
-
import { useLocale } from "next-intlayer";
|
|
1289
|
-
import Link from "next/link";
|
|
1290
|
-
|
|
1291
|
-
export const LocaleSwitcher = () => {
|
|
1292
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1293
|
-
useLocale();
|
|
1294
|
-
|
|
1295
|
-
return (
|
|
1296
|
-
<div>
|
|
1297
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1298
|
-
<div id="localePopover" popover="auto">
|
|
1299
|
-
{availableLocales.map((localeItem) => (
|
|
1300
|
-
<Link
|
|
1301
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1302
|
-
hrefLang={localeItem}
|
|
1303
|
-
key={localeItem}
|
|
1304
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1305
|
-
onClick={() => setLocale(localeItem)}
|
|
1306
|
-
>
|
|
1307
|
-
<span>
|
|
1308
|
-
{/* Locale - ex. FR */}
|
|
1309
|
-
{localeItem}
|
|
1310
|
-
</span>
|
|
1311
|
-
<span>
|
|
1312
|
-
{/* Langue dans sa propre locale - ex. Français */}
|
|
1313
|
-
{getLocaleName(localeItem, locale)}
|
|
1314
|
-
</span>
|
|
1315
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1316
|
-
{/* Langue dans la locale courante - ex. Francés avec la locale courante définie sur Locales.SPANISH */}
|
|
1317
|
-
{getLocaleName(localeItem)}
|
|
1318
|
-
</span>
|
|
1319
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1320
|
-
{/* Langue en anglais - ex. French */}
|
|
1321
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1322
|
-
</span>
|
|
1323
|
-
</Link>
|
|
1324
|
-
))}
|
|
1325
|
-
</div>
|
|
1326
|
-
</div>
|
|
1327
|
-
);
|
|
1328
|
-
};
|
|
1329
|
-
```
|
|
1330
|
-
|
|
1331
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
1332
|
-
"use client";
|
|
1333
|
-
|
|
1334
|
-
const {
|
|
1335
|
-
Locales,
|
|
1336
|
-
getHTMLTextDir,
|
|
1337
|
-
getLocaleName,
|
|
1338
|
-
getLocalizedUrl,
|
|
1339
|
-
} = require("intlayer");
|
|
1340
|
-
const { useLocale } = require("next-intlayer");
|
|
1341
|
-
const Link = require("next/link");
|
|
1342
|
-
|
|
1343
|
-
export const LocaleSwitcher = () => {
|
|
1344
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1345
|
-
useLocale();
|
|
1346
|
-
|
|
1347
|
-
return (
|
|
1348
|
-
<div>
|
|
1349
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1350
|
-
<div id="localePopover" popover="auto">
|
|
1351
|
-
{availableLocales.map((localeItem) => (
|
|
1352
|
-
<Link
|
|
1353
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1354
|
-
hrefLang={localeItem}
|
|
1355
|
-
key={localeItem}
|
|
1356
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1357
|
-
onClick={() => setLocale(localeItem)}
|
|
1358
|
-
>
|
|
1359
|
-
<span>
|
|
1360
|
-
{/* Locale - ex. FR */}
|
|
1361
|
-
{localeItem}
|
|
1362
|
-
</span>
|
|
1363
|
-
<span>
|
|
1364
|
-
{/* Langue dans sa propre locale - ex. Français */}
|
|
1365
|
-
{getLocaleName(localeItem, locale)}
|
|
1366
|
-
</span>
|
|
1367
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1368
|
-
{/* Langue dans la locale actuelle - ex. Francés avec la locale actuelle définie sur Locales.SPANISH */}
|
|
1369
|
-
{getLocaleName(localeItem)}
|
|
1370
|
-
</span>
|
|
1371
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1372
|
-
{/* Langue en anglais - par exemple French */}
|
|
1373
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1374
|
-
</span>
|
|
1375
|
-
</Link>
|
|
1376
|
-
))}
|
|
1377
|
-
</div>
|
|
1378
|
-
</div>
|
|
1379
|
-
);
|
|
1380
|
-
};
|
|
1381
|
-
```
|
|
1382
|
-
|
|
1383
673
|
> Une autre façon est d'utiliser la fonction `setLocale` fournie par le hook `useLocale`. Cette fonction ne permettra pas le préchargement de la page et rechargera la page.
|
|
1384
674
|
|
|
1385
675
|
> Dans ce cas, sans redirection via `router.push`, seul votre code côté serveur changera la locale du contenu.
|
|
@@ -1428,7 +718,7 @@ Ce comportement est utile pour plusieurs raisons :
|
|
|
1428
718
|
|
|
1429
719
|
Voici l'implémentation d'un composant `Link` localisé en TypeScript :
|
|
1430
720
|
|
|
1431
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
721
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1432
722
|
"use client";
|
|
1433
723
|
|
|
1434
724
|
import { getLocalizedUrl } from "intlayer";
|
|
@@ -1468,74 +758,6 @@ export const Link: FC<PropsWithChildren<NextLinkProps>> = ({
|
|
|
1468
758
|
};
|
|
1469
759
|
```
|
|
1470
760
|
|
|
1471
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1472
|
-
"use client";
|
|
1473
|
-
|
|
1474
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1475
|
-
import NextLink from "next/link";
|
|
1476
|
-
import { useLocale } from "next-intlayer";
|
|
1477
|
-
|
|
1478
|
-
/**
|
|
1479
|
-
* Fonction utilitaire pour vérifier si une URL donnée est externe.
|
|
1480
|
-
* Si l'URL commence par http:// ou https://, elle est considérée comme externe.
|
|
1481
|
-
*/
|
|
1482
|
-
export const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1483
|
-
|
|
1484
|
-
/**
|
|
1485
|
-
* Composant Link personnalisé qui adapte l'attribut href en fonction de la locale actuelle.
|
|
1486
|
-
* Pour les liens internes, il utilise `getLocalizedUrl` pour préfixer l'URL avec la locale (ex : /fr/about).
|
|
1487
|
-
* Cela garantit que la navigation reste dans le même contexte de locale.
|
|
1488
|
-
*/
|
|
1489
|
-
export const Link = ({ href, children, ...props }) => {
|
|
1490
|
-
const { locale } = useLocale();
|
|
1491
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1492
|
-
|
|
1493
|
-
// Si le lien est interne et qu'un href valide est fourni, obtenir l'URL localisée.
|
|
1494
|
-
const hrefI18n =
|
|
1495
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1496
|
-
|
|
1497
|
-
return (
|
|
1498
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1499
|
-
{children}
|
|
1500
|
-
</NextLink>
|
|
1501
|
-
);
|
|
1502
|
-
};
|
|
1503
|
-
```
|
|
1504
|
-
|
|
1505
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1506
|
-
"use client";
|
|
1507
|
-
|
|
1508
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1509
|
-
const NextLink = require("next/link");
|
|
1510
|
-
const { useLocale } = require("next-intlayer");
|
|
1511
|
-
|
|
1512
|
-
/**
|
|
1513
|
-
* Fonction utilitaire pour vérifier si une URL donnée est externe.
|
|
1514
|
-
* Si l'URL commence par http:// ou https://, elle est considérée comme externe.
|
|
1515
|
-
*/
|
|
1516
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1517
|
-
|
|
1518
|
-
/**
|
|
1519
|
-
* Un composant Link personnalisé qui adapte l'attribut href en fonction de la locale actuelle.
|
|
1520
|
-
* Pour les liens internes, il utilise `getLocalizedUrl` pour préfixer l'URL avec la locale (par exemple, /fr/about).
|
|
1521
|
-
* Cela garantit que la navigation reste dans le même contexte de locale.
|
|
1522
|
-
*/
|
|
1523
|
-
const Link = ({ href, children, ...props }) => {
|
|
1524
|
-
const { locale } = useLocale();
|
|
1525
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1526
|
-
|
|
1527
|
-
// Si le lien est interne et qu'un href valide est fourni, obtenir l'URL localisée.
|
|
1528
|
-
const hrefI18n =
|
|
1529
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1530
|
-
|
|
1531
|
-
return (
|
|
1532
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1533
|
-
{children}
|
|
1534
|
-
</NextLink>
|
|
1535
|
-
);
|
|
1536
|
-
};
|
|
1537
|
-
```
|
|
1538
|
-
|
|
1539
761
|
#### Comment ça fonctionne
|
|
1540
762
|
|
|
1541
763
|
- **Détection des liens externes** :
|