@intlayer/docs 8.7.6 → 8.7.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1 -1
- package/blog/ar/i18n_using_next-intl.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/de/i18n_using_next-i18next.md +1 -1
- package/blog/de/i18n_using_next-intl.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en/i18n_using_next-i18next.md +1 -1
- package/blog/en/i18n_using_next-intl.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/en-GB/i18n_using_next-i18next.md +1 -1
- package/blog/en-GB/i18n_using_next-intl.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/es/i18n_using_next-i18next.md +1 -1
- package/blog/es/i18n_using_next-intl.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/fr/i18n_using_next-i18next.md +1 -1
- package/blog/fr/i18n_using_next-intl.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/hi/i18n_using_next-i18next.md +1 -1
- package/blog/hi/i18n_using_next-intl.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/id/i18n_using_next-i18next.md +1 -1
- package/blog/id/i18n_using_next-intl.md +1 -1
- package/blog/it/i18n_using_next-i18next.md +1 -1
- package/blog/it/i18n_using_next-intl.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ja/i18n_using_next-i18next.md +1 -1
- package/blog/ja/i18n_using_next-intl.md +1 -1
- package/blog/ko/i18n_using_next-i18next.md +1 -1
- package/blog/ko/i18n_using_next-intl.md +1 -1
- package/blog/pl/i18n_using_next-i18next.md +1 -1
- package/blog/pl/i18n_using_next-intl.md +1 -1
- package/blog/pt/i18n_using_next-i18next.md +1 -1
- package/blog/pt/i18n_using_next-intl.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/ru/i18n_using_next-i18next.md +1 -1
- package/blog/ru/i18n_using_next-intl.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +0 -4
- package/blog/tr/i18n_using_next-i18next.md +1 -1
- package/blog/tr/i18n_using_next-intl.md +1 -1
- package/blog/uk/i18n_using_next-i18next.md +1 -1
- package/blog/uk/i18n_using_next-intl.md +1 -1
- package/blog/vi/i18n_using_next-i18next.md +1 -1
- package/blog/vi/i18n_using_next-intl.md +1 -1
- package/blog/zh/i18n_using_next-i18next.md +1 -1
- package/blog/zh/i18n_using_next-intl.md +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/condition.md +2 -116
- package/docs/ar/dictionary/content_file.md +2 -202
- package/docs/ar/dictionary/enumeration.md +2 -116
- package/docs/ar/dictionary/file.md +3 -103
- package/docs/ar/dictionary/function_fetching.md +3 -105
- package/docs/ar/dictionary/gender.md +2 -140
- package/docs/ar/dictionary/insertion.md +3 -57
- package/docs/ar/dictionary/nesting.md +3 -121
- package/docs/ar/dictionary/translation.md +4 -146
- package/docs/ar/interest_of_intlayer.md +2 -59
- package/docs/ar/intlayer_CMS.md +3 -228
- package/docs/ar/intlayer_visual_editor.md +1 -72
- package/docs/ar/intlayer_with_adonisjs.md +3 -109
- package/docs/ar/intlayer_with_analog.md +21 -41
- package/docs/ar/intlayer_with_angular.md +15 -41
- package/docs/ar/intlayer_with_astro.md +187 -58
- package/docs/ar/intlayer_with_astro_lit.md +619 -0
- package/docs/ar/intlayer_with_astro_preact.md +568 -0
- package/docs/ar/intlayer_with_astro_react.md +566 -0
- package/docs/ar/intlayer_with_astro_solid.md +566 -0
- package/docs/ar/intlayer_with_astro_svelte.md +570 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +547 -0
- package/docs/ar/intlayer_with_astro_vue.md +588 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -388
- package/docs/ar/intlayer_with_express.md +5 -177
- package/docs/ar/intlayer_with_fastify.md +5 -193
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -116
- package/docs/ar/intlayer_with_nestjs.md +3 -33
- package/docs/ar/intlayer_with_nextjs_14.md +58 -491
- package/docs/ar/intlayer_with_nextjs_15.md +56 -815
- package/docs/ar/intlayer_with_nextjs_16.md +40 -883
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +12 -506
- package/docs/ar/intlayer_with_nextjs_page_router.md +37 -652
- package/docs/ar/intlayer_with_nuxt.md +16 -98
- package/docs/ar/intlayer_with_react_native+expo.md +31 -283
- package/docs/ar/intlayer_with_react_router_v7.md +15 -91
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ar/intlayer_with_storybook.md +1 -37
- package/docs/ar/intlayer_with_svelte_kit.md +29 -71
- package/docs/ar/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ar/intlayer_with_tanstack.md +14 -62
- package/docs/ar/intlayer_with_vanilla.md +28 -108
- package/docs/ar/intlayer_with_vite+lit.md +98 -156
- package/docs/ar/intlayer_with_vite+preact.md +101 -710
- package/docs/ar/intlayer_with_vite+react.md +113 -797
- package/docs/ar/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ar/intlayer_with_vite+solid.md +79 -152
- package/docs/ar/intlayer_with_vite+svelte.md +104 -132
- package/docs/ar/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ar/intlayer_with_vite+vue.md +92 -253
- package/docs/ar/introduction.md +2 -58
- package/docs/ar/packages/express-intlayer/t.md +6 -181
- package/docs/ar/packages/hono-intlayer/t.md +1 -45
- package/docs/ar/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ar/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ar/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ar/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +1 -20
- package/docs/ar/packages/intlayer/getPrefix.md +1 -12
- package/docs/ar/packages/intlayer/getTranslation.md +3 -87
- package/docs/ar/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ar/packages/next-intlayer/t.md +5 -137
- package/docs/ar/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ar/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ar/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ar/packages/react-intlayer/t.md +4 -106
- package/docs/ar/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ar/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ar/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ar/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ar/per_locale_file.md +3 -35
- package/docs/bn/intlayer_with_fastify.md +5 -193
- package/docs/bn/intlayer_with_hono.md +5 -158
- package/docs/bn/intlayer_with_storybook.md +1 -37
- package/docs/bn/intlayer_with_vanilla.md +28 -108
- package/docs/bn/intlayer_with_vite+lit.md +98 -119
- package/docs/bn/intlayer_with_vite+vanilla.md +105 -155
- package/docs/bn/introduction.md +2 -58
- package/docs/cs/intlayer_with_fastify.md +5 -193
- package/docs/cs/intlayer_with_hono.md +5 -158
- package/docs/cs/intlayer_with_storybook.md +1 -37
- package/docs/cs/intlayer_with_vanilla.md +28 -108
- package/docs/cs/intlayer_with_vite+lit.md +98 -156
- package/docs/cs/intlayer_with_vite+vanilla.md +105 -155
- package/docs/cs/introduction.md +2 -58
- package/docs/de/dictionary/condition.md +2 -116
- package/docs/de/dictionary/content_file.md +2 -201
- package/docs/de/dictionary/enumeration.md +2 -116
- package/docs/de/dictionary/file.md +3 -100
- package/docs/de/dictionary/function_fetching.md +3 -103
- package/docs/de/dictionary/gender.md +2 -181
- package/docs/de/dictionary/insertion.md +3 -57
- package/docs/de/dictionary/nesting.md +3 -123
- package/docs/de/dictionary/translation.md +4 -146
- package/docs/de/interest_of_intlayer.md +2 -59
- package/docs/de/intlayer_CMS.md +3 -226
- package/docs/de/intlayer_visual_editor.md +1 -72
- package/docs/de/intlayer_with_adonisjs.md +3 -108
- package/docs/de/intlayer_with_analog.md +21 -41
- package/docs/de/intlayer_with_angular.md +15 -41
- package/docs/de/intlayer_with_astro.md +181 -56
- package/docs/de/intlayer_with_astro_lit.md +615 -0
- package/docs/de/intlayer_with_astro_preact.md +564 -0
- package/docs/de/intlayer_with_astro_react.md +562 -0
- package/docs/de/intlayer_with_astro_solid.md +562 -0
- package/docs/de/intlayer_with_astro_svelte.md +566 -0
- package/docs/de/intlayer_with_astro_vanilla.md +543 -0
- package/docs/de/intlayer_with_astro_vue.md +584 -0
- package/docs/de/intlayer_with_create_react_app.md +33 -686
- package/docs/de/intlayer_with_express.md +5 -182
- package/docs/de/intlayer_with_fastify.md +5 -193
- package/docs/de/intlayer_with_hono.md +5 -158
- package/docs/de/intlayer_with_lynx+react.md +2 -75
- package/docs/de/intlayer_with_nestjs.md +3 -33
- package/docs/de/intlayer_with_nextjs_14.md +51 -573
- package/docs/de/intlayer_with_nextjs_15.md +61 -823
- package/docs/de/intlayer_with_nextjs_16.md +45 -870
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/de/intlayer_with_nextjs_page_router.md +36 -632
- package/docs/de/intlayer_with_nuxt.md +16 -98
- package/docs/de/intlayer_with_react_native+expo.md +31 -286
- package/docs/de/intlayer_with_react_router_v7.md +15 -91
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +14 -62
- package/docs/de/intlayer_with_storybook.md +1 -37
- package/docs/de/intlayer_with_svelte_kit.md +29 -71
- package/docs/de/intlayer_with_tanstack+solid.md +14 -70
- package/docs/de/intlayer_with_tanstack.md +14 -62
- package/docs/de/intlayer_with_vanilla.md +28 -108
- package/docs/de/intlayer_with_vite+lit.md +98 -162
- package/docs/de/intlayer_with_vite+preact.md +104 -713
- package/docs/de/intlayer_with_vite+react.md +105 -789
- package/docs/de/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/de/intlayer_with_vite+solid.md +79 -153
- package/docs/de/intlayer_with_vite+svelte.md +104 -132
- package/docs/de/intlayer_with_vite+vanilla.md +105 -155
- package/docs/de/intlayer_with_vite+vue.md +92 -285
- package/docs/de/introduction.md +2 -61
- package/docs/de/packages/express-intlayer/t.md +6 -182
- package/docs/de/packages/hono-intlayer/t.md +3 -95
- package/docs/de/packages/intlayer/getConfiguration.md +2 -54
- package/docs/de/packages/intlayer/getEnumeration.md +2 -60
- package/docs/de/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/de/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/de/packages/intlayer/getLocaleName.md +1 -43
- package/docs/de/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/de/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/de/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/de/packages/intlayer/getPrefix.md +1 -15
- package/docs/de/packages/intlayer/getTranslation.md +3 -86
- package/docs/de/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/de/packages/next-intlayer/t.md +5 -137
- package/docs/de/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/de/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/de/packages/next-intlayer/useLocale.md +1 -51
- package/docs/de/packages/react-intlayer/t.md +4 -109
- package/docs/de/packages/react-intlayer/useDictionary.md +3 -127
- package/docs/de/packages/react-intlayer/useI18n.md +4 -107
- package/docs/de/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/de/packages/react-intlayer/useLocale.md +3 -103
- package/docs/de/per_locale_file.md +3 -35
- package/docs/en/benchmark/___NOTE.md +16 -0
- package/docs/en/dictionary/condition.md +2 -116
- package/docs/en/dictionary/content_file.md +2 -200
- package/docs/en/dictionary/enumeration.md +4 -202
- package/docs/en/dictionary/file.md +3 -100
- package/docs/en/dictionary/function_fetching.md +3 -103
- package/docs/en/dictionary/gender.md +2 -140
- package/docs/en/dictionary/insertion.md +3 -57
- package/docs/en/dictionary/nesting.md +3 -121
- package/docs/en/dictionary/translation.md +4 -146
- package/docs/en/interest_of_intlayer.md +2 -58
- package/docs/en/intlayer_CMS.md +3 -227
- package/docs/en/intlayer_visual_editor.md +1 -72
- package/docs/en/intlayer_with_adonisjs.md +3 -107
- package/docs/en/intlayer_with_analog.md +21 -41
- package/docs/en/intlayer_with_angular.md +15 -41
- package/docs/en/intlayer_with_astro.md +397 -38
- package/docs/en/intlayer_with_astro_lit.md +616 -0
- package/docs/en/intlayer_with_astro_preact.md +571 -0
- package/docs/en/intlayer_with_astro_react.md +564 -0
- package/docs/en/intlayer_with_astro_solid.md +564 -0
- package/docs/en/intlayer_with_astro_svelte.md +568 -0
- package/docs/en/intlayer_with_astro_vanilla.md +543 -0
- package/docs/en/intlayer_with_astro_vue.md +586 -0
- package/docs/en/intlayer_with_create_react_app.md +34 -686
- package/docs/en/intlayer_with_express.md +5 -179
- package/docs/en/intlayer_with_fastify.md +5 -193
- package/docs/en/intlayer_with_hono.md +5 -158
- package/docs/en/intlayer_with_lynx+react.md +3 -109
- package/docs/en/intlayer_with_nestjs.md +3 -31
- package/docs/en/intlayer_with_nextjs_14.md +47 -777
- package/docs/en/intlayer_with_nextjs_15.md +39 -822
- package/docs/en/intlayer_with_nextjs_16.md +40 -891
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -70
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +11 -488
- package/docs/en/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/en/intlayer_with_nuxt.md +16 -98
- package/docs/en/intlayer_with_react_native+expo.md +31 -291
- package/docs/en/intlayer_with_react_router_v7.md +15 -107
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/en/intlayer_with_storybook.md +1 -37
- package/docs/en/intlayer_with_svelte_kit.md +28 -78
- package/docs/en/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en/intlayer_with_tanstack.md +14 -70
- package/docs/en/intlayer_with_vanilla.md +28 -108
- package/docs/en/intlayer_with_vite+lit.md +98 -162
- package/docs/en/intlayer_with_vite+preact.md +100 -717
- package/docs/en/intlayer_with_vite+react.md +104 -796
- package/docs/en/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en/intlayer_with_vite+solid.md +79 -211
- package/docs/en/intlayer_with_vite+svelte.md +104 -138
- package/docs/en/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en/intlayer_with_vite+vue.md +92 -244
- package/docs/en/introduction.md +2 -58
- package/docs/en/packages/express-intlayer/t.md +6 -181
- package/docs/en/packages/hono-intlayer/t.md +3 -95
- package/docs/en/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en/packages/intlayer/getPrefix.md +1 -15
- package/docs/en/packages/intlayer/getTranslation.md +3 -87
- package/docs/en/packages/next-intlayer/t.md +5 -137
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/en/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en/packages/react-intlayer/t.md +4 -109
- package/docs/en/packages/react-intlayer/useI18n.md +4 -107
- package/docs/en/packages/react-intlayer/useLocale.md +3 -103
- package/docs/en/per_locale_file.md +3 -33
- package/docs/en-GB/dictionary/condition.md +2 -116
- package/docs/en-GB/dictionary/content_file.md +2 -213
- package/docs/en-GB/dictionary/enumeration.md +2 -116
- package/docs/en-GB/dictionary/file.md +3 -100
- package/docs/en-GB/dictionary/function_fetching.md +3 -103
- package/docs/en-GB/dictionary/gender.md +2 -140
- package/docs/en-GB/dictionary/insertion.md +3 -81
- package/docs/en-GB/dictionary/nesting.md +3 -121
- package/docs/en-GB/dictionary/translation.md +4 -146
- package/docs/en-GB/interest_of_intlayer.md +2 -58
- package/docs/en-GB/intlayer_CMS.md +3 -223
- package/docs/en-GB/intlayer_visual_editor.md +1 -72
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -109
- package/docs/en-GB/intlayer_with_analog.md +21 -41
- package/docs/en-GB/intlayer_with_angular.md +15 -41
- package/docs/en-GB/intlayer_with_astro.md +183 -53
- package/docs/en-GB/intlayer_with_astro_lit.md +619 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +568 -0
- package/docs/en-GB/intlayer_with_astro_react.md +566 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +566 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +570 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +547 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +588 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +33 -707
- package/docs/en-GB/intlayer_with_express.md +5 -182
- package/docs/en-GB/intlayer_with_fastify.md +5 -193
- package/docs/en-GB/intlayer_with_hono.md +5 -158
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -116
- package/docs/en-GB/intlayer_with_nestjs.md +3 -31
- package/docs/en-GB/intlayer_with_nextjs_14.md +77 -773
- package/docs/en-GB/intlayer_with_nextjs_15.md +59 -839
- package/docs/en-GB/intlayer_with_nextjs_16.md +39 -822
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +11 -500
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +38 -634
- package/docs/en-GB/intlayer_with_nuxt.md +16 -103
- package/docs/en-GB/intlayer_with_react_native+expo.md +31 -284
- package/docs/en-GB/intlayer_with_react_router_v7.md +14 -30
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +14 -30
- package/docs/en-GB/intlayer_with_storybook.md +1 -37
- package/docs/en-GB/intlayer_with_svelte_kit.md +28 -10
- package/docs/en-GB/intlayer_with_tanstack+solid.md +14 -70
- package/docs/en-GB/intlayer_with_tanstack.md +13 -1
- package/docs/en-GB/intlayer_with_vanilla.md +28 -108
- package/docs/en-GB/intlayer_with_vite+lit.md +98 -162
- package/docs/en-GB/intlayer_with_vite+preact.md +98 -647
- package/docs/en-GB/intlayer_with_vite+react.md +99 -906
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -88
- package/docs/en-GB/intlayer_with_vite+svelte.md +103 -71
- package/docs/en-GB/intlayer_with_vite+vanilla.md +105 -155
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -195
- package/docs/en-GB/introduction.md +2 -58
- package/docs/en-GB/packages/express-intlayer/t.md +6 -181
- package/docs/en-GB/packages/hono-intlayer/t.md +3 -95
- package/docs/en-GB/packages/intlayer/getConfiguration.md +2 -54
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -60
- package/docs/en-GB/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/en-GB/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/en-GB/packages/intlayer/getLocaleName.md +1 -43
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/en-GB/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/en-GB/packages/intlayer/getPrefix.md +1 -15
- package/docs/en-GB/packages/intlayer/getTranslation.md +4 -107
- package/docs/en-GB/packages/intlayer/getTranslationContent.md +3 -98
- package/docs/en-GB/packages/next-intlayer/t.md +5 -141
- package/docs/en-GB/packages/next-intlayer/useDictionary.md +3 -124
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/en-GB/packages/next-intlayer/useLocale.md +1 -51
- package/docs/en-GB/packages/react-intlayer/t.md +4 -110
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +3 -117
- package/docs/en-GB/packages/react-intlayer/useI18n.md +3 -106
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/en-GB/packages/react-intlayer/useLocale.md +3 -102
- package/docs/en-GB/per_locale_file.md +3 -33
- package/docs/es/dictionary/condition.md +2 -116
- package/docs/es/dictionary/content_file.md +2 -233
- package/docs/es/dictionary/enumeration.md +2 -116
- package/docs/es/dictionary/file.md +3 -100
- package/docs/es/dictionary/function_fetching.md +3 -103
- package/docs/es/dictionary/gender.md +2 -140
- package/docs/es/dictionary/insertion.md +3 -57
- package/docs/es/dictionary/nesting.md +3 -121
- package/docs/es/dictionary/translation.md +4 -146
- package/docs/es/interest_of_intlayer.md +2 -58
- package/docs/es/intlayer_CMS.md +3 -227
- package/docs/es/intlayer_visual_editor.md +1 -72
- package/docs/es/intlayer_with_adonisjs.md +3 -107
- package/docs/es/intlayer_with_analog.md +21 -41
- package/docs/es/intlayer_with_angular.md +15 -41
- package/docs/es/intlayer_with_astro.md +178 -52
- package/docs/es/intlayer_with_astro_lit.md +612 -0
- package/docs/es/intlayer_with_astro_preact.md +562 -0
- package/docs/es/intlayer_with_astro_react.md +560 -0
- package/docs/es/intlayer_with_astro_solid.md +560 -0
- package/docs/es/intlayer_with_astro_svelte.md +564 -0
- package/docs/es/intlayer_with_astro_vanilla.md +539 -0
- package/docs/es/intlayer_with_astro_vue.md +582 -0
- package/docs/es/intlayer_with_create_react_app.md +33 -649
- package/docs/es/intlayer_with_express.md +5 -179
- package/docs/es/intlayer_with_fastify.md +5 -193
- package/docs/es/intlayer_with_hono.md +5 -158
- package/docs/es/intlayer_with_lynx+react.md +2 -108
- package/docs/es/intlayer_with_nestjs.md +3 -31
- package/docs/es/intlayer_with_nextjs_14.md +53 -678
- package/docs/es/intlayer_with_nextjs_15.md +56 -812
- package/docs/es/intlayer_with_nextjs_16.md +40 -890
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +11 -486
- package/docs/es/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/es/intlayer_with_nuxt.md +16 -98
- package/docs/es/intlayer_with_react_native+expo.md +31 -284
- package/docs/es/intlayer_with_react_router_v7.md +15 -92
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/es/intlayer_with_storybook.md +1 -37
- package/docs/es/intlayer_with_svelte_kit.md +29 -71
- package/docs/es/intlayer_with_tanstack+solid.md +14 -70
- package/docs/es/intlayer_with_tanstack.md +14 -62
- package/docs/es/intlayer_with_vanilla.md +28 -108
- package/docs/es/intlayer_with_vite+lit.md +98 -162
- package/docs/es/intlayer_with_vite+preact.md +100 -709
- package/docs/es/intlayer_with_vite+react.md +105 -789
- package/docs/es/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/es/intlayer_with_vite+solid.md +79 -152
- package/docs/es/intlayer_with_vite+svelte.md +104 -132
- package/docs/es/intlayer_with_vite+vanilla.md +105 -155
- package/docs/es/intlayer_with_vite+vue.md +92 -255
- package/docs/es/introduction.md +2 -60
- package/docs/es/packages/express-intlayer/t.md +6 -183
- package/docs/es/packages/hono-intlayer/t.md +3 -95
- package/docs/es/packages/intlayer/getConfiguration.md +2 -54
- package/docs/es/packages/intlayer/getEnumeration.md +2 -60
- package/docs/es/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/es/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/es/packages/intlayer/getLocaleName.md +1 -43
- package/docs/es/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/es/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/es/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/es/packages/intlayer/getPrefix.md +1 -15
- package/docs/es/packages/intlayer/getTranslation.md +3 -87
- package/docs/es/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/es/packages/next-intlayer/index.md +2 -60
- package/docs/es/packages/next-intlayer/t.md +5 -137
- package/docs/es/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/es/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/es/packages/next-intlayer/useLocale.md +1 -51
- package/docs/es/packages/react-intlayer/index.md +2 -60
- package/docs/es/packages/react-intlayer/t.md +4 -110
- package/docs/es/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/es/packages/react-intlayer/useI18n.md +4 -107
- package/docs/es/packages/react-intlayer/useIntlayer.md +3 -110
- package/docs/es/packages/react-intlayer/useLocale.md +3 -103
- package/docs/es/per_locale_file.md +3 -34
- package/docs/fr/dictionary/condition.md +2 -116
- package/docs/fr/dictionary/content_file.md +2 -200
- package/docs/fr/dictionary/enumeration.md +2 -116
- package/docs/fr/dictionary/file.md +3 -100
- package/docs/fr/dictionary/function_fetching.md +3 -103
- package/docs/fr/dictionary/gender.md +2 -141
- package/docs/fr/dictionary/insertion.md +3 -57
- package/docs/fr/dictionary/nesting.md +3 -121
- package/docs/fr/dictionary/translation.md +4 -146
- package/docs/fr/interest_of_intlayer.md +2 -59
- package/docs/fr/intlayer_CMS.md +3 -227
- package/docs/fr/intlayer_visual_editor.md +1 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -107
- package/docs/fr/intlayer_with_analog.md +21 -41
- package/docs/fr/intlayer_with_angular.md +15 -41
- package/docs/fr/intlayer_with_astro.md +175 -49
- package/docs/fr/intlayer_with_astro_lit.md +612 -0
- package/docs/fr/intlayer_with_astro_preact.md +567 -0
- package/docs/fr/intlayer_with_astro_react.md +560 -0
- package/docs/fr/intlayer_with_astro_solid.md +560 -0
- package/docs/fr/intlayer_with_astro_svelte.md +564 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +539 -0
- package/docs/fr/intlayer_with_astro_vue.md +582 -0
- package/docs/fr/intlayer_with_create_react_app.md +9 -645
- package/docs/fr/intlayer_with_express.md +4 -110
- package/docs/fr/intlayer_with_fastify.md +5 -193
- package/docs/fr/intlayer_with_hono.md +5 -158
- package/docs/fr/intlayer_with_lynx+react.md +2 -108
- package/docs/fr/intlayer_with_nestjs.md +3 -31
- package/docs/fr/intlayer_with_nextjs_14.md +51 -573
- package/docs/fr/intlayer_with_nextjs_15.md +64 -842
- package/docs/fr/intlayer_with_nextjs_16.md +44 -867
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -64
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +11 -522
- package/docs/fr/intlayer_with_nextjs_page_router.md +37 -647
- package/docs/fr/intlayer_with_nuxt.md +16 -99
- package/docs/fr/intlayer_with_react_native+expo.md +31 -284
- package/docs/fr/intlayer_with_react_router_v7.md +15 -94
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +15 -94
- package/docs/fr/intlayer_with_storybook.md +1 -37
- package/docs/fr/intlayer_with_svelte_kit.md +29 -71
- package/docs/fr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/fr/intlayer_with_tanstack.md +14 -62
- package/docs/fr/intlayer_with_vanilla.md +28 -108
- package/docs/fr/intlayer_with_vite+lit.md +98 -162
- package/docs/fr/intlayer_with_vite+preact.md +100 -709
- package/docs/fr/intlayer_with_vite+react.md +104 -788
- package/docs/fr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/fr/intlayer_with_vite+solid.md +79 -152
- package/docs/fr/intlayer_with_vite+svelte.md +104 -132
- package/docs/fr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/fr/intlayer_with_vite+vue.md +92 -251
- package/docs/fr/introduction.md +2 -60
- package/docs/fr/packages/express-intlayer/t.md +6 -184
- package/docs/fr/packages/hono-intlayer/t.md +3 -95
- package/docs/fr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/fr/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/fr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/fr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/fr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/fr/packages/intlayer/getPrefix.md +1 -15
- package/docs/fr/packages/intlayer/getTranslation.md +3 -87
- package/docs/fr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/fr/packages/next-intlayer/t.md +5 -137
- package/docs/fr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/fr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/fr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/fr/packages/react-intlayer/index.md +2 -60
- package/docs/fr/packages/react-intlayer/t.md +4 -109
- package/docs/fr/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/fr/packages/react-intlayer/useI18n.md +4 -107
- package/docs/fr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/fr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/fr/per_locale_file.md +3 -35
- package/docs/hi/dictionary/condition.md +2 -116
- package/docs/hi/dictionary/content_file.md +2 -201
- package/docs/hi/dictionary/enumeration.md +2 -116
- package/docs/hi/dictionary/file.md +3 -100
- package/docs/hi/dictionary/function_fetching.md +3 -103
- package/docs/hi/dictionary/gender.md +2 -141
- package/docs/hi/dictionary/insertion.md +3 -57
- package/docs/hi/dictionary/nesting.md +3 -121
- package/docs/hi/dictionary/translation.md +4 -149
- package/docs/hi/interest_of_intlayer.md +2 -58
- package/docs/hi/intlayer_CMS.md +3 -227
- package/docs/hi/intlayer_visual_editor.md +1 -72
- package/docs/hi/intlayer_with_adonisjs.md +3 -109
- package/docs/hi/intlayer_with_analog.md +21 -41
- package/docs/hi/intlayer_with_angular.md +15 -41
- package/docs/hi/intlayer_with_astro.md +183 -57
- package/docs/hi/intlayer_with_astro_lit.md +615 -0
- package/docs/hi/intlayer_with_astro_preact.md +564 -0
- package/docs/hi/intlayer_with_astro_react.md +562 -0
- package/docs/hi/intlayer_with_astro_solid.md +562 -0
- package/docs/hi/intlayer_with_astro_svelte.md +566 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/hi/intlayer_with_astro_vue.md +584 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -444
- package/docs/hi/intlayer_with_express.md +6 -195
- package/docs/hi/intlayer_with_fastify.md +5 -193
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -116
- package/docs/hi/intlayer_with_nestjs.md +3 -31
- package/docs/hi/intlayer_with_nextjs_14.md +60 -512
- package/docs/hi/intlayer_with_nextjs_15.md +60 -822
- package/docs/hi/intlayer_with_nextjs_16.md +40 -883
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/hi/intlayer_with_nextjs_page_router.md +37 -648
- package/docs/hi/intlayer_with_nuxt.md +16 -101
- package/docs/hi/intlayer_with_react_native+expo.md +31 -284
- package/docs/hi/intlayer_with_react_router_v7.md +15 -91
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/hi/intlayer_with_storybook.md +1 -37
- package/docs/hi/intlayer_with_svelte_kit.md +29 -71
- package/docs/hi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/hi/intlayer_with_tanstack.md +14 -62
- package/docs/hi/intlayer_with_vanilla.md +28 -108
- package/docs/hi/intlayer_with_vite+lit.md +98 -156
- package/docs/hi/intlayer_with_vite+preact.md +98 -619
- package/docs/hi/intlayer_with_vite+react.md +123 -816
- package/docs/hi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/hi/intlayer_with_vite+solid.md +79 -151
- package/docs/hi/intlayer_with_vite+svelte.md +104 -132
- package/docs/hi/intlayer_with_vite+vanilla.md +105 -87
- package/docs/hi/intlayer_with_vite+vue.md +92 -250
- package/docs/hi/introduction.md +2 -62
- package/docs/hi/packages/express-intlayer/t.md +6 -181
- package/docs/hi/packages/hono-intlayer/t.md +1 -45
- package/docs/hi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -60
- package/docs/hi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/hi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/hi/packages/intlayer/getLocaleName.md +1 -43
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/hi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/hi/packages/intlayer/getPrefix.md +1 -19
- package/docs/hi/packages/intlayer/getTranslation.md +3 -87
- package/docs/hi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/hi/packages/intlayer/index.md +4 -129
- package/docs/hi/packages/next-intlayer/t.md +5 -138
- package/docs/hi/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/hi/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/hi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/hi/packages/react-intlayer/t.md +4 -106
- package/docs/hi/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/hi/packages/react-intlayer/useI18n.md +3 -111
- package/docs/hi/packages/react-intlayer/useIntlayer.md +3 -113
- package/docs/hi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/hi/per_locale_file.md +3 -34
- package/docs/id/dictionary/condition.md +2 -110
- package/docs/id/dictionary/content_file.md +2 -200
- package/docs/id/dictionary/enumeration.md +2 -116
- package/docs/id/dictionary/file.md +3 -105
- package/docs/id/dictionary/function_fetching.md +3 -103
- package/docs/id/dictionary/gender.md +2 -140
- package/docs/id/dictionary/insertion.md +3 -57
- package/docs/id/dictionary/nesting.md +3 -121
- package/docs/id/dictionary/translation.md +4 -147
- package/docs/id/interest_of_intlayer.md +2 -58
- package/docs/id/intlayer_CMS.md +3 -227
- package/docs/id/intlayer_visual_editor.md +1 -72
- package/docs/id/intlayer_with_adonisjs.md +3 -109
- package/docs/id/intlayer_with_analog.md +21 -41
- package/docs/id/intlayer_with_angular.md +15 -41
- package/docs/id/intlayer_with_astro.md +182 -64
- package/docs/id/intlayer_with_astro_lit.md +615 -0
- package/docs/id/intlayer_with_astro_preact.md +564 -0
- package/docs/id/intlayer_with_astro_react.md +562 -0
- package/docs/id/intlayer_with_astro_solid.md +562 -0
- package/docs/id/intlayer_with_astro_svelte.md +566 -0
- package/docs/id/intlayer_with_astro_vanilla.md +543 -0
- package/docs/id/intlayer_with_astro_vue.md +584 -0
- package/docs/id/intlayer_with_create_react_app.md +39 -694
- package/docs/id/intlayer_with_express.md +5 -181
- package/docs/id/intlayer_with_fastify.md +5 -193
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +3 -109
- package/docs/id/intlayer_with_nestjs.md +3 -31
- package/docs/id/intlayer_with_nextjs_14.md +59 -796
- package/docs/id/intlayer_with_nextjs_15.md +37 -815
- package/docs/id/intlayer_with_nextjs_16.md +41 -884
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +11 -501
- package/docs/id/intlayer_with_nextjs_page_router.md +102 -713
- package/docs/id/intlayer_with_nuxt.md +16 -99
- package/docs/id/intlayer_with_react_native+expo.md +31 -291
- package/docs/id/intlayer_with_react_router_v7.md +15 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +15 -99
- package/docs/id/intlayer_with_storybook.md +1 -37
- package/docs/id/intlayer_with_svelte_kit.md +29 -71
- package/docs/id/intlayer_with_tanstack+solid.md +14 -70
- package/docs/id/intlayer_with_tanstack.md +14 -62
- package/docs/id/intlayer_with_vanilla.md +28 -108
- package/docs/id/intlayer_with_vite+lit.md +98 -156
- package/docs/id/intlayer_with_vite+preact.md +103 -712
- package/docs/id/intlayer_with_vite+react.md +115 -803
- package/docs/id/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/id/intlayer_with_vite+solid.md +79 -150
- package/docs/id/intlayer_with_vite+svelte.md +104 -132
- package/docs/id/intlayer_with_vite+vanilla.md +105 -155
- package/docs/id/intlayer_with_vite+vue.md +92 -258
- package/docs/id/introduction.md +2 -60
- package/docs/id/packages/express-intlayer/t.md +6 -181
- package/docs/id/packages/hono-intlayer/t.md +1 -45
- package/docs/id/packages/intlayer/getConfiguration.md +2 -54
- package/docs/id/packages/intlayer/getEnumeration.md +2 -60
- package/docs/id/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/id/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/id/packages/intlayer/getLocaleName.md +1 -44
- package/docs/id/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/id/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/id/packages/intlayer/getPrefix.md +1 -12
- package/docs/id/packages/intlayer/getTranslation.md +3 -87
- package/docs/id/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/id/packages/next-intlayer/t.md +5 -137
- package/docs/id/packages/next-intlayer/useDictionary.md +3 -121
- package/docs/id/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/id/packages/next-intlayer/useLocale.md +1 -51
- package/docs/id/packages/react-intlayer/t.md +4 -109
- package/docs/id/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/id/packages/react-intlayer/useI18n.md +4 -123
- package/docs/id/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/id/packages/react-intlayer/useLocale.md +3 -103
- package/docs/id/per_locale_file.md +3 -35
- package/docs/it/dictionary/condition.md +2 -116
- package/docs/it/dictionary/content_file.md +2 -201
- package/docs/it/dictionary/enumeration.md +2 -116
- package/docs/it/dictionary/file.md +3 -100
- package/docs/it/dictionary/function_fetching.md +3 -103
- package/docs/it/dictionary/gender.md +2 -140
- package/docs/it/dictionary/insertion.md +3 -57
- package/docs/it/dictionary/nesting.md +3 -121
- package/docs/it/dictionary/translation.md +4 -146
- package/docs/it/interest_of_intlayer.md +2 -59
- package/docs/it/intlayer_CMS.md +3 -227
- package/docs/it/intlayer_visual_editor.md +1 -72
- package/docs/it/intlayer_with_adonisjs.md +3 -109
- package/docs/it/intlayer_with_analog.md +21 -41
- package/docs/it/intlayer_with_angular.md +15 -41
- package/docs/it/intlayer_with_astro.md +187 -61
- package/docs/it/intlayer_with_astro_lit.md +615 -0
- package/docs/it/intlayer_with_astro_preact.md +564 -0
- package/docs/it/intlayer_with_astro_react.md +562 -0
- package/docs/it/intlayer_with_astro_solid.md +562 -0
- package/docs/it/intlayer_with_astro_svelte.md +566 -0
- package/docs/it/intlayer_with_astro_vanilla.md +543 -0
- package/docs/it/intlayer_with_astro_vue.md +584 -0
- package/docs/it/intlayer_with_create_react_app.md +9 -551
- package/docs/it/intlayer_with_express.md +5 -182
- package/docs/it/intlayer_with_fastify.md +5 -193
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -116
- package/docs/it/intlayer_with_nestjs.md +3 -31
- package/docs/it/intlayer_with_nextjs_14.md +51 -575
- package/docs/it/intlayer_with_nextjs_15.md +55 -813
- package/docs/it/intlayer_with_nextjs_16.md +40 -883
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/it/intlayer_with_nextjs_page_router.md +37 -650
- package/docs/it/intlayer_with_nuxt.md +16 -101
- package/docs/it/intlayer_with_react_native+expo.md +31 -286
- package/docs/it/intlayer_with_react_router_v7.md +15 -93
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/it/intlayer_with_storybook.md +1 -37
- package/docs/it/intlayer_with_svelte_kit.md +29 -71
- package/docs/it/intlayer_with_tanstack+solid.md +14 -70
- package/docs/it/intlayer_with_tanstack.md +14 -62
- package/docs/it/intlayer_with_vanilla.md +28 -108
- package/docs/it/intlayer_with_vite+lit.md +98 -162
- package/docs/it/intlayer_with_vite+preact.md +102 -711
- package/docs/it/intlayer_with_vite+react.md +112 -797
- package/docs/it/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/it/intlayer_with_vite+solid.md +79 -151
- package/docs/it/intlayer_with_vite+svelte.md +104 -132
- package/docs/it/intlayer_with_vite+vanilla.md +105 -155
- package/docs/it/intlayer_with_vite+vue.md +80 -281
- package/docs/it/introduction.md +2 -60
- package/docs/it/packages/express-intlayer/t.md +6 -181
- package/docs/it/packages/hono-intlayer/t.md +1 -45
- package/docs/it/packages/intlayer/getConfiguration.md +2 -54
- package/docs/it/packages/intlayer/getEnumeration.md +2 -60
- package/docs/it/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/it/packages/intlayer/getLocaleLang.md +1 -20
- package/docs/it/packages/intlayer/getLocaleName.md +1 -43
- package/docs/it/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/it/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/it/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/it/packages/intlayer/getPrefix.md +1 -12
- package/docs/it/packages/intlayer/getTranslation.md +3 -86
- package/docs/it/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/it/packages/next-intlayer/t.md +5 -141
- package/docs/it/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/it/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/it/packages/next-intlayer/useLocale.md +1 -51
- package/docs/it/packages/react-intlayer/t.md +4 -109
- package/docs/it/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/it/packages/react-intlayer/useI18n.md +4 -107
- package/docs/it/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/it/packages/react-intlayer/useLocale.md +3 -103
- package/docs/it/per_locale_file.md +3 -35
- package/docs/ja/dictionary/condition.md +2 -116
- package/docs/ja/dictionary/content_file.md +2 -204
- package/docs/ja/dictionary/enumeration.md +2 -116
- package/docs/ja/dictionary/file.md +3 -100
- package/docs/ja/dictionary/function_fetching.md +3 -103
- package/docs/ja/dictionary/gender.md +2 -140
- package/docs/ja/dictionary/insertion.md +3 -57
- package/docs/ja/dictionary/nesting.md +3 -121
- package/docs/ja/dictionary/translation.md +6 -160
- package/docs/ja/interest_of_intlayer.md +2 -58
- package/docs/ja/intlayer_CMS.md +3 -227
- package/docs/ja/intlayer_visual_editor.md +1 -75
- package/docs/ja/intlayer_with_adonisjs.md +3 -109
- package/docs/ja/intlayer_with_analog.md +21 -41
- package/docs/ja/intlayer_with_angular.md +15 -41
- package/docs/ja/intlayer_with_astro.md +184 -53
- package/docs/ja/intlayer_with_astro_lit.md +618 -0
- package/docs/ja/intlayer_with_astro_preact.md +572 -0
- package/docs/ja/intlayer_with_astro_react.md +565 -0
- package/docs/ja/intlayer_with_astro_solid.md +565 -0
- package/docs/ja/intlayer_with_astro_svelte.md +569 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +546 -0
- package/docs/ja/intlayer_with_astro_vue.md +587 -0
- package/docs/ja/intlayer_with_create_react_app.md +7 -387
- package/docs/ja/intlayer_with_express.md +5 -182
- package/docs/ja/intlayer_with_fastify.md +5 -193
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -116
- package/docs/ja/intlayer_with_nestjs.md +3 -31
- package/docs/ja/intlayer_with_nextjs_14.md +54 -682
- package/docs/ja/intlayer_with_nextjs_15.md +56 -836
- package/docs/ja/intlayer_with_nextjs_16.md +40 -883
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +12 -551
- package/docs/ja/intlayer_with_nextjs_page_router.md +73 -745
- package/docs/ja/intlayer_with_nuxt.md +16 -99
- package/docs/ja/intlayer_with_react_native+expo.md +31 -287
- package/docs/ja/intlayer_with_react_router_v7.md +32 -61
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ja/intlayer_with_storybook.md +1 -37
- package/docs/ja/intlayer_with_svelte_kit.md +27 -69
- package/docs/ja/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ja/intlayer_with_tanstack.md +13 -1
- package/docs/ja/intlayer_with_vanilla.md +28 -108
- package/docs/ja/intlayer_with_vite+lit.md +98 -162
- package/docs/ja/intlayer_with_vite+preact.md +88 -62
- package/docs/ja/intlayer_with_vite+react.md +88 -62
- package/docs/ja/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ja/intlayer_with_vite+solid.md +80 -161
- package/docs/ja/intlayer_with_vite+svelte.md +104 -132
- package/docs/ja/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ja/intlayer_with_vite+vue.md +92 -264
- package/docs/ja/introduction.md +2 -59
- package/docs/ja/packages/express-intlayer/t.md +6 -188
- package/docs/ja/packages/hono-intlayer/t.md +1 -45
- package/docs/ja/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ja/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/ja/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ja/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ja/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ja/packages/intlayer/getPrefix.md +1 -12
- package/docs/ja/packages/intlayer/getTranslation.md +3 -87
- package/docs/ja/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ja/packages/next-intlayer/t.md +5 -137
- package/docs/ja/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ja/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ja/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ja/packages/react-intlayer/t.md +4 -109
- package/docs/ja/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ja/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +2 -95
- package/docs/ja/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ja/per_locale_file.md +3 -34
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/dictionary/condition.md +2 -116
- package/docs/ko/dictionary/content_file.md +2 -201
- package/docs/ko/dictionary/enumeration.md +2 -116
- package/docs/ko/dictionary/file.md +3 -100
- package/docs/ko/dictionary/function_fetching.md +3 -103
- package/docs/ko/dictionary/gender.md +2 -140
- package/docs/ko/dictionary/insertion.md +3 -57
- package/docs/ko/dictionary/nesting.md +3 -121
- package/docs/ko/dictionary/translation.md +5 -161
- package/docs/ko/interest_of_intlayer.md +2 -60
- package/docs/ko/intlayer_CMS.md +3 -227
- package/docs/ko/intlayer_visual_editor.md +1 -72
- package/docs/ko/intlayer_with_adonisjs.md +3 -109
- package/docs/ko/intlayer_with_analog.md +21 -41
- package/docs/ko/intlayer_with_angular.md +15 -41
- package/docs/ko/intlayer_with_astro.md +169 -58
- package/docs/ko/intlayer_with_astro_lit.md +598 -0
- package/docs/ko/intlayer_with_astro_preact.md +552 -0
- package/docs/ko/intlayer_with_astro_react.md +545 -0
- package/docs/ko/intlayer_with_astro_solid.md +545 -0
- package/docs/ko/intlayer_with_astro_svelte.md +549 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +526 -0
- package/docs/ko/intlayer_with_astro_vue.md +567 -0
- package/docs/ko/intlayer_with_create_react_app.md +38 -693
- package/docs/ko/intlayer_with_express.md +5 -182
- package/docs/ko/intlayer_with_fastify.md +5 -193
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -116
- package/docs/ko/intlayer_with_nestjs.md +3 -31
- package/docs/ko/intlayer_with_nextjs_14.md +55 -693
- package/docs/ko/intlayer_with_nextjs_15.md +73 -859
- package/docs/ko/intlayer_with_nextjs_16.md +40 -883
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +13 -548
- package/docs/ko/intlayer_with_nextjs_page_router.md +66 -652
- package/docs/ko/intlayer_with_nuxt.md +16 -99
- package/docs/ko/intlayer_with_react_native+expo.md +31 -286
- package/docs/ko/intlayer_with_react_router_v7.md +15 -91
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ko/intlayer_with_storybook.md +1 -37
- package/docs/ko/intlayer_with_svelte_kit.md +29 -71
- package/docs/ko/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ko/intlayer_with_tanstack.md +13 -1
- package/docs/ko/intlayer_with_vanilla.md +28 -108
- package/docs/ko/intlayer_with_vite+lit.md +98 -162
- package/docs/ko/intlayer_with_vite+preact.md +102 -711
- package/docs/ko/intlayer_with_vite+react.md +123 -805
- package/docs/ko/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ko/intlayer_with_vite+solid.md +79 -151
- package/docs/ko/intlayer_with_vite+svelte.md +104 -130
- package/docs/ko/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ko/intlayer_with_vite+vue.md +92 -269
- package/docs/ko/introduction.md +2 -60
- package/docs/ko/packages/express-intlayer/t.md +5 -158
- package/docs/ko/packages/hono-intlayer/t.md +1 -45
- package/docs/ko/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ko/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ko/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ko/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/ko/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ko/packages/intlayer/getPrefix.md +1 -12
- package/docs/ko/packages/intlayer/getTranslation.md +3 -87
- package/docs/ko/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ko/packages/next-intlayer/t.md +5 -139
- package/docs/ko/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/ko/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/ko/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ko/packages/react-intlayer/t.md +5 -133
- package/docs/ko/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/ko/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ko/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/ko/packages/react-intlayer/useLocale.md +3 -103
- package/docs/ko/per_locale_file.md +3 -34
- package/docs/nl/intlayer_with_fastify.md +5 -193
- package/docs/nl/intlayer_with_hono.md +5 -158
- package/docs/nl/intlayer_with_storybook.md +1 -37
- package/docs/nl/intlayer_with_vanilla.md +28 -108
- package/docs/nl/intlayer_with_vite+lit.md +98 -156
- package/docs/nl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/nl/introduction.md +2 -58
- package/docs/pl/dictionary/condition.md +2 -111
- package/docs/pl/dictionary/content_file.md +2 -205
- package/docs/pl/dictionary/enumeration.md +2 -116
- package/docs/pl/dictionary/file.md +3 -102
- package/docs/pl/dictionary/function_fetching.md +3 -103
- package/docs/pl/dictionary/gender.md +2 -141
- package/docs/pl/dictionary/insertion.md +3 -57
- package/docs/pl/dictionary/nesting.md +3 -121
- package/docs/pl/dictionary/translation.md +4 -147
- package/docs/pl/interest_of_intlayer.md +2 -58
- package/docs/pl/intlayer_CMS.md +3 -227
- package/docs/pl/intlayer_visual_editor.md +1 -72
- package/docs/pl/intlayer_with_adonisjs.md +3 -109
- package/docs/pl/intlayer_with_analog.md +21 -41
- package/docs/pl/intlayer_with_angular.md +15 -41
- package/docs/pl/intlayer_with_astro.md +179 -89
- package/docs/pl/intlayer_with_astro_lit.md +615 -0
- package/docs/pl/intlayer_with_astro_preact.md +564 -0
- package/docs/pl/intlayer_with_astro_react.md +562 -0
- package/docs/pl/intlayer_with_astro_solid.md +562 -0
- package/docs/pl/intlayer_with_astro_svelte.md +566 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pl/intlayer_with_astro_vue.md +584 -0
- package/docs/pl/intlayer_with_create_react_app.md +39 -696
- package/docs/pl/intlayer_with_express.md +5 -180
- package/docs/pl/intlayer_with_fastify.md +5 -193
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +3 -109
- package/docs/pl/intlayer_with_nestjs.md +3 -31
- package/docs/pl/intlayer_with_nextjs_14.md +54 -789
- package/docs/pl/intlayer_with_nextjs_15.md +39 -843
- package/docs/pl/intlayer_with_nextjs_16.md +60 -903
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pl/intlayer_with_nextjs_page_router.md +69 -751
- package/docs/pl/intlayer_with_nuxt.md +16 -100
- package/docs/pl/intlayer_with_react_native+expo.md +31 -292
- package/docs/pl/intlayer_with_react_router_v7.md +15 -101
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +16 -94
- package/docs/pl/intlayer_with_storybook.md +1 -37
- package/docs/pl/intlayer_with_svelte_kit.md +29 -71
- package/docs/pl/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pl/intlayer_with_tanstack.md +14 -62
- package/docs/pl/intlayer_with_vanilla.md +28 -108
- package/docs/pl/intlayer_with_vite+lit.md +98 -156
- package/docs/pl/intlayer_with_vite+preact.md +102 -711
- package/docs/pl/intlayer_with_vite+react.md +121 -840
- package/docs/pl/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pl/intlayer_with_vite+solid.md +79 -151
- package/docs/pl/intlayer_with_vite+svelte.md +104 -132
- package/docs/pl/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pl/intlayer_with_vite+vue.md +92 -267
- package/docs/pl/introduction.md +2 -48
- package/docs/pl/packages/express-intlayer/t.md +6 -181
- package/docs/pl/packages/hono-intlayer/t.md +1 -45
- package/docs/pl/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pl/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pl/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pl/packages/intlayer/getPrefix.md +1 -19
- package/docs/pl/packages/intlayer/getTranslation.md +3 -87
- package/docs/pl/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pl/packages/next-intlayer/t.md +5 -137
- package/docs/pl/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/pl/packages/next-intlayer/useIntlayer.md +2 -82
- package/docs/pl/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pl/packages/react-intlayer/t.md +4 -109
- package/docs/pl/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/pl/packages/react-intlayer/useI18n.md +3 -91
- package/docs/pl/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pl/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pl/per_locale_file.md +3 -34
- package/docs/pt/dictionary/condition.md +2 -116
- package/docs/pt/dictionary/content_file.md +2 -202
- package/docs/pt/dictionary/enumeration.md +2 -116
- package/docs/pt/dictionary/file.md +3 -101
- package/docs/pt/dictionary/function_fetching.md +3 -103
- package/docs/pt/dictionary/gender.md +2 -140
- package/docs/pt/dictionary/insertion.md +3 -57
- package/docs/pt/dictionary/nesting.md +3 -121
- package/docs/pt/dictionary/translation.md +4 -146
- package/docs/pt/interest_of_intlayer.md +2 -60
- package/docs/pt/intlayer_CMS.md +3 -227
- package/docs/pt/intlayer_visual_editor.md +1 -72
- package/docs/pt/intlayer_with_adonisjs.md +3 -109
- package/docs/pt/intlayer_with_analog.md +21 -41
- package/docs/pt/intlayer_with_angular.md +15 -41
- package/docs/pt/intlayer_with_astro.md +184 -58
- package/docs/pt/intlayer_with_astro_lit.md +597 -0
- package/docs/pt/intlayer_with_astro_preact.md +564 -0
- package/docs/pt/intlayer_with_astro_react.md +562 -0
- package/docs/pt/intlayer_with_astro_solid.md +562 -0
- package/docs/pt/intlayer_with_astro_svelte.md +566 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +543 -0
- package/docs/pt/intlayer_with_astro_vue.md +584 -0
- package/docs/pt/intlayer_with_create_react_app.md +53 -654
- package/docs/pt/intlayer_with_express.md +5 -183
- package/docs/pt/intlayer_with_fastify.md +5 -193
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -116
- package/docs/pt/intlayer_with_nestjs.md +3 -33
- package/docs/pt/intlayer_with_nextjs_14.md +51 -575
- package/docs/pt/intlayer_with_nextjs_15.md +56 -819
- package/docs/pt/intlayer_with_nextjs_16.md +40 -883
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -707
- package/docs/pt/intlayer_with_nuxt.md +16 -98
- package/docs/pt/intlayer_with_react_native+expo.md +31 -283
- package/docs/pt/intlayer_with_react_router_v7.md +3 -98
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/pt/intlayer_with_storybook.md +1 -37
- package/docs/pt/intlayer_with_svelte_kit.md +29 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +14 -70
- package/docs/pt/intlayer_with_tanstack.md +14 -62
- package/docs/pt/intlayer_with_vanilla.md +28 -108
- package/docs/pt/intlayer_with_vite+lit.md +98 -162
- package/docs/pt/intlayer_with_vite+preact.md +100 -709
- package/docs/pt/intlayer_with_vite+react.md +104 -797
- package/docs/pt/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/pt/intlayer_with_vite+solid.md +79 -149
- package/docs/pt/intlayer_with_vite+svelte.md +104 -132
- package/docs/pt/intlayer_with_vite+vanilla.md +105 -155
- package/docs/pt/intlayer_with_vite+vue.md +80 -263
- package/docs/pt/introduction.md +2 -59
- package/docs/pt/packages/express-intlayer/t.md +6 -181
- package/docs/pt/packages/hono-intlayer/t.md +1 -45
- package/docs/pt/packages/intlayer/getConfiguration.md +2 -54
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -60
- package/docs/pt/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/pt/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/pt/packages/intlayer/getLocaleName.md +1 -43
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/pt/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/pt/packages/intlayer/getPrefix.md +1 -19
- package/docs/pt/packages/intlayer/getTranslation.md +3 -87
- package/docs/pt/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/pt/packages/next-intlayer/t.md +5 -137
- package/docs/pt/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/pt/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/pt/packages/next-intlayer/useLocale.md +1 -51
- package/docs/pt/packages/react-intlayer/t.md +4 -109
- package/docs/pt/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/pt/packages/react-intlayer/useI18n.md +4 -107
- package/docs/pt/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/pt/packages/react-intlayer/useLocale.md +3 -103
- package/docs/pt/per_locale_file.md +3 -35
- package/docs/ru/dictionary/condition.md +2 -116
- package/docs/ru/dictionary/content_file.md +2 -204
- package/docs/ru/dictionary/enumeration.md +2 -116
- package/docs/ru/dictionary/file.md +3 -102
- package/docs/ru/dictionary/function_fetching.md +3 -103
- package/docs/ru/dictionary/gender.md +2 -140
- package/docs/ru/dictionary/insertion.md +3 -57
- package/docs/ru/dictionary/nesting.md +3 -121
- package/docs/ru/dictionary/translation.md +4 -147
- package/docs/ru/interest_of_intlayer.md +2 -60
- package/docs/ru/intlayer_CMS.md +3 -225
- package/docs/ru/intlayer_visual_editor.md +1 -72
- package/docs/ru/intlayer_with_adonisjs.md +3 -109
- package/docs/ru/intlayer_with_analog.md +21 -41
- package/docs/ru/intlayer_with_angular.md +15 -41
- package/docs/ru/intlayer_with_astro.md +172 -45
- package/docs/ru/intlayer_with_astro_lit.md +614 -0
- package/docs/ru/intlayer_with_astro_preact.md +568 -0
- package/docs/ru/intlayer_with_astro_react.md +561 -0
- package/docs/ru/intlayer_with_astro_solid.md +561 -0
- package/docs/ru/intlayer_with_astro_svelte.md +565 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +542 -0
- package/docs/ru/intlayer_with_astro_vue.md +583 -0
- package/docs/ru/intlayer_with_create_react_app.md +9 -677
- package/docs/ru/intlayer_with_express.md +4 -112
- package/docs/ru/intlayer_with_fastify.md +5 -193
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -116
- package/docs/ru/intlayer_with_nestjs.md +3 -33
- package/docs/ru/intlayer_with_nextjs_14.md +50 -534
- package/docs/ru/intlayer_with_nextjs_15.md +60 -834
- package/docs/ru/intlayer_with_nextjs_16.md +60 -903
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +11 -542
- package/docs/ru/intlayer_with_nextjs_page_router.md +38 -610
- package/docs/ru/intlayer_with_nuxt.md +16 -100
- package/docs/ru/intlayer_with_react_native+expo.md +31 -286
- package/docs/ru/intlayer_with_react_router_v7.md +15 -91
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/ru/intlayer_with_storybook.md +1 -37
- package/docs/ru/intlayer_with_svelte_kit.md +29 -71
- package/docs/ru/intlayer_with_tanstack+solid.md +14 -70
- package/docs/ru/intlayer_with_tanstack.md +14 -62
- package/docs/ru/intlayer_with_vanilla.md +28 -108
- package/docs/ru/intlayer_with_vite+lit.md +98 -162
- package/docs/ru/intlayer_with_vite+preact.md +102 -711
- package/docs/ru/intlayer_with_vite+react.md +111 -807
- package/docs/ru/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/ru/intlayer_with_vite+solid.md +79 -153
- package/docs/ru/intlayer_with_vite+svelte.md +104 -132
- package/docs/ru/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ru/intlayer_with_vite+vue.md +92 -266
- package/docs/ru/introduction.md +2 -62
- package/docs/ru/packages/express-intlayer/t.md +6 -183
- package/docs/ru/packages/hono-intlayer/t.md +1 -45
- package/docs/ru/packages/intlayer/getConfiguration.md +2 -54
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -60
- package/docs/ru/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/ru/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/ru/packages/intlayer/getLocaleName.md +1 -43
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/ru/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/ru/packages/intlayer/getPrefix.md +1 -15
- package/docs/ru/packages/intlayer/getTranslation.md +3 -87
- package/docs/ru/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/ru/packages/next-intlayer/t.md +5 -139
- package/docs/ru/packages/next-intlayer/useDictionary.md +3 -119
- package/docs/ru/packages/next-intlayer/useIntlayer.md +3 -120
- package/docs/ru/packages/next-intlayer/useLocale.md +1 -51
- package/docs/ru/packages/react-intlayer/t.md +4 -111
- package/docs/ru/packages/react-intlayer/useDictionary.md +3 -115
- package/docs/ru/packages/react-intlayer/useI18n.md +4 -107
- package/docs/ru/packages/react-intlayer/useIntlayer.md +3 -118
- package/docs/ru/packages/react-intlayer/useLocale.md +2 -58
- package/docs/ru/per_locale_file.md +3 -35
- package/docs/tr/dictionary/condition.md +2 -116
- package/docs/tr/dictionary/content_file.md +2 -201
- package/docs/tr/dictionary/enumeration.md +2 -116
- package/docs/tr/dictionary/file.md +3 -100
- package/docs/tr/dictionary/function_fetching.md +3 -103
- package/docs/tr/dictionary/gender.md +2 -140
- package/docs/tr/dictionary/insertion.md +3 -57
- package/docs/tr/dictionary/nesting.md +3 -121
- package/docs/tr/dictionary/translation.md +4 -119
- package/docs/tr/interest_of_intlayer.md +2 -58
- package/docs/tr/intlayer_CMS.md +3 -227
- package/docs/tr/intlayer_visual_editor.md +1 -72
- package/docs/tr/intlayer_with_adonisjs.md +3 -109
- package/docs/tr/intlayer_with_analog.md +21 -41
- package/docs/tr/intlayer_with_angular.md +15 -41
- package/docs/tr/intlayer_with_astro.md +187 -61
- package/docs/tr/intlayer_with_astro_lit.md +615 -0
- package/docs/tr/intlayer_with_astro_preact.md +564 -0
- package/docs/tr/intlayer_with_astro_react.md +562 -0
- package/docs/tr/intlayer_with_astro_solid.md +562 -0
- package/docs/tr/intlayer_with_astro_svelte.md +566 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +543 -0
- package/docs/tr/intlayer_with_astro_vue.md +584 -0
- package/docs/tr/intlayer_with_create_react_app.md +33 -685
- package/docs/tr/intlayer_with_express.md +5 -179
- package/docs/tr/intlayer_with_fastify.md +5 -193
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -108
- package/docs/tr/intlayer_with_nestjs.md +3 -31
- package/docs/tr/intlayer_with_nextjs_14.md +12 -431
- package/docs/tr/intlayer_with_nextjs_15.md +59 -815
- package/docs/tr/intlayer_with_nextjs_16.md +60 -903
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +11 -498
- package/docs/tr/intlayer_with_nextjs_page_router.md +37 -622
- package/docs/tr/intlayer_with_nuxt.md +16 -98
- package/docs/tr/intlayer_with_react_native+expo.md +31 -265
- package/docs/tr/intlayer_with_react_router_v7.md +15 -91
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +15 -91
- package/docs/tr/intlayer_with_storybook.md +1 -37
- package/docs/tr/intlayer_with_svelte_kit.md +29 -71
- package/docs/tr/intlayer_with_tanstack+solid.md +14 -70
- package/docs/tr/intlayer_with_tanstack.md +14 -62
- package/docs/tr/intlayer_with_vanilla.md +28 -108
- package/docs/tr/intlayer_with_vite+lit.md +98 -156
- package/docs/tr/intlayer_with_vite+preact.md +102 -711
- package/docs/tr/intlayer_with_vite+react.md +107 -791
- package/docs/tr/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/tr/intlayer_with_vite+solid.md +79 -149
- package/docs/tr/intlayer_with_vite+svelte.md +104 -132
- package/docs/tr/intlayer_with_vite+vanilla.md +105 -155
- package/docs/tr/intlayer_with_vite+vue.md +92 -196
- package/docs/tr/introduction.md +2 -58
- package/docs/tr/packages/express-intlayer/t.md +6 -181
- package/docs/tr/packages/hono-intlayer/t.md +1 -45
- package/docs/tr/packages/intlayer/getConfiguration.md +2 -54
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -60
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/tr/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/tr/packages/intlayer/getLocaleName.md +1 -43
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +3 -79
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +2 -60
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/tr/packages/intlayer/getPrefix.md +1 -15
- package/docs/tr/packages/intlayer/getTranslation.md +3 -87
- package/docs/tr/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/tr/packages/next-intlayer/t.md +5 -137
- package/docs/tr/packages/next-intlayer/useDictionary.md +3 -118
- package/docs/tr/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/tr/packages/next-intlayer/useLocale.md +1 -51
- package/docs/tr/packages/react-intlayer/t.md +4 -109
- package/docs/tr/packages/react-intlayer/useDictionary.md +3 -113
- package/docs/tr/packages/react-intlayer/useI18n.md +8 -214
- package/docs/tr/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/tr/packages/react-intlayer/useLocale.md +3 -103
- package/docs/tr/per_locale_file.md +3 -33
- package/docs/uk/dictionary/condition.md +2 -116
- package/docs/uk/dictionary/content_file.md +2 -218
- package/docs/uk/dictionary/enumeration.md +2 -116
- package/docs/uk/dictionary/file.md +3 -100
- package/docs/uk/dictionary/function_fetching.md +3 -103
- package/docs/uk/dictionary/gender.md +2 -140
- package/docs/uk/dictionary/insertion.md +3 -57
- package/docs/uk/dictionary/nesting.md +3 -121
- package/docs/uk/dictionary/translation.md +4 -156
- package/docs/uk/interest_of_intlayer.md +2 -60
- package/docs/uk/intlayer_CMS.md +3 -227
- package/docs/uk/intlayer_visual_editor.md +1 -72
- package/docs/uk/intlayer_with_adonisjs.md +3 -109
- package/docs/uk/intlayer_with_analog.md +21 -41
- package/docs/uk/intlayer_with_angular.md +15 -41
- package/docs/uk/intlayer_with_astro.md +187 -70
- package/docs/uk/intlayer_with_astro_lit.md +615 -0
- package/docs/uk/intlayer_with_astro_preact.md +564 -0
- package/docs/uk/intlayer_with_astro_react.md +562 -0
- package/docs/uk/intlayer_with_astro_solid.md +562 -0
- package/docs/uk/intlayer_with_astro_svelte.md +566 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +543 -0
- package/docs/uk/intlayer_with_astro_vue.md +584 -0
- package/docs/uk/intlayer_with_create_react_app.md +39 -697
- package/docs/uk/intlayer_with_express.md +5 -184
- package/docs/uk/intlayer_with_fastify.md +5 -193
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +3 -118
- package/docs/uk/intlayer_with_nestjs.md +3 -31
- package/docs/uk/intlayer_with_nextjs_14.md +54 -797
- package/docs/uk/intlayer_with_nextjs_15.md +42 -708
- package/docs/uk/intlayer_with_nextjs_16.md +60 -903
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +11 -499
- package/docs/uk/intlayer_with_nextjs_page_router.md +37 -659
- package/docs/uk/intlayer_with_nuxt.md +16 -106
- package/docs/uk/intlayer_with_react_native+expo.md +31 -293
- package/docs/uk/intlayer_with_react_router_v7.md +15 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +15 -93
- package/docs/uk/intlayer_with_storybook.md +1 -37
- package/docs/uk/intlayer_with_svelte_kit.md +28 -70
- package/docs/uk/intlayer_with_tanstack+solid.md +14 -70
- package/docs/uk/intlayer_with_tanstack.md +14 -62
- package/docs/uk/intlayer_with_vanilla.md +28 -108
- package/docs/uk/intlayer_with_vite+lit.md +98 -156
- package/docs/uk/intlayer_with_vite+preact.md +105 -714
- package/docs/uk/intlayer_with_vite+react.md +113 -822
- package/docs/uk/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/uk/intlayer_with_vite+solid.md +79 -151
- package/docs/uk/intlayer_with_vite+svelte.md +104 -132
- package/docs/uk/intlayer_with_vite+vanilla.md +105 -155
- package/docs/uk/intlayer_with_vite+vue.md +92 -268
- package/docs/uk/introduction.md +2 -61
- package/docs/uk/packages/express-intlayer/t.md +6 -187
- package/docs/uk/packages/hono-intlayer/t.md +1 -45
- package/docs/uk/packages/intlayer/getConfiguration.md +2 -54
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -60
- package/docs/uk/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/uk/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/uk/packages/intlayer/getLocaleName.md +1 -43
- package/docs/uk/packages/intlayer/getLocalizedUrl.md +3 -71
- package/docs/uk/packages/intlayer/getMultilingualUrls.md +3 -79
- package/docs/uk/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/uk/packages/intlayer/getPrefix.md +1 -15
- package/docs/uk/packages/intlayer/getTranslation.md +3 -87
- package/docs/uk/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/uk/packages/next-intlayer/t.md +5 -141
- package/docs/uk/packages/next-intlayer/useDictionary.md +3 -126
- package/docs/uk/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/uk/packages/next-intlayer/useLocale.md +1 -51
- package/docs/uk/packages/react-intlayer/t.md +4 -113
- package/docs/uk/packages/react-intlayer/useDictionary.md +3 -118
- package/docs/uk/packages/react-intlayer/useI18n.md +4 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/uk/packages/react-intlayer/useLocale.md +3 -103
- package/docs/uk/per_locale_file.md +3 -34
- package/docs/ur/intlayer_with_fastify.md +5 -193
- package/docs/ur/intlayer_with_hono.md +5 -158
- package/docs/ur/intlayer_with_storybook.md +1 -37
- package/docs/ur/intlayer_with_vanilla.md +28 -108
- package/docs/ur/intlayer_with_vite+lit.md +98 -156
- package/docs/ur/intlayer_with_vite+vanilla.md +105 -155
- package/docs/ur/introduction.md +2 -58
- package/docs/vi/dictionary/condition.md +2 -116
- package/docs/vi/dictionary/content_file.md +2 -200
- package/docs/vi/dictionary/enumeration.md +2 -116
- package/docs/vi/dictionary/file.md +3 -102
- package/docs/vi/dictionary/function_fetching.md +3 -103
- package/docs/vi/dictionary/gender.md +2 -140
- package/docs/vi/dictionary/insertion.md +3 -57
- package/docs/vi/dictionary/nesting.md +3 -121
- package/docs/vi/dictionary/translation.md +4 -146
- package/docs/vi/interest_of_intlayer.md +2 -60
- package/docs/vi/intlayer_CMS.md +3 -227
- package/docs/vi/intlayer_visual_editor.md +1 -72
- package/docs/vi/intlayer_with_adonisjs.md +3 -109
- package/docs/vi/intlayer_with_analog.md +21 -41
- package/docs/vi/intlayer_with_angular.md +15 -41
- package/docs/vi/intlayer_with_astro.md +184 -66
- package/docs/vi/intlayer_with_astro_lit.md +615 -0
- package/docs/vi/intlayer_with_astro_preact.md +564 -0
- package/docs/vi/intlayer_with_astro_react.md +562 -0
- package/docs/vi/intlayer_with_astro_solid.md +562 -0
- package/docs/vi/intlayer_with_astro_svelte.md +566 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +543 -0
- package/docs/vi/intlayer_with_astro_vue.md +584 -0
- package/docs/vi/intlayer_with_create_react_app.md +39 -693
- package/docs/vi/intlayer_with_express.md +5 -179
- package/docs/vi/intlayer_with_fastify.md +5 -193
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +3 -111
- package/docs/vi/intlayer_with_nestjs.md +3 -31
- package/docs/vi/intlayer_with_nextjs_14.md +54 -785
- package/docs/vi/intlayer_with_nextjs_15.md +34 -1171
- package/docs/vi/intlayer_with_nextjs_16.md +60 -903
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +10 -516
- package/docs/vi/intlayer_with_nextjs_page_router.md +69 -742
- package/docs/vi/intlayer_with_nuxt.md +16 -98
- package/docs/vi/intlayer_with_react_native+expo.md +31 -293
- package/docs/vi/intlayer_with_react_router_v7.md +15 -101
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +15 -101
- package/docs/vi/intlayer_with_storybook.md +1 -37
- package/docs/vi/intlayer_with_svelte_kit.md +29 -71
- package/docs/vi/intlayer_with_tanstack+solid.md +14 -70
- package/docs/vi/intlayer_with_tanstack.md +14 -62
- package/docs/vi/intlayer_with_vanilla.md +28 -108
- package/docs/vi/intlayer_with_vite+lit.md +98 -156
- package/docs/vi/intlayer_with_vite+preact.md +103 -712
- package/docs/vi/intlayer_with_vite+react.md +105 -787
- package/docs/vi/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/vi/intlayer_with_vite+solid.md +79 -150
- package/docs/vi/intlayer_with_vite+svelte.md +104 -132
- package/docs/vi/intlayer_with_vite+vanilla.md +105 -155
- package/docs/vi/intlayer_with_vite+vue.md +92 -252
- package/docs/vi/introduction.md +2 -58
- package/docs/vi/packages/express-intlayer/t.md +6 -181
- package/docs/vi/packages/hono-intlayer/t.md +1 -45
- package/docs/vi/packages/intlayer/getConfiguration.md +2 -54
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -62
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +2 -38
- package/docs/vi/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/vi/packages/intlayer/getLocaleName.md +1 -54
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +2 -59
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +2 -62
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/vi/packages/intlayer/getPrefix.md +1 -15
- package/docs/vi/packages/intlayer/getTranslation.md +3 -98
- package/docs/vi/packages/intlayer/getTranslationContent.md +3 -86
- package/docs/vi/packages/next-intlayer/t.md +5 -137
- package/docs/vi/packages/next-intlayer/useDictionary.md +3 -123
- package/docs/vi/packages/next-intlayer/useIntlayer.md +3 -117
- package/docs/vi/packages/next-intlayer/useLocale.md +1 -51
- package/docs/vi/packages/react-intlayer/t.md +4 -111
- package/docs/vi/packages/react-intlayer/useDictionary.md +3 -114
- package/docs/vi/packages/react-intlayer/useI18n.md +5 -124
- package/docs/vi/packages/react-intlayer/useIntlayer.md +3 -114
- package/docs/vi/packages/react-intlayer/useLocale.md +3 -103
- package/docs/vi/per_locale_file.md +3 -35
- package/docs/zh/dictionary/condition.md +2 -116
- package/docs/zh/dictionary/content_file.md +2 -201
- package/docs/zh/dictionary/enumeration.md +2 -116
- package/docs/zh/dictionary/file.md +3 -101
- package/docs/zh/dictionary/function_fetching.md +3 -103
- package/docs/zh/dictionary/gender.md +2 -140
- package/docs/zh/dictionary/insertion.md +3 -57
- package/docs/zh/dictionary/nesting.md +3 -121
- package/docs/zh/dictionary/translation.md +5 -159
- package/docs/zh/interest_of_intlayer.md +2 -59
- package/docs/zh/intlayer_CMS.md +3 -224
- package/docs/zh/intlayer_visual_editor.md +1 -72
- package/docs/zh/intlayer_with_adonisjs.md +3 -109
- package/docs/zh/intlayer_with_analog.md +21 -41
- package/docs/zh/intlayer_with_angular.md +15 -41
- package/docs/zh/intlayer_with_astro.md +169 -58
- package/docs/zh/intlayer_with_astro_lit.md +598 -0
- package/docs/zh/intlayer_with_astro_preact.md +547 -0
- package/docs/zh/intlayer_with_astro_react.md +545 -0
- package/docs/zh/intlayer_with_astro_solid.md +545 -0
- package/docs/zh/intlayer_with_astro_svelte.md +549 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +526 -0
- package/docs/zh/intlayer_with_astro_vue.md +567 -0
- package/docs/zh/intlayer_with_create_react_app.md +33 -680
- package/docs/zh/intlayer_with_express.md +5 -182
- package/docs/zh/intlayer_with_fastify.md +5 -193
- package/docs/zh/intlayer_with_hono.md +5 -158
- package/docs/zh/intlayer_with_lynx+react.md +2 -116
- package/docs/zh/intlayer_with_nestjs.md +3 -31
- package/docs/zh/intlayer_with_nextjs_14.md +56 -597
- package/docs/zh/intlayer_with_nextjs_15.md +56 -818
- package/docs/zh/intlayer_with_nextjs_16.md +60 -903
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -62
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +11 -541
- package/docs/zh/intlayer_with_nextjs_page_router.md +39 -636
- package/docs/zh/intlayer_with_nuxt.md +16 -101
- package/docs/zh/intlayer_with_react_native+expo.md +31 -286
- package/docs/zh/intlayer_with_react_router_v7.md +15 -92
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +15 -92
- package/docs/zh/intlayer_with_storybook.md +1 -37
- package/docs/zh/intlayer_with_svelte_kit.md +29 -71
- package/docs/zh/intlayer_with_tanstack+solid.md +14 -70
- package/docs/zh/intlayer_with_tanstack.md +14 -2
- package/docs/zh/intlayer_with_vanilla.md +28 -108
- package/docs/zh/intlayer_with_vite+lit.md +98 -162
- package/docs/zh/intlayer_with_vite+preact.md +104 -713
- package/docs/zh/intlayer_with_vite+react.md +106 -786
- package/docs/zh/intlayer_with_vite+react_compiler.md +87 -1
- package/docs/zh/intlayer_with_vite+solid.md +79 -151
- package/docs/zh/intlayer_with_vite+svelte.md +104 -132
- package/docs/zh/intlayer_with_vite+vanilla.md +105 -155
- package/docs/zh/intlayer_with_vite+vue.md +92 -256
- package/docs/zh/introduction.md +2 -59
- package/docs/zh/packages/express-intlayer/t.md +6 -183
- package/docs/zh/packages/hono-intlayer/t.md +2 -70
- package/docs/zh/packages/intlayer/getConfiguration.md +2 -54
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -60
- package/docs/zh/packages/intlayer/getHTMLTextDir.md +2 -39
- package/docs/zh/packages/intlayer/getLocaleLang.md +1 -19
- package/docs/zh/packages/intlayer/getLocaleName.md +1 -43
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +2 -45
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +2 -64
- package/docs/zh/packages/intlayer/getPathWithoutLocale.md +1 -19
- package/docs/zh/packages/intlayer/getPrefix.md +1 -12
- package/docs/zh/packages/intlayer/getTranslation.md +3 -87
- package/docs/zh/packages/intlayer/getTranslationContent.md +3 -87
- package/docs/zh/packages/next-intlayer/t.md +5 -139
- package/docs/zh/packages/next-intlayer/useDictionary.md +3 -120
- package/docs/zh/packages/next-intlayer/useIntlayer.md +3 -119
- package/docs/zh/packages/next-intlayer/useLocale.md +1 -51
- package/docs/zh/packages/react-intlayer/t.md +4 -107
- package/docs/zh/packages/react-intlayer/useDictionary.md +3 -116
- package/docs/zh/packages/react-intlayer/useI18n.md +4 -107
- package/docs/zh/packages/react-intlayer/useIntlayer.md +3 -109
- package/docs/zh/packages/react-intlayer/useLocale.md +3 -103
- package/docs/zh/per_locale_file.md +3 -35
- package/package.json +6 -6
- package/src/common.ts +2 -1
- package/src/generated/docs.entry.ts +140 -0
|
@@ -16,6 +16,7 @@ slugs:
|
|
|
16
16
|
- 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 @@ Dengan Intlayer, Anda dapat:
|
|
|
56
57
|
<Tab label="Kode" 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 - Cara Menginternasionalisasi aplikasi Anda menggunakan 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
|
Buat file konfigurasi untuk mengatur bahasa aplikasi Anda:
|
|
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,64 +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
|
-
// Konfigurasi internasionalisasi
|
|
135
|
-
const config = {
|
|
136
|
-
internationalization: {
|
|
137
|
-
locales: [
|
|
138
|
-
Locales.ENGLISH,
|
|
139
|
-
Locales.FRENCH,
|
|
140
|
-
Locales.SPANISH,
|
|
141
|
-
// Bahasa lain yang Anda gunakan
|
|
142
|
-
],
|
|
143
|
-
defaultLocale: Locales.ENGLISH,
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export default config;
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
151
|
-
const { Locales } = require("intlayer");
|
|
152
|
-
|
|
153
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
154
|
-
// Konfigurasi internasionalisasi
|
|
155
|
-
const config = {
|
|
156
|
-
internationalization: {
|
|
157
|
-
locales: [
|
|
158
|
-
Locales.ENGLISH,
|
|
159
|
-
Locales.FRENCH,
|
|
160
|
-
Locales.SPANISH,
|
|
161
|
-
// Bahasa lain yang Anda gunakan
|
|
162
|
-
],
|
|
163
|
-
defaultLocale: Locales.ENGLISH,
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
module.exports = config;
|
|
168
|
-
```
|
|
169
|
-
|
|
170
142
|
> Melalui file konfigurasi ini, Anda dapat mengatur URL yang dilokalkan, pengalihan middleware, nama cookie, lokasi dan ekstensi deklarasi konten Anda, menonaktifkan log Intlayer di konsol, dan lainnya. Untuk daftar lengkap parameter yang tersedia, lihat [dokumentasi konfigurasi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/configuration.md).
|
|
171
143
|
|
|
172
144
|
### Langkah 3: Integrasikan Intlayer dalam Konfigurasi Vite Anda
|
|
173
145
|
|
|
174
146
|
Tambahkan plugin intlayer ke dalam konfigurasi Anda.
|
|
175
147
|
|
|
176
|
-
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
177
|
-
import { defineConfig } from "vite";
|
|
178
|
-
import react from "@vitejs/plugin-react-swc";
|
|
179
|
-
import { intlayer } from "vite-intlayer";
|
|
180
|
-
|
|
181
|
-
// https://vitejs.dev/config/
|
|
182
|
-
export default defineConfig({
|
|
183
|
-
plugins: [react(), intlayer()],
|
|
184
|
-
});
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
148
|
+
```typescript fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
188
149
|
import { defineConfig } from "vite";
|
|
189
150
|
import react from "@vitejs/plugin-react-swc";
|
|
190
151
|
import { intlayer } from "vite-intlayer";
|
|
@@ -195,24 +156,13 @@ export default defineConfig({
|
|
|
195
156
|
});
|
|
196
157
|
```
|
|
197
158
|
|
|
198
|
-
```javascript fileName="vite.config.cjs" codeFormat="commonjs"
|
|
199
|
-
const { defineConfig } = require("vite");
|
|
200
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
201
|
-
const { intlayer } = require("vite-intlayer");
|
|
202
|
-
|
|
203
|
-
// https://vitejs.dev/config/
|
|
204
|
-
module.exports = defineConfig({
|
|
205
|
-
plugins: [react(), intlayer()],
|
|
206
|
-
});
|
|
207
|
-
```
|
|
208
|
-
|
|
209
159
|
> Plugin Vite `intlayer()` digunakan untuk mengintegrasikan Intlayer dengan Vite. Plugin ini memastikan pembuatan file deklarasi konten dan memantau file tersebut dalam mode pengembangan. Plugin ini juga mendefinisikan variabel lingkungan Intlayer dalam aplikasi Vite. Selain itu, plugin ini menyediakan alias untuk mengoptimalkan performa.
|
|
210
160
|
|
|
211
161
|
### Langkah 4: Deklarasikan Konten Anda
|
|
212
162
|
|
|
213
163
|
Buat dan kelola deklarasi konten Anda untuk menyimpan terjemahan:
|
|
214
164
|
|
|
215
|
-
```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
|
|
165
|
+
```tsx fileName="src/app.content.tsx" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
216
166
|
import { t, type Dictionary } from "intlayer";
|
|
217
167
|
import type { ReactNode } from "react";
|
|
218
168
|
|
|
@@ -267,125 +217,6 @@ const appContent = {
|
|
|
267
217
|
export default appContent;
|
|
268
218
|
```
|
|
269
219
|
|
|
270
|
-
```javascript fileName="src/app.content.mjs" contentDeclarationFormat="esm"
|
|
271
|
-
import { t } from "intlayer";
|
|
272
|
-
|
|
273
|
-
/** @type {import('intlayer').Dictionary} */
|
|
274
|
-
const appContent = {
|
|
275
|
-
key: "app",
|
|
276
|
-
content: {
|
|
277
|
-
viteLogo: t({
|
|
278
|
-
en: "Vite logo",
|
|
279
|
-
fr: "Logo Vite",
|
|
280
|
-
es: "Logo Vite",
|
|
281
|
-
}),
|
|
282
|
-
reactLogo: t({
|
|
283
|
-
en: "React logo",
|
|
284
|
-
fr: "Logo React",
|
|
285
|
-
es: "Logo React",
|
|
286
|
-
}),
|
|
287
|
-
|
|
288
|
-
title: "Vite + React",
|
|
289
|
-
|
|
290
|
-
count: t({
|
|
291
|
-
en: "count is ",
|
|
292
|
-
fr: "le compte est ",
|
|
293
|
-
es: "el recuento es ",
|
|
294
|
-
}),
|
|
295
|
-
|
|
296
|
-
edit:
|
|
297
|
-
t <
|
|
298
|
-
ReactNode >
|
|
299
|
-
{
|
|
300
|
-
// Jangan lupa impor React jika Anda menggunakan node React dalam konten Anda
|
|
301
|
-
en: (
|
|
302
|
-
<>
|
|
303
|
-
Edit <code>src/App.tsx</code> dan simpan untuk menguji HMR
|
|
304
|
-
</>
|
|
305
|
-
),
|
|
306
|
-
fr: (
|
|
307
|
-
<>
|
|
308
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
309
|
-
</>
|
|
310
|
-
),
|
|
311
|
-
es: (
|
|
312
|
-
<>
|
|
313
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
314
|
-
</>
|
|
315
|
-
),
|
|
316
|
-
},
|
|
317
|
-
|
|
318
|
-
readTheDocs: t({
|
|
319
|
-
en: "Click on the Vite and React logos to learn more",
|
|
320
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
321
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
322
|
-
id: "Klik pada logo Vite dan React untuk mempelajari lebih lanjut",
|
|
323
|
-
}),
|
|
324
|
-
},
|
|
325
|
-
};
|
|
326
|
-
|
|
327
|
-
export default appContent;
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
|
|
331
|
-
const { t } = require("intlayer");
|
|
332
|
-
|
|
333
|
-
/** @type {import('intlayer').Dictionary} */
|
|
334
|
-
const appContent = {
|
|
335
|
-
key: "app",
|
|
336
|
-
content: {
|
|
337
|
-
viteLogo: t({
|
|
338
|
-
en: "Logo Vite",
|
|
339
|
-
fr: "Logo Vite",
|
|
340
|
-
es: "Logo Vite",
|
|
341
|
-
}),
|
|
342
|
-
reactLogo: t({
|
|
343
|
-
en: "Logo React",
|
|
344
|
-
fr: "Logo React",
|
|
345
|
-
es: "Logo React",
|
|
346
|
-
}),
|
|
347
|
-
|
|
348
|
-
title: "Vite + React",
|
|
349
|
-
|
|
350
|
-
count: t({
|
|
351
|
-
en: "jumlah adalah ",
|
|
352
|
-
fr: "le compte est ",
|
|
353
|
-
es: "el recuento es ",
|
|
354
|
-
}),
|
|
355
|
-
|
|
356
|
-
edit:
|
|
357
|
-
t <
|
|
358
|
-
ReactNode >
|
|
359
|
-
{
|
|
360
|
-
// Jangan lupa impor React jika Anda menggunakan node React dalam konten Anda
|
|
361
|
-
en: (
|
|
362
|
-
<>
|
|
363
|
-
Edit <code>src/App.tsx</code> dan simpan untuk menguji HMR
|
|
364
|
-
</>
|
|
365
|
-
),
|
|
366
|
-
fr: (
|
|
367
|
-
<>
|
|
368
|
-
Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR
|
|
369
|
-
</>
|
|
370
|
-
),
|
|
371
|
-
es: (
|
|
372
|
-
<>
|
|
373
|
-
Edita <code>src/App.tsx</code> y guarda para probar HMR
|
|
374
|
-
</>
|
|
375
|
-
/ ),
|
|
376
|
-
},
|
|
377
|
-
|
|
378
|
-
readTheDocs: t({
|
|
379
|
-
en: "Klik pada logo Vite dan React untuk mempelajari lebih lanjut",
|
|
380
|
-
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
381
|
-
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
382
|
-
}),
|
|
383
|
-
},
|
|
384
|
-
};
|
|
385
|
-
|
|
386
|
-
module.exports = appContent;
|
|
387
|
-
```
|
|
388
|
-
|
|
389
220
|
```json fileName="src/app.content.json" contentDeclarationFormat="json"
|
|
390
221
|
{
|
|
391
222
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -460,7 +291,7 @@ module.exports = appContent;
|
|
|
460
291
|
|
|
461
292
|
Akses kamus konten Anda di seluruh aplikasi Anda:
|
|
462
293
|
|
|
463
|
-
```tsx {5,9} fileName="src/App.tsx" codeFormat="typescript"
|
|
294
|
+
```tsx {5,9} fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
464
295
|
import { useState, type FC } from "react";
|
|
465
296
|
import reactLogo from "./assets/react.svg";
|
|
466
297
|
import viteLogo from "/vite.svg";
|
|
@@ -507,100 +338,6 @@ const App: FC = () => (
|
|
|
507
338
|
export default App;
|
|
508
339
|
```
|
|
509
340
|
|
|
510
|
-
```tsx {5,9} fileName="src/App.msx" codeFormat="esm"
|
|
511
|
-
import { useState } from "react";
|
|
512
|
-
import reactLogo from "./assets/react.svg";
|
|
513
|
-
import viteLogo from "/vite.svg";
|
|
514
|
-
import "./App.css";
|
|
515
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
516
|
-
|
|
517
|
-
const AppContent = () => {
|
|
518
|
-
const [count, setCount] = useState(0);
|
|
519
|
-
const content = useIntlayer("app");
|
|
520
|
-
|
|
521
|
-
return (
|
|
522
|
-
<>
|
|
523
|
-
<div>
|
|
524
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
525
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
526
|
-
</a>
|
|
527
|
-
<a href="https://react.dev" target="_blank">
|
|
528
|
-
<img
|
|
529
|
-
src={reactLogo}
|
|
530
|
-
className="logo react"
|
|
531
|
-
alt={content.reactLogo.value}
|
|
532
|
-
/>
|
|
533
|
-
</a>
|
|
534
|
-
</div>
|
|
535
|
-
<h1>{content.title}</h1>
|
|
536
|
-
<div className="card">
|
|
537
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
538
|
-
{content.count}
|
|
539
|
-
{count}
|
|
540
|
-
</button>
|
|
541
|
-
<p>{content.edit}</p>
|
|
542
|
-
</div>
|
|
543
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
544
|
-
</>
|
|
545
|
-
);
|
|
546
|
-
};
|
|
547
|
-
|
|
548
|
-
const App = () => (
|
|
549
|
-
<IntlayerProvider>
|
|
550
|
-
<AppContent />
|
|
551
|
-
</IntlayerProvider>
|
|
552
|
-
);
|
|
553
|
-
|
|
554
|
-
export default App;
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
```tsx {5,9} fileName="src/App.csx" codeFormat="commonjs"
|
|
558
|
-
const { useState } = require("react");
|
|
559
|
-
const reactLogo = require("./assets/react.svg");
|
|
560
|
-
const viteLogo = require("/vite.svg");
|
|
561
|
-
require("./App.css");
|
|
562
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
563
|
-
|
|
564
|
-
const AppContent = () => {
|
|
565
|
-
const [count, setCount] = useState(0);
|
|
566
|
-
const content = useIntlayer("app");
|
|
567
|
-
|
|
568
|
-
return (
|
|
569
|
-
<>
|
|
570
|
-
<div>
|
|
571
|
-
<a href="https://vitejs.dev" target="_blank">
|
|
572
|
-
<img src={viteLogo} className="logo" alt={content.viteLogo.value} />
|
|
573
|
-
</a>
|
|
574
|
-
<a href="https://react.dev" target="_blank">
|
|
575
|
-
<img
|
|
576
|
-
src={reactLogo}
|
|
577
|
-
className="logo react"
|
|
578
|
-
alt={content.reactLogo.value}
|
|
579
|
-
/>
|
|
580
|
-
</a>
|
|
581
|
-
</div>
|
|
582
|
-
<h1>{content.title}</h1>
|
|
583
|
-
<div className="card">
|
|
584
|
-
<button onClick={() => setCount((count) => count + 1)}>
|
|
585
|
-
{content.count}
|
|
586
|
-
{count}
|
|
587
|
-
</button>
|
|
588
|
-
<p>{content.edit}</p>
|
|
589
|
-
</div>
|
|
590
|
-
<p className="read-the-docs">{content.readTheDocs}</p>
|
|
591
|
-
</>
|
|
592
|
-
);
|
|
593
|
-
};
|
|
594
|
-
|
|
595
|
-
const App = () => (
|
|
596
|
-
<IntlayerProvider>
|
|
597
|
-
<AppContent />
|
|
598
|
-
</IntlayerProvider>
|
|
599
|
-
);
|
|
600
|
-
|
|
601
|
-
module.exports = App;
|
|
602
|
-
```
|
|
603
|
-
|
|
604
341
|
> Jika Anda ingin menggunakan konten Anda dalam atribut `string`, seperti `alt`, `title`, `href`, `aria-label`, dll., Anda harus memanggil nilai fungsi tersebut, seperti:
|
|
605
342
|
|
|
606
343
|
> ```jsx
|
|
@@ -615,7 +352,7 @@ module.exports = App;
|
|
|
615
352
|
|
|
616
353
|
Untuk mengubah bahasa konten Anda, Anda dapat menggunakan fungsi `setLocale` yang disediakan oleh hook `useLocale`. Fungsi ini memungkinkan Anda untuk mengatur locale aplikasi dan memperbarui konten sesuai dengan locale tersebut.
|
|
617
354
|
|
|
618
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
355
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
619
356
|
import type { FC } from "react";
|
|
620
357
|
import { Locales } from "intlayer";
|
|
621
358
|
import { useLocale } from "react-intlayer";
|
|
@@ -631,36 +368,6 @@ const LocaleSwitcher: FC = () => {
|
|
|
631
368
|
};
|
|
632
369
|
```
|
|
633
370
|
|
|
634
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
635
|
-
import { Locales } from "intlayer";
|
|
636
|
-
import { useLocale } from "react-intlayer";
|
|
637
|
-
|
|
638
|
-
const LocaleSwitcher = () => {
|
|
639
|
-
const { setLocale } = useLocale();
|
|
640
|
-
|
|
641
|
-
return (
|
|
642
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
643
|
-
Ubah Bahasa ke Bahasa Inggris
|
|
644
|
-
</button>
|
|
645
|
-
);
|
|
646
|
-
};
|
|
647
|
-
```
|
|
648
|
-
|
|
649
|
-
```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
|
|
650
|
-
const { Locales } = require("intlayer");
|
|
651
|
-
const { useLocale } = require("react-intlayer");
|
|
652
|
-
|
|
653
|
-
const LocaleSwitcher = () => {
|
|
654
|
-
const { setLocale } = useLocale();
|
|
655
|
-
|
|
656
|
-
return (
|
|
657
|
-
<button onClick={() => setLocale(Locales.English)}>
|
|
658
|
-
Ubah Bahasa ke Bahasa Inggris
|
|
659
|
-
</button>
|
|
660
|
-
);
|
|
661
|
-
};
|
|
662
|
-
```
|
|
663
|
-
|
|
664
371
|
> Untuk mempelajari lebih lanjut tentang hook `useLocale`, lihat [dokumentasi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/packages/react-intlayer/useLocale.md).
|
|
665
372
|
|
|
666
373
|
### (Opsional) Langkah 7: Tambahkan Routing yang Dilokalkan ke aplikasi Anda
|
|
@@ -678,7 +385,7 @@ Contoh:
|
|
|
678
385
|
|
|
679
386
|
Untuk menambahkan routing yang dilokalkan ke aplikasi Anda, Anda dapat membuat komponen `LocaleRouter` yang membungkus rute aplikasi Anda dan menangani routing berbasis locale. Berikut adalah contoh menggunakan [React Router](https://reactrouter.com/home):
|
|
680
387
|
|
|
681
|
-
```tsx fileName="src/components/LocaleRouter.tsx"
|
|
388
|
+
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat={["typescript", "esm"]}
|
|
682
389
|
import { localeMap } from "intlayer"; // Fungsi utilitas dan tipe dari 'intlayer'
|
|
683
390
|
import type { FC, PropsWithChildren } from "react"; // Tipe React untuk komponen fungsional dan props
|
|
684
391
|
import { IntlayerProvider } from "react-intlayer"; // Provider untuk konteks internasionalisasi
|
|
@@ -706,69 +413,11 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
706
413
|
);
|
|
707
414
|
```
|
|
708
415
|
|
|
709
|
-
```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
|
|
710
|
-
import { localeMap } from 'intlayer'; // Fungsi utilitas dan tipe dari 'intlayer'
|
|
711
|
-
import type { FC, PropsWithChildren } from 'react'; // Tipe React untuk komponen fungsional dan props
|
|
712
|
-
import { IntlayerProvider } from "react-intlayer"; // Provider untuk konteks internasionalisasi
|
|
713
|
-
import { BrowserRouter, Route, Routes } from 'react-router-dom'; // Komponen router untuk mengelola navigasi
|
|
714
|
-
|
|
715
|
-
/**
|
|
716
|
-
* Komponen router yang mengatur rute spesifik locale.
|
|
717
|
-
* Menggunakan React Router untuk mengelola navigasi dan merender komponen yang dilokalkan.
|
|
718
|
-
*/
|
|
719
|
-
export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
720
|
-
<BrowserRouter>
|
|
721
|
-
<Routes>
|
|
722
|
-
{localeMap(({ locale, urlPrefix }) => (
|
|
723
|
-
<Route
|
|
724
|
-
// Pola rute untuk menangkap locale (misal: /en/, /fr/) dan mencocokkan semua path berikutnya
|
|
725
|
-
path={`${urlPrefix}/*`}
|
|
726
|
-
key={locale}
|
|
727
|
-
element={
|
|
728
|
-
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
729
|
-
} // Membungkus children dengan manajemen locale
|
|
730
|
-
/>
|
|
731
|
-
))}
|
|
732
|
-
</Routes>
|
|
733
|
-
</BrowserRouter>
|
|
734
|
-
);
|
|
735
|
-
```
|
|
736
|
-
|
|
737
|
-
```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
|
|
738
|
-
const { localeMap } = require("intlayer"); // Fungsi utilitas dan tipe dari 'intlayer'
|
|
739
|
-
const React = require("react"); // Import React
|
|
740
|
-
const { IntlayerProvider } = require("react-intlayer"); // Provider untuk konteks internasionalisasi
|
|
741
|
-
const { BrowserRouter, Route, Routes } = require("react-router-dom"); // Komponen router untuk mengelola navigasi
|
|
742
|
-
|
|
743
|
-
/**
|
|
744
|
-
* Komponen router yang mengatur rute spesifik locale.
|
|
745
|
-
* Menggunakan React Router untuk mengelola navigasi dan merender komponen yang dilokalisasi.
|
|
746
|
-
*/
|
|
747
|
-
const LocaleRouter = ({ children }) =>
|
|
748
|
-
React.createElement(
|
|
749
|
-
BrowserRouter,
|
|
750
|
-
{},
|
|
751
|
-
React.createElement(
|
|
752
|
-
Routes,
|
|
753
|
-
{},
|
|
754
|
-
localeMap(({ locale, urlPrefix }) =>
|
|
755
|
-
React.createElement(Route, {
|
|
756
|
-
path: `${urlPrefix}/*`,
|
|
757
|
-
key: locale,
|
|
758
|
-
element: React.createElement(IntlayerProvider, { locale }, children),
|
|
759
|
-
})
|
|
760
|
-
)
|
|
761
|
-
)
|
|
762
|
-
);
|
|
763
|
-
|
|
764
|
-
exports.LocaleRouter = LocaleRouter;
|
|
765
|
-
```
|
|
766
|
-
|
|
767
416
|
> Catatan: Jika Anda menggunakan `routing.mode: 'no-prefix' | 'search-params'`, Anda mungkin tidak perlu menggunakan fungsi `localeMap`.
|
|
768
417
|
|
|
769
418
|
Kemudian, Anda dapat menggunakan komponen `LocaleRouter` dalam aplikasi Anda:
|
|
770
419
|
|
|
771
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
420
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
772
421
|
import { LocaleRouter } from "./components/LocaleRouter";
|
|
773
422
|
import type { FC } from "react";
|
|
774
423
|
|
|
@@ -781,51 +430,11 @@ const App: FC = () => (
|
|
|
781
430
|
);
|
|
782
431
|
```
|
|
783
432
|
|
|
784
|
-
```jsx fileName="src/App.mjx" codeFormat="esm"
|
|
785
|
-
import { LocaleRouter } from "./components/LocaleRouter";
|
|
786
|
-
|
|
787
|
-
// ... Komponen AppContent Anda
|
|
788
|
-
|
|
789
|
-
const App = () => (
|
|
790
|
-
<LocaleRouter>
|
|
791
|
-
<AppContent />
|
|
792
|
-
</LocaleRouter>
|
|
793
|
-
);
|
|
794
|
-
```
|
|
795
|
-
|
|
796
|
-
```jsx fileName="src/App.cjx" codeFormat="commonjs"
|
|
797
|
-
const { LocaleRouter } = require("./components/LocaleRouter");
|
|
798
|
-
|
|
799
|
-
jsx fileName="src/App.cjx" codeFormat="commonjs"
|
|
800
|
-
// ... Komponen AppContent Anda
|
|
801
|
-
|
|
802
|
-
const App = () => (
|
|
803
|
-
<LocaleRouter>
|
|
804
|
-
<AppContent />
|
|
805
|
-
</LocaleRouter>
|
|
806
|
-
);
|
|
807
|
-
```
|
|
808
|
-
|
|
809
433
|
Secara paralel, Anda juga dapat menggunakan `intlayerProxy` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling sesuai berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ulang ke locale default.
|
|
810
434
|
|
|
811
435
|
> Perlu dicatat bahwa untuk menggunakan `intlayerProxy` dalam produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
|
|
812
436
|
|
|
813
|
-
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
814
|
-
import { defineConfig } from "vite";
|
|
815
|
-
import react from "@vitejs/plugin-react-swc";
|
|
816
|
-
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
817
|
-
|
|
818
|
-
// https://vitejs.dev/config/
|
|
819
|
-
export default defineConfig({
|
|
820
|
-
plugins: [
|
|
821
|
-
intlayerProxy(), // should be placed first
|
|
822
|
-
react(),
|
|
823
|
-
intlayer(),
|
|
824
|
-
],
|
|
825
|
-
});
|
|
826
|
-
```
|
|
827
|
-
|
|
828
|
-
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
437
|
+
```typescript {3,7} fileName="vite.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
829
438
|
import { defineConfig } from "vite";
|
|
830
439
|
import react from "@vitejs/plugin-react-swc";
|
|
831
440
|
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
@@ -838,177 +447,34 @@ export default defineConfig({
|
|
|
838
447
|
intlayer(),
|
|
839
448
|
],
|
|
840
449
|
});
|
|
841
|
-
```
|
|
842
|
-
|
|
843
|
-
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
844
|
-
const { defineConfig } = require("vite");
|
|
845
|
-
const react = require("@vitejs/plugin-react-swc");
|
|
846
|
-
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
847
|
-
|
|
848
|
-
// https://vitejs.dev/config/
|
|
849
|
-
module.exports = defineConfig({
|
|
850
|
-
plugins: [
|
|
851
|
-
intlayerProxy(), // should be placed first
|
|
852
|
-
react(),
|
|
853
|
-
intlayer(),
|
|
854
|
-
],
|
|
855
|
-
});
|
|
856
|
-
```
|
|
857
|
-
|
|
858
|
-
### (Opsional) Langkah 8: Ubah URL saat locale berubah
|
|
859
|
-
|
|
860
|
-
Untuk mengubah URL saat locale berubah, Anda dapat menggunakan properti `onLocaleChange` yang disediakan oleh hook `useLocale`. Secara paralel, Anda dapat menggunakan hook `useLocation` dan `useNavigate` dari `react-router-dom` untuk memperbarui path URL.
|
|
861
|
-
|
|
862
|
-
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
863
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
864
|
-
import {
|
|
865
|
-
Locales,
|
|
866
|
-
getHTMLTextDir,
|
|
867
|
-
getLocaleName,
|
|
868
|
-
getLocalizedUrl,
|
|
869
|
-
} from "intlayer";
|
|
870
|
-
import { useLocale } from "react-intlayer";
|
|
871
|
-
import { type FC } from "react";
|
|
872
|
-
|
|
873
|
-
const LocaleSwitcher: FC = () => {
|
|
874
|
-
const { pathname, search } = useLocation(); // Dapatkan path URL saat ini. Contoh: /fr/about?foo=bar
|
|
875
|
-
const navigate = useNavigate();
|
|
876
|
-
|
|
877
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
878
|
-
onLocaleChange: (locale) => {
|
|
879
|
-
// Bangun URL dengan locale yang diperbarui
|
|
880
|
-
// Contoh: /es/about?foo=bar
|
|
881
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
882
|
-
|
|
883
|
-
// Perbarui path URL
|
|
884
|
-
navigate(pathWithLocale);
|
|
885
|
-
},
|
|
886
|
-
});
|
|
887
|
-
|
|
888
|
-
return (
|
|
889
|
-
<div>
|
|
890
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
891
|
-
<div id="localePopover" popover="auto">
|
|
892
|
-
{availableLocales.map((localeItem) => (
|
|
893
|
-
<a
|
|
894
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
895
|
-
hrefLang={localeItem}
|
|
896
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
897
|
-
onClick={(e) => {
|
|
898
|
-
e.preventDefault();
|
|
899
|
-
setLocale(localeItem);
|
|
900
|
-
}}
|
|
901
|
-
key={localeItem}
|
|
902
|
-
>
|
|
903
|
-
<span>
|
|
904
|
-
{/* Lokal - misal FR */}
|
|
905
|
-
{localeItem}
|
|
906
|
-
</span>
|
|
907
|
-
<span>
|
|
908
|
-
{/* Bahasa dalam Lokal sendiri - misal Français */}
|
|
909
|
-
{getLocaleName(localeItem, locale)}
|
|
910
|
-
</span>
|
|
911
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
912
|
-
{/* Bahasa dalam Lokal saat ini - misal Francés dengan lokal saat ini diset ke Locales.SPANISH */}
|
|
913
|
-
{getLocaleName(localeItem)}
|
|
914
|
-
</span>
|
|
915
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
916
|
-
{/* Bahasa dalam Bahasa Inggris - misalnya French */}
|
|
917
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
918
|
-
</span>
|
|
919
|
-
</a>
|
|
920
|
-
))}
|
|
921
|
-
</div>
|
|
922
|
-
</div>
|
|
923
|
-
);
|
|
924
|
-
};
|
|
925
|
-
```
|
|
926
|
-
|
|
927
|
-
```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
|
|
928
|
-
import { useLocation, useNavigate } from "react-router-dom";
|
|
929
|
-
import {
|
|
930
|
-
Locales,
|
|
931
|
-
getHTMLTextDir,
|
|
932
|
-
getLocaleName,
|
|
933
|
-
getLocalizedUrl,
|
|
934
|
-
} from "intlayer";
|
|
935
|
-
import { useLocale } from "react-intlayer";
|
|
936
|
-
|
|
937
|
-
const LocaleSwitcher = () => {
|
|
938
|
-
const { pathname, search } = useLocation(); // Mendapatkan path URL saat ini. Contoh: /fr/about?foo=bar
|
|
939
|
-
const navigate = useNavigate();
|
|
940
|
-
|
|
941
|
-
const { locale, availableLocales, setLocale } = useLocale({
|
|
942
|
-
onLocaleChange: (locale) => {
|
|
943
|
-
// Membangun URL dengan locale yang diperbarui
|
|
944
|
-
// Contoh: /es/about?foo=bar
|
|
945
|
-
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
450
|
+
```
|
|
946
451
|
|
|
947
|
-
|
|
948
|
-
navigate(pathWithLocale);
|
|
949
|
-
},
|
|
950
|
-
});
|
|
452
|
+
### (Opsional) Langkah 8: Ubah URL saat locale berubah
|
|
951
453
|
|
|
952
|
-
|
|
953
|
-
<div>
|
|
954
|
-
<button popoverTarget="localePopover">{getLocaleName(locale)}</button>
|
|
955
|
-
<div id="localePopover" popover="auto">
|
|
956
|
-
{availableLocales.map((localeItem) => (
|
|
957
|
-
<a
|
|
958
|
-
href={getLocalizedUrl(location.pathname, localeItem)}
|
|
959
|
-
hrefLang={localeItem}
|
|
960
|
-
aria-current={locale === localeItem ? "page" : undefined}
|
|
961
|
-
onClick={(e) => {
|
|
962
|
-
e.preventDefault();
|
|
963
|
-
setLocale(localeItem);
|
|
964
|
-
}}
|
|
965
|
-
key={localeItem}
|
|
966
|
-
>
|
|
967
|
-
<span>
|
|
968
|
-
{/* Lokal - misal FR */}
|
|
969
|
-
{localeItem}
|
|
970
|
-
</span>
|
|
971
|
-
<span>
|
|
972
|
-
{/* Bahasa dalam Locale-nya sendiri - misal Français */}
|
|
973
|
-
{getLocaleName(localeItem, locale)}
|
|
974
|
-
</span>
|
|
975
|
-
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
976
|
-
{/* Bahasa dalam Locale saat ini - misal Francés dengan locale saat ini diset ke Locales.SPANISH */}
|
|
977
|
-
{getLocaleName(localeItem)}
|
|
978
|
-
</span>
|
|
979
|
-
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
980
|
-
{/* Bahasa dalam Bahasa Inggris - misal French */}
|
|
981
|
-
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
982
|
-
</span>
|
|
983
|
-
</a>
|
|
984
|
-
))}
|
|
985
|
-
</div>
|
|
986
|
-
</div>
|
|
987
|
-
);
|
|
988
|
-
};
|
|
989
|
-
```
|
|
454
|
+
Untuk mengubah URL saat locale berubah, Anda dapat menggunakan properti `onLocaleChange` yang disediakan oleh hook `useLocale`. Secara paralel, Anda dapat menggunakan hook `useLocation` dan `useNavigate` dari `react-router-dom` untuk memperbarui path URL.
|
|
990
455
|
|
|
991
|
-
```
|
|
992
|
-
|
|
993
|
-
|
|
456
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat={["typescript", "esm"]}
|
|
457
|
+
import { useLocation, useNavigate } from "react-router-dom";
|
|
458
|
+
import {
|
|
994
459
|
Locales,
|
|
995
460
|
getHTMLTextDir,
|
|
996
461
|
getLocaleName,
|
|
997
462
|
getLocalizedUrl,
|
|
998
|
-
}
|
|
999
|
-
|
|
463
|
+
} from "intlayer";
|
|
464
|
+
import { useLocale } from "react-intlayer";
|
|
465
|
+
import { type FC } from "react";
|
|
1000
466
|
|
|
1001
|
-
const LocaleSwitcher = () => {
|
|
1002
|
-
const { pathname, search } = useLocation(); //
|
|
467
|
+
const LocaleSwitcher: FC = () => {
|
|
468
|
+
const { pathname, search } = useLocation(); // Dapatkan path URL saat ini. Contoh: /fr/about?foo=bar
|
|
1003
469
|
const navigate = useNavigate();
|
|
1004
470
|
|
|
1005
471
|
const { locale, availableLocales, setLocale } = useLocale({
|
|
1006
472
|
onLocaleChange: (locale) => {
|
|
1007
|
-
//
|
|
473
|
+
// Bangun URL dengan locale yang diperbarui
|
|
1008
474
|
// Contoh: /es/about?foo=bar
|
|
1009
475
|
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
1010
476
|
|
|
1011
|
-
//
|
|
477
|
+
// Perbarui path URL
|
|
1012
478
|
navigate(pathWithLocale);
|
|
1013
479
|
},
|
|
1014
480
|
});
|
|
@@ -1029,15 +495,15 @@ const LocaleSwitcher = () => {
|
|
|
1029
495
|
key={localeItem}
|
|
1030
496
|
>
|
|
1031
497
|
<span>
|
|
1032
|
-
{/*
|
|
498
|
+
{/* Lokal - misal FR */}
|
|
1033
499
|
{localeItem}
|
|
1034
500
|
</span>
|
|
1035
501
|
<span>
|
|
1036
|
-
{/* Bahasa dalam
|
|
502
|
+
{/* Bahasa dalam Lokal sendiri - misal Français */}
|
|
1037
503
|
{getLocaleName(localeItem, locale)}
|
|
1038
504
|
</span>
|
|
1039
505
|
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1040
|
-
{/* Bahasa dalam
|
|
506
|
+
{/* Bahasa dalam Lokal saat ini - misal Francés dengan lokal saat ini diset ke Locales.SPANISH */}
|
|
1041
507
|
{getLocaleName(localeItem)}
|
|
1042
508
|
</span>
|
|
1043
509
|
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
@@ -1081,7 +547,7 @@ Dengan memperbarui atribut ini secara dinamis saat locale berubah, Anda menjamin
|
|
|
1081
547
|
|
|
1082
548
|
Buat hook kustom untuk mengelola atribut HTML. Hook ini mendengarkan perubahan locale dan memperbarui atribut sesuai:
|
|
1083
549
|
|
|
1084
|
-
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
|
|
550
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
1085
551
|
import { useEffect } from "react";
|
|
1086
552
|
import { useLocale } from "react-intlayer";
|
|
1087
553
|
import { getHTMLTextDir } from "intlayer";
|
|
@@ -1106,63 +572,11 @@ export const useI18nHTMLAttributes = () => {
|
|
|
1106
572
|
};
|
|
1107
573
|
```
|
|
1108
574
|
|
|
1109
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.msx" codeFormat="esm"
|
|
1110
|
-
import { useEffect } from "react";
|
|
1111
|
-
import { useLocale } from "react-intlayer";
|
|
1112
|
-
import { getHTMLTextDir } from "intlayer";
|
|
1113
|
-
|
|
1114
|
-
/**
|
|
1115
|
-
* Memperbarui atribut `lang` dan `dir` elemen HTML <html> berdasarkan locale saat ini.
|
|
1116
|
-
* - `lang`: Memberitahu browser dan mesin pencari tentang bahasa halaman.
|
|
1117
|
-
* - `dir`: Memastikan urutan pembacaan yang benar (misalnya, 'ltr' untuk bahasa Inggris, 'rtl' untuk bahasa Arab).
|
|
1118
|
-
*
|
|
1119
|
-
* Pembaruan dinamis ini penting untuk rendering teks yang tepat, aksesibilitas, dan SEO.
|
|
1120
|
-
*/
|
|
1121
|
-
export const useI18nHTMLAttributes = () => {
|
|
1122
|
-
const { locale } = useLocale();
|
|
1123
|
-
|
|
1124
|
-
useEffect(() => {
|
|
1125
|
-
// Perbarui atribut bahasa ke locale saat ini.
|
|
1126
|
-
document.documentElement.lang = locale;
|
|
1127
|
-
|
|
1128
|
-
// Atur arah teks berdasarkan locale saat ini.
|
|
1129
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1130
|
-
}, [locale]);
|
|
1131
|
-
};
|
|
1132
|
-
```
|
|
1133
|
-
|
|
1134
|
-
```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
|
|
1135
|
-
const { useEffect } = require("react");
|
|
1136
|
-
const { useLocale } = require("react-intlayer");
|
|
1137
|
-
const { getHTMLTextDir } = require("intlayer");
|
|
1138
|
-
|
|
1139
|
-
/**
|
|
1140
|
-
* Memperbarui atribut `lang` dan `dir` elemen HTML <html> berdasarkan locale saat ini.
|
|
1141
|
-
* - `lang`: Memberitahu browser dan mesin pencari tentang bahasa halaman.
|
|
1142
|
-
* - `dir`: Menjamin urutan pembacaan yang benar (misalnya, 'ltr' untuk Bahasa Inggris, 'rtl' untuk Bahasa Arab).
|
|
1143
|
-
*
|
|
1144
|
-
* Pembaruan dinamis ini penting untuk rendering teks yang tepat, aksesibilitas, dan SEO.
|
|
1145
|
-
*/
|
|
1146
|
-
const useI18nHTMLAttributes = () => {
|
|
1147
|
-
const { locale } = useLocale();
|
|
1148
|
-
|
|
1149
|
-
useEffect(() => {
|
|
1150
|
-
// Perbarui atribut bahasa ke locale saat ini.
|
|
1151
|
-
document.documentElement.lang = locale;
|
|
1152
|
-
|
|
1153
|
-
// Atur arah teks berdasarkan locale saat ini.
|
|
1154
|
-
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1155
|
-
}, [locale]);
|
|
1156
|
-
};
|
|
1157
|
-
|
|
1158
|
-
module.exports = { useI18nHTMLAttributes };
|
|
1159
|
-
```
|
|
1160
|
-
|
|
1161
575
|
#### Menggunakan Hook di Aplikasi Anda
|
|
1162
576
|
|
|
1163
577
|
Integrasikan hook ini ke dalam komponen utama Anda sehingga atribut HTML akan diperbarui setiap kali locale berubah:
|
|
1164
578
|
|
|
1165
|
-
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
579
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
1166
580
|
import type { FC } from "react";
|
|
1167
581
|
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1168
582
|
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
@@ -1184,49 +598,6 @@ const App: FC = () => (
|
|
|
1184
598
|
export default App;
|
|
1185
599
|
```
|
|
1186
600
|
|
|
1187
|
-
```jsx fileName="src/App.msx" codeFormat="esm"
|
|
1188
|
-
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
1189
|
-
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
1190
|
-
import "./App.css";
|
|
1191
|
-
|
|
1192
|
-
const AppContent = () => {
|
|
1193
|
-
// Terapkan hook untuk memperbarui atribut lang dan dir pada tag <html> berdasarkan locale.
|
|
1194
|
-
useI18nHTMLAttributes();
|
|
1195
|
-
|
|
1196
|
-
// ... Sisa komponen Anda
|
|
1197
|
-
};
|
|
1198
|
-
|
|
1199
|
-
const App = () => (
|
|
1200
|
-
<IntlayerProvider>
|
|
1201
|
-
<AppContent />
|
|
1202
|
-
</IntlayerProvider>
|
|
1203
|
-
);
|
|
1204
|
-
|
|
1205
|
-
export default App;
|
|
1206
|
-
```
|
|
1207
|
-
|
|
1208
|
-
```jsx fileName="src/App.csx" codeFormat="commonjs"
|
|
1209
|
-
const { FC } = require("react");
|
|
1210
|
-
const { IntlayerProvider, useIntlayer } = require("react-intlayer");
|
|
1211
|
-
const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
|
|
1212
|
-
require("./App.css");
|
|
1213
|
-
|
|
1214
|
-
const AppContent = () => {
|
|
1215
|
-
// Terapkan hook untuk memperbarui atribut lang dan dir pada tag <html> berdasarkan locale.
|
|
1216
|
-
useI18nHTMLAttributes();
|
|
1217
|
-
|
|
1218
|
-
// ... Sisa komponen Anda
|
|
1219
|
-
};
|
|
1220
|
-
|
|
1221
|
-
const App = () => (
|
|
1222
|
-
<IntlayerProvider>
|
|
1223
|
-
<AppContent />
|
|
1224
|
-
</IntlayerProvider>
|
|
1225
|
-
);
|
|
1226
|
-
|
|
1227
|
-
module.exports = App;
|
|
1228
|
-
```
|
|
1229
|
-
|
|
1230
601
|
Dengan menerapkan perubahan ini, aplikasi Anda akan:
|
|
1231
602
|
|
|
1232
603
|
- Memastikan atribut **bahasa** (`lang`) mencerminkan locale saat ini dengan benar, yang penting untuk SEO dan perilaku browser.
|
|
@@ -1245,7 +616,7 @@ Perilaku ini berguna untuk beberapa alasan:
|
|
|
1245
616
|
|
|
1246
617
|
Berikut adalah implementasi komponen `Link` yang dilokalisasi dalam TypeScript:
|
|
1247
618
|
|
|
1248
|
-
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
619
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
1249
620
|
import { getLocalizedUrl } from "intlayer";
|
|
1250
621
|
import {
|
|
1251
622
|
forwardRef,
|
|
@@ -1291,79 +662,6 @@ export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
|
1291
662
|
Link.displayName = "Link";
|
|
1292
663
|
```
|
|
1293
664
|
|
|
1294
|
-
```jsx fileName="src/components/Link.mjx" codeFormat="esm"
|
|
1295
|
-
import { getLocalizedUrl } from "intlayer";
|
|
1296
|
-
import { useLocale } from "react-intlayer";
|
|
1297
|
-
import { forwardRef } from "react";
|
|
1298
|
-
|
|
1299
|
-
/**
|
|
1300
|
-
* Fungsi utilitas untuk memeriksa apakah URL yang diberikan adalah eksternal.
|
|
1301
|
-
* Jika URL dimulai dengan http:// atau https://, maka dianggap eksternal.
|
|
1302
|
-
*/
|
|
1303
|
-
export const checkIsExternalLink = (href?: string): boolean =>
|
|
1304
|
-
/^https?:\/\//.test(href ?? "");
|
|
1305
|
-
|
|
1306
|
-
/**
|
|
1307
|
-
* Komponen Link kustom yang menyesuaikan atribut href berdasarkan locale saat ini.
|
|
1308
|
-
* Untuk tautan internal, menggunakan `getLocalizedUrl` untuk menambahkan prefix locale pada URL (misalnya, /fr/about).
|
|
1309
|
-
* Ini memastikan navigasi tetap dalam konteks locale yang sama.
|
|
1310
|
-
*/
|
|
1311
|
-
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1312
|
-
const { locale } = useLocale();
|
|
1313
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1314
|
-
|
|
1315
|
-
// Jika tautan bersifat internal dan href yang valid diberikan, dapatkan URL yang sudah dilokalkan.
|
|
1316
|
-
const hrefI18n =
|
|
1317
|
-
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
1318
|
-
|
|
1319
|
-
return (
|
|
1320
|
-
<a href={hrefI18n} ref={ref} {...props}>
|
|
1321
|
-
{children}
|
|
1322
|
-
</a>
|
|
1323
|
-
);
|
|
1324
|
-
});
|
|
1325
|
-
|
|
1326
|
-
Link.displayName = "Link";
|
|
1327
|
-
```
|
|
1328
|
-
|
|
1329
|
-
```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
|
|
1330
|
-
const { getLocalizedUrl } = require("intlayer");
|
|
1331
|
-
const { useLocale } = require("react-intlayer");
|
|
1332
|
-
const { forwardRef } = require("react");
|
|
1333
|
-
|
|
1334
|
-
/**
|
|
1335
|
-
* Fungsi utilitas untuk memeriksa apakah URL yang diberikan bersifat eksternal.
|
|
1336
|
-
* Jika URL dimulai dengan http:// atau https://, maka dianggap eksternal.
|
|
1337
|
-
*/
|
|
1338
|
-
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1339
|
-
|
|
1340
|
-
/**
|
|
1341
|
-
* Komponen Link kustom yang menyesuaikan atribut href berdasarkan locale saat ini.
|
|
1342
|
-
* Untuk tautan internal, menggunakan `getLocalizedUrl` untuk menambahkan prefix locale pada URL (misalnya, /fr/about).
|
|
1343
|
-
* Ini memastikan navigasi tetap dalam konteks locale yang sama.
|
|
1344
|
-
*/
|
|
1345
|
-
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1346
|
-
const { locale } = useLocale();
|
|
1347
|
-
const isExternalLink = checkIsExternalLink(href);
|
|
1348
|
-
|
|
1349
|
-
// Jika tautan adalah internal dan href valid diberikan, dapatkan URL yang sudah dilokalkan.
|
|
1350
|
-
const localizedHref = isExternalLink ? href : getLocalizedUrl(href, locale);
|
|
1351
|
-
|
|
1352
|
-
return (
|
|
1353
|
-
<a
|
|
1354
|
-
href={localizedHref}
|
|
1355
|
-
ref={ref}
|
|
1356
|
-
{...props}
|
|
1357
|
-
aria-current={isExternalLink ? "external" : undefined}
|
|
1358
|
-
>
|
|
1359
|
-
{children}
|
|
1360
|
-
</a>
|
|
1361
|
-
);
|
|
1362
|
-
});
|
|
1363
|
-
|
|
1364
|
-
Link.displayName = "Link";
|
|
1365
|
-
```
|
|
1366
|
-
|
|
1367
665
|
#### Cara Kerjanya
|
|
1368
666
|
|
|
1369
667
|
- **Mendeteksi Tautan Eksternal**:
|
|
@@ -1436,7 +734,7 @@ Untuk memudahkan proses ini, Intlayer mengusulkan [compiler](https://github.com/
|
|
|
1436
734
|
|
|
1437
735
|
Untuk mengaturnya, Anda dapat menambahkan bagian `compiler` di file `intlayer.config.ts` Anda:
|
|
1438
736
|
|
|
1439
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
737
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
1440
738
|
import { type IntlayerConfig } from "intlayer";
|
|
1441
739
|
|
|
1442
740
|
const config: IntlayerConfig = {
|
|
@@ -1467,66 +765,6 @@ const config: IntlayerConfig = {
|
|
|
1467
765
|
export default config;
|
|
1468
766
|
```
|
|
1469
767
|
|
|
1470
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1471
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1472
|
-
const config = {
|
|
1473
|
-
// ... Sisa konfigurasi Anda
|
|
1474
|
-
compiler: {
|
|
1475
|
-
/**
|
|
1476
|
-
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1477
|
-
*/
|
|
1478
|
-
enabled: true,
|
|
1479
|
-
|
|
1480
|
-
/**
|
|
1481
|
-
* Menentukan jalur file output
|
|
1482
|
-
*/
|
|
1483
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1484
|
-
|
|
1485
|
-
/**
|
|
1486
|
-
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1487
|
-
*/
|
|
1488
|
-
saveComponents: false,
|
|
1489
|
-
|
|
1490
|
-
/**
|
|
1491
|
-
* Prefiks kunci kamus
|
|
1492
|
-
*/
|
|
1493
|
-
dictionaryKeyPrefix: "",
|
|
1494
|
-
},
|
|
1495
|
-
};
|
|
1496
|
-
|
|
1497
|
-
export default config;
|
|
1498
|
-
```
|
|
1499
|
-
|
|
1500
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1501
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
1502
|
-
const config = {
|
|
1503
|
-
// ... Sisa konfigurasi Anda
|
|
1504
|
-
compiler: {
|
|
1505
|
-
/**
|
|
1506
|
-
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1507
|
-
*/
|
|
1508
|
-
enabled: true,
|
|
1509
|
-
|
|
1510
|
-
/**
|
|
1511
|
-
* Menentukan jalur file output
|
|
1512
|
-
*/
|
|
1513
|
-
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1514
|
-
|
|
1515
|
-
/**
|
|
1516
|
-
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1517
|
-
*/
|
|
1518
|
-
saveComponents: false,
|
|
1519
|
-
|
|
1520
|
-
/**
|
|
1521
|
-
* Prefiks kunci kamus
|
|
1522
|
-
*/
|
|
1523
|
-
dictionaryKeyPrefix: "",
|
|
1524
|
-
},
|
|
1525
|
-
};
|
|
1526
|
-
|
|
1527
|
-
module.exports = config;
|
|
1528
|
-
```
|
|
1529
|
-
|
|
1530
768
|
<Tabs>
|
|
1531
769
|
<Tab value='Perintah ekstrak'>
|
|
1532
770
|
|
|
@@ -1584,6 +822,80 @@ bun run build # Or bun run dev
|
|
|
1584
822
|
</Tab>
|
|
1585
823
|
</Tabs>
|
|
1586
824
|
|
|
825
|
+
### (Opsional) Sitemap dan robots.txt (generate saat build)
|
|
826
|
+
|
|
827
|
+
Intlayer menyediakan `generateSitemap` dan `getMultilingualUrls` untuk memformat `sitemap.xml` multibahasa dan `robots.txt` yang siap untuk crawler, lalu menulisnya secara otomatis ke `public/`. Biasanya skrip Node kecil dijalankan **sebelum** Vite (misalnya hook npm `predev` / `prebuild`).
|
|
828
|
+
|
|
829
|
+
#### Sitemap
|
|
830
|
+
|
|
831
|
+
Generator sitemap Intlayer menghormati konfigurasi locale dan menambahkan metadata untuk crawler.
|
|
832
|
+
|
|
833
|
+
> Sitemap mendukung namespace `xhtml:link` (hreflang). Alih-alih hanya daftar URL datar, Intlayer menghubungkan semua varian bahasa setiap halaman secara dua arah (mis. `/about`, `/fr/about`, atau `/about?lang=fr` tergantung mode routing).
|
|
834
|
+
|
|
835
|
+
#### Robots.txt
|
|
836
|
+
|
|
837
|
+
Gunakan `getMultilingualUrls` agar aturan `Disallow` mencakup semua varian URL jalur sensitif.
|
|
838
|
+
|
|
839
|
+
#### 1. Buat `generate-seo.mjs` di root proyek
|
|
840
|
+
|
|
841
|
+
```javascript fileName="generate-seo.mjs"
|
|
842
|
+
import fs from "fs";
|
|
843
|
+
import path from "path";
|
|
844
|
+
import { fileURLToPath } from "url";
|
|
845
|
+
import { generateSitemap, getMultilingualUrls } from "intlayer";
|
|
846
|
+
|
|
847
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
848
|
+
|
|
849
|
+
const SITE_URL = (process.env.SITE_URL || "http://localhost:5173").replace(
|
|
850
|
+
/\/$/,
|
|
851
|
+
""
|
|
852
|
+
);
|
|
853
|
+
|
|
854
|
+
const pathList = [
|
|
855
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
856
|
+
{ path: "/about", changefreq: "monthly", priority: 0.7 },
|
|
857
|
+
];
|
|
858
|
+
|
|
859
|
+
const sitemapXml = generateSitemap(pathList, { siteUrl: SITE_URL });
|
|
860
|
+
fs.writeFileSync(path.join(__dirname, "public", "sitemap.xml"), sitemapXml);
|
|
861
|
+
|
|
862
|
+
const getAllMultilingualUrls = (urls) =>
|
|
863
|
+
urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
|
|
864
|
+
|
|
865
|
+
const disallowedPaths = getAllMultilingualUrls(["/admin", "/private"]);
|
|
866
|
+
|
|
867
|
+
const robotsTxt = [
|
|
868
|
+
"User-agent: *",
|
|
869
|
+
"Allow: /",
|
|
870
|
+
...disallowedPaths.map((path) => `Disallow: ${path}`),
|
|
871
|
+
"",
|
|
872
|
+
`Sitemap: ${SITE_URL}/sitemap.xml`,
|
|
873
|
+
].join("\n");
|
|
874
|
+
|
|
875
|
+
fs.writeFileSync(path.join(__dirname, "public", "robots.txt"), robotsTxt);
|
|
876
|
+
|
|
877
|
+
console.log("SEO files generated successfully.");
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
Paket `intlayer` harus terpasang. Setel `SITE_URL` di lingkungan produksi (misalnya di CI).
|
|
881
|
+
|
|
882
|
+
> Disarankan `generate-seo.mjs` untuk ESM Node. Jika memakai `generate-seo.js`, pastikan `"type": "module"` di `package.json` atau aktifkan ESM lainnya.
|
|
883
|
+
|
|
884
|
+
#### 2. Jalankan skrip sebelum Vite
|
|
885
|
+
|
|
886
|
+
```json fileName="package.json"
|
|
887
|
+
{
|
|
888
|
+
"scripts": {
|
|
889
|
+
"dev": "vite",
|
|
890
|
+
"prebuild": "node generate-seo.mjs",
|
|
891
|
+
"build": "vite build",
|
|
892
|
+
"preview": "vite preview"
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
Sesuaikan perintah jika memakai pnpm atau yarn. Skrip juga bisa dipanggil dari CI.
|
|
898
|
+
|
|
1587
899
|
### Melangkah Lebih Jauh
|
|
1588
900
|
|
|
1589
901
|
Untuk melangkah lebih jauh, Anda dapat mengimplementasikan [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_visual_editor.md) atau mengeksternalisasi konten Anda menggunakan [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_CMS.md).
|