@intlayer/docs 7.0.6 → 7.0.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 +1068 -0
- package/blog/ar/i18n_using_next-intl.md +768 -0
- package/blog/ar/intlayer_with_react-intl.md +0 -4
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +5 -4
- package/blog/de/i18n_using_next-i18next.md +1107 -0
- package/blog/de/i18n_using_next-intl.md +760 -0
- package/blog/de/intlayer_with_react-intl.md +0 -4
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/en/i18n_using_next-i18next.md +1073 -0
- package/blog/en/i18n_using_next-intl.md +757 -0
- package/blog/en/intlayer_with_i18next.md +71 -8
- package/blog/en/intlayer_with_next-i18next.md +71 -8
- package/blog/en/intlayer_with_next-intl.md +71 -8
- package/blog/en/intlayer_with_react-i18next.md +69 -8
- package/blog/en/intlayer_with_react-intl.md +68 -9
- package/blog/en/intlayer_with_vue-i18n.md +68 -7
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/blog/en/vue-i18n_vs_intlayer.md +2 -0
- package/blog/en-GB/i18n_using_next-i18next.md +1074 -0
- package/blog/en-GB/i18n_using_next-intl.md +757 -0
- package/blog/en-GB/intlayer_with_i18next.md +15 -6
- package/blog/en-GB/intlayer_with_next-i18next.md +16 -6
- package/blog/en-GB/intlayer_with_next-intl.md +16 -6
- package/blog/en-GB/intlayer_with_react-i18next.md +16 -7
- package/blog/en-GB/intlayer_with_react-intl.md +14 -9
- package/blog/en-GB/intlayer_with_vue-i18n.md +16 -7
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/blog/en-GB/vue-i18n_vs_intlayer.md +2 -0
- package/blog/es/i18n_using_next-i18next.md +1066 -0
- package/blog/es/i18n_using_next-intl.md +757 -0
- package/blog/es/intlayer_with_react-intl.md +0 -4
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/fr/i18n_using_next-i18next.md +1078 -0
- package/blog/fr/i18n_using_next-intl.md +759 -0
- package/blog/fr/intlayer_with_react-intl.md +0 -4
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/hi/i18n_using_next-i18next.md +1068 -0
- package/blog/hi/i18n_using_next-intl.md +758 -0
- package/blog/hi/intlayer_with_react-intl.md +0 -4
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/id/i18n_using_next-i18next.md +1078 -0
- package/blog/id/i18n_using_next-intl.md +757 -0
- package/blog/id/index.md +69 -0
- package/blog/id/internationalization_and_SEO.md +364 -0
- package/blog/id/intlayer_with_react-intl.md +0 -4
- package/blog/id/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/id/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/id/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/id/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/id/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/id/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/id/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/id/list_i18n_technologies/frameworks/svelte.md +131 -0
- package/blog/id/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1500 -0
- package/blog/id/nextjs-multilingual-seo-comparison.md +361 -0
- package/blog/id/rag_powered_documentation_assistant.md +288 -0
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
- package/blog/id/vue-i18n_vs_intlayer.md +278 -0
- package/blog/id/what_is_internationalization.md +166 -0
- package/blog/it/i18n_using_next-i18next.md +1078 -0
- package/blog/it/i18n_using_next-intl.md +758 -0
- package/blog/it/intlayer_with_react-intl.md +0 -4
- package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +4 -0
- package/blog/it/vue-i18n_vs_intlayer.md +2 -0
- package/blog/ja/i18n_using_next-i18next.md +1078 -0
- package/blog/ja/i18n_using_next-intl.md +758 -0
- package/blog/ja/intlayer_with_react-intl.md +0 -4
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/ko/i18n_using_next-i18next.md +1075 -0
- package/blog/ko/i18n_using_next-intl.md +759 -0
- package/blog/ko/intlayer_with_react-intl.md +0 -4
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/pl/i18n_using_next-i18next.md +1078 -0
- package/blog/pl/i18n_using_next-intl.md +758 -0
- package/blog/pl/index.md +69 -0
- package/blog/pl/internationalization_and_SEO.md +363 -0
- package/blog/pl/intlayer_with_react-intl.md +0 -4
- package/blog/pl/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/pl/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/pl/list_i18n_technologies/CMS/wordpress.md +196 -0
- package/blog/pl/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/pl/list_i18n_technologies/frameworks/flutter.md +151 -0
- package/blog/pl/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/pl/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/pl/list_i18n_technologies/frameworks/svelte.md +131 -0
- package/blog/pl/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1501 -0
- package/blog/pl/nextjs-multilingual-seo-comparison.md +362 -0
- package/blog/pl/rag_powered_documentation_assistant.md +288 -0
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
- package/blog/pl/vue-i18n_vs_intlayer.md +278 -0
- package/blog/pl/what_is_internationalization.md +167 -0
- package/blog/pt/i18n_using_next-i18next.md +1067 -0
- package/blog/pt/i18n_using_next-intl.md +760 -0
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/ru/i18n_using_next-i18next.md +1106 -0
- package/blog/ru/i18n_using_next-intl.md +759 -0
- package/blog/ru/intlayer_with_react-intl.md +0 -4
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/tr/i18n_using_next-i18next.md +1078 -0
- package/blog/tr/i18n_using_next-intl.md +760 -0
- package/blog/tr/intlayer_with_react-intl.md +0 -4
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +2 -0
- package/blog/vi/i18n_using_next-i18next.md +1080 -0
- package/blog/vi/i18n_using_next-intl.md +758 -0
- package/blog/vi/index.md +69 -0
- package/blog/vi/internationalization_and_SEO.md +363 -0
- package/blog/vi/intlayer_with_react-intl.md +0 -4
- package/blog/vi/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/vi/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/vi/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/vi/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/vi/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/vi/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/vi/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/vi/list_i18n_technologies/frameworks/svelte.md +131 -0
- package/blog/vi/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1520 -0
- package/blog/vi/nextjs-multilingual-seo-comparison.md +362 -0
- package/blog/vi/rag_powered_documentation_assistant.md +288 -0
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
- package/blog/vi/vue-i18n_vs_intlayer.md +278 -0
- package/blog/vi/what_is_internationalization.md +168 -0
- package/blog/zh/i18n_using_next-i18next.md +1105 -0
- package/blog/zh/i18n_using_next-intl.md +758 -0
- package/blog/zh/intlayer_with_react-intl.md +0 -4
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/dist/cjs/common.cjs +0 -4
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +38 -6
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +0 -6
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -6
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +0 -6
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +38 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +2 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/docs/ar/component_i18n.md +1 -1
- package/docs/ar/configuration.md +6 -0
- package/docs/ar/intlayer_cli.md +8 -3
- package/docs/ar/intlayer_with_next-i18next.md +619 -0
- package/docs/ar/intlayer_with_next-intl.md +446 -0
- package/docs/ar/intlayer_with_nextjs_16.md +21 -0
- package/docs/ar/intlayer_with_tanstack.md +4 -0
- package/docs/ar/intlayer_with_vite+react.md +4 -0
- package/docs/de/component_i18n.md +1 -1
- package/docs/de/configuration.md +6 -0
- package/docs/de/intlayer_cli.md +8 -3
- package/docs/de/intlayer_with_next-i18next.md +627 -0
- package/docs/de/intlayer_with_next-intl.md +451 -0
- package/docs/de/intlayer_with_nextjs_16.md +21 -0
- package/docs/de/intlayer_with_tanstack.md +4 -0
- package/docs/de/intlayer_with_vite+react.md +4 -0
- package/docs/en/component_i18n.md +1 -1
- package/docs/en/intlayer_cli.md +8 -1
- package/docs/en/intlayer_with_astro.md +10 -2
- package/docs/en/intlayer_with_create_react_app.md +8 -0
- package/docs/en/intlayer_with_lynx+react.md +8 -0
- package/docs/en/intlayer_with_nestjs.md +10 -0
- package/docs/en/intlayer_with_nextjs_14.md +10 -2
- package/docs/en/intlayer_with_nextjs_15.md +21 -4
- package/docs/en/intlayer_with_nextjs_16.md +17 -0
- package/docs/en/intlayer_with_nuxt.md +8 -0
- package/docs/en/intlayer_with_react_native+expo.md +10 -2
- package/docs/en/intlayer_with_react_router_v7.md +8 -0
- package/docs/en/intlayer_with_tanstack.md +10 -0
- package/docs/en/intlayer_with_vite+preact.md +10 -2
- package/docs/en/intlayer_with_vite+react.md +21 -4
- package/docs/en/intlayer_with_vite+vue.md +10 -2
- package/docs/en-GB/component_i18n.md +1 -1
- package/docs/en-GB/configuration.md +6 -0
- package/docs/en-GB/intlayer_cli.md +8 -3
- package/docs/en-GB/intlayer_with_angular.md +4 -4
- package/docs/en-GB/intlayer_with_express.md +4 -4
- package/docs/en-GB/intlayer_with_lynx+react.md +12 -12
- package/{blog/en/_intlayer_with_next-i18next.md → docs/en-GB/intlayer_with_next-i18next.md} +241 -42
- package/{blog/en/_intlayer_with_next-intl.md → docs/en-GB/intlayer_with_next-intl.md} +144 -29
- package/docs/en-GB/intlayer_with_nextjs_16.md +21 -0
- package/docs/en-GB/intlayer_with_tanstack.md +5 -1
- package/docs/en-GB/intlayer_with_vite+react.md +4 -0
- package/docs/en-GB/packages/next-intlayer/t.md +2 -2
- package/docs/es/component_i18n.md +1 -1
- package/docs/es/configuration.md +6 -0
- package/docs/es/intlayer_cli.md +8 -3
- package/docs/es/intlayer_with_next-i18next.md +628 -0
- package/docs/es/intlayer_with_next-intl.md +446 -0
- package/docs/es/intlayer_with_nextjs_16.md +21 -0
- package/docs/es/intlayer_with_tanstack.md +4 -0
- package/docs/es/intlayer_with_vite+react.md +4 -0
- package/docs/fr/configuration.md +6 -0
- package/docs/fr/intlayer_cli.md +8 -3
- package/docs/fr/intlayer_with_next-i18next.md +628 -0
- package/docs/fr/intlayer_with_next-intl.md +446 -0
- package/docs/fr/intlayer_with_nextjs_16.md +23 -2
- package/docs/fr/intlayer_with_tanstack.md +4 -0
- package/docs/fr/intlayer_with_vite+react.md +4 -0
- package/docs/hi/component_i18n.md +1 -1
- package/docs/hi/configuration.md +6 -0
- package/docs/hi/intlayer_cli.md +8 -0
- package/docs/hi/intlayer_with_next-i18next.md +628 -0
- package/docs/hi/intlayer_with_next-intl.md +446 -0
- package/docs/hi/intlayer_with_nextjs_16.md +21 -0
- package/docs/hi/intlayer_with_tanstack.md +4 -0
- package/docs/hi/intlayer_with_vite+react.md +4 -0
- package/docs/id/CI_CD.md +198 -0
- package/docs/id/autoFill.md +284 -0
- package/docs/id/component_i18n.md +186 -0
- package/docs/id/configuration.md +710 -0
- package/docs/id/dictionary/condition.md +231 -0
- package/docs/id/dictionary/content_file.md +1092 -0
- package/docs/id/dictionary/enumeration.md +245 -0
- package/docs/id/dictionary/file.md +237 -0
- package/docs/id/dictionary/function_fetching.md +214 -0
- package/docs/id/dictionary/gender.md +273 -0
- package/docs/id/dictionary/insertion.md +192 -0
- package/docs/id/dictionary/markdown.md +381 -0
- package/docs/id/dictionary/nesting.md +273 -0
- package/docs/id/dictionary/translation.md +310 -0
- package/docs/id/formatters.md +596 -0
- package/docs/id/how_works_intlayer.md +256 -0
- package/docs/id/index.md +176 -0
- package/docs/id/interest_of_intlayer.md +293 -0
- package/docs/id/intlayer_CMS.md +549 -0
- package/docs/id/intlayer_cli.md +850 -0
- package/docs/id/intlayer_visual_editor.md +288 -0
- package/docs/id/intlayer_with_angular.md +694 -0
- package/docs/id/intlayer_with_astro.md +252 -0
- package/docs/id/intlayer_with_create_react_app.md +1233 -0
- package/docs/id/intlayer_with_express.md +411 -0
- package/docs/id/intlayer_with_lynx+react.md +518 -0
- package/docs/id/intlayer_with_nestjs.md +272 -0
- package/docs/id/intlayer_with_next-i18next.md +628 -0
- package/docs/id/intlayer_with_next-intl.md +446 -0
- package/docs/id/intlayer_with_nextjs_14.md +1617 -0
- package/docs/id/intlayer_with_nextjs_15.md +1698 -0
- package/docs/id/intlayer_with_nextjs_16.md +21 -0
- package/docs/id/intlayer_with_nextjs_page_router.md +1478 -0
- package/docs/id/intlayer_with_nuxt.md +808 -0
- package/docs/id/intlayer_with_react_native+expo.md +699 -0
- package/docs/id/intlayer_with_react_router_v7.md +496 -0
- package/docs/id/intlayer_with_tanstack.md +564 -0
- package/docs/id/intlayer_with_vite+preact.md +1737 -0
- package/docs/id/intlayer_with_vite+react.md +1413 -0
- package/docs/id/intlayer_with_vite+solid.md +289 -0
- package/docs/id/intlayer_with_vite+svelte.md +289 -0
- package/docs/id/intlayer_with_vite+vue.md +1088 -0
- package/docs/id/introduction.md +218 -0
- package/docs/id/locale_mapper.md +242 -0
- package/docs/id/mcp_server.md +211 -0
- package/docs/id/packages/express-intlayer/t.md +458 -0
- package/docs/id/packages/intlayer/getConfiguration.md +145 -0
- package/docs/id/packages/intlayer/getEnumeration.md +159 -0
- package/docs/id/packages/intlayer/getHTMLTextDir.md +122 -0
- package/docs/id/packages/intlayer/getLocaleLang.md +81 -0
- package/docs/id/packages/intlayer/getLocaleName.md +119 -0
- package/docs/id/packages/intlayer/getLocalizedUrl.md +309 -0
- package/docs/id/packages/intlayer/getMultilingualUrls.md +223 -0
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +75 -0
- package/docs/id/packages/intlayer/getTranslation.md +190 -0
- package/docs/id/packages/intlayer/getTranslationContent.md +188 -0
- package/docs/id/packages/next-intlayer/t.md +352 -0
- package/docs/id/packages/next-intlayer/useDictionary.md +271 -0
- package/docs/id/packages/next-intlayer/useIntlayer.md +264 -0
- package/docs/id/packages/next-intlayer/useLocale.md +166 -0
- package/docs/id/packages/react-intlayer/t.md +303 -0
- package/docs/id/packages/react-intlayer/useDictionary.md +287 -0
- package/docs/id/packages/react-intlayer/useI18n.md +267 -0
- package/docs/id/packages/react-intlayer/useIntlayer.md +254 -0
- package/docs/id/packages/react-intlayer/useLocale.md +210 -0
- package/docs/id/per_locale_file.md +323 -0
- package/docs/id/readme.md +261 -0
- package/docs/id/releases/v6.md +305 -0
- package/docs/id/roadmap.md +362 -0
- package/docs/id/testing.md +202 -0
- package/docs/id/vs_code_extension.md +126 -0
- package/docs/it/component_i18n.md +1 -1
- package/docs/it/configuration.md +6 -0
- package/docs/it/intlayer_cli.md +8 -3
- package/docs/it/intlayer_with_next-i18next.md +628 -0
- package/docs/it/intlayer_with_next-intl.md +446 -0
- package/docs/it/intlayer_with_nextjs_16.md +21 -0
- package/docs/it/intlayer_with_tanstack.md +4 -0
- package/docs/it/intlayer_with_vite+react.md +4 -0
- package/docs/ja/component_i18n.md +1 -1
- package/docs/ja/configuration.md +6 -0
- package/docs/ja/intlayer_cli.md +8 -3
- package/docs/ja/intlayer_with_next-i18next.md +627 -0
- package/docs/ja/intlayer_with_next-intl.md +446 -0
- package/docs/ja/intlayer_with_nextjs_16.md +21 -0
- package/docs/ja/intlayer_with_tanstack.md +4 -0
- package/docs/ja/intlayer_with_vite+react.md +4 -0
- package/docs/ko/configuration.md +6 -0
- package/docs/ko/intlayer_cli.md +8 -3
- package/docs/ko/intlayer_with_next-i18next.md +627 -0
- package/docs/ko/intlayer_with_next-intl.md +446 -0
- package/docs/ko/intlayer_with_nextjs_16.md +21 -0
- package/docs/ko/intlayer_with_tanstack.md +4 -0
- package/docs/ko/intlayer_with_vite+react.md +4 -0
- package/docs/pl/CI_CD.md +198 -0
- package/docs/pl/autoFill.md +284 -0
- package/docs/pl/component_i18n.md +186 -0
- package/docs/pl/configuration.md +710 -0
- package/docs/pl/dictionary/condition.md +232 -0
- package/docs/pl/dictionary/content_file.md +1130 -0
- package/docs/pl/dictionary/enumeration.md +245 -0
- package/docs/pl/dictionary/file.md +234 -0
- package/docs/pl/dictionary/function_fetching.md +214 -0
- package/docs/pl/dictionary/gender.md +276 -0
- package/docs/pl/dictionary/insertion.md +188 -0
- package/docs/pl/dictionary/markdown.md +408 -0
- package/docs/pl/dictionary/nesting.md +273 -0
- package/docs/pl/dictionary/translation.md +310 -0
- package/docs/pl/formatters.md +596 -0
- package/docs/pl/how_works_intlayer.md +256 -0
- package/docs/pl/index.md +176 -0
- package/docs/pl/interest_of_intlayer.md +291 -0
- package/docs/pl/intlayer_CMS.md +549 -0
- package/docs/pl/intlayer_cli.md +857 -0
- package/docs/pl/intlayer_visual_editor.md +288 -0
- package/docs/pl/intlayer_with_angular.md +690 -0
- package/docs/pl/intlayer_with_astro.md +280 -0
- package/docs/pl/intlayer_with_create_react_app.md +1235 -0
- package/docs/pl/intlayer_with_express.md +411 -0
- package/docs/pl/intlayer_with_lynx+react.md +518 -0
- package/docs/pl/intlayer_with_nestjs.md +272 -0
- package/docs/pl/intlayer_with_next-i18next.md +628 -0
- package/docs/pl/intlayer_with_next-intl.md +446 -0
- package/docs/pl/intlayer_with_nextjs_14.md +1594 -0
- package/docs/pl/intlayer_with_nextjs_15.md +1701 -0
- package/docs/pl/intlayer_with_nextjs_16.md +21 -0
- package/docs/pl/intlayer_with_nextjs_page_router.md +1513 -0
- package/docs/pl/intlayer_with_nuxt.md +885 -0
- package/docs/pl/intlayer_with_react_native+expo.md +698 -0
- package/docs/pl/intlayer_with_react_router_v7.md +503 -0
- package/docs/pl/intlayer_with_tanstack.md +562 -0
- package/docs/pl/intlayer_with_vite+preact.md +1736 -0
- package/docs/pl/intlayer_with_vite+react.md +1438 -0
- package/docs/pl/intlayer_with_vite+solid.md +290 -0
- package/docs/pl/intlayer_with_vite+svelte.md +289 -0
- package/docs/pl/intlayer_with_vite+vue.md +1116 -0
- package/docs/pl/introduction.md +209 -0
- package/docs/pl/locale_mapper.md +242 -0
- package/docs/pl/mcp_server.md +211 -0
- package/docs/pl/packages/express-intlayer/t.md +458 -0
- package/docs/pl/packages/intlayer/getConfiguration.md +146 -0
- package/docs/pl/packages/intlayer/getEnumeration.md +160 -0
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +121 -0
- package/docs/pl/packages/intlayer/getLocaleLang.md +81 -0
- package/docs/pl/packages/intlayer/getLocaleName.md +118 -0
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +300 -0
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +221 -0
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +75 -0
- package/docs/pl/packages/intlayer/getTranslation.md +190 -0
- package/docs/pl/packages/intlayer/getTranslationContent.md +189 -0
- package/docs/pl/packages/next-intlayer/t.md +353 -0
- package/docs/pl/packages/next-intlayer/useDictionary.md +270 -0
- package/docs/pl/packages/next-intlayer/useIntlayer.md +263 -0
- package/docs/pl/packages/next-intlayer/useLocale.md +166 -0
- package/docs/pl/packages/react-intlayer/t.md +303 -0
- package/docs/pl/packages/react-intlayer/useDictionary.md +289 -0
- package/docs/pl/packages/react-intlayer/useI18n.md +249 -0
- package/docs/pl/packages/react-intlayer/useIntlayer.md +256 -0
- package/docs/pl/packages/react-intlayer/useLocale.md +210 -0
- package/docs/pl/per_locale_file.md +321 -0
- package/docs/pl/readme.md +261 -0
- package/docs/pl/releases/v6.md +305 -0
- package/docs/pl/roadmap.md +362 -0
- package/docs/pl/testing.md +202 -0
- package/docs/pl/vs_code_extension.md +126 -0
- package/docs/pt/component_i18n.md +1 -1
- package/docs/pt/configuration.md +6 -0
- package/docs/pt/intlayer_cli.md +8 -3
- package/docs/pt/intlayer_with_next-i18next.md +627 -0
- package/docs/pt/intlayer_with_next-intl.md +446 -0
- package/docs/pt/intlayer_with_nextjs_16.md +21 -0
- package/docs/pt/intlayer_with_tanstack.md +4 -0
- package/docs/pt/intlayer_with_vite+react.md +4 -0
- package/docs/ru/component_i18n.md +1 -1
- package/docs/ru/configuration.md +6 -0
- package/docs/ru/intlayer_cli.md +301 -22
- package/docs/ru/intlayer_with_next-i18next.md +629 -0
- package/docs/ru/intlayer_with_next-intl.md +448 -0
- package/docs/ru/intlayer_with_nextjs_16.md +21 -0
- package/docs/ru/intlayer_with_tanstack.md +4 -0
- package/docs/ru/intlayer_with_vite+react.md +4 -0
- package/docs/tr/component_i18n.md +1 -1
- package/docs/tr/configuration.md +6 -0
- package/docs/tr/intlayer_cli.md +8 -0
- package/docs/tr/intlayer_with_next-i18next.md +627 -0
- package/docs/tr/intlayer_with_next-intl.md +446 -0
- package/docs/tr/intlayer_with_nextjs_16.md +21 -0
- package/docs/tr/intlayer_with_tanstack.md +4 -0
- package/docs/tr/intlayer_with_vite+react.md +4 -0
- package/docs/vi/CI_CD.md +198 -0
- package/docs/vi/autoFill.md +284 -0
- package/docs/vi/component_i18n.md +186 -0
- package/docs/vi/configuration.md +710 -0
- package/docs/vi/dictionary/condition.md +237 -0
- package/docs/vi/dictionary/content_file.md +1115 -0
- package/docs/vi/dictionary/enumeration.md +255 -0
- package/docs/vi/dictionary/file.md +234 -0
- package/docs/vi/dictionary/function_fetching.md +212 -0
- package/docs/vi/dictionary/gender.md +275 -0
- package/docs/vi/dictionary/insertion.md +191 -0
- package/docs/vi/dictionary/markdown.md +381 -0
- package/docs/vi/dictionary/nesting.md +273 -0
- package/docs/vi/dictionary/translation.md +309 -0
- package/docs/vi/formatters.md +595 -0
- package/docs/vi/how_works_intlayer.md +256 -0
- package/docs/vi/index.md +174 -0
- package/docs/vi/interest_of_intlayer.md +292 -0
- package/docs/vi/intlayer_CMS.md +549 -0
- package/docs/vi/intlayer_cli.md +850 -0
- package/docs/vi/intlayer_visual_editor.md +288 -0
- package/docs/vi/intlayer_with_angular.md +692 -0
- package/docs/vi/intlayer_with_astro.md +252 -0
- package/docs/vi/intlayer_with_create_react_app.md +1230 -0
- package/docs/vi/intlayer_with_express.md +409 -0
- package/docs/vi/intlayer_with_lynx+react.md +520 -0
- package/docs/vi/intlayer_with_nestjs.md +272 -0
- package/docs/vi/intlayer_with_next-i18next.md +628 -0
- package/docs/vi/intlayer_with_next-intl.md +446 -0
- package/docs/vi/intlayer_with_nextjs_14.md +1584 -0
- package/docs/vi/intlayer_with_nextjs_15.md +1738 -0
- package/docs/vi/intlayer_with_nextjs_16.md +21 -0
- package/docs/vi/intlayer_with_nextjs_page_router.md +1504 -0
- package/docs/vi/intlayer_with_nuxt.md +821 -0
- package/docs/vi/intlayer_with_react_native+expo.md +700 -0
- package/docs/vi/intlayer_with_react_router_v7.md +498 -0
- package/docs/vi/intlayer_with_tanstack.md +562 -0
- package/docs/vi/intlayer_with_vite+preact.md +1722 -0
- package/docs/vi/intlayer_with_vite+react.md +1407 -0
- package/docs/vi/intlayer_with_vite+solid.md +287 -0
- package/docs/vi/intlayer_with_vite+svelte.md +289 -0
- package/docs/vi/intlayer_with_vite+vue.md +1071 -0
- package/docs/vi/introduction.md +215 -0
- package/docs/vi/locale_mapper.md +242 -0
- package/docs/vi/mcp_server.md +211 -0
- package/docs/vi/packages/express-intlayer/t.md +457 -0
- package/docs/vi/packages/intlayer/getConfiguration.md +145 -0
- package/docs/vi/packages/intlayer/getEnumeration.md +162 -0
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +121 -0
- package/docs/vi/packages/intlayer/getLocaleLang.md +81 -0
- package/docs/vi/packages/intlayer/getLocaleName.md +129 -0
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +309 -0
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +221 -0
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +75 -0
- package/docs/vi/packages/intlayer/getTranslation.md +201 -0
- package/docs/vi/packages/intlayer/getTranslationContent.md +188 -0
- package/docs/vi/packages/next-intlayer/t.md +352 -0
- package/docs/vi/packages/next-intlayer/useDictionary.md +273 -0
- package/docs/vi/packages/next-intlayer/useIntlayer.md +264 -0
- package/docs/vi/packages/next-intlayer/useLocale.md +166 -0
- package/docs/vi/packages/react-intlayer/t.md +304 -0
- package/docs/vi/packages/react-intlayer/useDictionary.md +288 -0
- package/docs/vi/packages/react-intlayer/useI18n.md +295 -0
- package/docs/vi/packages/react-intlayer/useIntlayer.md +256 -0
- package/docs/vi/packages/react-intlayer/useLocale.md +210 -0
- package/docs/vi/per_locale_file.md +326 -0
- package/docs/vi/readme.md +261 -0
- package/docs/vi/releases/v6.md +305 -0
- package/docs/vi/roadmap.md +346 -0
- package/docs/vi/testing.md +202 -0
- package/docs/vi/vs_code_extension.md +126 -0
- package/docs/zh/configuration.md +6 -0
- package/docs/zh/intlayer_cli.md +8 -3
- package/docs/zh/intlayer_with_next-i18next.md +628 -0
- package/docs/zh/intlayer_with_next-intl.md +448 -0
- package/docs/zh/intlayer_with_nextjs_16.md +21 -0
- package/docs/zh/intlayer_with_tanstack.md +4 -0
- package/docs/zh/intlayer_with_vite+react.md +4 -0
- package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ar/array_as_content_declaration.md +1 -2
- package/frequent_questions/ar/build_dictionaries.md +1 -2
- package/frequent_questions/ar/build_error_CI_CD.md +1 -2
- package/frequent_questions/ar/bun_set_up.md +1 -2
- package/frequent_questions/ar/customized_locale_list.md +1 -2
- package/frequent_questions/ar/domain_routing.md +1 -2
- package/frequent_questions/ar/esbuild_error.md +1 -2
- package/frequent_questions/ar/get_locale_cookie.md +1 -2
- package/frequent_questions/ar/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ar/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ar/static_rendering.md +1 -3
- package/frequent_questions/ar/translated_path_url.md +1 -2
- package/frequent_questions/ar/unknown_command.md +1 -2
- package/frequent_questions/de/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/de/array_as_content_declaration.md +1 -2
- package/frequent_questions/de/build_dictionaries.md +1 -2
- package/frequent_questions/de/build_error_CI_CD.md +1 -2
- package/frequent_questions/de/bun_set_up.md +1 -2
- package/frequent_questions/de/customized_locale_list.md +1 -2
- package/frequent_questions/de/domain_routing.md +1 -2
- package/frequent_questions/de/esbuild_error.md +1 -2
- package/frequent_questions/de/get_locale_cookie.md +1 -2
- package/frequent_questions/de/intlayer_command_undefined.md +1 -2
- package/frequent_questions/de/locale_incorect_in_url.md +1 -2
- package/frequent_questions/de/static_rendering.md +1 -3
- package/frequent_questions/de/translated_path_url.md +1 -2
- package/frequent_questions/de/unknown_command.md +1 -2
- package/frequent_questions/en/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/en/array_as_content_declaration.md +1 -2
- package/frequent_questions/en/build_dictionaries.md +1 -2
- package/frequent_questions/en/build_error_CI_CD.md +1 -2
- package/frequent_questions/en/bun_set_up.md +1 -2
- package/frequent_questions/en/customized_locale_list.md +1 -2
- package/frequent_questions/en/domain_routing.md +1 -2
- package/frequent_questions/en/esbuild_error.md +1 -2
- package/frequent_questions/en/get_locale_cookie.md +1 -2
- package/frequent_questions/en/intlayer_command_undefined.md +1 -2
- package/frequent_questions/en/locale_incorect_in_url.md +1 -2
- package/frequent_questions/en/static_rendering.md +1 -3
- package/frequent_questions/en/translated_path_url.md +1 -2
- package/frequent_questions/en/unknown_command.md +1 -2
- package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/en-GB/array_as_content_declaration.md +1 -2
- package/frequent_questions/en-GB/build_dictionaries.md +1 -2
- package/frequent_questions/en-GB/build_error_CI_CD.md +1 -2
- package/frequent_questions/en-GB/bun_set_up.md +1 -2
- package/frequent_questions/en-GB/customized_locale_list.md +1 -2
- package/frequent_questions/en-GB/domain_routing.md +1 -2
- package/frequent_questions/en-GB/esbuild_error.md +1 -2
- package/frequent_questions/en-GB/get_locale_cookie.md +1 -2
- package/frequent_questions/en-GB/intlayer_command_undefined.md +1 -2
- package/frequent_questions/en-GB/locale_incorect_in_url.md +1 -2
- package/frequent_questions/en-GB/static_rendering.md +1 -3
- package/frequent_questions/en-GB/translated_path_url.md +1 -2
- package/frequent_questions/en-GB/unknown_command.md +1 -2
- package/frequent_questions/es/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/es/array_as_content_declaration.md +1 -2
- package/frequent_questions/es/build_dictionaries.md +1 -2
- package/frequent_questions/es/build_error_CI_CD.md +1 -2
- package/frequent_questions/es/bun_set_up.md +1 -2
- package/frequent_questions/es/customized_locale_list.md +1 -2
- package/frequent_questions/es/domain_routing.md +1 -2
- package/frequent_questions/es/esbuild_error.md +1 -2
- package/frequent_questions/es/get_locale_cookie.md +1 -2
- package/frequent_questions/es/intlayer_command_undefined.md +1 -2
- package/frequent_questions/es/locale_incorect_in_url.md +1 -2
- package/frequent_questions/es/static_rendering.md +1 -3
- package/frequent_questions/es/translated_path_url.md +1 -2
- package/frequent_questions/es/unknown_command.md +1 -2
- package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/fr/array_as_content_declaration.md +1 -2
- package/frequent_questions/fr/build_dictionaries.md +1 -2
- package/frequent_questions/fr/build_error_CI_CD.md +1 -2
- package/frequent_questions/fr/bun_set_up.md +1 -2
- package/frequent_questions/fr/customized_locale_list.md +1 -2
- package/frequent_questions/fr/domain_routing.md +1 -2
- package/frequent_questions/fr/esbuild_error.md +1 -2
- package/frequent_questions/fr/get_locale_cookie.md +1 -2
- package/frequent_questions/fr/intlayer_command_undefined.md +1 -2
- package/frequent_questions/fr/locale_incorect_in_url.md +1 -2
- package/frequent_questions/fr/static_rendering.md +1 -3
- package/frequent_questions/fr/translated_path_url.md +1 -2
- package/frequent_questions/fr/unknown_command.md +1 -2
- package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/hi/array_as_content_declaration.md +1 -2
- package/frequent_questions/hi/build_dictionaries.md +1 -2
- package/frequent_questions/hi/build_error_CI_CD.md +1 -2
- package/frequent_questions/hi/bun_set_up.md +1 -2
- package/frequent_questions/hi/customized_locale_list.md +1 -2
- package/frequent_questions/hi/domain_routing.md +1 -2
- package/frequent_questions/hi/esbuild_error.md +1 -2
- package/frequent_questions/hi/get_locale_cookie.md +1 -2
- package/frequent_questions/hi/intlayer_command_undefined.md +1 -2
- package/frequent_questions/hi/locale_incorect_in_url.md +1 -2
- package/frequent_questions/hi/static_rendering.md +1 -3
- package/frequent_questions/hi/translated_path_url.md +1 -2
- package/frequent_questions/hi/unknown_command.md +1 -2
- package/frequent_questions/id/SSR_Next_no_[locale].md +104 -0
- package/frequent_questions/id/array_as_content_declaration.md +71 -0
- package/frequent_questions/id/build_dictionaries.md +58 -0
- package/frequent_questions/id/build_error_CI_CD.md +74 -0
- package/frequent_questions/id/bun_set_up.md +53 -0
- package/frequent_questions/id/customized_locale_list.md +64 -0
- package/frequent_questions/id/domain_routing.md +113 -0
- package/frequent_questions/id/esbuild_error.md +29 -0
- package/frequent_questions/id/get_locale_cookie.md +142 -0
- package/frequent_questions/id/intlayer_command_undefined.md +155 -0
- package/frequent_questions/id/locale_incorect_in_url.md +73 -0
- package/frequent_questions/id/static_rendering.md +44 -0
- package/frequent_questions/id/translated_path_url.md +55 -0
- package/frequent_questions/id/unknown_command.md +97 -0
- package/frequent_questions/it/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/it/array_as_content_declaration.md +1 -2
- package/frequent_questions/it/build_dictionaries.md +1 -2
- package/frequent_questions/it/build_error_CI_CD.md +1 -2
- package/frequent_questions/it/bun_set_up.md +1 -2
- package/frequent_questions/it/customized_locale_list.md +1 -2
- package/frequent_questions/it/domain_routing.md +1 -2
- package/frequent_questions/it/esbuild_error.md +1 -2
- package/frequent_questions/it/get_locale_cookie.md +1 -2
- package/frequent_questions/it/intlayer_command_undefined.md +1 -2
- package/frequent_questions/it/locale_incorect_in_url.md +1 -2
- package/frequent_questions/it/static_rendering.md +1 -3
- package/frequent_questions/it/translated_path_url.md +1 -2
- package/frequent_questions/it/unknown_command.md +1 -2
- package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ja/array_as_content_declaration.md +1 -2
- package/frequent_questions/ja/build_dictionaries.md +1 -2
- package/frequent_questions/ja/build_error_CI_CD.md +1 -2
- package/frequent_questions/ja/bun_set_up.md +1 -2
- package/frequent_questions/ja/customized_locale_list.md +1 -2
- package/frequent_questions/ja/domain_routing.md +1 -2
- package/frequent_questions/ja/esbuild_error.md +1 -2
- package/frequent_questions/ja/get_locale_cookie.md +1 -2
- package/frequent_questions/ja/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ja/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ja/static_rendering.md +1 -3
- package/frequent_questions/ja/translated_path_url.md +1 -2
- package/frequent_questions/ja/unknown_command.md +1 -2
- package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ko/array_as_content_declaration.md +1 -2
- package/frequent_questions/ko/build_dictionaries.md +1 -2
- package/frequent_questions/ko/build_error_CI_CD.md +1 -2
- package/frequent_questions/ko/bun_set_up.md +1 -2
- package/frequent_questions/ko/customized_locale_list.md +1 -2
- package/frequent_questions/ko/domain_routing.md +1 -2
- package/frequent_questions/ko/esbuild_error.md +1 -2
- package/frequent_questions/ko/get_locale_cookie.md +1 -2
- package/frequent_questions/ko/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ko/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ko/static_rendering.md +1 -3
- package/frequent_questions/ko/translated_path_url.md +1 -2
- package/frequent_questions/ko/unknown_command.md +1 -2
- package/frequent_questions/pl/SSR_Next_no_[locale].md +104 -0
- package/frequent_questions/pl/array_as_content_declaration.md +71 -0
- package/frequent_questions/pl/build_dictionaries.md +58 -0
- package/frequent_questions/pl/build_error_CI_CD.md +74 -0
- package/frequent_questions/pl/bun_set_up.md +54 -0
- package/frequent_questions/pl/customized_locale_list.md +64 -0
- package/frequent_questions/pl/domain_routing.md +113 -0
- package/frequent_questions/pl/esbuild_error.md +29 -0
- package/frequent_questions/pl/get_locale_cookie.md +142 -0
- package/frequent_questions/pl/intlayer_command_undefined.md +155 -0
- package/frequent_questions/pl/locale_incorect_in_url.md +73 -0
- package/frequent_questions/pl/static_rendering.md +44 -0
- package/frequent_questions/pl/translated_path_url.md +55 -0
- package/frequent_questions/pl/unknown_command.md +97 -0
- package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/pt/array_as_content_declaration.md +1 -2
- package/frequent_questions/pt/build_dictionaries.md +1 -2
- package/frequent_questions/pt/build_error_CI_CD.md +1 -2
- package/frequent_questions/pt/bun_set_up.md +1 -2
- package/frequent_questions/pt/customized_locale_list.md +1 -2
- package/frequent_questions/pt/domain_routing.md +1 -2
- package/frequent_questions/pt/esbuild_error.md +1 -2
- package/frequent_questions/pt/get_locale_cookie.md +1 -2
- package/frequent_questions/pt/intlayer_command_undefined.md +1 -2
- package/frequent_questions/pt/locale_incorect_in_url.md +1 -2
- package/frequent_questions/pt/static_rendering.md +1 -3
- package/frequent_questions/pt/translated_path_url.md +1 -2
- package/frequent_questions/pt/unknown_command.md +1 -2
- package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ru/array_as_content_declaration.md +1 -2
- package/frequent_questions/ru/build_dictionaries.md +1 -2
- package/frequent_questions/ru/build_error_CI_CD.md +1 -2
- package/frequent_questions/ru/bun_set_up.md +1 -2
- package/frequent_questions/ru/customized_locale_list.md +1 -2
- package/frequent_questions/ru/domain_routing.md +1 -2
- package/frequent_questions/ru/esbuild_error.md +1 -2
- package/frequent_questions/ru/get_locale_cookie.md +1 -2
- package/frequent_questions/ru/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ru/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ru/static_rendering.md +1 -2
- package/frequent_questions/ru/translated_path_url.md +1 -2
- package/frequent_questions/ru/unknown_command.md +1 -2
- package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/tr/array_as_content_declaration.md +1 -2
- package/frequent_questions/tr/build_dictionaries.md +1 -2
- package/frequent_questions/tr/build_error_CI_CD.md +1 -2
- package/frequent_questions/tr/bun_set_up.md +1 -2
- package/frequent_questions/tr/customized_locale_list.md +1 -2
- package/frequent_questions/tr/domain_routing.md +1 -2
- package/frequent_questions/tr/esbuild_error.md +1 -2
- package/frequent_questions/tr/get_locale_cookie.md +1 -2
- package/frequent_questions/tr/intlayer_command_undefined.md +1 -2
- package/frequent_questions/tr/locale_incorect_in_url.md +1 -2
- package/frequent_questions/tr/static_rendering.md +1 -2
- package/frequent_questions/tr/translated_path_url.md +1 -2
- package/frequent_questions/tr/unknown_command.md +1 -2
- package/frequent_questions/vi/SSR_Next_no_[locale].md +106 -0
- package/frequent_questions/vi/array_as_content_declaration.md +71 -0
- package/frequent_questions/vi/build_dictionaries.md +58 -0
- package/frequent_questions/vi/build_error_CI_CD.md +74 -0
- package/frequent_questions/vi/bun_set_up.md +53 -0
- package/frequent_questions/vi/customized_locale_list.md +64 -0
- package/frequent_questions/vi/domain_routing.md +113 -0
- package/frequent_questions/vi/esbuild_error.md +29 -0
- package/frequent_questions/vi/get_locale_cookie.md +142 -0
- package/frequent_questions/vi/intlayer_command_undefined.md +155 -0
- package/frequent_questions/vi/locale_incorect_in_url.md +73 -0
- package/frequent_questions/vi/static_rendering.md +44 -0
- package/frequent_questions/vi/translated_path_url.md +55 -0
- package/frequent_questions/vi/unknown_command.md +97 -0
- package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/zh/array_as_content_declaration.md +1 -2
- package/frequent_questions/zh/build_dictionaries.md +1 -2
- package/frequent_questions/zh/build_error_CI_CD.md +1 -2
- package/frequent_questions/zh/bun_set_up.md +1 -2
- package/frequent_questions/zh/customized_locale_list.md +1 -2
- package/frequent_questions/zh/domain_routing.md +1 -2
- package/frequent_questions/zh/esbuild_error.md +1 -2
- package/frequent_questions/zh/get_locale_cookie.md +1 -2
- package/frequent_questions/zh/intlayer_command_undefined.md +1 -2
- package/frequent_questions/zh/locale_incorect_in_url.md +1 -2
- package/frequent_questions/zh/static_rendering.md +1 -3
- package/frequent_questions/zh/translated_path_url.md +1 -2
- package/frequent_questions/zh/unknown_command.md +1 -2
- package/legal/id/privacy_notice.md +83 -0
- package/legal/id/terms_of_service.md +55 -0
- package/legal/pl/privacy_notice.md +83 -0
- package/legal/pl/terms_of_service.md +55 -0
- package/legal/vi/privacy_notice.md +83 -0
- package/legal/vi/terms_of_service.md +55 -0
- package/package.json +19 -18
- package/src/generated/blog.entry.ts +38 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-08-23
|
|
4
|
+
title: Tài liệu hàm getLocalizedUrl | intlayer
|
|
5
|
+
description: Xem cách sử dụng hàm getLocalizedUrl cho gói intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- getLocalizedUrl
|
|
8
|
+
- dịch thuật
|
|
9
|
+
- Intlayer
|
|
10
|
+
- intlayer
|
|
11
|
+
- Quốc tế hóa
|
|
12
|
+
- Tài liệu
|
|
13
|
+
- Next.js
|
|
14
|
+
- JavaScript
|
|
15
|
+
- React
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- packages
|
|
19
|
+
- intlayer
|
|
20
|
+
- getLocalizedUrl
|
|
21
|
+
history:
|
|
22
|
+
- version: 5.5.10
|
|
23
|
+
date: 2025-06-29
|
|
24
|
+
changes: Khởi tạo lịch sử
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Tài liệu: Hàm `getLocalizedUrl` trong `intlayer`
|
|
28
|
+
|
|
29
|
+
## Mô tả
|
|
30
|
+
|
|
31
|
+
Hàm `getLocalizedUrl` tạo ra một URL có địa phương hóa bằng cách thêm tiền tố locale được chỉ định vào URL đã cho. Hàm xử lý cả URL tuyệt đối và tương đối, đảm bảo rằng tiền tố locale đúng được áp dụng dựa trên cấu hình.
|
|
32
|
+
|
|
33
|
+
**Tính năng chính:**
|
|
34
|
+
|
|
35
|
+
- Chỉ cần 2 tham số bắt buộc: `url` và `currentLocale`
|
|
36
|
+
- 3 tham số tùy chọn: `locales`, `defaultLocale`, và `prefixDefault`
|
|
37
|
+
- Sử dụng cấu hình quốc tế hóa của dự án bạn làm mặc định
|
|
38
|
+
- Có thể dùng với tham số tối thiểu cho các trường hợp đơn giản hoặc tùy chỉnh đầy đủ cho các trường hợp phức tạp
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Chữ ký hàm
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
getLocalizedUrl(
|
|
46
|
+
url: string, // Bắt buộc
|
|
47
|
+
currentLocale: Locales, // Bắt buộc
|
|
48
|
+
locales?: Locales[], // Tùy chọn
|
|
49
|
+
defaultLocale?: Locales, // Tùy chọn
|
|
50
|
+
prefixDefault?: boolean // Tùy chọn
|
|
51
|
+
): string
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Tham số
|
|
57
|
+
|
|
58
|
+
### Tham số bắt buộc
|
|
59
|
+
|
|
60
|
+
- `url: string`
|
|
61
|
+
- **Mô tả**: Chuỗi URL gốc sẽ được thêm tiền tố locale.
|
|
62
|
+
- **Kiểu**: `string`
|
|
63
|
+
- **Bắt buộc**: Có
|
|
64
|
+
|
|
65
|
+
- `currentLocale: Locales`
|
|
66
|
+
- **Mô tả**: Locale hiện tại mà URL đang được địa phương hóa.
|
|
67
|
+
- **Kiểu**: `Locales`
|
|
68
|
+
- **Bắt buộc**: Có
|
|
69
|
+
|
|
70
|
+
### Tham số tùy chọn
|
|
71
|
+
|
|
72
|
+
- `locales?: Locales[]`
|
|
73
|
+
- **Mô tả**: Mảng các locale được hỗ trợ. Nếu không cung cấp, sẽ sử dụng các locale đã cấu hình trong cấu hình dự án của bạn.
|
|
74
|
+
- **Kiểu**: `Locales[]`
|
|
75
|
+
- **Bắt buộc**: Không (Tùy chọn)
|
|
76
|
+
- **Mặc định**: [`Cấu hình dự án`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md#middleware)
|
|
77
|
+
|
|
78
|
+
- `defaultLocale?: Locales`
|
|
79
|
+
- **Mô tả**: Locale mặc định cho ứng dụng. Nếu không cung cấp, sẽ sử dụng locale mặc định đã cấu hình trong cấu hình dự án của bạn.
|
|
80
|
+
- **Kiểu**: `Locales`
|
|
81
|
+
- **Bắt buộc**: Không (Tùy chọn)
|
|
82
|
+
- **Mặc định**: [`Cấu hình dự án`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md#middleware)
|
|
83
|
+
|
|
84
|
+
- `prefixDefault?: boolean`
|
|
85
|
+
- **Mô tả**: Có tiền tố URL cho locale mặc định hay không. Nếu không cung cấp, sẽ sử dụng giá trị đã cấu hình trong cấu hình dự án của bạn.
|
|
86
|
+
- **Kiểu**: `boolean`
|
|
87
|
+
- **Bắt buộc**: Không (Tùy chọn)
|
|
88
|
+
- **Mặc định**: [`Cấu hình dự án`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md#middleware)
|
|
89
|
+
|
|
90
|
+
### Trả về
|
|
91
|
+
|
|
92
|
+
- **Kiểu**: `string`
|
|
93
|
+
- **Mô tả**: URL đã được địa phương hóa cho locale được chỉ định.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Ví dụ sử dụng
|
|
98
|
+
|
|
99
|
+
### Sử dụng cơ bản (Chỉ các tham số bắt buộc)
|
|
100
|
+
|
|
101
|
+
Khi bạn đã cấu hình dự án với các thiết lập quốc tế hóa, bạn có thể sử dụng hàm chỉ với các tham số bắt buộc:
|
|
102
|
+
|
|
103
|
+
```typescript codeFormat="typescript"
|
|
104
|
+
import { getLocalizedUrl, Locales } from "intlayer";
|
|
105
|
+
|
|
106
|
+
// Sử dụng cấu hình dự án của bạn cho locales, defaultLocale và prefixDefault
|
|
107
|
+
getLocalizedUrl("/about", Locales.FRENCH);
|
|
108
|
+
// Kết quả: "/fr/about" (giả sử tiếng Pháp được hỗ trợ trong cấu hình của bạn)
|
|
109
|
+
|
|
110
|
+
getLocalizedUrl("/about", Locales.ENGLISH);
|
|
111
|
+
// Kết quả: "/about" hoặc "/en/about" (tùy thuộc vào thiết lập prefixDefault của bạn)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```javascript codeFormat="esm"
|
|
115
|
+
import { getLocalizedUrl, Locales } from "intlayer";
|
|
116
|
+
|
|
117
|
+
// Sử dụng cấu hình dự án của bạn
|
|
118
|
+
getLocalizedUrl("/about", Locales.FRENCH);
|
|
119
|
+
// Kết quả: "/fr/about"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
```javascript codeFormat="commonjs"
|
|
123
|
+
const { getLocalizedUrl, Locales } = require("intlayer");
|
|
124
|
+
|
|
125
|
+
// Sử dụng cấu hình dự án của bạn
|
|
126
|
+
getLocalizedUrl("/about", Locales.FRENCH);
|
|
127
|
+
typescript codeFormat="typescript"
|
|
128
|
+
import { getLocalizedUrl, Locales } from "intlayer";
|
|
129
|
+
|
|
130
|
+
// Cung cấp rõ ràng tất cả các tham số tùy chọn
|
|
131
|
+
getLocalizedUrl(
|
|
132
|
+
"/about",
|
|
133
|
+
Locales.FRENCH,
|
|
134
|
+
[Locales.ENGLISH, Locales.FRENCH], // locales
|
|
135
|
+
Locales.ENGLISH, // defaultLocale
|
|
136
|
+
false // prefixDefault
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
// Kết quả: "/fr/about" cho locale tiếng Pháp
|
|
140
|
+
// Kết quả: "/about" cho locale mặc định (tiếng Anh)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
```javascript codeFormat="esm"
|
|
144
|
+
import { getLocalizedUrl, Locales } from "intlayer";
|
|
145
|
+
|
|
146
|
+
// Cung cấp rõ ràng tất cả các tham số tùy chọn
|
|
147
|
+
getLocalizedUrl(
|
|
148
|
+
"/about",
|
|
149
|
+
Locales.FRENCH,
|
|
150
|
+
[Locales.ENGLISH, Locales.FRENCH], // locales
|
|
151
|
+
Locales.ENGLISH, // defaultLocale
|
|
152
|
+
false // prefixDefault
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
// Kết quả: "/fr/about" cho locale tiếng Pháp
|
|
156
|
+
// Kết quả: "/about" cho locale mặc định (tiếng Anh)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
```javascript codeFormat="commonjs"
|
|
160
|
+
const { getLocalizedUrl, Locales } = require("intlayer");
|
|
161
|
+
|
|
162
|
+
// Cung cấp rõ ràng tất cả các tham số tùy chọn
|
|
163
|
+
getLocalizedUrl(
|
|
164
|
+
"/about",
|
|
165
|
+
Locales.FRENCH,
|
|
166
|
+
[Locales.ENGLISH, Locales.FRENCH], // locales
|
|
167
|
+
Locales.ENGLISH, // defaultLocale
|
|
168
|
+
false // prefixDefault
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
// Kết quả: "/fr/about" cho locale tiếng Pháp
|
|
172
|
+
// Kết quả: "/about" cho locale mặc định (tiếng Anh)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Ghi đè cấu hình một phần
|
|
176
|
+
|
|
177
|
+
Bạn cũng có thể chỉ cung cấp một số tham số tùy chọn. Hàm sẽ sử dụng cấu hình dự án của bạn cho bất kỳ tham số nào bạn không chỉ định:
|
|
178
|
+
|
|
179
|
+
```typescript codeFormat="typescript"
|
|
180
|
+
import { getLocalizedUrl, Locales } from "intlayer";
|
|
181
|
+
|
|
182
|
+
// Chỉ ghi đè locales, sử dụng cấu hình dự án cho defaultLocale và prefixDefault
|
|
183
|
+
getLocalizedUrl(
|
|
184
|
+
"/about",
|
|
185
|
+
Locales.SPANISH,
|
|
186
|
+
[Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH] // Chỉ định locales
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
// Chỉ ghi đè prefixDefault, sử dụng cấu hình dự án cho locales và defaultLocale
|
|
190
|
+
getLocalizedUrl(
|
|
191
|
+
"/about",
|
|
192
|
+
Locales.ENGLISH,
|
|
193
|
+
undefined, // Sử dụng cấu hình dự án cho locales
|
|
194
|
+
undefined, // Sử dụng cấu hình dự án cho defaultLocale
|
|
195
|
+
true // Bắt buộc tiền tố cho locale mặc định
|
|
196
|
+
);
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### URL tuyệt đối
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
getLocalizedUrl(
|
|
203
|
+
"https://example.com/about",
|
|
204
|
+
Locales.FRENCH, // Locale hiện tại
|
|
205
|
+
[Locales.ENGLISH, Locales.FRENCH], // Các locale được hỗ trợ
|
|
206
|
+
Locales.ENGLISH, // Locale mặc định
|
|
207
|
+
false // Tiền tố cho locale mặc định
|
|
208
|
+
); // Kết quả: "https://example.com/fr/about" cho tiếng Pháp
|
|
209
|
+
|
|
210
|
+
getLocalizedUrl(
|
|
211
|
+
"https://example.com/about",
|
|
212
|
+
Locales.ENGLISH, // Locale hiện tại
|
|
213
|
+
[Locales.ENGLISH, Locales.FRENCH], // Các locale được hỗ trợ
|
|
214
|
+
Locales.ENGLISH, // Locale mặc định
|
|
215
|
+
false // Tiền tố cho locale mặc định
|
|
216
|
+
); // Kết quả: "https://example.com/about" cho tiếng Anh
|
|
217
|
+
|
|
218
|
+
getLocalizedUrl(
|
|
219
|
+
"https://example.com/about",
|
|
220
|
+
Locales.ENGLISH, // Locale hiện tại
|
|
221
|
+
[Locales.ENGLISH, Locales.FRENCH], // Các locale được hỗ trợ
|
|
222
|
+
Locales.ENGLISH, // Locale mặc định
|
|
223
|
+
true // Tiền tố cho locale mặc định
|
|
224
|
+
); // Kết quả: "https://example.com/en/about" cho tiếng Anh
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Locale Không Hỗ Trợ
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
getLocalizedUrl(
|
|
231
|
+
"/about",
|
|
232
|
+
Locales.ITALIAN, // Locale hiện tại
|
|
233
|
+
[Locales.ENGLISH, Locales.FRENCH], // Các locale được hỗ trợ
|
|
234
|
+
Locales.ENGLISH // Locale mặc định
|
|
235
|
+
); // Kết quả: "/about" (không áp dụng tiền tố cho locale không hỗ trợ)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Các Trường Hợp Biên
|
|
241
|
+
|
|
242
|
+
- **Không Có Phân Đoạn Locale:**
|
|
243
|
+
- Nếu URL không chứa phân đoạn locale nào, hàm sẽ an toàn thêm tiền tố locale phù hợp.
|
|
244
|
+
|
|
245
|
+
- **Locale Mặc Định:**
|
|
246
|
+
- Khi `prefixDefault` là `false`, hàm sẽ không thêm tiền tố cho URL của locale mặc định.
|
|
247
|
+
|
|
248
|
+
- **Locale Không Hỗ Trợ:**
|
|
249
|
+
- Đối với các locale không nằm trong danh sách `locales`, hàm sẽ không áp dụng tiền tố nào.
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## Sử Dụng Trong Ứng Dụng
|
|
254
|
+
|
|
255
|
+
Trong một ứng dụng đa ngôn ngữ, việc cấu hình các thiết lập quốc tế hóa với `locales` và `defaultLocale` là rất quan trọng để đảm bảo ngôn ngữ hiển thị chính xác. Dưới đây là một ví dụ về cách `getLocalizedUrl` có thể được sử dụng trong cấu hình ứng dụng:
|
|
256
|
+
|
|
257
|
+
```tsx codeFormat="typescript"
|
|
258
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
259
|
+
|
|
260
|
+
// Cấu hình cho các locale được hỗ trợ và locale mặc định
|
|
261
|
+
export default {
|
|
262
|
+
internationalization: {
|
|
263
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
264
|
+
defaultLocale: Locales.ENGLISH,
|
|
265
|
+
},
|
|
266
|
+
} satisfies IntlayerConfig;
|
|
267
|
+
|
|
268
|
+
export default config;
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
```javascript codeFormat="esm"
|
|
272
|
+
import { Locales } from "intlayer";
|
|
273
|
+
|
|
274
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
275
|
+
const config = {
|
|
276
|
+
internationalization: {
|
|
277
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
278
|
+
defaultLocale: Locales.ENGLISH,
|
|
279
|
+
},
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
export default config;
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
```javascript codeFormat="commonjs"
|
|
286
|
+
const { Locales } = require("intlayer");
|
|
287
|
+
|
|
288
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
289
|
+
const config = {
|
|
290
|
+
internationalization: {
|
|
291
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
292
|
+
defaultLocale: Locales.ENGLISH,
|
|
293
|
+
},
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
module.exports = config;
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
Cấu hình trên đảm bảo rằng ứng dụng nhận diện `ENGLISH`, `FRENCH`, và `SPANISH` là các ngôn ngữ được hỗ trợ và sử dụng `ENGLISH` làm ngôn ngữ dự phòng.
|
|
300
|
+
|
|
301
|
+
Sử dụng cấu hình này, hàm `getLocalizedUrl` có thể tạo động các URL được địa phương hóa dựa trên sở thích ngôn ngữ của người dùng:
|
|
302
|
+
|
|
303
|
+
```typescript
|
|
304
|
+
getLocalizedUrl("/about", Locales.FRENCH); // Kết quả: "/fr/about"
|
|
305
|
+
getLocalizedUrl("/about", Locales.SPANISH); // Kết quả: "/es/about"
|
|
306
|
+
getLocalizedUrl("/about", Locales.ENGLISH); // Kết quả: "/about"
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Bằng cách tích hợp `getLocalizedUrl`, các nhà phát triển có thể duy trì cấu trúc URL nhất quán trên nhiều ngôn ngữ, nâng cao trải nghiệm người dùng cũng như tối ưu hóa SEO.
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-08-23
|
|
4
|
+
title: Tài liệu hàm getMultilingualUrls | intlayer
|
|
5
|
+
description: Xem cách sử dụng hàm getMultilingualUrls cho gói intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- getMultilingualUrls
|
|
8
|
+
- dịch thuật
|
|
9
|
+
- Intlayer
|
|
10
|
+
- intlayer
|
|
11
|
+
- Quốc tế hóa
|
|
12
|
+
- Tài liệu
|
|
13
|
+
- Next.js
|
|
14
|
+
- JavaScript
|
|
15
|
+
- React
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- packages
|
|
19
|
+
- intlayer
|
|
20
|
+
- getMultilingualUrls
|
|
21
|
+
history:
|
|
22
|
+
- version: 5.5.10
|
|
23
|
+
date: 2025-06-29
|
|
24
|
+
changes: Khởi tạo lịch sử
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Tài liệu: Hàm `getMultilingualUrls` trong `intlayer`
|
|
28
|
+
|
|
29
|
+
## Mô tả
|
|
30
|
+
|
|
31
|
+
Hàm `getMultilingualUrls` tạo ra một ánh xạ các URL đa ngôn ngữ bằng cách thêm tiền tố URL đã cho với mỗi ngôn ngữ được hỗ trợ. Hàm có thể xử lý cả URL tuyệt đối và tương đối, áp dụng tiền tố ngôn ngữ phù hợp dựa trên cấu hình được cung cấp hoặc mặc định.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Tham số
|
|
36
|
+
|
|
37
|
+
- `url: string`
|
|
38
|
+
- **Mô tả**: Chuỗi URL gốc sẽ được thêm tiền tố ngôn ngữ.
|
|
39
|
+
- **Kiểu**: `string`
|
|
40
|
+
|
|
41
|
+
- `locales: Locales[]`
|
|
42
|
+
- **Mô tả**: Mảng tùy chọn các ngôn ngữ được hỗ trợ. Mặc định là các ngôn ngữ đã cấu hình trong dự án.
|
|
43
|
+
- **Kiểu**: `Locales[]`
|
|
44
|
+
- **Mặc định**: `localesDefault`
|
|
45
|
+
|
|
46
|
+
- `defaultLocale: Locales`
|
|
47
|
+
- **Mô tả**: Ngôn ngữ mặc định cho ứng dụng. Mặc định là ngôn ngữ mặc định đã cấu hình trong dự án.
|
|
48
|
+
- **Kiểu**: `Locales`
|
|
49
|
+
- **Mặc định**: `defaultLocaleDefault`
|
|
50
|
+
|
|
51
|
+
- `prefixDefault: boolean`
|
|
52
|
+
- **Mô tả**: Có thêm tiền tố cho ngôn ngữ mặc định hay không. Mặc định theo giá trị đã cấu hình trong dự án.
|
|
53
|
+
- **Kiểu**: `boolean`
|
|
54
|
+
- **Mặc định**: `prefixDefaultDefault`
|
|
55
|
+
|
|
56
|
+
### Trả về
|
|
57
|
+
|
|
58
|
+
- **Kiểu**: `IConfigLocales<string>`
|
|
59
|
+
- **Mô tả**: Một đối tượng ánh xạ mỗi ngôn ngữ với URL đa ngôn ngữ tương ứng.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Ví dụ sử dụng
|
|
64
|
+
|
|
65
|
+
### URL tương đối
|
|
66
|
+
|
|
67
|
+
```typescript codeFormat="typescript"
|
|
68
|
+
import { getMultilingualUrls, Locales } from "intlayer";
|
|
69
|
+
|
|
70
|
+
getMultilingualUrls(
|
|
71
|
+
"/dashboard",
|
|
72
|
+
[Locales.ENGLISH, Locales.FRENCH],
|
|
73
|
+
Locales.ENGLISH,
|
|
74
|
+
false
|
|
75
|
+
);
|
|
76
|
+
// Kết quả: {
|
|
77
|
+
// en: "/dashboard",
|
|
78
|
+
// fr: "/fr/dashboard"
|
|
79
|
+
// }
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```javascript codeFormat="esm"
|
|
83
|
+
import { getMultilingualUrls, Locales } from "intlayer";
|
|
84
|
+
|
|
85
|
+
getMultilingualUrls(
|
|
86
|
+
"/dashboard",
|
|
87
|
+
[Locales.ENGLISH, Locales.FRENCH],
|
|
88
|
+
Locales.ENGLISH,
|
|
89
|
+
false
|
|
90
|
+
);
|
|
91
|
+
// Kết quả: {
|
|
92
|
+
// en: "/dashboard",
|
|
93
|
+
// fr: "/fr/dashboard"
|
|
94
|
+
// }
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```javascript codeFormat="commonjs"
|
|
98
|
+
const { getMultilingualUrls, Locales } = require("intlayer");
|
|
99
|
+
|
|
100
|
+
getMultilingualUrls(
|
|
101
|
+
"/dashboard",
|
|
102
|
+
[Locales.ENGLISH, Locales.FRENCH],
|
|
103
|
+
Locales.ENGLISH,
|
|
104
|
+
false
|
|
105
|
+
);
|
|
106
|
+
// Kết quả: {
|
|
107
|
+
// en: "/dashboard",
|
|
108
|
+
// fr: "/fr/dashboard"
|
|
109
|
+
// }
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### URL tuyệt đối
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
getMultilingualUrls(
|
|
116
|
+
"https://example.com/dashboard",
|
|
117
|
+
[Locales.ENGLISH, Locales.FRENCH],
|
|
118
|
+
Locales.ENGLISH,
|
|
119
|
+
true
|
|
120
|
+
);
|
|
121
|
+
// Kết quả: {
|
|
122
|
+
// en: "https://example.com/en/dashboard",
|
|
123
|
+
// fr: "https://example.com/fr/dashboard"
|
|
124
|
+
// }
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Các trường hợp đặc biệt
|
|
130
|
+
|
|
131
|
+
- **Không có đoạn ngôn ngữ:**
|
|
132
|
+
- Hàm sẽ loại bỏ bất kỳ đoạn ngôn ngữ nào đã tồn tại trong URL trước khi tạo các ánh xạ đa ngôn ngữ.
|
|
133
|
+
|
|
134
|
+
- **Ngôn ngữ mặc định:**
|
|
135
|
+
- Khi `prefixDefault` là `false`, hàm sẽ không thêm tiền tố vào URL cho ngôn ngữ mặc định.
|
|
136
|
+
|
|
137
|
+
- **Ngôn ngữ không được hỗ trợ:**
|
|
138
|
+
- Chỉ những ngôn ngữ được cung cấp trong mảng `locales` mới được xem xét để tạo URL.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Sử dụng trong các ứng dụng
|
|
143
|
+
|
|
144
|
+
Trong một ứng dụng đa ngôn ngữ, việc cấu hình các thiết lập quốc tế hóa với `locales` và `defaultLocale` là rất quan trọng để đảm bảo ngôn ngữ hiển thị chính xác. Dưới đây là ví dụ về cách sử dụng `getMultilingualUrls` trong cấu hình ứng dụng:
|
|
145
|
+
|
|
146
|
+
```tsx codeFormat="typescript"
|
|
147
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
148
|
+
|
|
149
|
+
// Cấu hình cho các ngôn ngữ được hỗ trợ và ngôn ngữ mặc định
|
|
150
|
+
export default {
|
|
151
|
+
internationalization: {
|
|
152
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
153
|
+
defaultLocale: Locales.ENGLISH,
|
|
154
|
+
},
|
|
155
|
+
} satisfies IntlayerConfig;
|
|
156
|
+
|
|
157
|
+
export default config;
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
```javascript codeFormat="esm"
|
|
161
|
+
import { Locales } from "intlayer";
|
|
162
|
+
|
|
163
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
164
|
+
// Cấu hình quốc tế hóa với các ngôn ngữ được hỗ trợ và ngôn ngữ mặc định
|
|
165
|
+
const config = {
|
|
166
|
+
internationalization: {
|
|
167
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
168
|
+
defaultLocale: Locales.ENGLISH,
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export default config;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
```javascript codeFormat="commonjs"
|
|
176
|
+
const { Locales } = require("intlayer");
|
|
177
|
+
|
|
178
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
179
|
+
// Cấu hình quốc tế hóa với các ngôn ngữ được hỗ trợ và ngôn ngữ mặc định
|
|
180
|
+
const config = {
|
|
181
|
+
internationalization: {
|
|
182
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
183
|
+
defaultLocale: Locales.ENGLISH,
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
module.exports = config;
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Cấu hình trên đảm bảo rằng ứng dụng nhận diện `ENGLISH`, `FRENCH` và `SPANISH` là các ngôn ngữ được hỗ trợ và sử dụng `ENGLISH` làm ngôn ngữ dự phòng.
|
|
191
|
+
|
|
192
|
+
Sử dụng cấu hình này, hàm `getMultilingualUrls` có thể tạo động các ánh xạ URL đa ngôn ngữ dựa trên các locale được ứng dụng hỗ trợ:
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
getMultilingualUrls(
|
|
196
|
+
"/dashboard",
|
|
197
|
+
[Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
198
|
+
Locales.ENGLISH
|
|
199
|
+
);
|
|
200
|
+
// Kết quả:
|
|
201
|
+
// {
|
|
202
|
+
// en: "/dashboard",
|
|
203
|
+
// fr: "/fr/dashboard",
|
|
204
|
+
// es: "/es/dashboard"
|
|
205
|
+
// }
|
|
206
|
+
|
|
207
|
+
getMultilingualUrls(
|
|
208
|
+
"https://example.com/dashboard",
|
|
209
|
+
[Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
210
|
+
Locales.ENGLISH,
|
|
211
|
+
true
|
|
212
|
+
);
|
|
213
|
+
// Kết quả:
|
|
214
|
+
// {
|
|
215
|
+
// en: "https://example.com/en/dashboard",
|
|
216
|
+
// fr: "https://example.com/fr/dashboard",
|
|
217
|
+
// es: "https://example.com/es/dashboard"
|
|
218
|
+
// }
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Bằng cách tích hợp `getMultilingualUrls`, các nhà phát triển có thể duy trì cấu trúc URL nhất quán trên nhiều ngôn ngữ, nâng cao cả trải nghiệm người dùng và SEO.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-08-23
|
|
4
|
+
title: Tài liệu hàm getPathWithoutLocale | intlayer
|
|
5
|
+
description: Xem cách sử dụng hàm getPathWithoutLocale cho gói intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- getPathWithoutLocale
|
|
8
|
+
- dịch thuật
|
|
9
|
+
- Intlayer
|
|
10
|
+
- intlayer
|
|
11
|
+
- Quốc tế hóa
|
|
12
|
+
- Tài liệu
|
|
13
|
+
- Next.js
|
|
14
|
+
- JavaScript
|
|
15
|
+
- React
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- packages
|
|
19
|
+
- intlayer
|
|
20
|
+
- getPathWithoutLocale
|
|
21
|
+
history:
|
|
22
|
+
- version: 5.5.10
|
|
23
|
+
date: 2025-06-29
|
|
24
|
+
changes: Khởi tạo lịch sử
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Tài liệu: Hàm `getPathWithoutLocale` trong `intlayer`
|
|
28
|
+
|
|
29
|
+
## Mô tả
|
|
30
|
+
|
|
31
|
+
Loại bỏ đoạn locale khỏi URL hoặc pathname được cung cấp nếu có. Hàm hoạt động với cả URL tuyệt đối và pathname tương đối.
|
|
32
|
+
|
|
33
|
+
## Tham số
|
|
34
|
+
|
|
35
|
+
- `inputUrl: string`
|
|
36
|
+
- **Mô tả**: Chuỗi URL đầy đủ hoặc pathname cần xử lý.
|
|
37
|
+
- **Kiểu**: `string`
|
|
38
|
+
|
|
39
|
+
- `locales: Locales[]`
|
|
40
|
+
- **Mô tả**: Mảng tùy chọn các locale được hỗ trợ. Mặc định là các locale đã được cấu hình trong dự án.
|
|
41
|
+
- **Kiểu**: `Locales[]`
|
|
42
|
+
|
|
43
|
+
## Trả về
|
|
44
|
+
|
|
45
|
+
- **Kiểu**: `string`
|
|
46
|
+
- **Mô tả**: Chuỗi URL hoặc pathname đã loại bỏ đoạn locale.
|
|
47
|
+
|
|
48
|
+
## Ví dụ sử dụng
|
|
49
|
+
|
|
50
|
+
```typescript codeFormat="typescript"
|
|
51
|
+
import { getPathWithoutLocale } from "intlayer";
|
|
52
|
+
|
|
53
|
+
console.log(getPathWithoutLocale("/dashboard")); // Output: "/dashboard"
|
|
54
|
+
console.log(getPathWithoutLocale("/en/dashboard")); // Output: "/dashboard"
|
|
55
|
+
console.log(getPathWithoutLocale("/fr/dashboard")); // Output: "/dashboard"
|
|
56
|
+
console.log(getPathWithoutLocale("https://example.com/en/dashboard")); // Kết quả: "https://example.com/dashboard"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```javascript codeFormat="esm"
|
|
60
|
+
import { getPathWithoutLocale } from "intlayer";
|
|
61
|
+
|
|
62
|
+
console.log(getPathWithoutLocale("/dashboard")); // Kết quả: "/dashboard"
|
|
63
|
+
console.log(getPathWithoutLocale("/en/dashboard")); // Kết quả: "/dashboard"
|
|
64
|
+
console.log(getPathWithoutLocale("/fr/dashboard")); // Kết quả: "/dashboard"
|
|
65
|
+
console.log(getPathWithoutLocale("https://example.com/en/dashboard")); // Kết quả: "https://example.com/dashboard"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```javascript codeFormat="commonjs"
|
|
69
|
+
const { getPathWithoutLocale } = require("intlayer");
|
|
70
|
+
|
|
71
|
+
console.log(getPathWithoutLocale("/dashboard")); // Kết quả: "/dashboard"
|
|
72
|
+
console.log(getPathWithoutLocale("/en/dashboard")); // Kết quả: "/dashboard"
|
|
73
|
+
console.log(getPathWithoutLocale("/fr/dashboard")); // Kết quả: "/dashboard"
|
|
74
|
+
console.log(getPathWithoutLocale("https://example.com/en/dashboard")); // Kết quả: "https://example.com/dashboard"
|
|
75
|
+
```
|