@intlayer/docs 8.7.7 → 8.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -16,6 +16,7 @@ slugs:
|
|
|
16
16
|
- environment
|
|
17
17
|
- vite-and-react
|
|
18
18
|
applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
|
|
19
|
+
applicationShowcase: https://intlayer-vite-react-template.vercel.app
|
|
19
20
|
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
|
|
20
21
|
history:
|
|
21
22
|
- version: 7.5.9
|
|
@@ -56,13 +57,24 @@ Dzięki Intlayer możesz:
|
|
|
56
57
|
<Tab label="Kod" value="code">
|
|
57
58
|
|
|
58
59
|
<iframe
|
|
59
|
-
src="https://
|
|
60
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-vite-react-template?file=intlayer.config.ts"
|
|
60
61
|
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
61
62
|
title="Demo CodeSandbox - Jak internacjonalizować swoją aplikację za pomocą Intlayer"
|
|
62
63
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
63
64
|
loading="lazy"
|
|
64
65
|
/>
|
|
65
66
|
|
|
67
|
+
</Tab>
|
|
68
|
+
<Tab label="Demo" value="demo">
|
|
69
|
+
|
|
70
|
+
<iframe
|
|
71
|
+
src="https://intlayer-vite-react-template.vercel.app"
|
|
72
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
73
|
+
title="Demo — intlayer-vite-react-template"
|
|
74
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
75
|
+
loading="lazy"
|
|
76
|
+
/>
|
|
77
|
+
|
|
66
78
|
</Tab>
|
|
67
79
|
</Tabs>
|
|
68
80
|
|
|
@@ -109,7 +121,7 @@ bun x intlayer init
|
|
|
109
121
|
|
|
110
122
|
Utwórz plik konfiguracyjny, aby skonfigurować języki swojej aplikacji:
|
|
111
123
|
|
|
112
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
124
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
113
125
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
114
126
|
|
|
115
127
|
const config: IntlayerConfig = {
|
|
@@ -127,52 +139,13 @@ const config: IntlayerConfig = {
|
|
|
127
139
|
export default config;
|
|
128
140
|
```
|
|
129
141
|
|
|
130
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
131
|
-
import { Locales } from "intlayer";
|
|
132
|
-
|
|
133
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
134
|
-
const config = {
|
|
135
|
-
internationalization: {
|
|
136
|
-
locales: [
|
|
137
|
-
Locales.ENGLISH,
|
|
138
|
-
Locales.FRENCH,
|
|
139
|
-
Locales.SPANISH,
|
|
140
|
-
// Twoje inne lokalizacje
|
|
141
|
-
],
|
|
142
|
-
defaultLocale: Locales.ENGLISH,
|
|
143
|
-
},
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
export default config;
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
150
|
-
const { Locales } = require("intlayer");
|
|
151
|
-
|
|
152
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
153
|
-
// konfiguracja międzynarodowa
|
|
154
|
-
const config = {
|
|
155
|
-
internationalization: {
|
|
156
|
-
locales: [
|
|
157
|
-
Locales.ENGLISH,
|
|
158
|
-
Locales.FRENCH,
|
|
159
|
-
Locales.SPANISH,
|
|
160
|
-
// Twoje inne lokalizacje
|
|
161
|
-
],
|
|
162
|
-
defaultLocale: Locales.ENGLISH,
|
|
163
|
-
},
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
module.exports = config;
|
|
167
|
-
```
|
|
168
|
-
|
|
169
142
|
> Poprzez ten plik konfiguracyjny możesz ustawić zlokalizowane adresy URL, przekierowania middleware, nazwy ciasteczek, lokalizację i rozszerzenie deklaracji treści, wyłączyć logi Intlayer w konsoli i wiele więcej. Aby uzyskać pełną listę dostępnych parametrów, zapoznaj się z [dokumentacją konfiguracji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md).
|
|
170
143
|
|
|
171
144
|
### Krok 3: Zintegruj Intlayer w swojej konfiguracji Vite
|
|
172
145
|
|
|
173
146
|
Dodaj wtyczkę intlayer do swojej konfiguracji.
|
|
174
147
|
|
|
175
|
-
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
148
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
176
149
|
import { defineConfig } from "vite";
|
|
177
150
|
import react from "@vitejs/plugin-react-swc";
|
|
178
151
|
import { intlayer } from "vite-intlayer";
|
|
@@ -183,35 +156,13 @@ export default defineConfig({
|
|
|
183
156
|
});
|
|
184
157
|
```
|
|
185
158
|
|
|
186
|
-
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
187
|
-
import { defineConfig } from "vite";
|
|
188
|
-
import react from "@vitejs/plugin-react-swc";
|
|
189
|
-
import { intlayer } from "vite-intlayer";
|
|
190
|
-
|
|
191
|
-
// https://vitejs.dev/config/
|
|
192
|
-
export default defineConfig({
|
|
193
|
-
plugins: [react(), intlayer()],
|
|
194
|
-
});
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
```javascript fileName="vite.config.cjs" codeFormat="commonjs"
|
|
198
|
-
const { defineConfig } = require("vite");
|
|
199
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
200
|
-
const { intlayer } = require("vite-intlayer");
|
|
201
|
-
|
|
202
|
-
// https://vitejs.dev/config/
|
|
203
|
-
module.exports = defineConfig({
|
|
204
|
-
plugins: [react(), intlayer()],
|
|
205
|
-
});
|
|
206
|
-
```
|
|
207
|
-
|
|
208
159
|
> Wtyczka Vite `intlayer()` służy do integracji Intlayer z Vite. Zapewnia budowanie plików deklaracji treści oraz monitoruje je w trybie deweloperskim. Definiuje zmienne środowiskowe Intlayer w aplikacji Vite. Dodatkowo dostarcza aliasy w celu optymalizacji wydajności.
|
|
209
160
|
|
|
210
161
|
### Krok 4: Zadeklaruj swoją treść
|
|
211
162
|
|
|
212
163
|
Utwórz i zarządzaj deklaracjami treści, aby przechowywać tłumaczenia:
|
|
213
164
|
|
|
214
|
-
```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
|
|
165
|
+
```tsx fileName="src/app.content.tsx" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
215
166
|
import { t, type Dictionary } from "intlayer";
|
|
216
167
|
import type { ReactNode } from "react";
|
|
217
168
|
|
|
@@ -266,145 +217,6 @@ const appContent = {
|
|
|
266
217
|
export default appContent;
|
|
267
218
|
```
|
|
268
219
|
|
|
269
|
-
```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
|
|
270
|
-
import { t } from "intlayer";
|
|
271
|
-
|
|
272
|
-
/** @type {import('intlayer').Dictionary} */
|
|
273
|
-
const appContent = {
|
|
274
|
-
key: "app",
|
|
275
|
-
content: {
|
|
276
|
-
viteLogo: t({
|
|
277
|
-
en: "Vite logo",
|
|
278
|
-
fr: "Logo Vite",
|
|
279
|
-
es: "Logo Vite",
|
|
280
|
-
pl: "Logo Vite",
|
|
281
|
-
}),
|
|
282
|
-
reactLogo: t({
|
|
283
|
-
en: "React logo",
|
|
284
|
-
fr: "Logo React",
|
|
285
|
-
es: "Logo React",
|
|
286
|
-
pl: "Logo React",
|
|
287
|
-
}),
|
|
288
|
-
|
|
289
|
-
title: "Vite + React",
|
|
290
|
-
|
|
291
|
-
count: t({
|
|
292
|
-
en: "count is ",
|
|
293
|
-
fr: "le compte est ",
|
|
294
|
-
es: "el recuento es ",
|
|
295
|
-
pl: "licznik to ",
|
|
296
|
-
}),
|
|
297
|
-
|
|
298
|
-
edit:
|
|
299
|
-
t <
|
|
300
|
-
ReactNode >
|
|
301
|
-
{
|
|
302
|
-
// Nie zapomnij zaimportować React, jeśli używasz React node w swojej zawartości
|
|
303
|
-
en: (
|
|
304
|
-
<>
|
|
305
|
-
Edit <code>src/App.tsx</code> and save to test HMR
|
|
306
|
-
</>
|
|
307
|
-
),
|
|
308
|
-
pl: (
|
|
309
|
-
<>
|
|
310
|
-
Edytuj <code>src/App.tsx</code> i zapisz, aby przetestować HMR
|
|
311
|
-
</>
|
|
312
|
-
),
|
|
313
|
-
},
|
|
314
|
-
</>
|
|
315
|
-
),
|
|
316
|
-
fr: (
|
|
317
|
-
<>
|
|
318
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
319
|
-
</>
|
|
320
|
-
),
|
|
321
|
-
es: (
|
|
322
|
-
<>
|
|
323
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
324
|
-
</>
|
|
325
|
-
),
|
|
326
|
-
pl: (
|
|
327
|
-
<>
|
|
328
|
-
Edytuj <code>src/App.tsx</code> i zapisz, aby przetestować HMR
|
|
329
|
-
</>
|
|
330
|
-
),
|
|
331
|
-
},
|
|
332
|
-
|
|
333
|
-
readTheDocs: t({
|
|
334
|
-
en: "Click on the Vite and React logos to learn more",
|
|
335
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
336
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
337
|
-
pl: "Kliknij na logotypy Vite i React, aby dowiedzieć się więcej",
|
|
338
|
-
}),
|
|
339
|
-
},
|
|
340
|
-
};
|
|
341
|
-
|
|
342
|
-
export default appContent;
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
|
|
346
|
-
const { t } = require("intlayer");
|
|
347
|
-
|
|
348
|
-
/** @type {import('intlayer').Dictionary} */
|
|
349
|
-
const appContent = {
|
|
350
|
-
key: "app",
|
|
351
|
-
content: {
|
|
352
|
-
viteLogo: t({
|
|
353
|
-
en: "Vite logo",
|
|
354
|
-
pl: "Logo Vite",
|
|
355
|
-
fr: "Logo Vite",
|
|
356
|
-
es: "Logo Vite",
|
|
357
|
-
}),
|
|
358
|
-
reactLogo: t({
|
|
359
|
-
en: "React logo",
|
|
360
|
-
pl: "Logo React",
|
|
361
|
-
fr: "Logo React",
|
|
362
|
-
es: "Logo React",
|
|
363
|
-
}),
|
|
364
|
-
|
|
365
|
-
title: "Vite + React",
|
|
366
|
-
|
|
367
|
-
count: t({
|
|
368
|
-
en: "count is ",
|
|
369
|
-
pl: "licznik to ",
|
|
370
|
-
fr: "le compte est ",
|
|
371
|
-
es: "el recuento es ",
|
|
372
|
-
}),
|
|
373
|
-
|
|
374
|
-
edit:
|
|
375
|
-
t <
|
|
376
|
-
ReactNode >
|
|
377
|
-
{
|
|
378
|
-
// Nie zapomnij zaimportować React, jeśli używasz React node w swojej zawartości
|
|
379
|
-
en: (
|
|
380
|
-
<>
|
|
381
|
-
Edit <code>src/App.tsx</code> and save to test HMR
|
|
382
|
-
</>
|
|
383
|
-
),
|
|
384
|
-
fr: (
|
|
385
|
-
<>
|
|
386
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
387
|
-
</>
|
|
388
|
-
),
|
|
389
|
-
es: (
|
|
390
|
-
<>
|
|
391
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
392
|
-
</>
|
|
393
|
-
),
|
|
394
|
-
},
|
|
395
|
-
|
|
396
|
-
readTheDocs: t({
|
|
397
|
-
en: "Click on the Vite and React logos to learn more",
|
|
398
|
-
pl: "Kliknij na logotypy Vite i React, aby dowiedzieć się więcej",
|
|
399
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
400
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
401
|
-
}),
|
|
402
|
-
},
|
|
403
|
-
};
|
|
404
|
-
|
|
405
|
-
module.exports = appContent;
|
|
406
|
-
```
|
|
407
|
-
|
|
408
220
|
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
409
221
|
{
|
|
410
222
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -483,7 +295,7 @@ module.exports = appContent;
|
|
|
483
295
|
|
|
484
296
|
Uzyskaj dostęp do swoich słowników treści w całej aplikacji:
|
|
485
297
|
|
|
486
|
-
```tsx {5,9} fileName="src/App.tsx" codeFormat="typescript"
|
|
298
|
+
```tsx {5,9} fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
487
299
|
import { useState, type FC } from "react";
|
|
488
300
|
import reactLogo from "./assets/react.svg";
|
|
489
301
|
import viteLogo from "/vite.svg";
|
|
@@ -530,100 +342,6 @@ const App: FC = () => (
|
|
|
530
342
|
export default App;
|
|
531
343
|
```
|
|
532
344
|
|
|
533
|
-
```tsx {5,9} fileName="src/App.msx" codeFormat="esm"
|
|
534
|
-
import { useState } from "react";
|
|
535
|
-
import reactLogo from "./assets/react.svg";
|
|
536
|
-
import viteLogo from "/vite.svg";
|
|
537
|
-
import "./App.css";
|
|
538
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
539
|
-
|
|
540
|
-
const AppContent = () => {
|
|
541
|
-
const [count, setCount] = useState(0);
|
|
542
|
-
const content = useIntlayer("app");
|
|
543
|
-
|
|
544
|
-
return (
|
|
545
|
-
<>
|
|
546
|
-
<div>
|
|
547
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
548
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
549
|
-
</a>
|
|
550
|
-
<a href="https://react.dev" target="_blank">
|
|
551
|
-
<img
|
|
552
|
-
src={reactLogo}
|
|
553
|
-
className="logo react"
|
|
554
|
-
alt={content.reactLogo.value}
|
|
555
|
-
/>
|
|
556
|
-
</a>
|
|
557
|
-
</div>
|
|
558
|
-
<h1>{content.title}</h1>
|
|
559
|
-
<div className="card">
|
|
560
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
561
|
-
{content.count}
|
|
562
|
-
{count}
|
|
563
|
-
</button>
|
|
564
|
-
<p>{content.edit}</p>
|
|
565
|
-
</div>
|
|
566
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
567
|
-
</>
|
|
568
|
-
);
|
|
569
|
-
};
|
|
570
|
-
|
|
571
|
-
const App = () => (
|
|
572
|
-
<IntlayerProvider>
|
|
573
|
-
<AppContent />
|
|
574
|
-
</IntlayerProvider>
|
|
575
|
-
);
|
|
576
|
-
|
|
577
|
-
export default App;
|
|
578
|
-
```
|
|
579
|
-
|
|
580
|
-
```tsx {5,9} fileName="src/App.csx" codeFormat="commonjs"
|
|
581
|
-
const { useState } = require("react");
|
|
582
|
-
const reactLogo = require("./assets/react.svg");
|
|
583
|
-
const viteLogo = require("/vite.svg");
|
|
584
|
-
require("./App.css");
|
|
585
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
586
|
-
|
|
587
|
-
const AppContent = () => {
|
|
588
|
-
const [count, setCount] = useState(0);
|
|
589
|
-
const content = useIntlayer("app");
|
|
590
|
-
|
|
591
|
-
return (
|
|
592
|
-
<>
|
|
593
|
-
<div>
|
|
594
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
595
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
596
|
-
</a>
|
|
597
|
-
<a href="https://react.dev" target="_blank">
|
|
598
|
-
<img
|
|
599
|
-
src={reactLogo}
|
|
600
|
-
className="logo react"
|
|
601
|
-
alt={content.reactLogo.value}
|
|
602
|
-
/>
|
|
603
|
-
</a>
|
|
604
|
-
</div>
|
|
605
|
-
<h1>{content.title}</h1>
|
|
606
|
-
<div className="card">
|
|
607
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
608
|
-
{content.count}
|
|
609
|
-
{count}
|
|
610
|
-
</button>
|
|
611
|
-
<p>{content.edit}</p>
|
|
612
|
-
</div>
|
|
613
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
614
|
-
</>
|
|
615
|
-
);
|
|
616
|
-
};
|
|
617
|
-
|
|
618
|
-
const App = () => (
|
|
619
|
-
<IntlayerProvider>
|
|
620
|
-
<AppContent />
|
|
621
|
-
</IntlayerProvider>
|
|
622
|
-
);
|
|
623
|
-
|
|
624
|
-
module.exports = App;
|
|
625
|
-
```
|
|
626
|
-
|
|
627
345
|
> Jeśli chcesz użyć swojej zawartości w atrybucie typu `string`, takim jak `alt`, `title`, `href`, `aria-label` itp., musisz wywołać wartość funkcji, na przykład:
|
|
628
346
|
|
|
629
347
|
> ```jsx
|
|
@@ -638,7 +356,7 @@ module.exports = App;
|
|
|
638
356
|
|
|
639
357
|
Aby zmienić język swojej zawartości, możesz użyć funkcji `setLocale` dostarczonej przez hook `useLocale`. Funkcja ta pozwala ustawić lokalizację aplikacji i odpowiednio zaktualizować zawartość.
|
|
640
358
|
|
|
641
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
359
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
642
360
|
import type { FC } from "react";
|
|
643
361
|
import { Locales } from "intlayer";
|
|
644
362
|
import { useLocale } from "react-intlayer";
|
|
@@ -654,36 +372,6 @@ const LocaleSwitcher: FC = () => {
|
|
|
654
372
|
};
|
|
655
373
|
```
|
|
656
374
|
|
|
657
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
658
|
-
import { Locales } from "intlayer";
|
|
659
|
-
import { useLocale } from "react-intlayer";
|
|
660
|
-
|
|
661
|
-
const LocaleSwitcher = () => {
|
|
662
|
-
const { setLocale } = useLocale();
|
|
663
|
-
|
|
664
|
-
return (
|
|
665
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
666
|
-
Zmień język na angielski
|
|
667
|
-
</button>
|
|
668
|
-
);
|
|
669
|
-
};
|
|
670
|
-
```
|
|
671
|
-
|
|
672
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
673
|
-
const { Locales } = require("intlayer");
|
|
674
|
-
const { useLocale } = require("react-intlayer");
|
|
675
|
-
|
|
676
|
-
const LocaleSwitcher = () => {
|
|
677
|
-
const { setLocale } = useLocale();
|
|
678
|
-
|
|
679
|
-
return (
|
|
680
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
681
|
-
Zmień język na angielski
|
|
682
|
-
</button>
|
|
683
|
-
);
|
|
684
|
-
};
|
|
685
|
-
```
|
|
686
|
-
|
|
687
375
|
> Aby dowiedzieć się więcej o hooku `useLocale`, zapoznaj się z [dokumentacją](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/react-intlayer/useLocale.md).
|
|
688
376
|
|
|
689
377
|
### (Opcjonalny) Krok 7: Dodaj lokalizowane routingi do swojej aplikacji
|
|
@@ -701,7 +389,7 @@ Przykład:
|
|
|
701
389
|
|
|
702
390
|
Aby dodać lokalizowany routing do swojej aplikacji, możesz utworzyć komponent `LocaleRouter`, który opakuje trasy Twojej aplikacji i obsłuży routing oparty na lokalizacji. Oto przykład z użyciem [React Router](https://reactrouter.com/home):
|
|
703
391
|
|
|
704
|
-
```tsx fileName="src/components/LocaleRouter.tsx"
|
|
392
|
+
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat={["typescript", "esm"]}
|
|
705
393
|
import { localeMap } from "intlayer"; // Funkcje narzędziowe i typy z 'intlayer'
|
|
706
394
|
import type { FC, PropsWithChildren } from "react"; // Typy React dla komponentów funkcyjnych i propsów
|
|
707
395
|
import { IntlayerProvider } from "react-intlayer"; // Provider dla kontekstu internacjonalizacji
|
|
@@ -729,69 +417,11 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
729
417
|
);
|
|
730
418
|
```
|
|
731
419
|
|
|
732
|
-
```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
|
|
733
|
-
import { localeMap } from 'intlayer'; // Funkcje narzędziowe i typy z 'intlayer'
|
|
734
|
-
import type { FC, PropsWithChildren } from 'react'; // Typy React dla komponentów funkcyjnych i propsów
|
|
735
|
-
import { IntlayerProvider } from "react-intlayer"; // Provider dla kontekstu internacjonalizacji
|
|
736
|
-
import { BrowserRouter, Route, Routes } from 'react-router-dom'; // Komponenty routera do zarządzania nawigacją
|
|
737
|
-
|
|
738
|
-
/**
|
|
739
|
-
* Komponent routera, który ustawia trasy specyficzne dla lokalizacji.
|
|
740
|
-
* Używa React Router do zarządzania nawigacją i renderowania zlokalizowanych komponentów.
|
|
741
|
-
*/
|
|
742
|
-
export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
743
|
-
<BrowserRouter>
|
|
744
|
-
<Routes>
|
|
745
|
-
{localeMap(({ locale, urlPrefix }) => (
|
|
746
|
-
<Route
|
|
747
|
-
// Wzorzec trasy do przechwytywania lokalizacji (np. /en/, /fr/) i dopasowania wszystkich kolejnych ścieżek
|
|
748
|
-
path={`${urlPrefix}/*`}
|
|
749
|
-
key={locale}
|
|
750
|
-
element={
|
|
751
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
752
|
-
} // Owinie dzieci w zarządzanie lokalizacją
|
|
753
|
-
/>
|
|
754
|
-
))}
|
|
755
|
-
</Routes>
|
|
756
|
-
</BrowserRouter>
|
|
757
|
-
);
|
|
758
|
-
```
|
|
759
|
-
|
|
760
|
-
```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
|
|
761
|
-
const { localeMap } = require("intlayer"); // Funkcje narzędziowe i typy z 'intlayer'
|
|
762
|
-
const React = require("react"); // Import React
|
|
763
|
-
const { IntlayerProvider } = require("react-intlayer"); // Provider kontekstu internacjonalizacji
|
|
764
|
-
const { BrowserRouter, Route, Routes } = require("react-router-dom"); // Komponenty routera do zarządzania nawigacją
|
|
765
|
-
|
|
766
|
-
/**
|
|
767
|
-
* Komponent routera, który ustawia trasy specyficzne dla lokalizacji.
|
|
768
|
-
* Używa React Router do zarządzania nawigacją i renderowania zlokalizowanych komponentów.
|
|
769
|
-
*/
|
|
770
|
-
const LocaleRouter = ({ children }) =>
|
|
771
|
-
React.createElement(
|
|
772
|
-
BrowserRouter,
|
|
773
|
-
{},
|
|
774
|
-
React.createElement(
|
|
775
|
-
Routes,
|
|
776
|
-
{},
|
|
777
|
-
localeMap(({ locale, urlPrefix }) =>
|
|
778
|
-
React.createElement(Route, {
|
|
779
|
-
path: `${urlPrefix}/*`,
|
|
780
|
-
key: locale,
|
|
781
|
-
element: React.createElement(IntlayerProvider, { locale }, children),
|
|
782
|
-
})
|
|
783
|
-
)
|
|
784
|
-
)
|
|
785
|
-
);
|
|
786
|
-
|
|
787
|
-
exports.LocaleRouter = LocaleRouter;
|
|
788
|
-
```
|
|
789
|
-
|
|
790
420
|
> Uwaga: Jeśli używasz `routing.mode: 'no-prefix' | 'search-params'`, prawdopodobnie nie musisz używać funkcji `localeMap`.
|
|
791
421
|
|
|
792
422
|
Następnie możesz użyć komponentu `LocaleRouter` w swojej aplikacji:
|
|
793
423
|
|
|
794
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
424
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
795
425
|
import { LocaleRouter } from "./components/LocaleRouter";
|
|
796
426
|
import type { FC } from "react";
|
|
797
427
|
|
|
@@ -804,229 +434,47 @@ const App: FC = () => (
|
|
|
804
434
|
);
|
|
805
435
|
```
|
|
806
436
|
|
|
807
|
-
```jsx fileName="src/App.mjx" codeFormat="esm"
|
|
808
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
809
|
-
|
|
810
|
-
// ... Twój komponent AppContent
|
|
811
|
-
|
|
812
|
-
const App = () => (
|
|
813
|
-
<LocaleRouter>
|
|
814
|
-
<AppContent />
|
|
815
|
-
</LocaleRouter>
|
|
816
|
-
);
|
|
817
|
-
```
|
|
818
|
-
|
|
819
|
-
```jsx fileName="src/App.cjx" codeFormat="commonjs"
|
|
820
|
-
const { LocaleRouter } = require("./components/LocaleRouter");
|
|
821
|
-
|
|
822
|
-
// ... Twój komponent AppContent
|
|
823
|
-
|
|
824
|
-
const App = () => (
|
|
825
|
-
<LocaleRouter>
|
|
826
|
-
<AppContent />
|
|
827
|
-
</LocaleRouter>
|
|
828
|
-
);
|
|
829
|
-
```
|
|
830
|
-
|
|
831
437
|
Równolegle możesz również użyć `intlayerProxy`, aby dodać routing po stronie serwera do swojej aplikacji. Ten plugin automatycznie wykryje bieżącą lokalizację na podstawie URL i ustawi odpowiedni cookie lokalizacji. Jeśli lokalizacja nie jest określona, plugin wybierze najbardziej odpowiednią lokalizację na podstawie preferencji językowych przeglądarki użytkownika. Jeśli żadna lokalizacja nie zostanie wykryta, nastąpi przekierowanie do domyślnej lokalizacji.
|
|
832
438
|
|
|
833
439
|
> Uwaga: aby używać `intlayerProxy` w produkcji, musisz przenieść pakiet `vite-intlayer` z `devDependencies` do `dependencies`.
|
|
834
440
|
|
|
835
|
-
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
441
|
+
```typescript {3,7} fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
836
442
|
import { defineConfig } from "vite";
|
|
837
443
|
import react from "@vitejs/plugin-react-swc";
|
|
838
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
839
|
-
|
|
840
|
-
// https://vitejs.dev/config/
|
|
841
|
-
export default defineConfig({
|
|
842
|
-
plugins: [
|
|
843
|
-
intlayerProxy(), // should be placed first
|
|
844
|
-
react(),
|
|
845
|
-
intlayer(),
|
|
846
|
-
],
|
|
847
|
-
});
|
|
848
|
-
```
|
|
849
|
-
|
|
850
|
-
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
851
|
-
import { defineConfig } from "vite";
|
|
852
|
-
import react from "@vitejs/plugin-react-swc";
|
|
853
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
854
|
-
|
|
855
|
-
// https://vitejs.dev/config/
|
|
856
|
-
export default defineConfig({
|
|
857
|
-
plugins: [
|
|
858
|
-
intlayerProxy(), // should be placed first
|
|
859
|
-
react(),
|
|
860
|
-
intlayer(),
|
|
861
|
-
],
|
|
862
|
-
});
|
|
863
|
-
```
|
|
864
|
-
|
|
865
|
-
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
866
|
-
const { defineConfig } = require("vite");
|
|
867
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
868
|
-
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
869
|
-
|
|
870
|
-
// https://vitejs.dev/config/
|
|
871
|
-
module.exports = defineConfig({
|
|
872
|
-
plugins: [
|
|
873
|
-
intlayerProxy(), // should be placed first
|
|
874
|
-
react(),
|
|
875
|
-
intlayer(),
|
|
876
|
-
],
|
|
877
|
-
});
|
|
878
|
-
```
|
|
879
|
-
|
|
880
|
-
### (Opcjonalny) Krok 8: Zmiana URL po zmianie lokalizacji
|
|
881
|
-
|
|
882
|
-
Aby zmienić URL po zmianie lokalizacji, możesz użyć właściwości `onLocaleChange` dostarczanej przez hook `useLocale`. Równolegle możesz użyć hooków `useLocation` i `useNavigate` z `react-router-dom`, aby zaktualizować ścieżkę URL.
|
|
883
|
-
|
|
884
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
885
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
886
|
-
import {
|
|
887
|
-
Locales,
|
|
888
|
-
getHTMLTextDir,
|
|
889
|
-
getLocaleName,
|
|
890
|
-
getLocalizedUrl,
|
|
891
|
-
} from "intlayer";
|
|
892
|
-
import { useLocale } from "react-intlayer";
|
|
893
|
-
import { type FC } from "react";
|
|
894
|
-
|
|
895
|
-
const LocaleSwitcher: FC = () => {
|
|
896
|
-
const { pathname, search } = useLocation(); // Pobierz aktualną ścieżkę URL. Przykład: /fr/about?foo=bar
|
|
897
|
-
const navigate = useNavigate();
|
|
898
|
-
|
|
899
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
900
|
-
onLocaleChange: (locale) => {
|
|
901
|
-
// Zbuduj URL z zaktualizowanym locale
|
|
902
|
-
// Przykład: /es/about?foo=bar
|
|
903
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
904
|
-
|
|
905
|
-
// Zaktualizuj ścieżkę URL
|
|
906
|
-
navigate(pathWithLocale);
|
|
907
|
-
},
|
|
908
|
-
});
|
|
909
|
-
|
|
910
|
-
return (
|
|
911
|
-
<div>
|
|
912
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
913
|
-
<div id="localePopover" popover="auto">
|
|
914
|
-
{availableLocales.map((localeItem) => (
|
|
915
|
-
<a
|
|
916
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
917
|
-
hrefLang={localeItem}
|
|
918
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
919
|
-
onClick={(e) => {
|
|
920
|
-
e.preventDefault();
|
|
921
|
-
setLocale(localeItem);
|
|
922
|
-
}}
|
|
923
|
-
key={localeItem}
|
|
924
|
-
>
|
|
925
|
-
<span>
|
|
926
|
-
{/* Lokalizacja - np. FR */}
|
|
927
|
-
{localeItem}
|
|
928
|
-
</span>
|
|
929
|
-
<span>
|
|
930
|
-
{/* Język w swojej własnej lokalizacji - np. Français */}
|
|
931
|
-
{getLocaleName(localeItem, locale)}
|
|
932
|
-
</span>
|
|
933
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
934
|
-
{/* Język w bieżącej lokalizacji - np. Francés przy ustawionej lokalizacji Locales.SPANISH */}
|
|
935
|
-
{getLocaleName(localeItem)}
|
|
936
|
-
</span>
|
|
937
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
938
|
-
{/* Język po angielsku - np. French */}
|
|
939
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
940
|
-
</span>
|
|
941
|
-
</a>
|
|
942
|
-
))}
|
|
943
|
-
</div>
|
|
944
|
-
</div>
|
|
945
|
-
);
|
|
946
|
-
};
|
|
947
|
-
```
|
|
948
|
-
|
|
949
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
950
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
951
|
-
import {
|
|
952
|
-
Locales,
|
|
953
|
-
getHTMLTextDir,
|
|
954
|
-
getLocaleName,
|
|
955
|
-
getLocalizedUrl,
|
|
956
|
-
} from "intlayer";
|
|
957
|
-
import { useLocale } from "react-intlayer";
|
|
958
|
-
|
|
959
|
-
const LocaleSwitcher = () => {
|
|
960
|
-
const { pathname, search } = useLocation(); // Pobierz aktualną ścieżkę URL. Przykład: /fr/about?foo=bar
|
|
961
|
-
const navigate = useNavigate();
|
|
962
|
-
|
|
963
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
964
|
-
onLocaleChange: (locale) => {
|
|
965
|
-
// Zbuduj URL z zaktualizowanym locale
|
|
966
|
-
// Przykład: /es/about?foo=bar
|
|
967
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
968
|
-
|
|
969
|
-
// Aktualizacja ścieżki URL
|
|
970
|
-
navigate(pathWithLocale);
|
|
971
|
-
},
|
|
972
|
-
});
|
|
444
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
973
445
|
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
983
|
-
onClick={(e) => {
|
|
984
|
-
e.preventDefault();
|
|
985
|
-
setLocale(localeItem);
|
|
986
|
-
}}
|
|
987
|
-
key={localeItem}
|
|
988
|
-
>
|
|
989
|
-
<span>
|
|
990
|
-
{/* Lokalizacja - np. FR */}
|
|
991
|
-
{localeItem}
|
|
992
|
-
</span>
|
|
993
|
-
<span>
|
|
994
|
-
{/* Język w jego własnej lokalizacji - np. Français */}
|
|
995
|
-
{getLocaleName(localeItem, locale)}
|
|
996
|
-
</span>
|
|
997
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
998
|
-
{/* Język w bieżącej lokalizacji - np. Francés przy ustawionej lokalizacji Locales.SPANISH */}
|
|
999
|
-
{getLocaleName(localeItem)}
|
|
1000
|
-
</span>
|
|
1001
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1002
|
-
{/* Język po angielsku - np. French */}
|
|
1003
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1004
|
-
</span>
|
|
1005
|
-
</a>
|
|
1006
|
-
))}
|
|
1007
|
-
</div>
|
|
1008
|
-
</div>
|
|
1009
|
-
);
|
|
1010
|
-
};
|
|
446
|
+
// https://vitejs.dev/config/
|
|
447
|
+
export default defineConfig({
|
|
448
|
+
plugins: [
|
|
449
|
+
intlayerProxy(), // should be placed first
|
|
450
|
+
react(),
|
|
451
|
+
intlayer(),
|
|
452
|
+
],
|
|
453
|
+
});
|
|
1011
454
|
```
|
|
1012
455
|
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
456
|
+
### (Opcjonalny) Krok 8: Zmiana URL po zmianie lokalizacji
|
|
457
|
+
|
|
458
|
+
Aby zmienić URL po zmianie lokalizacji, możesz użyć właściwości `onLocaleChange` dostarczanej przez hook `useLocale`. Równolegle możesz użyć hooków `useLocation` i `useNavigate` z `react-router-dom`, aby zaktualizować ścieżkę URL.
|
|
459
|
+
|
|
460
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
461
|
+
import { useLocation, useNavigate } from "react-router-dom";
|
|
462
|
+
import {
|
|
1016
463
|
Locales,
|
|
1017
464
|
getHTMLTextDir,
|
|
1018
465
|
getLocaleName,
|
|
1019
466
|
getLocalizedUrl,
|
|
1020
|
-
}
|
|
1021
|
-
|
|
467
|
+
} from "intlayer";
|
|
468
|
+
import { useLocale } from "react-intlayer";
|
|
469
|
+
import { type FC } from "react";
|
|
1022
470
|
|
|
1023
|
-
const LocaleSwitcher = () => {
|
|
471
|
+
const LocaleSwitcher: FC = () => {
|
|
1024
472
|
const { pathname, search } = useLocation(); // Pobierz aktualną ścieżkę URL. Przykład: /fr/about?foo=bar
|
|
1025
473
|
const navigate = useNavigate();
|
|
1026
474
|
|
|
1027
475
|
const { locale, availableLocales, setLocale } = useLocale({
|
|
1028
476
|
onLocaleChange: (locale) => {
|
|
1029
|
-
//
|
|
477
|
+
// Zbuduj URL z zaktualizowanym locale
|
|
1030
478
|
// Przykład: /es/about?foo=bar
|
|
1031
479
|
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
1032
480
|
|
|
@@ -1055,7 +503,7 @@ const LocaleSwitcher = () => {
|
|
|
1055
503
|
{localeItem}
|
|
1056
504
|
</span>
|
|
1057
505
|
<span>
|
|
1058
|
-
{/* Język w
|
|
506
|
+
{/* Język w swojej własnej lokalizacji - np. Français */}
|
|
1059
507
|
{getLocaleName(localeItem, locale)}
|
|
1060
508
|
</span>
|
|
1061
509
|
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
@@ -1103,7 +551,7 @@ Aktualizując te atrybuty dynamicznie przy zmianie lokalizacji, zapewniasz spój
|
|
|
1103
551
|
|
|
1104
552
|
Utwórz niestandardowy hook do zarządzania atrybutami HTML. Hook nasłuchuje zmian lokalizacji i odpowiednio aktualizuje atrybuty:
|
|
1105
553
|
|
|
1106
|
-
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
|
|
554
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
1107
555
|
import { useEffect } from "react";
|
|
1108
556
|
import { useLocale } from "react-intlayer";
|
|
1109
557
|
import { getHTMLTextDir } from "intlayer";
|
|
@@ -1128,63 +576,11 @@ export const useI18nHTMLAttributes = () => {
|
|
|
1128
576
|
};
|
|
1129
577
|
```
|
|
1130
578
|
|
|
1131
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
|
|
1132
|
-
import { useEffect } from "react";
|
|
1133
|
-
import { useLocale } from "react-intlayer";
|
|
1134
|
-
import { getHTMLTextDir } from "intlayer";
|
|
1135
|
-
|
|
1136
|
-
/**
|
|
1137
|
-
* Aktualizuje atrybuty `lang` i `dir` elementu HTML <html> na podstawie bieżącego locale.
|
|
1138
|
-
* - `lang`: Informuje przeglądarki i wyszukiwarki o języku strony.
|
|
1139
|
-
* - `dir`: Zapewnia poprawny kierunek czytania (np. 'ltr' dla angielskiego, 'rtl' dla arabskiego).
|
|
1140
|
-
*
|
|
1141
|
-
* Ta dynamiczna aktualizacja jest niezbędna dla prawidłowego renderowania tekstu, dostępności i SEO.
|
|
1142
|
-
*/
|
|
1143
|
-
export const useI18nHTMLAttributes = () => {
|
|
1144
|
-
const { locale } = useLocale();
|
|
1145
|
-
|
|
1146
|
-
useEffect(() => {
|
|
1147
|
-
// Aktualizuj atrybut języka na bieżącą lokalizację.
|
|
1148
|
-
document.documentElement.lang = locale;
|
|
1149
|
-
|
|
1150
|
-
// Ustaw kierunek tekstu na podstawie bieżącej lokalizacji.
|
|
1151
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1152
|
-
}, [locale]);
|
|
1153
|
-
};
|
|
1154
|
-
```
|
|
1155
|
-
|
|
1156
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
|
|
1157
|
-
const { useEffect } = require("react");
|
|
1158
|
-
const { useLocale } = require("react-intlayer");
|
|
1159
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
1160
|
-
|
|
1161
|
-
/**
|
|
1162
|
-
* Aktualizuje atrybuty `lang` i `dir` elementu HTML <html> na podstawie aktualnej lokalizacji.
|
|
1163
|
-
* - `lang`: Informuje przeglądarki i wyszukiwarki o języku strony.
|
|
1164
|
-
* - `dir`: Zapewnia prawidłowy kierunek czytania (np. 'ltr' dla angielskiego, 'rtl' dla arabskiego).
|
|
1165
|
-
*
|
|
1166
|
-
* Ta dynamiczna aktualizacja jest niezbędna dla prawidłowego renderowania tekstu, dostępności oraz SEO.
|
|
1167
|
-
*/
|
|
1168
|
-
const useI18nHTMLAttributes = () => {
|
|
1169
|
-
const { locale } = useLocale();
|
|
1170
|
-
|
|
1171
|
-
useEffect(() => {
|
|
1172
|
-
// Aktualizuj atrybut języka na aktualną lokalizację.
|
|
1173
|
-
document.documentElement.lang = locale;
|
|
1174
|
-
|
|
1175
|
-
// Ustaw kierunek tekstu na podstawie aktualnej lokalizacji.
|
|
1176
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1177
|
-
}, [locale]);
|
|
1178
|
-
};
|
|
1179
|
-
|
|
1180
|
-
module.exports = { useI18nHTMLAttributes };
|
|
1181
|
-
```
|
|
1182
|
-
|
|
1183
579
|
#### Użycie Hooka w Twojej Aplikacji
|
|
1184
580
|
|
|
1185
581
|
Zintegruj hook w swoim głównym komponencie, aby atrybuty HTML były aktualizowane za każdym razem, gdy zmienia się locale:
|
|
1186
582
|
|
|
1187
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
583
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
1188
584
|
import type { FC } from "react";
|
|
1189
585
|
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1190
586
|
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
@@ -1206,62 +602,6 @@ const App: FC = () => (
|
|
|
1206
602
|
export default App;
|
|
1207
603
|
```
|
|
1208
604
|
|
|
1209
|
-
```jsx fileName="src/App.msx" codeFormat="esm"
|
|
1210
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1211
|
-
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
1212
|
-
import "./App.css";
|
|
1213
|
-
|
|
1214
|
-
const AppContent = () => {
|
|
1215
|
-
// Zastosuj hook, aby aktualizować atrybuty lang i dir tagu <html> w zależności od lokalizacji.
|
|
1216
|
-
useI18nHTMLAttributes();
|
|
1217
|
-
|
|
1218
|
-
// ... Reszta twojego komponentu
|
|
1219
|
-
};
|
|
1220
|
-
|
|
1221
|
-
const App = () => (
|
|
1222
|
-
<IntlayerProvider>
|
|
1223
|
-
<AppContent />
|
|
1224
|
-
</IntlayerProvider>
|
|
1225
|
-
);
|
|
1226
|
-
|
|
1227
|
-
export default App;
|
|
1228
|
-
```
|
|
1229
|
-
|
|
1230
|
-
```jsx fileName="src/App.csx" codeFormat="commonjs"
|
|
1231
|
-
const { FC } = require("react");
|
|
1232
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
1233
|
-
const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
|
|
1234
|
-
require("./App.css");
|
|
1235
|
-
|
|
1236
|
-
const AppContent = () => {
|
|
1237
|
-
// Zastosuj hook, aby aktualizować atrybuty lang i dir tagu <html> w zależności od lokalizacji.
|
|
1238
|
-
useI18nHTMLAttributes();
|
|
1239
|
-
|
|
1240
|
-
// ... Reszta twojego komponentu
|
|
1241
|
-
};
|
|
1242
|
-
|
|
1243
|
-
const App = () => (
|
|
1244
|
-
<IntlayerProvider>
|
|
1245
|
-
<AppContent />
|
|
1246
|
-
</IntlayerProvider>
|
|
1247
|
-
);
|
|
1248
|
-
|
|
1249
|
-
module.exports = App;
|
|
1250
|
-
// Zastosuj hook, aby zaktualizować atrybuty lang i dir tagu <html> na podstawie lokalizacji.
|
|
1251
|
-
useI18nHTMLAttributes();
|
|
1252
|
-
|
|
1253
|
-
// ... Reszta twojego komponentu
|
|
1254
|
-
};
|
|
1255
|
-
|
|
1256
|
-
const App = () => (
|
|
1257
|
-
<IntlayerProvider>
|
|
1258
|
-
<AppContent />
|
|
1259
|
-
</IntlayerProvider>
|
|
1260
|
-
);
|
|
1261
|
-
|
|
1262
|
-
module.exports = App;
|
|
1263
|
-
```
|
|
1264
|
-
|
|
1265
605
|
Wprowadzając te zmiany, twoja aplikacja:
|
|
1266
606
|
|
|
1267
607
|
- Upewnij się, że atrybut **language** (`lang`) poprawnie odzwierciedla aktualną lokalizację, co jest ważne dla SEO i zachowania przeglądarki.
|
|
@@ -1280,7 +620,7 @@ To zachowanie jest przydatne z kilku powodów:
|
|
|
1280
620
|
|
|
1281
621
|
Poniżej znajduje się implementacja lokalizowanego komponentu `Link` w TypeScript:
|
|
1282
622
|
|
|
1283
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
623
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1284
624
|
import { getLocalizedUrl } from "intlayer";
|
|
1285
625
|
import {
|
|
1286
626
|
forwardRef,
|
|
@@ -1326,79 +666,6 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
1326
666
|
Link.displayName = "Link";
|
|
1327
667
|
```
|
|
1328
668
|
|
|
1329
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1330
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1331
|
-
import { useLocale } from "react-intlayer";
|
|
1332
|
-
import { forwardRef } from "react";
|
|
1333
|
-
|
|
1334
|
-
/**
|
|
1335
|
-
* Funkcja pomocnicza do sprawdzania, czy podany URL jest zewnętrzny.
|
|
1336
|
-
* Jeśli URL zaczyna się od http:// lub https://, jest uznawany za zewnętrzny.
|
|
1337
|
-
*/
|
|
1338
|
-
export const checkIsExternalLink = (href?: string): boolean =>
|
|
1339
|
-
/^https?:\/\//.test(href ?? "");
|
|
1340
|
-
|
|
1341
|
-
/**
|
|
1342
|
-
* Niestandardowy komponent Link, który dostosowuje atrybut href na podstawie aktualnego języka.
|
|
1343
|
-
* Dla linków wewnętrznych używa `getLocalizedUrl`, aby dodać prefiks języka do URL (np. /fr/about).
|
|
1344
|
-
* Zapewnia to, że nawigacja pozostaje w kontekście tego samego języka.
|
|
1345
|
-
*/
|
|
1346
|
-
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1347
|
-
const { locale } = useLocale();
|
|
1348
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1349
|
-
|
|
1350
|
-
// Jeśli link jest wewnętrzny i podano prawidłowy href, pobierz zlokalizowany URL.
|
|
1351
|
-
const hrefI18n =
|
|
1352
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1353
|
-
|
|
1354
|
-
return (
|
|
1355
|
-
<a href={hrefI18n} ref={ref} {...props}>
|
|
1356
|
-
{children}
|
|
1357
|
-
</a>
|
|
1358
|
-
);
|
|
1359
|
-
});
|
|
1360
|
-
|
|
1361
|
-
Link.displayName = "Link";
|
|
1362
|
-
```
|
|
1363
|
-
|
|
1364
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1365
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1366
|
-
const { useLocale } = require("react-intlayer");
|
|
1367
|
-
const { forwardRef } = require("react");
|
|
1368
|
-
|
|
1369
|
-
/**
|
|
1370
|
-
* Funkcja pomocnicza do sprawdzania, czy podany URL jest zewnętrzny.
|
|
1371
|
-
* Jeśli URL zaczyna się od http:// lub https://, jest uznawany za zewnętrzny.
|
|
1372
|
-
*/
|
|
1373
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1374
|
-
|
|
1375
|
-
/**
|
|
1376
|
-
* Niestandardowy komponent Link, który dostosowuje atrybut href na podstawie bieżącej lokalizacji.
|
|
1377
|
-
* Dla linków wewnętrznych używa `getLocalizedUrl`, aby poprzedzić URL lokalizacją (np. /fr/about).
|
|
1378
|
-
* Zapewnia to, że nawigacja pozostaje w tym samym kontekście lokalizacji.
|
|
1379
|
-
*/
|
|
1380
|
-
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1381
|
-
const { locale } = useLocale();
|
|
1382
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1383
|
-
|
|
1384
|
-
// Jeśli link jest wewnętrzny i podano prawidłowy href, pobierz zlokalizowany URL.
|
|
1385
|
-
const localizedHref = isExternalLink ? href : getLocalizedUrl(href, locale);
|
|
1386
|
-
|
|
1387
|
-
return (
|
|
1388
|
-
<a
|
|
1389
|
-
href={localizedHref}
|
|
1390
|
-
ref={ref}
|
|
1391
|
-
{...props}
|
|
1392
|
-
aria-current={isExternalLink ? "external" : undefined}
|
|
1393
|
-
>
|
|
1394
|
-
{children}
|
|
1395
|
-
</a>
|
|
1396
|
-
);
|
|
1397
|
-
});
|
|
1398
|
-
|
|
1399
|
-
Link.displayName = "Link";
|
|
1400
|
-
```
|
|
1401
|
-
|
|
1402
669
|
#### Jak to działa
|
|
1403
670
|
|
|
1404
671
|
- **Wykrywanie linków zewnętrznych**:
|
|
@@ -1471,7 +738,7 @@ Aby ułatwić ten proces, Intlayer proponuje [kompilator](https://github.com/aym
|
|
|
1471
738
|
|
|
1472
739
|
Aby go skonfigurować, możesz dodać sekcję `compiler` w pliku `intlayer.config.ts`:
|
|
1473
740
|
|
|
1474
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
741
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1475
742
|
import { type IntlayerConfig } from "intlayer";
|
|
1476
743
|
|
|
1477
744
|
const config: IntlayerConfig = {
|
|
@@ -1502,66 +769,6 @@ const config: IntlayerConfig = {
|
|
|
1502
769
|
export default config;
|
|
1503
770
|
```
|
|
1504
771
|
|
|
1505
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1506
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1507
|
-
const config = {
|
|
1508
|
-
// ... Reszta Twojej konfiguracji
|
|
1509
|
-
compiler: {
|
|
1510
|
-
/**
|
|
1511
|
-
* Wskazuje, czy kompilator powinien być włączony.
|
|
1512
|
-
*/
|
|
1513
|
-
enabled: true,
|
|
1514
|
-
|
|
1515
|
-
/**
|
|
1516
|
-
* Definiuje ścieżkę plików wyjściowych
|
|
1517
|
-
*/
|
|
1518
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1519
|
-
|
|
1520
|
-
/**
|
|
1521
|
-
* Wskazuje, czy komponenty powinny zostać zapisane po transformacji. W ten sposób kompilator można uruchomić tylko raz, aby przetransformować aplikację, a następnie go usunąć.
|
|
1522
|
-
*/
|
|
1523
|
-
saveComponents: false,
|
|
1524
|
-
|
|
1525
|
-
/**
|
|
1526
|
-
* Prefiks klucza słownika
|
|
1527
|
-
*/
|
|
1528
|
-
dictionaryKeyPrefix: "",
|
|
1529
|
-
},
|
|
1530
|
-
};
|
|
1531
|
-
|
|
1532
|
-
export default config;
|
|
1533
|
-
```
|
|
1534
|
-
|
|
1535
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1536
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1537
|
-
const config = {
|
|
1538
|
-
// ... Reszta Twojej konfiguracji
|
|
1539
|
-
compiler: {
|
|
1540
|
-
/**
|
|
1541
|
-
* Wskazuje, czy kompilator powinien być włączony.
|
|
1542
|
-
*/
|
|
1543
|
-
enabled: true,
|
|
1544
|
-
|
|
1545
|
-
/**
|
|
1546
|
-
* Definiuje ścieżkę plików wyjściowych
|
|
1547
|
-
*/
|
|
1548
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1549
|
-
|
|
1550
|
-
/**
|
|
1551
|
-
* Wskazuje, czy komponenty powinny zostać zapisane po transformacji. W ten sposób kompilator można uruchomić tylko raz, aby przetransformować aplikację, a następnie go usunąć.
|
|
1552
|
-
*/
|
|
1553
|
-
saveComponents: false,
|
|
1554
|
-
|
|
1555
|
-
/**
|
|
1556
|
-
* Prefiks klucza słownika
|
|
1557
|
-
*/
|
|
1558
|
-
dictionaryKeyPrefix: "",
|
|
1559
|
-
},
|
|
1560
|
-
};
|
|
1561
|
-
|
|
1562
|
-
module.exports = config;
|
|
1563
|
-
```
|
|
1564
|
-
|
|
1565
772
|
<Tabs>
|
|
1566
773
|
<Tab value='Polecenie wyodrębniania'>
|
|
1567
774
|
|
|
@@ -1619,6 +826,80 @@ bun run build # Or bun run dev
|
|
|
1619
826
|
</Tab>
|
|
1620
827
|
</Tabs>
|
|
1621
828
|
|
|
829
|
+
### (Opcjonalnie) Sitemap i robots.txt (generacja przy buildzie)
|
|
830
|
+
|
|
831
|
+
Intlayer udostępnia `generateSitemap` i `getMultilingualUrls` — narzędzia do formatowania wielojęzycznych plików `sitemap.xml` i `robots.txt` dla crawlerów i automatycznego zapisu do `public/`. Zwykle uruchamia się mały skrypt Node **przed** Vite (np. hooki npm `predev` / `prebuild`).
|
|
832
|
+
|
|
833
|
+
#### Sitemap
|
|
834
|
+
|
|
835
|
+
Generator sitemap uwzględnia locale i dodaje metadane dla crawlerów.
|
|
836
|
+
|
|
837
|
+
> Sitemap obsługuje przestrzeń nazw `xhtml:link` (hreflang). Zamiast płaskiej listy URL Intlayer tworzy dwukierunkowe powiązania wszystkich wersji językowych strony (np. `/about`, `/fr/about` lub `/about?lang=fr` w zależności od routingu).
|
|
838
|
+
|
|
839
|
+
#### Robots.txt
|
|
840
|
+
|
|
841
|
+
Użyj `getMultilingualUrls`, by reguły `Disallow` obejmowały wszystkie zlokalizowane warianty ścieżek.
|
|
842
|
+
|
|
843
|
+
#### 1. Plik `generate-seo.mjs` w katalogu głównym
|
|
844
|
+
|
|
845
|
+
```javascript fileName="generate-seo.mjs"
|
|
846
|
+
import fs from "fs";
|
|
847
|
+
import path from "path";
|
|
848
|
+
import { fileURLToPath } from "url";
|
|
849
|
+
import { generateSitemap, getMultilingualUrls } from "intlayer";
|
|
850
|
+
|
|
851
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
852
|
+
|
|
853
|
+
const SITE_URL = (process.env.SITE_URL || "http://localhost:5173").replace(
|
|
854
|
+
/\/$/,
|
|
855
|
+
""
|
|
856
|
+
);
|
|
857
|
+
|
|
858
|
+
const pathList = [
|
|
859
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
860
|
+
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
861
|
+
];
|
|
862
|
+
|
|
863
|
+
const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
|
|
864
|
+
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
865
|
+
|
|
866
|
+
const getAllMultilingualUrls = (urls) =>
|
|
867
|
+
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
868
|
+
|
|
869
|
+
const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
|
|
870
|
+
|
|
871
|
+
const robotsTxt = [
|
|
872
|
+
"User-agent: *",
|
|
873
|
+
"Allow: /",
|
|
874
|
+
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
875
|
+
"",
|
|
876
|
+
`Sitemap: ${SITE_URL}/sitemap.xml`,
|
|
877
|
+
].join("\n");
|
|
878
|
+
|
|
879
|
+
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
880
|
+
|
|
881
|
+
console.log("SEO files generated successfully.");
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
Pakiet `intlayer` musi być zainstalowany. W produkcji ustaw `SITE_URL` w środowisku (np. w CI).
|
|
885
|
+
|
|
886
|
+
> Preferuj `generate-seo.mjs` dla ESM w Node. Przy `generate-seo.js` ustaw `"type": "module"` w `package.json` lub włącz ESM inaczej.
|
|
887
|
+
|
|
888
|
+
#### 2. Uruchom skrypt przed Vite
|
|
889
|
+
|
|
890
|
+
```json fileName="package.json"
|
|
891
|
+
{
|
|
892
|
+
"scripts": {
|
|
893
|
+
"dev": "vite",
|
|
894
|
+
"prebuild": "node generate-seo.mjs",
|
|
895
|
+
"build": "vite build",
|
|
896
|
+
"preview": "vite preview"
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
```
|
|
900
|
+
|
|
901
|
+
Dostosuj polecenia dla pnpm lub yarn. Możesz też wywołać skrypt z CI.
|
|
902
|
+
|
|
1622
903
|
### Idź dalej
|
|
1623
904
|
|
|
1624
905
|
Aby pójść dalej, możesz zaimplementować [edytor wizualny](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md) lub wyodrębnić swoją zawartość, korzystając z [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md).
|