@intlayer/docs 7.0.7 → 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,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Czy można używać Intlayer z Next.js bez `[locale]` w ścieżce strony?
|
|
5
|
+
description: Dowiedz się, jak używać Intlayer z Next.js bez `[locale]` w ścieżce strony.
|
|
6
|
+
keywords:
|
|
7
|
+
- locale
|
|
8
|
+
- ścieżka
|
|
9
|
+
- intlayer
|
|
10
|
+
- next.js
|
|
11
|
+
- vite
|
|
12
|
+
- framework
|
|
13
|
+
- middleware
|
|
14
|
+
- konfiguracja
|
|
15
|
+
- prefixDefault
|
|
16
|
+
- noPrefix
|
|
17
|
+
slugs:
|
|
18
|
+
- frequent-questions
|
|
19
|
+
- ssr-next-no-[locale]
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Czy można używać Intlayer z Next.js bez `[locale]` w ścieżce strony?
|
|
23
|
+
|
|
24
|
+
Tak, można używać Intlayer z Next.js bez `[locale]` w ścieżce strony. Jednak nie jest to zalecane, ponieważ rozdzielenie strony pozwala na wywołanie większej liczby słów kluczowych w wyszukiwarkach. Może to również wpłynąć na Twoje SSR.
|
|
25
|
+
|
|
26
|
+
Jeśli chcesz to zrobić, postępuj zgodnie z tymi samymi krokami opisanymi w przewodniku [Intlayer z Next.js](https://intlayer.org/doc/environment/nextjs),
|
|
27
|
+
|
|
28
|
+
- bez `src/middleware.ts`
|
|
29
|
+
- bez `generateStaticParams`
|
|
30
|
+
|
|
31
|
+
```tsx fileName="src/app/layout.tsx"
|
|
32
|
+
import type { FC, PropsWithChildren } from "react";
|
|
33
|
+
|
|
34
|
+
const LocaleLayout: FC<PropsWithChildren> = ({ children }) => (
|
|
35
|
+
<html lang={undefined} dir={undefined}>
|
|
36
|
+
<body className={inter.className}>{children}</body>
|
|
37
|
+
</html>
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
export default LocaleLayout;
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```tsx fileName="src/app/page.tsx"
|
|
44
|
+
import type { FC } from "react";
|
|
45
|
+
import { ClientComponentExample } from "@components/ClientComponentExample";
|
|
46
|
+
import { ServerComponentExample } from "@components/ServerComponentExample";
|
|
47
|
+
import { PageContent } from "@components/pageContent";
|
|
48
|
+
import { type NextPageIntlayer, IntlayerClientProvider } from "next-intlayer";
|
|
49
|
+
import { IntlayerServerProvider } from "next-intlayer/server";
|
|
50
|
+
|
|
51
|
+
const Page: FC = () => {
|
|
52
|
+
return (
|
|
53
|
+
<IntlayerServerProvider>
|
|
54
|
+
<PageContent />
|
|
55
|
+
<ServerComponentExample />
|
|
56
|
+
|
|
57
|
+
<IntlayerClientProvider>
|
|
58
|
+
<ClientComponentExample />
|
|
59
|
+
</IntlayerClientProvider>
|
|
60
|
+
</IntlayerServerProvider>
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export default Page;
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
```tsx fileName="src/component/pageContent.ts"
|
|
68
|
+
"use client";
|
|
69
|
+
|
|
70
|
+
import { type FC } from "react";
|
|
71
|
+
import { useIntlayer } from "next-intlayer";
|
|
72
|
+
import { useHTMLLanguage } from "@hooks/htmlTextDir";
|
|
73
|
+
|
|
74
|
+
const PageContent: FC = () => {
|
|
75
|
+
useHTMLLanguage();
|
|
76
|
+
const content = useIntlayer("page");
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<>
|
|
80
|
+
<p>{content.getStarted.main}</p>
|
|
81
|
+
<code>{content.getStarted.pageLink}</code>
|
|
82
|
+
</>
|
|
83
|
+
);
|
|
84
|
+
};
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
```tsx fileName="src/hooks/htmlTextDir.ts"
|
|
88
|
+
"use client";
|
|
89
|
+
|
|
90
|
+
import { useEffect } from "react";
|
|
91
|
+
import { getHTMLTextDir } from "intlayer";
|
|
92
|
+
import { useLocale } from "next-intlayer";
|
|
93
|
+
|
|
94
|
+
export const useHTMLLanguage = () => {
|
|
95
|
+
const { locale } = useLocale();
|
|
96
|
+
|
|
97
|
+
useEffect(() => {
|
|
98
|
+
if (!document) return;
|
|
99
|
+
|
|
100
|
+
document.documentElement.lang = locale; // ustawienie atrybutu języka dokumentu
|
|
101
|
+
document.documentElement.dir = getHTMLTextDir(locale); // ustawienie kierunku tekstu w dokumencie
|
|
102
|
+
}, [locale]);
|
|
103
|
+
};
|
|
104
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Czy mogę użyć tablicy jako deklaracji zawartości?
|
|
5
|
+
description: Dowiedz się, jak używać tablicy jako deklaracji zawartości.
|
|
6
|
+
keywords:
|
|
7
|
+
- tablica
|
|
8
|
+
- zawartość
|
|
9
|
+
- deklaracja
|
|
10
|
+
- intlayer
|
|
11
|
+
slugs:
|
|
12
|
+
- frequent-questions
|
|
13
|
+
- array-as-content-declaration
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Czy mogę użyć tablicy jako deklaracji zawartości?
|
|
17
|
+
|
|
18
|
+
Tak, możesz użyć tablicy jako deklaracji zawartości.
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import { t, type Dictionary } from "intlayer";
|
|
22
|
+
|
|
23
|
+
const exampleContent = {
|
|
24
|
+
key: "example",
|
|
25
|
+
content: {
|
|
26
|
+
test: t({
|
|
27
|
+
en: ["Test", "Test2", "Test3"],
|
|
28
|
+
fr: ["Test", "Test2", "Test3"],
|
|
29
|
+
es: ["Test", "Test2", "Test3"],
|
|
30
|
+
}),
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export default exampleContent;
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Następnie możesz użyć zawartości w ten sposób:
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { useIntlayer } from "react-intlayer";
|
|
41
|
+
|
|
42
|
+
const Example = () => {
|
|
43
|
+
const content = useIntlayer("example");
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<div>
|
|
47
|
+
{content.test.map((item) => (
|
|
48
|
+
<div key={item.value}>{item}</div>
|
|
49
|
+
))}
|
|
50
|
+
</div>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```vue
|
|
56
|
+
<script setup lang="ts">
|
|
57
|
+
import { useIntlayer } from "vue-intlayer";
|
|
58
|
+
|
|
59
|
+
const content = useIntlayer("example");
|
|
60
|
+
</script>
|
|
61
|
+
|
|
62
|
+
<template>
|
|
63
|
+
<div>
|
|
64
|
+
<div v-for="item in content.test" :key="item.value">
|
|
65
|
+
{{ item }}
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</template>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
`.value` pozwala na uzyskanie wartości zawartości, nieopakowanej przez `IntlayerNode`.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Jak budować słowniki?
|
|
5
|
+
description: Dowiedz się, jak budować słowniki.
|
|
6
|
+
keywords:
|
|
7
|
+
- build
|
|
8
|
+
- dictionaries
|
|
9
|
+
- intlayer
|
|
10
|
+
- command
|
|
11
|
+
- watch
|
|
12
|
+
- vscode
|
|
13
|
+
- plugin
|
|
14
|
+
- framework
|
|
15
|
+
- next.js
|
|
16
|
+
- vite
|
|
17
|
+
slugs:
|
|
18
|
+
- frequent-questions
|
|
19
|
+
- build-dictionaries
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Budowanie słowników
|
|
23
|
+
|
|
24
|
+
## Jak budować słowniki
|
|
25
|
+
|
|
26
|
+
Intlayer udostępnia narzędzie wiersza poleceń do budowania słowników.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx intlayer dictionaries build
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
To polecenie:
|
|
33
|
+
|
|
34
|
+
- Skanuje wszystkie pliki deklaracji treści (`.content.{ts,tsx,js,mjs,cjs,json,...}`) w Twoim projekcie.
|
|
35
|
+
- Generuje słowniki i zapisuje je w folderze `.intlayer/dictionary`.
|
|
36
|
+
|
|
37
|
+
### Tryb obserwacji
|
|
38
|
+
|
|
39
|
+
Jeśli chcesz automatycznie aktualizować słowniki, gdy w plikach deklaracji treści zostaną wprowadzone zmiany, uruchom następujące polecenie:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx intlayer dictionaries build --watch
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
W tym trybie Intlayer będzie skanować i budować słowniki za każdym razem, gdy w plikach deklaracji treści zostaną wprowadzone zmiany, oraz automatycznie aktualizować folder `.intlayer/dictionary`.
|
|
46
|
+
|
|
47
|
+
### Korzystanie z rozszerzenia VSCode
|
|
48
|
+
|
|
49
|
+
Możesz również użyć [rozszerzenia Intlayer dla VSCode](https://github.com/aymericzip/intlayer/tree/main/docs/pl/vs_code_extension.md), aby ulepszyć swoje doświadczenie z Intlayer w VSCode.
|
|
50
|
+
|
|
51
|
+
### Korzystanie z wtyczki dla Twojego ulubionego frameworka aplikacji
|
|
52
|
+
|
|
53
|
+
Jeśli używasz frameworka takiego jak Next.js (Webpack / Turbopack), Vite, React Native, Lynx itp., Intlayer dostarcza wtyczkę, którą możesz wykorzystać do integracji Intlayer z Twoją aplikacją.
|
|
54
|
+
|
|
55
|
+
Intlayer zbuduje słowniki przed kompilacją Twojej aplikacji.
|
|
56
|
+
W ten sam sposób, w trybie deweloperskim, Intlayer będzie monitorować zmiany w plikach deklaracji treści i automatycznie przebudowywać słowniki.
|
|
57
|
+
|
|
58
|
+
Zapoznaj się ze specyficzną dokumentacją swojego frameworka, aby dowiedzieć się, jak zintegrować wtyczkę.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Błąd kompilacji w CI/CD
|
|
5
|
+
description: Dowiedz się, jak naprawić błędy kompilacji występujące w środowiskach CI/CD.
|
|
6
|
+
keywords:
|
|
7
|
+
- build
|
|
8
|
+
- error
|
|
9
|
+
- ci
|
|
10
|
+
- cd
|
|
11
|
+
- pipeline
|
|
12
|
+
- intlayer
|
|
13
|
+
- dictionaries
|
|
14
|
+
- next.js
|
|
15
|
+
- prebuild
|
|
16
|
+
- automation
|
|
17
|
+
slugs:
|
|
18
|
+
- frequent-questions
|
|
19
|
+
- build-error-ci-cd
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Błąd podczas kompilacji w CI/CD
|
|
23
|
+
|
|
24
|
+
Jeśli otrzymujesz taki błąd w Next.js:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
Error: An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Oto kilka rozwiązań:
|
|
31
|
+
|
|
32
|
+
## 1. Brakujące słowniki
|
|
33
|
+
|
|
34
|
+
Upewnij się, że słowniki są budowane na etapie kompilacji.
|
|
35
|
+
|
|
36
|
+
Często zdarza się, że kompilacja działa lokalnie, ale nie na CI/CD. Powodem jest to, że lokalnie katalog `.intlayer` jest obecny, natomiast na CI/CD go nie ma, ponieważ jest wykluczony z kompilacji.
|
|
37
|
+
|
|
38
|
+
Możesz to naprawić, dodając skrypt prebuild w pliku `package.json` Twojego projektu.
|
|
39
|
+
|
|
40
|
+
```json5 fileName=package.json
|
|
41
|
+
{
|
|
42
|
+
// ...
|
|
43
|
+
"scripts": {
|
|
44
|
+
"prebuild": "npx intlayer dictionaries build", // Zostanie uruchomiony przed kompilacją
|
|
45
|
+
"build": "next build",
|
|
46
|
+
},
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
> Zauważ, że jeśli używasz funkcji `withIntlayer` lub równoważnego pluginu bundlera dla Twojego frameworka, skrypt prebuild zostanie uruchomiony przed kompilacją.
|
|
51
|
+
|
|
52
|
+
## 2. Brakujące zmienne środowiskowe podczas kompilacji / uruchamiania
|
|
53
|
+
|
|
54
|
+
W kontenerze lub na platformie z automatycznym wdrażaniem zaleca się wykluczenie pliku `.env` z procesu budowania.
|
|
55
|
+
|
|
56
|
+
```text fileName=".gitignore or .dockerignore"
|
|
57
|
+
# Zmienne środowiskowe
|
|
58
|
+
.env
|
|
59
|
+
**/.env
|
|
60
|
+
.env.*
|
|
61
|
+
**/.env.*
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Jeśli Twoje zmienne środowiskowe nie są dostępne w czasie budowania, zostanie zgłoszony błąd.
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
import { Metadata } from "next";
|
|
68
|
+
|
|
69
|
+
export const generateMetadata = async ({ params }): Promise<Metadata> => ({
|
|
70
|
+
metadataBase: new URL(process.env.NEXT_PUBLIC_URL), // Tworzy bazowy URL metadanych z zmiennej środowiskowej
|
|
71
|
+
});
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Prawdopodobnie nie jest to związane z Intlayer. Sprawdź więc swoje zmienne środowiskowe w czasie budowania na platformie CI/CD.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Otrzymuję błąd "module not found" podczas używania bun
|
|
5
|
+
description: Napraw błąd podczas używania bun.
|
|
6
|
+
keywords:
|
|
7
|
+
- bun
|
|
8
|
+
- module not found
|
|
9
|
+
- intlayer
|
|
10
|
+
- konfiguracja
|
|
11
|
+
- menedżer pakietów
|
|
12
|
+
slugs:
|
|
13
|
+
- frequent-questions
|
|
14
|
+
- bun-set-up
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Otrzymuję błąd "module not found" podczas używania bun
|
|
18
|
+
|
|
19
|
+
## Opis problemu
|
|
20
|
+
|
|
21
|
+
Podczas używania bun możesz napotkać błąd podobny do tego:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
Cannot find package 'intlayer' from '/workspace/packages/@intlayer/config/dist/cjs/utils/ESMxCJSHelpers.cjs' undefined
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Przyczyna
|
|
28
|
+
|
|
29
|
+
Intlayer używa wewnętrznie `require`. Bun ogranicza funkcję require do rozwiązywania tylko pakietów `@intlayer/config`, zamiast całego projektu.
|
|
30
|
+
|
|
31
|
+
## Rozwiązanie
|
|
32
|
+
|
|
33
|
+
### Udostępnij funkcję `require` w konfiguracji
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
ts;
|
|
37
|
+
const config: IntlayerConfig = {
|
|
38
|
+
build: {
|
|
39
|
+
require, // udostępnij funkcję require w konfiguracji build
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default config;
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```ts fileName="next.config.ts" codeFormat="typescript"
|
|
47
|
+
import { withIntlayer } from "next-intlayer/server";
|
|
48
|
+
|
|
49
|
+
const configuration = withIntlayer({
|
|
50
|
+
require, // przekazanie funkcji require do konfiguracji next-intlayer
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
export default configuration;
|
|
54
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Jak dostosować listę lokalizacji?
|
|
5
|
+
description: Dowiedz się, jak dostosować listę lokalizacji.
|
|
6
|
+
keywords:
|
|
7
|
+
- lokalizacje
|
|
8
|
+
- lista
|
|
9
|
+
- intlayer
|
|
10
|
+
- konfiguracja
|
|
11
|
+
- availableLocales
|
|
12
|
+
- defaultLocale
|
|
13
|
+
- useLocale
|
|
14
|
+
- hook
|
|
15
|
+
- lokalizacja
|
|
16
|
+
- lista
|
|
17
|
+
slugs:
|
|
18
|
+
- frequent-questions
|
|
19
|
+
- customized-locale-list
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Czy można zablokować typ języka, na przykład angielski? Dodaję angielski do moich słowników, ale nie chcę, aby angielski był jeszcze dostępny na stronie internetowej
|
|
23
|
+
|
|
24
|
+
Tak, możesz zablokować typ języka, na przykład angielski, używając opcji `availableLocales` w konfiguracji Intlayer.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
import { IntlayerConfig } from "intlayer";
|
|
28
|
+
|
|
29
|
+
const config: IntlayerConfig = {
|
|
30
|
+
locales: [Locales.FRENCH, Locales.SPANISH, Locales.ENGLISH],
|
|
31
|
+
availableLocales: [Locales.FRENCH, Locales.SPANISH],
|
|
32
|
+
defaultLocale: Locales.FRENCH,
|
|
33
|
+
};
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
lub
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import { IntlayerConfig } from "intlayer";
|
|
40
|
+
|
|
41
|
+
const locales = [Locales.FRENCH, Locales.SPANISH, Locales.ENGLISH];
|
|
42
|
+
|
|
43
|
+
const config: IntlayerConfig = {
|
|
44
|
+
locales,
|
|
45
|
+
availableLocales: locales.filter((locale) => locale !== Locales.ENGLISH),
|
|
46
|
+
defaultLocale: Locales.FRENCH,
|
|
47
|
+
};
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Ta konfiguracja zmieni typy Twojej funkcji `t()`, aby uwzględniały tylko dostępne lokalizacje.
|
|
51
|
+
|
|
52
|
+
Opcja availableLocales jest opcjonalna, jeśli jej nie podasz, wszystkie lokalizacje będą dostępne.
|
|
53
|
+
|
|
54
|
+
Uważaj, wszystkie lokalizacje uwzględnione w opcji `availableLocales` powinny być zawarte w opcji `locales`.
|
|
55
|
+
|
|
56
|
+
Zauważ, że jeśli używasz hooka `useLocale`, opcja `availableLocales` będzie używana do ustawienia dostępu do listy lokalizacji.
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
import { useLocale } from "intlayer";
|
|
60
|
+
|
|
61
|
+
const { availableLocales } = useLocale();
|
|
62
|
+
|
|
63
|
+
console.log(availableLocales); // [Locales.FRENCH, Locales.SPANISH]
|
|
64
|
+
```
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Jak skonfigurować routing oparty na domenach?
|
|
5
|
+
description: Dowiedz się, jak skonfigurować routing oparty na domenach.
|
|
6
|
+
keywords:
|
|
7
|
+
- domena
|
|
8
|
+
- routing
|
|
9
|
+
- intlayer
|
|
10
|
+
- konfiguracja
|
|
11
|
+
- middleware
|
|
12
|
+
- react-router
|
|
13
|
+
- vue-router
|
|
14
|
+
- next.js
|
|
15
|
+
- vite
|
|
16
|
+
- framework
|
|
17
|
+
slugs:
|
|
18
|
+
- frequent-questions
|
|
19
|
+
- domain-routing
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Jak skonfigurować **routing oparty na domenach** w Intlayer zamiast ścieżek `/[locale]/`?
|
|
23
|
+
|
|
24
|
+
## Krótka odpowiedź
|
|
25
|
+
|
|
26
|
+
Routing oparty na domenach jest prostszy niż routing oparty na ścieżkach (`example.com/[locale]/`), ponieważ można pominąć całą konfigurację middleware i routingu. Wystarczy wdrożyć aplikację na każdej domenie językowej i ustawić jedną zmienną środowiskową na domenę.
|
|
27
|
+
|
|
28
|
+
## Krok po kroku
|
|
29
|
+
|
|
30
|
+
1. **Wdroż aplikację raz na domenę** (`example.com`, `exemple.fr`, `ejemplo.es`, …).
|
|
31
|
+
2. Dla każdego wdrożenia ustaw `LOCALE` (oraz standardowe zmienne środowiskowe Intlayer) na lokalizację, którą dana domena ma obsługiwać.
|
|
32
|
+
3. Odwołaj się do tej zmiennej jako `defaultLocale` w swoim pliku `intlayer.config.[ts|js]`.
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
36
|
+
|
|
37
|
+
const config: IntlayerConfig = {
|
|
38
|
+
internationalization: {
|
|
39
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
40
|
+
defaultLocale: process.env.LOCALE, // 👈 domena decyduje o lokalizacji
|
|
41
|
+
},
|
|
42
|
+
// ... reszta twojej konfiguracji
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export default config;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
To wszystko — działa tak samo dla **Next.js**, **Vite + React**, **Vite + Vue** itd.
|
|
49
|
+
|
|
50
|
+
## Co jeśli każda domena trafia do **tego samego** wdrożenia?
|
|
51
|
+
|
|
52
|
+
Jeśli wszystkie domeny wskazują na ten sam pakiet aplikacji, musisz wykryć hosta w czasie wykonywania i ręcznie przekazać lokalizację przez providera.
|
|
53
|
+
|
|
54
|
+
### Dla Next.js
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
// src/IntlayerProvider.tsx
|
|
58
|
+
import {
|
|
59
|
+
IntlayerClientProvider,
|
|
60
|
+
type IntlayerClientProviderProps,
|
|
61
|
+
} from "next-intlayer";
|
|
62
|
+
import { IntlayerServerProvider } from "next-intlayer/server";
|
|
63
|
+
import type { FC } from "react";
|
|
64
|
+
|
|
65
|
+
export const IntlayerProvider: FC<IntlayerClientProviderProps> = ({
|
|
66
|
+
children,
|
|
67
|
+
locale,
|
|
68
|
+
}) => {
|
|
69
|
+
const resolvedLocale = locale ?? getLocaleFromHostname(); // 👈 rozwiąż lokalizację na podstawie hosta
|
|
70
|
+
return (
|
|
71
|
+
<IntlayerServerProvider locale={resolvedLocale}>
|
|
72
|
+
<IntlayerClientProvider locale={resolvedLocale}>
|
|
73
|
+
{children}
|
|
74
|
+
</IntlayerClientProvider>
|
|
75
|
+
</IntlayerServerProvider>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Dla Vue
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
import { createApp } from "vue";
|
|
84
|
+
import { installIntlayer } from "vue-intlayer";
|
|
85
|
+
import App from "./App.vue";
|
|
86
|
+
import { router } from "./routes";
|
|
87
|
+
|
|
88
|
+
const app = createApp(App);
|
|
89
|
+
app.use(router);
|
|
90
|
+
installIntlayer(app, getLocaleFromHostname()); // 👈 zainstaluj Intlayer z lokalizacją na podstawie hosta
|
|
91
|
+
app.mount("#app");
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Zamień `getLocaleFromHostname()` na własną logikę wyszukiwania.
|
|
95
|
+
|
|
96
|
+
## Zaktualizuj swój przełącznik lokalizacji
|
|
97
|
+
|
|
98
|
+
Przy routingu opartym na domenach, zmiana języka oznacza przejście na inną domenę:
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
const { locale } = useLocale();
|
|
102
|
+
|
|
103
|
+
function changeLanguage(target: Locale) {
|
|
104
|
+
window.location.href = domainForLocale[target]; // 👈 przekieruj do domeny odpowiadającej wybranej lokalizacji
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Zalety routingu opartego na domenach
|
|
109
|
+
|
|
110
|
+
1. **Prostsza konfiguracja**: Nie ma potrzeby konfigurowania `intlayerMiddleware`, `generateStaticParams`, `react-router` ani `vue-router`
|
|
111
|
+
2. **Lepsze SEO**: Każdy język ma własną domenę
|
|
112
|
+
3. **Czystsze adresy URL**: Brak prefiksu lokalizacji w ścieżce
|
|
113
|
+
4. **Łatwiejsza konserwacja**: Każde wdrożenie języka jest niezależne
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-05-20
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Błąd ESBuild
|
|
5
|
+
description: Dowiedz się, jak naprawić błędy ESBuild.
|
|
6
|
+
keywords:
|
|
7
|
+
- esbuild
|
|
8
|
+
- błąd
|
|
9
|
+
- intlayer
|
|
10
|
+
- wtyczka
|
|
11
|
+
- framework
|
|
12
|
+
- next.js
|
|
13
|
+
- vite
|
|
14
|
+
- react-native
|
|
15
|
+
- lynx
|
|
16
|
+
slugs:
|
|
17
|
+
- frequent-questions
|
|
18
|
+
- esbuild-error
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Błąd ESBuild
|
|
22
|
+
|
|
23
|
+
Jeśli podczas procesu budowania napotkasz błąd ESBuild, prawdopodobnie wtyczka Intlayer nie została poprawnie skonfigurowana.
|
|
24
|
+
|
|
25
|
+
ESBuild odpowiada za odczytywanie plików deklaracji zawartości (`.content.{ts,js,mjs,cjs,json}`) oraz generowanie odpowiadających słowników w folderze `.intlayer/dictionary`. Odpowiada również za odczyt pliku konfiguracyjnego (`intlayer.config.ts`).
|
|
26
|
+
|
|
27
|
+
Intlayer dostarcza wtyczki do integracji z Twoimi bundlerami. Zostały one zaprojektowane do aliasowania komponentów, które mają działać wyłącznie po stronie serwera.
|
|
28
|
+
|
|
29
|
+
Jeśli używasz frameworka takiego jak Next.js (Webpack / Turbopack), Vite, React Native, Lynx itp., Intlayer udostępnia wtyczkę, którą możesz wykorzystać do integracji Intlayer z Twoją aplikacją. Odwołaj się więc do specyficznej dokumentacji swojego frameworka, aby dowiedzieć się, jak zintegrować tę wtyczkę.
|