@intlayer/docs 8.7.6 → 8.7.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -15,6 +15,7 @@ slugs:
|
|
|
15
15
|
- environment
|
|
16
16
|
- nextjs
|
|
17
17
|
applicationTemplate: https://github.com/aymericzip/intlayer-next-16-template
|
|
18
|
+
applicationShowcase: https://intlayer-next-16-template.vercel.app
|
|
18
19
|
youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
|
|
19
20
|
history:
|
|
20
21
|
- version: 7.5.9
|
|
@@ -39,13 +40,24 @@ history:
|
|
|
39
40
|
<Tab label="Mã nguồn" value="code">
|
|
40
41
|
|
|
41
42
|
<iframe
|
|
42
|
-
src="https://
|
|
43
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-next-16-template?file=intlayer.config.ts"
|
|
43
44
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
44
45
|
title="Demo CodeSandbox - Cách quốc tế hóa ứng dụng của bạn bằng Intlayer"
|
|
45
46
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
46
47
|
loading="lazy"
|
|
47
48
|
/>
|
|
48
49
|
|
|
50
|
+
</Tab>
|
|
51
|
+
<Tab label="Bản demo" value="demo">
|
|
52
|
+
|
|
53
|
+
<iframe
|
|
54
|
+
src="https://intlayer-next-16-template.vercel.app"
|
|
55
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
56
|
+
title="Bản demo — intlayer-next-16-template"
|
|
57
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
58
|
+
loading="lazy"
|
|
59
|
+
/>
|
|
60
|
+
|
|
49
61
|
</Tab>
|
|
50
62
|
</Tabs>
|
|
51
63
|
|
|
@@ -139,7 +151,7 @@ bun x intlayer init
|
|
|
139
151
|
|
|
140
152
|
Tạo một tệp cấu hình để định cấu hình các ngôn ngữ cho ứng dụng của bạn:
|
|
141
153
|
|
|
142
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
154
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
143
155
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
144
156
|
|
|
145
157
|
const config: IntlayerConfig = {
|
|
@@ -157,51 +169,13 @@ const config: IntlayerConfig = {
|
|
|
157
169
|
export default config;
|
|
158
170
|
```
|
|
159
171
|
|
|
160
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
161
|
-
import { Locales } from "intlayer";
|
|
162
|
-
|
|
163
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
164
|
-
const config = {
|
|
165
|
-
internationalization: {
|
|
166
|
-
locales: [
|
|
167
|
-
Locales.ENGLISH,
|
|
168
|
-
Locales.FRENCH,
|
|
169
|
-
Locales.SPANISH,
|
|
170
|
-
// Các ngôn ngữ khác của bạn
|
|
171
|
-
],
|
|
172
|
-
defaultLocale: Locales.ENGLISH,
|
|
173
|
-
},
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
export default config;
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
180
|
-
const { Locales } = require("intlayer");
|
|
181
|
-
|
|
182
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
183
|
-
const config = {
|
|
184
|
-
internationalization: {
|
|
185
|
-
locales: [
|
|
186
|
-
Locales.ENGLISH,
|
|
187
|
-
Locales.FRENCH,
|
|
188
|
-
Locales.SPANISH,
|
|
189
|
-
// Các ngôn ngữ khác của bạn
|
|
190
|
-
],
|
|
191
|
-
defaultLocale: Locales.ENGLISH,
|
|
192
|
-
},
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
module.exports = config;
|
|
196
|
-
```
|
|
197
|
-
|
|
198
172
|
> Thông qua tệp cấu hình này, bạn có thể thiết lập các URL được bản địa hóa, chuyển hướng proxy, tên cookie, vị trí và phần mở rộng của các khai báo nội dung, tắt nhật ký Intlayer trong bảng điều khiển và hơn thế nữa. Để biết danh sách đầy đủ các tham số có sẵn, hãy tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
199
173
|
|
|
200
174
|
### Bước 3: Tích hợp Intlayer vào Cấu hình Next.js của Bạn
|
|
201
175
|
|
|
202
176
|
Định cấu hình thiết lập Next.js của bạn để sử dụng Intlayer:
|
|
203
177
|
|
|
204
|
-
```typescript fileName="next.config.ts" codeFormat="typescript"
|
|
178
|
+
```typescript fileName="next.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
205
179
|
import type { NextConfig } from "next";
|
|
206
180
|
import { withIntlayer } from "next-intlayer/server";
|
|
207
181
|
|
|
@@ -212,28 +186,6 @@ const nextConfig: NextConfig = {
|
|
|
212
186
|
export default withIntlayer(nextConfig);
|
|
213
187
|
```
|
|
214
188
|
|
|
215
|
-
```typescript fileName="next.config.mjs" codeFormat="esm"
|
|
216
|
-
import { withIntlayer } from "next-intlayer/server";
|
|
217
|
-
|
|
218
|
-
/** @type {import('next').NextConfig} */
|
|
219
|
-
const nextConfig = {
|
|
220
|
-
/* tùy chọn cấu hình tại đây */
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
export default withIntlayer(nextConfig);
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
```typescript fileName="next.config.cjs" codeFormat="commonjs"
|
|
227
|
-
const { withIntlayer } = require("next-intlayer/server");
|
|
228
|
-
|
|
229
|
-
/** @type {import('next').NextConfig} */
|
|
230
|
-
const nextConfig = {
|
|
231
|
-
/* tùy chọn cấu hình tại đây */
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
module.exports = withIntlayer(nextConfig);
|
|
235
|
-
```
|
|
236
|
-
|
|
237
189
|
> Plugin Next.js `withIntlayer()` được sử dụng để tích hợp Intlayer với Next.js. Nó đảm bảo việc xây dựng các tệp khai báo nội dung và giám sát chúng trong chế độ phát triển. Nó định nghĩa các biến môi trường Intlayer trong môi trường [Webpack](https://webpack.js.org/) hoặc [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack). Ngoài ra, nó cung cấp các bí danh (aliases) để tối ưu hóa hiệu suất và đảm bảo khả năng tương thích với các thành phần máy chủ.
|
|
238
190
|
|
|
239
191
|
> Hàm `withIntlayer()` là một hàm trả về promise. Nó cho phép chuẩn bị các từ điển intlayer trước khi quá trình xây dựng bắt đầu. Nếu bạn muốn sử dụng nó với các plugin khác, bạn có thể await nó. Ví dụ:
|
|
@@ -266,7 +218,7 @@ module.exports = withIntlayer(nextConfig);
|
|
|
266
218
|
|
|
267
219
|
Xóa mọi thứ khỏi `RootLayout` và thay thế bằng mã sau:
|
|
268
220
|
|
|
269
|
-
```tsx {3} fileName="src/app/layout.tsx" codeFormat="typescript"
|
|
221
|
+
```tsx {3} fileName="src/app/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
270
222
|
import type { PropsWithChildren, FC } from "react";
|
|
271
223
|
import "./globals.css";
|
|
272
224
|
|
|
@@ -278,37 +230,12 @@ const RootLayout: FC<PropsWithChildren> = ({ children }) => (
|
|
|
278
230
|
export default RootLayout;
|
|
279
231
|
```
|
|
280
232
|
|
|
281
|
-
```jsx {3} fileName="src/app/layout.mjx" codeFormat="esm"
|
|
282
|
-
import "./globals.css";
|
|
283
|
-
|
|
284
|
-
const RootLayout = ({ children }) => (
|
|
285
|
-
// Bạn vẫn có thể bao bọc các con bằng các nhà cung cấp khác, như `next-themes`, `react-query`, `framer-motion`, v.v.
|
|
286
|
-
<>{children}</>
|
|
287
|
-
);
|
|
288
|
-
|
|
289
|
-
export default RootLayout;
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
```jsx {1,8} fileName="src/app/layout.csx" codeFormat="commonjs"
|
|
293
|
-
require("./globals.css");
|
|
294
|
-
|
|
295
|
-
const RootLayout = ({ children }) => (
|
|
296
|
-
// Bạn vẫn có thể bao bọc các con bằng các nhà cung cấp khác, như `next-themes`, `react-query`, `framer-motion`, v.v.
|
|
297
|
-
<>{children}</>
|
|
298
|
-
);
|
|
299
|
-
|
|
300
|
-
module.exports = {
|
|
301
|
-
default: RootLayout,
|
|
302
|
-
generateStaticParams,
|
|
303
|
-
};
|
|
304
|
-
```
|
|
305
|
-
|
|
306
233
|
> Việc giữ cho thành phần `RootLayout` trống cho phép thiết lập các thuộc tính [`lang`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/lang) và [`dir`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/dir) cho thẻ `<html>`.
|
|
307
234
|
|
|
308
235
|
Để triển khai định tuyến động, hãy cung cấp đường dẫn cho ngôn ngữ bằng cách thêm một bố cục mới trong thư mục `[locale]` của bạn:
|
|
309
236
|
|
|
310
|
-
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
311
|
-
import type
|
|
237
|
+
```tsx fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
238
|
+
import { type NextLayoutIntlayer, IntlayerClientProvider } from "next-intlayer";
|
|
312
239
|
import { Inter } from "next/font/google";
|
|
313
240
|
import { getHTMLTextDir } from "intlayer";
|
|
314
241
|
|
|
@@ -318,24 +245,11 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
318
245
|
const { locale } = await params;
|
|
319
246
|
return (
|
|
320
247
|
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
321
|
-
<body className={inter.className}>
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
export default LocaleLayout;
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
```jsx fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
330
|
-
import { getHTMLTextDir } from "intlayer";
|
|
331
|
-
|
|
332
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
333
|
-
|
|
334
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
335
|
-
const { locale } = await params;
|
|
336
|
-
return (
|
|
337
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
338
|
-
<body className={inter.className}>{children}</body>
|
|
248
|
+
<body className={inter.className}>
|
|
249
|
+
<IntlayerClientProvider locale={locale}>
|
|
250
|
+
{children}
|
|
251
|
+
</IntlayerClientProvider>
|
|
252
|
+
</body>
|
|
339
253
|
</html>
|
|
340
254
|
);
|
|
341
255
|
};
|
|
@@ -343,31 +257,13 @@ const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
|
343
257
|
export default LocaleLayout;
|
|
344
258
|
```
|
|
345
259
|
|
|
346
|
-
```jsx fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
347
|
-
const { Inter } = require("next/font/google");
|
|
348
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
349
|
-
|
|
350
|
-
const inter = Inter({ subsets: ["latin"] });
|
|
351
|
-
|
|
352
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
353
|
-
const { locale } = await params;
|
|
354
|
-
return (
|
|
355
|
-
<html lang={locale} dir={getHTMLTextDir(locale)}>
|
|
356
|
-
<body className={inter.className}>{children}</body>
|
|
357
|
-
</html>
|
|
358
|
-
);
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
module.exports = LocaleLayout;
|
|
362
|
-
```
|
|
363
|
-
|
|
364
260
|
> Đoạn đường dẫn `[locale]` được sử dụng để xác định ngôn ngữ. Ví dụ: `/en-US/about` sẽ tham chiếu đến `en-US` và `/fr/about` đến `fr`.
|
|
365
261
|
|
|
366
262
|
> Ở giai đoạn này, bạn sẽ gặp lỗi: `Error: Missing <html> and <body> tags in the root layout.`. Điều này là bình thường vì tệp `/app/page.tsx` không còn được sử dụng và có thể bị xóa. Thay vào đó, đoạn đường dẫn `[locale]` sẽ kích hoạt trang `/app/[locale]/page.tsx`. Do đó, các trang sẽ có thể truy cập được qua các đường dẫn như `/en`, `/fr`, `/es` trong trình duyệt của bạn. Để đặt ngôn ngữ mặc định làm trang gốc, hãy tham khảo thiết lập `proxy` trong bước 7.
|
|
367
263
|
|
|
368
264
|
Sau đó, triển khai hàm `generateStaticParams` trong Bố cục ứng dụng của bạn.
|
|
369
265
|
|
|
370
|
-
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
|
|
266
|
+
```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat={["typescript", "esm"]}
|
|
371
267
|
export { generateStaticParams } from "next-intlayer"; // Dòng cần chèn
|
|
372
268
|
|
|
373
269
|
const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
@@ -377,26 +273,6 @@ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
|
|
|
377
273
|
export default LocaleLayout;
|
|
378
274
|
```
|
|
379
275
|
|
|
380
|
-
```jsx {1} fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
|
|
381
|
-
export { generateStaticParams } from "next-intlayer"; // Dòng cần chèn
|
|
382
|
-
|
|
383
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
384
|
-
/*... Phần còn lại của mã*/
|
|
385
|
-
};
|
|
386
|
-
|
|
387
|
-
// ... Phần còn lại của mã
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
```jsx {1,7} fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
|
|
391
|
-
const { generateStaticParams } = require("next-intlayer"); // Dòng cần chèn
|
|
392
|
-
|
|
393
|
-
const LocaleLayout = async ({ children, params: { locale } }) => {
|
|
394
|
-
/*... Phần còn lại của mã*/
|
|
395
|
-
};
|
|
396
|
-
|
|
397
|
-
module.exports = { default: LocaleLayout, generateStaticParams };
|
|
398
|
-
```
|
|
399
|
-
|
|
400
276
|
> `generateStaticParams` đảm bảo rằng ứng dụng của bạn xây dựng trước các trang cần thiết cho tất cả các ngôn ngữ, giảm tính toán thời gian chạy và cải thiện trải nghiệm người dùng. Để biết thêm chi tiết, hãy tham khảo [tài liệu Next.js về generateStaticParams](https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic-rendering#generate-static-params).
|
|
401
277
|
|
|
402
278
|
> Intlayer hoạt động với `export const dynamic = 'force-static';` để đảm bảo rằng các trang được xây dựng trước cho tất cả các ngôn ngữ.
|
|
@@ -405,7 +281,7 @@ module.exports = { default: LocaleLayout, generateStaticParams };
|
|
|
405
281
|
|
|
406
282
|
Tạo và quản lý các khai báo nội dung của bạn để lưu trữ các bản dịch:
|
|
407
283
|
|
|
408
|
-
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat="typescript"
|
|
284
|
+
```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
409
285
|
import { t, type Dictionary } from "intlayer";
|
|
410
286
|
|
|
411
287
|
const pageContent = {
|
|
@@ -425,48 +301,6 @@ const pageContent = {
|
|
|
425
301
|
export default pageContent;
|
|
426
302
|
```
|
|
427
303
|
|
|
428
|
-
```javascript fileName="src/app/[locale]/page.content.mjs" contentDeclarationFormat="esm"
|
|
429
|
-
import { t } from "intlayer";
|
|
430
|
-
|
|
431
|
-
/** @type {import('intlayer').Dictionary} */
|
|
432
|
-
const pageContent = {
|
|
433
|
-
key: "page",
|
|
434
|
-
content: {
|
|
435
|
-
getStarted: {
|
|
436
|
-
main: t({
|
|
437
|
-
en: "Get started by editing",
|
|
438
|
-
fr: "Commencez par éditer",
|
|
439
|
-
es: "Comience por editar",
|
|
440
|
-
}),
|
|
441
|
-
pageLink: "src/app/page.tsx",
|
|
442
|
-
},
|
|
443
|
-
},
|
|
444
|
-
};
|
|
445
|
-
|
|
446
|
-
export default pageContent;
|
|
447
|
-
```
|
|
448
|
-
|
|
449
|
-
```javascript fileName="src/app/[locale]/page.content.cjs" contentDeclarationFormat="commonjs"
|
|
450
|
-
const { t } = require("intlayer");
|
|
451
|
-
|
|
452
|
-
/** @type {import('intlayer').Dictionary} */
|
|
453
|
-
const pageContent = {
|
|
454
|
-
key: "page",
|
|
455
|
-
content: {
|
|
456
|
-
getStarted: {
|
|
457
|
-
main: t({
|
|
458
|
-
en: "Get started by editing",
|
|
459
|
-
fr: "Commencez par éditer",
|
|
460
|
-
es: "Comience por editar",
|
|
461
|
-
}),
|
|
462
|
-
pageLink: "src/app/page.tsx",
|
|
463
|
-
},
|
|
464
|
-
},
|
|
465
|
-
};
|
|
466
|
-
|
|
467
|
-
module.exports = pageContent;
|
|
468
|
-
```
|
|
469
|
-
|
|
470
304
|
```json fileName="src/app/[locale]/page.content.json" contentDeclarationFormat="json"
|
|
471
305
|
{
|
|
472
306
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -493,11 +327,11 @@ module.exports = pageContent;
|
|
|
493
327
|
|
|
494
328
|
Truy cập từ điển nội dung của bạn trong toàn bộ ứng dụng:
|
|
495
329
|
|
|
496
|
-
```tsx fileName="src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
330
|
+
```tsx fileName="src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
497
331
|
import type { FC } from "react";
|
|
498
332
|
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
499
333
|
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
500
|
-
import { type NextPageIntlayer
|
|
334
|
+
import { type NextPageIntlayer } from "next-intlayer";
|
|
501
335
|
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
502
336
|
|
|
503
337
|
const PageContent: FC = () => {
|
|
@@ -519,44 +353,7 @@ const Page: NextPageIntlayer = async ({ params }) => {
|
|
|
519
353
|
<PageContent />
|
|
520
354
|
<ServerComponentExample />
|
|
521
355
|
|
|
522
|
-
<
|
|
523
|
-
<ClientComponentExample />
|
|
524
|
-
</IntlayerClientProvider>
|
|
525
|
-
</IntlayerServerProvider>
|
|
526
|
-
);
|
|
527
|
-
};
|
|
528
|
-
|
|
529
|
-
export default Page;
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
```jsx fileName="src/app/[locale]/page.mjx" codeFormat="esm"
|
|
533
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
534
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
535
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
536
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
537
|
-
|
|
538
|
-
const PageContent = () => {
|
|
539
|
-
const content = useIntlayer("page");
|
|
540
|
-
|
|
541
|
-
return (
|
|
542
|
-
<>
|
|
543
|
-
<p>{content.getStarted.main}</p>
|
|
544
|
-
<code>{content.getStarted.pageLink}</code>
|
|
545
|
-
</>
|
|
546
|
-
);
|
|
547
|
-
};
|
|
548
|
-
|
|
549
|
-
const Page = async ({ params }) => {
|
|
550
|
-
const { locale } = await params;
|
|
551
|
-
|
|
552
|
-
return (
|
|
553
|
-
<IntlayerServerProvider locale={locale}>
|
|
554
|
-
<PageContent />
|
|
555
|
-
<ServerComponentExample />
|
|
556
|
-
|
|
557
|
-
<IntlayerClientProvider locale={locale}>
|
|
558
|
-
<ClientComponentExample />
|
|
559
|
-
</IntlayerClientProvider>
|
|
356
|
+
<ClientComponentExample />
|
|
560
357
|
</IntlayerServerProvider>
|
|
561
358
|
);
|
|
562
359
|
};
|
|
@@ -564,45 +361,12 @@ const Page = async ({ params }) => {
|
|
|
564
361
|
export default Page;
|
|
565
362
|
```
|
|
566
363
|
|
|
567
|
-
```jsx fileName="src/app/[locale]/page.csx" codeFormat="commonjs"
|
|
568
|
-
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
569
|
-
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
570
|
-
import { IntlayerClientProvider } from "next-intlayer";
|
|
571
|
-
import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
|
|
572
|
-
|
|
573
|
-
const PageContent = () => {
|
|
574
|
-
const content = useIntlayer("page");
|
|
575
|
-
|
|
576
|
-
return (
|
|
577
|
-
<>
|
|
578
|
-
<p>{content.getStarted.main}</p>
|
|
579
|
-
<code>{content.getStarted.pageLink}</code>
|
|
580
|
-
</>
|
|
581
|
-
);
|
|
582
|
-
};
|
|
583
|
-
|
|
584
|
-
const Page = async ({ params }) => {
|
|
585
|
-
const { locale } = await params;
|
|
586
|
-
|
|
587
|
-
return (
|
|
588
|
-
<IntlayerServerProvider locale={locale}>
|
|
589
|
-
<PageContent />
|
|
590
|
-
<ServerComponentExample />
|
|
591
|
-
|
|
592
|
-
<IntlayerClientProvider locale={locale}>
|
|
593
|
-
<ClientComponentExample />
|
|
594
|
-
</IntlayerClientProvider>
|
|
595
|
-
</IntlayerServerProvider>
|
|
596
|
-
);
|
|
597
|
-
};
|
|
598
|
-
```
|
|
599
|
-
|
|
600
364
|
- **`IntlayerClientProvider`** được sử dụng để cung cấp ngôn ngữ cho các thành phần phía máy khách. Nó có thể được đặt trong bất kỳ thành phần cha nào, bao gồm cả bố cục. Tuy nhiên, việc đặt nó trong một bố cục được khuyến nghị vì Next.js chia sẻ mã bố cục giữa các trang, giúp hiệu quả hơn. Bằng cách sử dụng `IntlayerClientProvider` trong bố cục, bạn tránh việc khởi tạo lại nó cho mỗi trang, cải thiện hiệu suất và duy trì ngữ cảnh bản địa hóa nhất quán trong toàn bộ ứng dụng của bạn.
|
|
601
365
|
- **`IntlayerServerProvider`** được sử dụng để cung cấp ngôn ngữ cho các thành phần con phía máy chủ. Nó không thể được đặt trong bố cục.
|
|
602
366
|
|
|
603
367
|
> Bố cục và trang không thể chia sẻ ngữ cảnh máy chủ chung vì hệ thống ngữ cảnh máy chủ dựa trên kho dữ liệu theo từng yêu cầu (thông qua cơ chế [React's cache](https://react.dev/reference/react/cache)), khiến mỗi "ngữ cảnh" được tạo lại cho các đoạn khác nhau của ứng dụng. Việc đặt nhà cung cấp trong một bố cục dùng chung sẽ phá vỡ sự cô lập này, ngăn cản việc truyền đúng các giá trị ngữ cảnh máy chủ đến các thành phần máy chủ của bạn.
|
|
604
368
|
|
|
605
|
-
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat="typescript"
|
|
369
|
+
```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
606
370
|
"use client";
|
|
607
371
|
|
|
608
372
|
import type { FC } from "react";
|
|
@@ -620,41 +384,7 @@ export const ClientComponentExample: FC = () => {
|
|
|
620
384
|
};
|
|
621
385
|
```
|
|
622
386
|
|
|
623
|
-
```
|
|
624
|
-
"use client";
|
|
625
|
-
|
|
626
|
-
import { useIntlayer } from "next-intlayer";
|
|
627
|
-
|
|
628
|
-
const ClientComponentExample = () => {
|
|
629
|
-
const content = useIntlayer("client-component-example"); // Tạo khai báo nội dung liên quan
|
|
630
|
-
|
|
631
|
-
return (
|
|
632
|
-
<div>
|
|
633
|
-
<h2>{content.title}</h2>
|
|
634
|
-
<p>{content.content}</p>
|
|
635
|
-
</div>
|
|
636
|
-
);
|
|
637
|
-
};
|
|
638
|
-
```
|
|
639
|
-
|
|
640
|
-
```jsx {3,6} fileName="src/components/ClientComponentExample.csx" codeFormat="commonjs"
|
|
641
|
-
"use client";
|
|
642
|
-
|
|
643
|
-
const { useIntlayer } = require("next-intlayer");
|
|
644
|
-
|
|
645
|
-
const ClientComponentExample = () => {
|
|
646
|
-
const content = useIntlayer("client-component-example"); // Tạo khai báo nội dung liên quan
|
|
647
|
-
|
|
648
|
-
return (
|
|
649
|
-
<div>
|
|
650
|
-
<h2>{content.title}</h2>
|
|
651
|
-
<p>{content.content}</p>
|
|
652
|
-
</div>
|
|
653
|
-
);
|
|
654
|
-
};
|
|
655
|
-
```
|
|
656
|
-
|
|
657
|
-
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat="typescript"
|
|
387
|
+
```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
658
388
|
import type { FC } from "react";
|
|
659
389
|
import { useIntlayer } from "next-intlayer/server";
|
|
660
390
|
|
|
@@ -670,36 +400,6 @@ export const ServerComponentExample: FC = () => {
|
|
|
670
400
|
};
|
|
671
401
|
```
|
|
672
402
|
|
|
673
|
-
```jsx {1} fileName="src/components/ServerComponentExample.mjx" codeFormat="esm"
|
|
674
|
-
import { useIntlayer } from "next-intlayer/server";
|
|
675
|
-
|
|
676
|
-
const ServerComponentExample = () => {
|
|
677
|
-
const content = useIntlayer("server-component-example"); // Tạo khai báo nội dung liên quan
|
|
678
|
-
|
|
679
|
-
return (
|
|
680
|
-
<div>
|
|
681
|
-
<h2>{content.title}</h2>
|
|
682
|
-
<p>{content.content}</p>
|
|
683
|
-
</div>
|
|
684
|
-
);
|
|
685
|
-
};
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
```jsx {1} fileName="src/components/ServerComponentExample.csx" codeFormat="commonjs"
|
|
689
|
-
const { useIntlayer } = require("next-intlayer/server");
|
|
690
|
-
|
|
691
|
-
const ServerComponentExample = () => {
|
|
692
|
-
const content = useIntlayer("server-component-example"); // Tạo khai báo nội dung liên quan
|
|
693
|
-
|
|
694
|
-
return (
|
|
695
|
-
<div>
|
|
696
|
-
<h2>{content.title}</h2>
|
|
697
|
-
<p>{content.content}</p>
|
|
698
|
-
</div>
|
|
699
|
-
);
|
|
700
|
-
};
|
|
701
|
-
```
|
|
702
|
-
|
|
703
403
|
> Nếu bạn muốn sử dụng nội dung của mình trong một thuộc tính `string`, chẳng hạn như `alt`, `title`, `href`, `aria-label`, v.v., bạn phải gọi giá trị của hàm, như:
|
|
704
404
|
|
|
705
405
|
> ```jsx
|
|
@@ -714,16 +414,7 @@ const ServerComponentExample = () => {
|
|
|
714
414
|
|
|
715
415
|
Thiết lập proxy để phát hiện ngôn ngữ ưu tiên của người dùng:
|
|
716
416
|
|
|
717
|
-
```typescript fileName="src/proxy.ts" codeFormat="typescript"
|
|
718
|
-
export { intlayerProxy as proxy } from "next-intlayer/proxy";
|
|
719
|
-
|
|
720
|
-
export const config = {
|
|
721
|
-
matcher:
|
|
722
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
723
|
-
};
|
|
724
|
-
```
|
|
725
|
-
|
|
726
|
-
```javascript fileName="src/proxy.mjs" codeFormat="esm"
|
|
417
|
+
```typescript fileName="src/proxy.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
727
418
|
export { intlayerProxy as proxy } from "next-intlayer/proxy";
|
|
728
419
|
|
|
729
420
|
export const config = {
|
|
@@ -732,17 +423,6 @@ export const config = {
|
|
|
732
423
|
};
|
|
733
424
|
```
|
|
734
425
|
|
|
735
|
-
```javascript fileName="src/proxy.cjs" codeFormat="commonjs"
|
|
736
|
-
const { intlayerProxy } = require("next-intlayer/proxy");
|
|
737
|
-
|
|
738
|
-
const config = {
|
|
739
|
-
matcher:
|
|
740
|
-
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
741
|
-
};
|
|
742
|
-
|
|
743
|
-
module.exports = { proxy: intlayerProxy, config };
|
|
744
|
-
```
|
|
745
|
-
|
|
746
426
|
> `intlayerProxy` được sử dụng để phát hiện ngôn ngữ ưu tiên của người dùng và chuyển hướng họ đến URL thích hợp như được chỉ định trong [cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md). Ngoài ra, nó cho phép lưu ngôn ngữ ưu tiên của người dùng trong một cookie.
|
|
747
427
|
|
|
748
428
|
> Nếu bạn cần xâu chuỗi nhiều proxy với nhau (ví dụ: `intlayerProxy` với xác thực hoặc các proxy tùy chỉnh), Intlayer hiện cung cấp một trợ giúp gọi là `multipleProxies`.
|
|
@@ -758,7 +438,7 @@ export const proxy = multipleProxies([intlayerProxy, customProxy]);
|
|
|
758
438
|
|
|
759
439
|
Trong trường hợp bạn muốn quốc tế hóa metadata của mình, chẳng hạn như tiêu đề trang, bạn có thể sử dụng hàm `generateMetadata` do Next.js cung cấp. Bên trong đó, bạn có thể truy xuất nội dung từ hàm `getIntlayer` để dịch metadata của mình.
|
|
760
440
|
|
|
761
|
-
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat="typescript"
|
|
441
|
+
```typescript fileName="src/app/[locale]/metadata.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
762
442
|
import { type Dictionary, t } from "intlayer";
|
|
763
443
|
import { Metadata } from "next";
|
|
764
444
|
|
|
@@ -781,52 +461,6 @@ const metadataContent = {
|
|
|
781
461
|
export default metadataContent;
|
|
782
462
|
```
|
|
783
463
|
|
|
784
|
-
```javascript fileName="src/app/[locale]/metadata.content.mjs" contentDeclarationFormat="esm"
|
|
785
|
-
import { t } from "intlayer";
|
|
786
|
-
|
|
787
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
788
|
-
const metadataContent = {
|
|
789
|
-
key: "page-metadata",
|
|
790
|
-
content: {
|
|
791
|
-
title: t({
|
|
792
|
-
en: "Create Next App",
|
|
793
|
-
fr: "Créer une application Next.js",
|
|
794
|
-
es: "Crear una aplicación Next.js",
|
|
795
|
-
}),
|
|
796
|
-
description: t({
|
|
797
|
-
en: "Generated by create next app",
|
|
798
|
-
fr: "Généré par create next app",
|
|
799
|
-
es: "Generado por create next app",
|
|
800
|
-
}),
|
|
801
|
-
},
|
|
802
|
-
};
|
|
803
|
-
|
|
804
|
-
export default metadataContent;
|
|
805
|
-
```
|
|
806
|
-
|
|
807
|
-
```javascript fileName="src/app/[locale]/metadata.content.cjs" contentDeclarationFormat="commonjs"
|
|
808
|
-
const { t } = require("intlayer");
|
|
809
|
-
|
|
810
|
-
/** @type {import('intlayer').Dictionary<import('next').Metadata>} */
|
|
811
|
-
const metadataContent = {
|
|
812
|
-
key: "page-metadata",
|
|
813
|
-
content: {
|
|
814
|
-
title: t({
|
|
815
|
-
en: "Create Next App",
|
|
816
|
-
fr: "Créer une application Next.js",
|
|
817
|
-
es: "Crear una aplicación Next.js",
|
|
818
|
-
}),
|
|
819
|
-
description: t({
|
|
820
|
-
en: "Generated by create next app",
|
|
821
|
-
fr: "Généré par create next app",
|
|
822
|
-
es: "Generado por create next app",
|
|
823
|
-
}),
|
|
824
|
-
},
|
|
825
|
-
};
|
|
826
|
-
|
|
827
|
-
module.exports = metadataContent;
|
|
828
|
-
```
|
|
829
|
-
|
|
830
464
|
```json fileName="src/app/[locale]/metadata.content.json" contentDeclarationFormat="json"
|
|
831
465
|
{
|
|
832
466
|
"key": "page-metadata",
|
|
@@ -851,7 +485,7 @@ module.exports = metadataContent;
|
|
|
851
485
|
}
|
|
852
486
|
```
|
|
853
487
|
|
|
854
|
-
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
488
|
+
````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
855
489
|
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
856
490
|
import type { Metadata } from "next";
|
|
857
491
|
import type { LocalPromiseParams } from "next-intlayer";
|
|
@@ -897,95 +531,11 @@ export const generateMetadata = async ({
|
|
|
897
531
|
// ... Phần còn lại của mã
|
|
898
532
|
````
|
|
899
533
|
|
|
900
|
-
````javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
901
|
-
import { getIntlayer, getMultilingualUrls } from "intlayer";
|
|
902
|
-
|
|
903
|
-
export const generateMetadata = async ({ params }) => {
|
|
904
|
-
const { locale } = await params;
|
|
905
|
-
|
|
906
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
907
|
-
|
|
908
|
-
/**
|
|
909
|
-
* Tạo một đối tượng chứa tất cả url cho từng ngôn ngữ.
|
|
910
|
-
*
|
|
911
|
-
* Ví dụ:
|
|
912
|
-
* ```ts
|
|
913
|
-
* getMultilingualUrls('/about');
|
|
914
|
-
*
|
|
915
|
-
* // Trả về
|
|
916
|
-
* // {
|
|
917
|
-
* // en: '/about',
|
|
918
|
-
* // fr: '/fr/about',
|
|
919
|
-
* // es: '/es/about'
|
|
920
|
-
* // }
|
|
921
|
-
* ```
|
|
922
|
-
*/
|
|
923
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
924
|
-
const localizedUrl = multilingualUrls[locale];
|
|
925
|
-
|
|
926
|
-
return {
|
|
927
|
-
...metadata,
|
|
928
|
-
alternates: {
|
|
929
|
-
canonical: localizedUrl,
|
|
930
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
931
|
-
},
|
|
932
|
-
openGraph: {
|
|
933
|
-
url: localizedUrl,
|
|
934
|
-
},
|
|
935
|
-
};
|
|
936
|
-
};
|
|
937
|
-
|
|
938
|
-
// ... Phần còn lại của mã
|
|
939
|
-
````
|
|
940
|
-
|
|
941
|
-
````javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
942
|
-
const { getIntlayer, getMultilingualUrls } = require("intlayer");
|
|
943
|
-
|
|
944
|
-
const generateMetadata = async ({ params }) => {
|
|
945
|
-
const { locale } = await params;
|
|
946
|
-
|
|
947
|
-
const metadata = getIntlayer("page-metadata", locale);
|
|
948
|
-
|
|
949
|
-
/**
|
|
950
|
-
* Tạo một đối tượng chứa tất cả url cho từng ngôn ngữ.
|
|
951
|
-
*
|
|
952
|
-
* Ví dụ:
|
|
953
|
-
* ```ts
|
|
954
|
-
* getMultilingualUrls('/about');
|
|
955
|
-
*
|
|
956
|
-
* // Trả về
|
|
957
|
-
* // {
|
|
958
|
-
* // en: '/about',
|
|
959
|
-
* // fr: '/fr/about',
|
|
960
|
-
* // es: '/es/about'
|
|
961
|
-
* // }
|
|
962
|
-
* ```
|
|
963
|
-
*/
|
|
964
|
-
const multilingualUrls = getMultilingualUrls("/");
|
|
965
|
-
const localizedUrl = multilingualUrls[locale];
|
|
966
|
-
|
|
967
|
-
return {
|
|
968
|
-
...metadata,
|
|
969
|
-
alternates: {
|
|
970
|
-
canonical: localizedUrl,
|
|
971
|
-
languages: { ...multilingualUrls, "x-default": "/" },
|
|
972
|
-
},
|
|
973
|
-
openGraph: {
|
|
974
|
-
url: localizedUrl,
|
|
975
|
-
},
|
|
976
|
-
};
|
|
977
|
-
};
|
|
978
|
-
|
|
979
|
-
module.exports = { generateMetadata };
|
|
980
|
-
|
|
981
|
-
// ... Phần còn lại của mã
|
|
982
|
-
````
|
|
983
|
-
|
|
984
534
|
> Lưu ý rằng hàm `getIntlayer` được nhập từ `next-intlayer` trả về nội dung của bạn được bao bọc trong một `IntlayerNode`, cho phép tích hợp với trình chỉnh sửa trực quan. Ngược lại, hàm `getIntlayer` được nhập từ `intlayer` trả về nội dung của bạn trực tiếp mà không có các thuộc tính bổ sung.
|
|
985
535
|
|
|
986
536
|
Ngoài ra, bạn có thể sử dụng hàm `getTranslation` để khai báo metadata của mình. Tuy nhiên, việc sử dụng các tệp khai báo nội dung được khuyến nghị để tự động hóa việc dịch metadata của bạn và tách rời nội dung tại một thời điểm nào đó.
|
|
987
537
|
|
|
988
|
-
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
|
|
538
|
+
```typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat={["typescript", "esm"]}
|
|
989
539
|
import {
|
|
990
540
|
type IConfigLocales,
|
|
991
541
|
getTranslation,
|
|
@@ -1003,154 +553,31 @@ export const generateMetadata = async ({
|
|
|
1003
553
|
return {
|
|
1004
554
|
title: t<string>({
|
|
1005
555
|
en: "My title",
|
|
1006
|
-
fr: "Mon titre",
|
|
1007
|
-
es: "Mi título",
|
|
1008
|
-
}),
|
|
1009
|
-
description: t({
|
|
1010
|
-
en: "My description",
|
|
1011
|
-
fr: "Ma description",
|
|
1012
|
-
es: "Mi descripción",
|
|
1013
|
-
}),
|
|
1014
|
-
};
|
|
1015
|
-
};
|
|
1016
|
-
|
|
1017
|
-
// ... Phần còn lại của mã
|
|
1018
|
-
```
|
|
1019
|
-
|
|
1020
|
-
```javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
|
|
1021
|
-
import { getTranslation, getMultilingualUrls } from "intlayer";
|
|
1022
|
-
|
|
1023
|
-
export const generateMetadata = async ({ params }) => {
|
|
1024
|
-
const { locale } = await params;
|
|
1025
|
-
const t = (content) => getTranslation(content, locale);
|
|
1026
|
-
|
|
1027
|
-
return {
|
|
1028
|
-
title: t({
|
|
1029
|
-
en: "My title",
|
|
1030
|
-
fr: "Mon titre",
|
|
1031
|
-
es: "Mi título",
|
|
1032
|
-
}),
|
|
1033
|
-
description: t({
|
|
1034
|
-
en: "My description",
|
|
1035
|
-
fr: "Ma description",
|
|
1036
|
-
es: "Mi descripción",
|
|
1037
|
-
}),
|
|
1038
|
-
};
|
|
1039
|
-
};
|
|
1040
|
-
|
|
1041
|
-
// ... Phần còn lại của mã
|
|
1042
|
-
```
|
|
1043
|
-
|
|
1044
|
-
```javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
|
|
1045
|
-
const { getTranslation, getMultilingualUrls } = require("intlayer");
|
|
1046
|
-
|
|
1047
|
-
const generateMetadata = async ({ params }) => {
|
|
1048
|
-
const { locale } = await params;
|
|
1049
|
-
|
|
1050
|
-
const t = (content) => getTranslation(content, locale);
|
|
1051
|
-
|
|
1052
|
-
return {
|
|
1053
|
-
title: t({
|
|
1054
|
-
en: "My title",
|
|
1055
|
-
fr: "Mon titre",
|
|
1056
|
-
es: "Mi título",
|
|
1057
|
-
}),
|
|
1058
|
-
description: t({
|
|
1059
|
-
en: "My description",
|
|
1060
|
-
fr: "Ma description",
|
|
1061
|
-
es: "Mi descripción",
|
|
1062
|
-
}),
|
|
1063
|
-
};
|
|
1064
|
-
};
|
|
1065
|
-
|
|
1066
|
-
module.exports = { generateMetadata };
|
|
1067
|
-
|
|
1068
|
-
// ... Phần còn lại của mã
|
|
1069
|
-
```
|
|
1070
|
-
|
|
1071
|
-
> Tìm hiểu thêm về tối ưu hóa metadata [trên tài liệu chính thức của Next.js](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
|
|
1072
|
-
|
|
1073
|
-
### (Tùy chọn) Bước 9: Quốc tế hóa sitemap.xml và robots.txt của bạn
|
|
1074
|
-
|
|
1075
|
-
Để quốc tế hóa `sitemap.xml` và `robots.txt` của bạn, bạn có thể sử dụng hàm `getMultilingualUrls` do Intlayer cung cấp. Hàm này cho phép bạn tạo các URL đa ngôn ngữ cho sitemap của mình.
|
|
1076
|
-
|
|
1077
|
-
```tsx fileName="src/app/sitemap.ts" codeFormat="typescript"
|
|
1078
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1079
|
-
import type { MetadataRoute } from "next";
|
|
1080
|
-
|
|
1081
|
-
const sitemap = (): MetadataRoute.Sitemap => [
|
|
1082
|
-
{
|
|
1083
|
-
url: "https://example.com",
|
|
1084
|
-
alternates: {
|
|
1085
|
-
languages: {
|
|
1086
|
-
...getMultilingualUrls("https://example.com"),
|
|
1087
|
-
"x-default": "https://example.com",
|
|
1088
|
-
},
|
|
1089
|
-
},
|
|
1090
|
-
},
|
|
1091
|
-
{
|
|
1092
|
-
url: "https://example.com/login",
|
|
1093
|
-
alternates: {
|
|
1094
|
-
languages: {
|
|
1095
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1096
|
-
"x-default": "https://example.com/login",
|
|
1097
|
-
},
|
|
1098
|
-
},
|
|
1099
|
-
},
|
|
1100
|
-
{
|
|
1101
|
-
url: "https://example.com/register",
|
|
1102
|
-
alternates: {
|
|
1103
|
-
languages: {
|
|
1104
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1105
|
-
"x-default": "https://example.com/register",
|
|
1106
|
-
},
|
|
1107
|
-
},
|
|
1108
|
-
},
|
|
1109
|
-
];
|
|
1110
|
-
|
|
1111
|
-
export default sitemap;
|
|
1112
|
-
```
|
|
1113
|
-
|
|
1114
|
-
```jsx fileName="src/app/sitemap.mjx" codeFormat="esm"
|
|
1115
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1116
|
-
|
|
1117
|
-
const sitemap = () => [
|
|
1118
|
-
{
|
|
1119
|
-
url: "https://example.com",
|
|
1120
|
-
alternates: {
|
|
1121
|
-
languages: {
|
|
1122
|
-
...getMultilingualUrls("https://example.com"),
|
|
1123
|
-
"x-default": "https://example.com",
|
|
1124
|
-
},
|
|
1125
|
-
},
|
|
1126
|
-
},
|
|
1127
|
-
{
|
|
1128
|
-
url: "https://example.com/login",
|
|
1129
|
-
alternates: {
|
|
1130
|
-
languages: {
|
|
1131
|
-
...getMultilingualUrls("https://example.com/login"),
|
|
1132
|
-
"x-default": "https://example.com/login",
|
|
1133
|
-
},
|
|
1134
|
-
},
|
|
1135
|
-
},
|
|
1136
|
-
{
|
|
1137
|
-
url: "https://example.com/register",
|
|
1138
|
-
alternates: {
|
|
1139
|
-
languages: {
|
|
1140
|
-
...getMultilingualUrls("https://example.com/register"),
|
|
1141
|
-
"x-default": "https://example.com/register",
|
|
1142
|
-
},
|
|
1143
|
-
},
|
|
1144
|
-
},
|
|
1145
|
-
];
|
|
556
|
+
fr: "Mon titre",
|
|
557
|
+
es: "Mi título",
|
|
558
|
+
}),
|
|
559
|
+
description: t({
|
|
560
|
+
en: "My description",
|
|
561
|
+
fr: "Ma description",
|
|
562
|
+
es: "Mi descripción",
|
|
563
|
+
}),
|
|
564
|
+
};
|
|
565
|
+
};
|
|
1146
566
|
|
|
1147
|
-
|
|
567
|
+
// ... Phần còn lại của mã
|
|
1148
568
|
```
|
|
1149
569
|
|
|
1150
|
-
|
|
1151
|
-
|
|
570
|
+
> Tìm hiểu thêm về tối ưu hóa metadata [trên tài liệu chính thức của Next.js](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
|
|
571
|
+
|
|
572
|
+
### (Tùy chọn) Bước 9: Quốc tế hóa sitemap.xml và robots.txt của bạn
|
|
573
|
+
|
|
574
|
+
Để quốc tế hóa `sitemap.xml` và `robots.txt` của bạn, bạn có thể sử dụng hàm `getMultilingualUrls` do Intlayer cung cấp. Hàm này cho phép bạn tạo các URL đa ngôn ngữ cho sitemap của mình.
|
|
575
|
+
|
|
576
|
+
```tsx fileName="src/app/sitemap.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
577
|
+
import { getMultilingualUrls } from "intlayer";
|
|
578
|
+
import type { MetadataRoute } from "next";
|
|
1152
579
|
|
|
1153
|
-
const sitemap = () => [
|
|
580
|
+
const sitemap = (): MetadataRoute.Sitemap => [
|
|
1154
581
|
{
|
|
1155
582
|
url: "https://example.com",
|
|
1156
583
|
alternates: {
|
|
@@ -1180,10 +607,10 @@ const sitemap = () => [
|
|
|
1180
607
|
},
|
|
1181
608
|
];
|
|
1182
609
|
|
|
1183
|
-
|
|
610
|
+
export default sitemap;
|
|
1184
611
|
```
|
|
1185
612
|
|
|
1186
|
-
```tsx fileName="src/app/robots.ts" codeFormat="typescript"
|
|
613
|
+
```tsx fileName="src/app/robots.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1187
614
|
import type { MetadataRoute } from "next";
|
|
1188
615
|
import { getMultilingualUrls } from "intlayer";
|
|
1189
616
|
|
|
@@ -1203,51 +630,13 @@ const robots = (): MetadataRoute.Robots => ({
|
|
|
1203
630
|
export default robots;
|
|
1204
631
|
```
|
|
1205
632
|
|
|
1206
|
-
```jsx fileName="src/app/robots.mjx" codeFormat="esm"
|
|
1207
|
-
import { getMultilingualUrls } from "intlayer";
|
|
1208
|
-
|
|
1209
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1210
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1211
|
-
|
|
1212
|
-
const robots = () => ({
|
|
1213
|
-
rules: {
|
|
1214
|
-
userAgent: "*",
|
|
1215
|
-
allow: ["/"],
|
|
1216
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1217
|
-
},
|
|
1218
|
-
host: "https://example.com",
|
|
1219
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1220
|
-
});
|
|
1221
|
-
|
|
1222
|
-
export default robots;
|
|
1223
|
-
```
|
|
1224
|
-
|
|
1225
|
-
```jsx fileName="src/app/robots.csx" codeFormat="commonjs"
|
|
1226
|
-
const { getMultilingualUrls } = require("intlayer");
|
|
1227
|
-
|
|
1228
|
-
const getAllMultilingualUrls = (urls) =>
|
|
1229
|
-
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
1230
|
-
|
|
1231
|
-
const robots = () => ({
|
|
1232
|
-
rules: {
|
|
1233
|
-
userAgent: "*",
|
|
1234
|
-
allow: ["/"],
|
|
1235
|
-
disallow: getAllMultilingualUrls(["/login", "/register"]),
|
|
1236
|
-
},
|
|
1237
|
-
host: "https://example.com",
|
|
1238
|
-
sitemap: `https://example.com/sitemap.xml`,
|
|
1239
|
-
});
|
|
1240
|
-
|
|
1241
|
-
module.exports = robots;
|
|
1242
|
-
```
|
|
1243
|
-
|
|
1244
633
|
> Tìm hiểu thêm về tối ưu hóa sitemap [trên tài liệu chính thức của Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap). Tìm hiểu thêm về tối ưu hóa robots.txt [trên tài liệu chính thức của Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots).
|
|
1245
634
|
|
|
1246
635
|
### (Tùy chọn) Bước 10: Thay đổi ngôn ngữ của nội dung của bạn
|
|
1247
636
|
|
|
1248
637
|
Để thay đổi ngôn ngữ của nội dung trong Next.js, cách được khuyến nghị là sử dụng thành phần `Link` để chuyển hướng người dùng đến trang bản địa hóa thích hợp. Thành phần `Link` cho phép tải trước trang, giúp tránh việc tải lại toàn bộ trang.
|
|
1249
638
|
|
|
1250
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
639
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
1251
640
|
"use client";
|
|
1252
641
|
|
|
1253
642
|
import type { FC } from "react";
|
|
@@ -1300,110 +689,6 @@ export const LocaleSwitcher: FC = () => {
|
|
|
1300
689
|
};
|
|
1301
690
|
```
|
|
1302
691
|
|
|
1303
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
1304
|
-
"use client";
|
|
1305
|
-
|
|
1306
|
-
import {
|
|
1307
|
-
Locales,
|
|
1308
|
-
getHTMLTextDir,
|
|
1309
|
-
getLocaleName,
|
|
1310
|
-
getLocalizedUrl,
|
|
1311
|
-
} from "intlayer";
|
|
1312
|
-
import { useLocale } from "next-intlayer";
|
|
1313
|
-
import Link from "next/link";
|
|
1314
|
-
|
|
1315
|
-
export const LocaleSwitcher = () => {
|
|
1316
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1317
|
-
useLocale();
|
|
1318
|
-
|
|
1319
|
-
return (
|
|
1320
|
-
<div>
|
|
1321
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1322
|
-
<div id="localePopover" popover="auto">
|
|
1323
|
-
{availableLocales.map((localeItem) => (
|
|
1324
|
-
<Link
|
|
1325
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1326
|
-
key={localeItem}
|
|
1327
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1328
|
-
onClick={() => setLocale(localeItem)}
|
|
1329
|
-
replace // Sẽ đảm bảo nút "quay lại" của trình duyệt sẽ chuyển hướng đến trang trước đó
|
|
1330
|
-
>
|
|
1331
|
-
<span>
|
|
1332
|
-
{/* Locale - ví dụ: FR */}
|
|
1333
|
-
{localeItem}
|
|
1334
|
-
</span>
|
|
1335
|
-
<span>
|
|
1336
|
-
{/* Ngôn ngữ trong chính Locale đó - ví dụ: Français */}
|
|
1337
|
-
{getLocaleName(localeItem, locale)}
|
|
1338
|
-
</span>
|
|
1339
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1340
|
-
{/* Ngôn ngữ trong Locale hiện tại - ví dụ: Francés với locale hiện tại là Locales.SPANISH */}
|
|
1341
|
-
{getLocaleName(localeItem)}
|
|
1342
|
-
</span>
|
|
1343
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1344
|
-
{/* Ngôn ngữ bằng tiếng Anh - ví dụ: French */}
|
|
1345
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1346
|
-
</span>
|
|
1347
|
-
</Link>
|
|
1348
|
-
))}
|
|
1349
|
-
</div>
|
|
1350
|
-
</div>
|
|
1351
|
-
);
|
|
1352
|
-
};
|
|
1353
|
-
```
|
|
1354
|
-
|
|
1355
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
1356
|
-
"use client";
|
|
1357
|
-
|
|
1358
|
-
const {
|
|
1359
|
-
Locales,
|
|
1360
|
-
getHTMLTextDir,
|
|
1361
|
-
getLocaleName,
|
|
1362
|
-
getLocalizedUrl,
|
|
1363
|
-
} = require("intlayer");
|
|
1364
|
-
const { useLocale } = require("next-intlayer");
|
|
1365
|
-
const Link = require("next/link");
|
|
1366
|
-
|
|
1367
|
-
export const LocaleSwitcher = () => {
|
|
1368
|
-
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1369
|
-
useLocale();
|
|
1370
|
-
|
|
1371
|
-
return (
|
|
1372
|
-
<div>
|
|
1373
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
1374
|
-
<div id="localePopover" popover="auto">
|
|
1375
|
-
{availableLocales.map((localeItem) => (
|
|
1376
|
-
<Link
|
|
1377
|
-
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1378
|
-
key={localeItem}
|
|
1379
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
1380
|
-
onClick={() => setLocale(localeItem)}
|
|
1381
|
-
replace // Sẽ đảm bảo nút "quay lại" của trình duyệt sẽ chuyển hướng đến trang trước đó
|
|
1382
|
-
>
|
|
1383
|
-
<span>
|
|
1384
|
-
{/* Locale - ví dụ: FR */}
|
|
1385
|
-
{localeItem}
|
|
1386
|
-
</span>
|
|
1387
|
-
<span>
|
|
1388
|
-
{/* Ngôn ngữ trong chính Locale đó - ví dụ: Français */}
|
|
1389
|
-
{getLocaleName(localeItem, locale)}
|
|
1390
|
-
</span>
|
|
1391
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1392
|
-
{/* Ngôn ngữ trong Locale hiện tại - ví dụ: Francés với locale hiện tại là Locales.SPANISH */}
|
|
1393
|
-
{getLocaleName(localeItem)}
|
|
1394
|
-
</span>
|
|
1395
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1396
|
-
{/* Ngôn ngữ bằng tiếng Anh - ví dụ: French */}
|
|
1397
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1398
|
-
</span>
|
|
1399
|
-
</Link>
|
|
1400
|
-
))}
|
|
1401
|
-
</div>
|
|
1402
|
-
</div>
|
|
1403
|
-
);
|
|
1404
|
-
};
|
|
1405
|
-
```
|
|
1406
|
-
|
|
1407
692
|
> Một cách thay thế là sử dụng hàm `setLocale` do hook `useLocale` cung cấp. Hàm này sẽ không cho phép tải trước trang. Xem [tài liệu hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/next-intlayer/useLocale.md) để biết thêm chi tiết.
|
|
1408
693
|
|
|
1409
694
|
> Bạn cũng có thể thiết lập một hàm trong tùy chọn `onLocaleChange` để kích hoạt một hàm tùy chỉnh khi ngôn ngữ thay đổi.
|
|
@@ -1454,7 +739,7 @@ Hành vi này hữu ích vì một số lý do:
|
|
|
1454
739
|
|
|
1455
740
|
Dưới đây là việc triển khai thành phần `Link` được bản địa hóa trong TypeScript:
|
|
1456
741
|
|
|
1457
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
742
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1458
743
|
"use client";
|
|
1459
744
|
|
|
1460
745
|
import { getLocalizedUrl } from "intlayer";
|
|
@@ -1494,74 +779,6 @@ export const Link: FC<PropsWithChildren<NextLinkProps>> = ({
|
|
|
1494
779
|
};
|
|
1495
780
|
```
|
|
1496
781
|
|
|
1497
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1498
|
-
"use client";
|
|
1499
|
-
|
|
1500
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1501
|
-
import NextLink from "next/link";
|
|
1502
|
-
import { useLocale } from "next-intlayer";
|
|
1503
|
-
|
|
1504
|
-
/**
|
|
1505
|
-
* Hàm tiện ích để kiểm tra xem một URL cho trước có phải là bên ngoài hay không.
|
|
1506
|
-
* Nếu URL bắt đầu bằng http:// hoặc https://, nó được coi là bên ngoài.
|
|
1507
|
-
*/
|
|
1508
|
-
export const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1509
|
-
|
|
1510
|
-
/**
|
|
1511
|
-
* Một thành phần Link tùy chỉnh thích ứng thuộc tính href dựa trên ngôn ngữ hiện tại.
|
|
1512
|
-
* Đối với các liên kết nội bộ, nó sử dụng `getLocalizedUrl` để thêm tiền tố ngôn ngữ vào URL (ví dụ: /fr/about).
|
|
1513
|
-
* Điều này đảm bảo rằng việc điều hướng vẫn nằm trong cùng một ngữ cảnh ngôn ngữ.
|
|
1514
|
-
*/
|
|
1515
|
-
export const Link = ({ href, children, ...props }) => {
|
|
1516
|
-
const { locale } = useLocale();
|
|
1517
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1518
|
-
|
|
1519
|
-
// Nếu liên kết là nội bộ và một href hợp lệ được cung cấp, lấy URL được bản địa hóa.
|
|
1520
|
-
const hrefI18n =
|
|
1521
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1522
|
-
|
|
1523
|
-
return (
|
|
1524
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1525
|
-
{children}
|
|
1526
|
-
</NextLink>
|
|
1527
|
-
);
|
|
1528
|
-
};
|
|
1529
|
-
```
|
|
1530
|
-
|
|
1531
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1532
|
-
"use client";
|
|
1533
|
-
|
|
1534
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1535
|
-
const NextLink = require("next/link");
|
|
1536
|
-
const { useLocale } = require("next-intlayer");
|
|
1537
|
-
|
|
1538
|
-
/**
|
|
1539
|
-
* Hàm tiện ích để kiểm tra xem một URL cho trước có phải là bên ngoài hay không.
|
|
1540
|
-
* Nếu URL bắt đầu bằng http:// hoặc https://, nó được coi là bên ngoài.
|
|
1541
|
-
*/
|
|
1542
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1543
|
-
|
|
1544
|
-
/**
|
|
1545
|
-
* Một thành phần Link tùy chỉnh thích ứng thuộc tính href dựa trên ngôn ngữ hiện tại.
|
|
1546
|
-
* Đối với các liên kết nội bộ, nó sử dụng `getLocalizedUrl` để thêm tiền tố ngôn ngữ vào URL (ví dụ: /fr/about).
|
|
1547
|
-
* Điều này đảm bảo rằng việc điều hướng vẫn nằm trong cùng một ngữ cảnh ngôn ngữ.
|
|
1548
|
-
*/
|
|
1549
|
-
const Link = ({ href, children, ...props }) => {
|
|
1550
|
-
const { locale } = useLocale();
|
|
1551
|
-
const isExternalLink = checkIsExternalLink(href.toString());
|
|
1552
|
-
|
|
1553
|
-
// Nếu liên kết là nội bộ và một href hợp lệ được cung cấp, lấy URL được bản địa hóa.
|
|
1554
|
-
const hrefI18n =
|
|
1555
|
-
href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
|
|
1556
|
-
|
|
1557
|
-
return (
|
|
1558
|
-
<NextLink href={hrefI18n} {...props}>
|
|
1559
|
-
{children}
|
|
1560
|
-
</NextLink>
|
|
1561
|
-
);
|
|
1562
|
-
};
|
|
1563
|
-
```
|
|
1564
|
-
|
|
1565
782
|
#### Cách hoạt động
|
|
1566
783
|
|
|
1567
784
|
- **Phát hiện các liên kết bên ngoài**:
|
|
@@ -1703,7 +920,7 @@ Nếu bạn có một cơ sở mã hiện có, việc chuyển đổi hàng ngh
|
|
|
1703
920
|
|
|
1704
921
|
Để thiết lập, bạn có thể thêm phần `compiler` vào tệp `intlayer.config.ts` của mình:
|
|
1705
922
|
|
|
1706
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
923
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1707
924
|
import { type IntlayerConfig } from "intlayer";
|
|
1708
925
|
|
|
1709
926
|
const config: IntlayerConfig = {
|
|
@@ -1734,66 +951,6 @@ const config: IntlayerConfig = {
|
|
|
1734
951
|
export default config;
|
|
1735
952
|
```
|
|
1736
953
|
|
|
1737
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1738
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1739
|
-
const config = {
|
|
1740
|
-
// ... Phần còn lại của cấu hình
|
|
1741
|
-
compiler: {
|
|
1742
|
-
/**
|
|
1743
|
-
* Cho biết trình biên dịch có nên được bật hay không.
|
|
1744
|
-
*/
|
|
1745
|
-
enabled: true,
|
|
1746
|
-
|
|
1747
|
-
/**
|
|
1748
|
-
* Xác định đường dẫn các tệp đầu ra
|
|
1749
|
-
*/
|
|
1750
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1751
|
-
|
|
1752
|
-
/**
|
|
1753
|
-
* Cho biết các thành phần có nên được lưu sau khi chuyển đổi hay không. Bằng cách đó, trình biên dịch có thể được chạy chỉ một lần để chuyển đổi ứng dụng, sau đó có thể được gỡ bỏ.
|
|
1754
|
-
*/
|
|
1755
|
-
saveComponents: false,
|
|
1756
|
-
|
|
1757
|
-
/**
|
|
1758
|
-
* Tiền tố khóa từ điển
|
|
1759
|
-
*/
|
|
1760
|
-
dictionaryKeyPrefix: "",
|
|
1761
|
-
},
|
|
1762
|
-
};
|
|
1763
|
-
|
|
1764
|
-
export default config;
|
|
1765
|
-
```
|
|
1766
|
-
|
|
1767
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1768
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1769
|
-
const config = {
|
|
1770
|
-
// ... Phần còn lại của cấu hình
|
|
1771
|
-
compiler: {
|
|
1772
|
-
/**
|
|
1773
|
-
* Cho biết trình biên dịch có nên được bật hay không.
|
|
1774
|
-
*/
|
|
1775
|
-
enabled: true,
|
|
1776
|
-
|
|
1777
|
-
/**
|
|
1778
|
-
* Xác định đường dẫn các tệp đầu ra
|
|
1779
|
-
*/
|
|
1780
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1781
|
-
|
|
1782
|
-
/**
|
|
1783
|
-
* Cho biết các thành phần có nên được lưu sau khi chuyển đổi hay không. Bằng cách đó, trình biên dịch có thể được chạy chỉ một lần để chuyển đổi ứng dụng, sau đó có thể được gỡ bỏ.
|
|
1784
|
-
*/
|
|
1785
|
-
saveComponents: false,
|
|
1786
|
-
|
|
1787
|
-
/**
|
|
1788
|
-
* Tiền tố khóa từ điển
|
|
1789
|
-
*/
|
|
1790
|
-
dictionaryKeyPrefix: "",
|
|
1791
|
-
},
|
|
1792
|
-
};
|
|
1793
|
-
|
|
1794
|
-
module.exports = config;
|
|
1795
|
-
```
|
|
1796
|
-
|
|
1797
954
|
<Tabs>
|
|
1798
955
|
<Tab value='Lệnh trích xuất'>
|
|
1799
956
|
|