@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,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-08-23
|
|
4
|
+
title: Wprowadzenie
|
|
5
|
+
description: Odkryj, jak działa Intlayer. Zobacz kroki używane przez Intlayer w Twojej aplikacji. Dowiedz się, co robią różne pakiety.
|
|
6
|
+
keywords:
|
|
7
|
+
- Wprowadzenie
|
|
8
|
+
- Pierwsze kroki
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Aplikacja
|
|
11
|
+
- Pakiety
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- get-started
|
|
15
|
+
history:
|
|
16
|
+
- version: 5.5.10
|
|
17
|
+
date: 2025-06-29
|
|
18
|
+
changes: Inicjalizacja historii
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Dokumentacja Intlayer
|
|
22
|
+
|
|
23
|
+
Witamy w oficjalnej dokumentacji Intlayer! Znajdziesz tutaj wszystko, czego potrzebujesz, aby zintegrować, skonfigurować i opanować Intlayer dla wszystkich Twoich potrzeb związanych z internacjonalizacją (i18n), niezależnie od tego, czy pracujesz z Next.js, React, Vite, Express czy innym środowiskiem JavaScript.
|
|
24
|
+
|
|
25
|
+
## Wprowadzenie
|
|
26
|
+
|
|
27
|
+
### Czym jest Intlayer?
|
|
28
|
+
|
|
29
|
+
**Intlayer** to biblioteka do internacjonalizacji zaprojektowana specjalnie dla programistów JavaScript. Pozwala na deklarowanie Twoich treści w dowolnym miejscu w kodzie. Przekształca deklaracje wielojęzycznych treści w ustrukturyzowane słowniki, które można łatwo zintegrować w Twoim kodzie. Korzystając z TypeScript, **Intlayer** sprawia, że Twój rozwój jest silniejszy i bardziej efektywny.
|
|
30
|
+
|
|
31
|
+
Intlayer oferuje również opcjonalny edytor wizualny, który pozwala łatwo edytować i zarządzać Twoimi treściami. Ten edytor jest szczególnie przydatny dla programistów, którzy wolą wizualny interfejs do zarządzania treścią, lub dla zespołów generujących treści bez konieczności martwienia się o kod.
|
|
32
|
+
|
|
33
|
+
### Przykład użycia
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
.
|
|
37
|
+
└── Components
|
|
38
|
+
└── MyComponent
|
|
39
|
+
├── index.content.ts
|
|
40
|
+
└── index.tsx
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```tsx fileName="src/components/MyComponent/index.content.ts" contentDeclarationFormat="typescript"
|
|
44
|
+
import { t, type Dictionary } from "intlayer";
|
|
45
|
+
|
|
46
|
+
const componentContent = {
|
|
47
|
+
key: "component-key",
|
|
48
|
+
content: {
|
|
49
|
+
myTranslatedContent: t({
|
|
50
|
+
en: "Hello World",
|
|
51
|
+
es: "Hola Mundo",
|
|
52
|
+
fr: "Bonjour le monde",
|
|
53
|
+
}),
|
|
54
|
+
},
|
|
55
|
+
} satisfies Dictionary; // spełnia typ Dictionary (słownik)
|
|
56
|
+
|
|
57
|
+
export default componentContent; // eksportuje zawartość komponentu
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```javascript fileName="src/components/MyComponent/index.content.mjs" contentDeclarationFormat="esm"
|
|
61
|
+
import { t } from "intlayer";
|
|
62
|
+
|
|
63
|
+
/** @type {import('intlayer').Dictionary} */
|
|
64
|
+
const componentContent = {
|
|
65
|
+
key: "component-key",
|
|
66
|
+
content: {
|
|
67
|
+
myTranslatedContent: t({
|
|
68
|
+
en: "Hello World",
|
|
69
|
+
es: "Hola Mundo",
|
|
70
|
+
fr: "Bonjour le monde",
|
|
71
|
+
}),
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export default componentContent; // eksportuje zawartość komponentu
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```javascript fileName="src/components/MyComponent/index.content.cjs" contentDeclarationFormat="commonjs"
|
|
79
|
+
const { t } = require("intlayer");
|
|
80
|
+
|
|
81
|
+
/** @type {import('intlayer').Dictionary} */
|
|
82
|
+
const componentContent = {
|
|
83
|
+
key: "component-key",
|
|
84
|
+
content: {
|
|
85
|
+
myTranslatedContent: t({
|
|
86
|
+
en: "Hello World",
|
|
87
|
+
es: "Hola Mundo",
|
|
88
|
+
fr: "Bonjour le monde",
|
|
89
|
+
}),
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
module.exports = componentContent; // eksportuje zawartość komponentu
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
```json fileName="src/components/MyComponent/index.content.json" contentDeclarationFormat="json"
|
|
97
|
+
{
|
|
98
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
99
|
+
"key": "component-key",
|
|
100
|
+
"content": {
|
|
101
|
+
"myTranslatedContent": {
|
|
102
|
+
"nodeType": "translation",
|
|
103
|
+
"translation": {
|
|
104
|
+
"en": "Hello World",
|
|
105
|
+
"fr": "Bonjour le monde",
|
|
106
|
+
"es": "Hola Mundo"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
```tsx fileName="src/components/MyComponent/index.tsx" codeFormat="typescript"
|
|
114
|
+
import type { FC } from "react";
|
|
115
|
+
import { useIntlayer } from "react-intlayer";
|
|
116
|
+
|
|
117
|
+
export const MyComponent: FC = () => {
|
|
118
|
+
const { myTranslatedContent } = useIntlayer("component-key");
|
|
119
|
+
|
|
120
|
+
return <span>{myTranslatedContent}</span>;
|
|
121
|
+
};
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
```jsx fileName="src/components/MyComponent/index.mjx" codeFormat="esm"
|
|
125
|
+
import { useIntlayer } from "react-intlayer";
|
|
126
|
+
|
|
127
|
+
const MyComponent = () => {
|
|
128
|
+
const { myTranslatedContent } = useIntlayer("component-key");
|
|
129
|
+
|
|
130
|
+
return <span>{myTranslatedContent}</span>;
|
|
131
|
+
};
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Główne funkcje
|
|
135
|
+
|
|
136
|
+
Intlayer oferuje szereg funkcji dostosowanych do potrzeb nowoczesnego tworzenia stron internetowych. Poniżej znajdują się kluczowe funkcje wraz z linkami do szczegółowej dokumentacji dla każdej z nich:
|
|
137
|
+
|
|
138
|
+
- **Wsparcie dla internacjonalizacji**: Zwiększ globalny zasięg swojej aplikacji dzięki wbudowanemu wsparciu dla internacjonalizacji.
|
|
139
|
+
- **Edytor wizualny**: Ulepsz swój proces tworzenia dzięki wtyczkom do edytorów zaprojektowanym dla Intlayer. Sprawdź [Przewodnik po edytorze wizualnym](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md).
|
|
140
|
+
- **Elastyczność konfiguracji**: Dostosuj swoje środowisko za pomocą rozbudowanych opcji konfiguracyjnych opisanych w [Przewodniku po konfiguracji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md).
|
|
141
|
+
- **Zaawansowane narzędzia CLI**: Zarządzaj swoimi projektami efektywnie, korzystając z interfejsu wiersza poleceń Intlayer. Poznaj możliwości w [Dokumentacji narzędzi CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_cli.md).
|
|
142
|
+
|
|
143
|
+
## Podstawowe koncepcje
|
|
144
|
+
|
|
145
|
+
### Słownik
|
|
146
|
+
|
|
147
|
+
Organizuj swoje wielojęzyczne treści blisko kodu, aby wszystko było spójne i łatwe w utrzymaniu.
|
|
148
|
+
|
|
149
|
+
- **[Pierwsze kroki](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md)**
|
|
150
|
+
Poznaj podstawy deklarowania treści w Intlayer.
|
|
151
|
+
|
|
152
|
+
- **[Tłumaczenie](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/translation.md)**
|
|
153
|
+
Zrozum, jak tłumaczenia są generowane, przechowywane i wykorzystywane w Twojej aplikacji.
|
|
154
|
+
|
|
155
|
+
- **[Enumeracja](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/enumeration.md)**
|
|
156
|
+
Łatwo zarządzaj powtarzającymi się lub stałymi zestawami danych w różnych językach.
|
|
157
|
+
|
|
158
|
+
- **[Warunek](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/conditional.md)**
|
|
159
|
+
Naucz się, jak używać logiki warunkowej w Intlayer, aby tworzyć dynamiczne treści.
|
|
160
|
+
|
|
161
|
+
- **[Wstawianie](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/insertion.md)**
|
|
162
|
+
Odkryj, jak wstawiać wartości do ciągu znaków za pomocą symboli zastępczych wstawiania.
|
|
163
|
+
|
|
164
|
+
- **[Pobieranie funkcji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/function_fetching.md)**
|
|
165
|
+
Zobacz, jak dynamicznie pobierać zawartość za pomocą niestandardowej logiki, aby dopasować ją do przepływu pracy Twojego projektu.
|
|
166
|
+
|
|
167
|
+
- **[Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/markdown.md)**
|
|
168
|
+
Naucz się, jak używać Markdown w Intlayer do tworzenia bogatej zawartości.
|
|
169
|
+
|
|
170
|
+
- **[Osadzanie plików](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/file_embeddings.md)**
|
|
171
|
+
Odkryj, jak osadzać zewnętrzne pliki w Intlayer, aby używać ich w edytorze treści.
|
|
172
|
+
|
|
173
|
+
- **[Zagnieżdżanie](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/nesting.md)**
|
|
174
|
+
Zrozum, jak zagnieżdżać zawartość w Intlayer, aby tworzyć złożone struktury.
|
|
175
|
+
|
|
176
|
+
### Środowiska i integracje
|
|
177
|
+
|
|
178
|
+
Intlayer został zaprojektowany z myślą o elastyczności, oferując bezproblemową integrację z popularnymi frameworkami i narzędziami do budowania:
|
|
179
|
+
|
|
180
|
+
- **[Intlayer z Next.js 16](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_nextjs_16.md)**
|
|
181
|
+
- **[Intlayer z Next.js 15](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_nextjs_15.md)**
|
|
182
|
+
- **[Intlayer z Next.js 14 (App Router)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_nextjs_14.md)**
|
|
183
|
+
- **[Intlayer z Next.js Page Router](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_nextjs_page_router.md)**
|
|
184
|
+
- **[Intlayer z React CRA](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_create_react_app.md)**
|
|
185
|
+
- **[Intlayer z Vite + React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_vite+react.md)**
|
|
186
|
+
- **[Intlayer z React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_react_router_v7.md)**
|
|
187
|
+
- **[Intlayer z Tanstack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_tanstack.md)**
|
|
188
|
+
- **[Intlayer z React Native i Expo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_react_native+expo.md)**
|
|
189
|
+
- **[Intlayer z Lynx i React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_lynx+react.md)**
|
|
190
|
+
- **[Intlayer z Vite + Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_vite+preact.md)**
|
|
191
|
+
- **[Intlayer z Vite + Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_vite+vue.md)**
|
|
192
|
+
- **[Intlayer z Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_nuxt.md)**
|
|
193
|
+
- **[Intlayer z Express](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_express.md)**
|
|
194
|
+
- **[Intlayer z NestJS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_nestjs.md)**
|
|
195
|
+
- **[Intlayer z Angular](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_with_angular.md)**
|
|
196
|
+
|
|
197
|
+
Każdy przewodnik integracyjny zawiera najlepsze praktyki korzystania z funkcji Intlayer, takich jak **renderowanie po stronie serwera**, **dynamiczne routowanie** czy **renderowanie po stronie klienta**, dzięki czemu możesz utrzymać szybką, przyjazną dla SEO i wysoce skalowalną aplikację.
|
|
198
|
+
|
|
199
|
+
## Współtworzenie i opinie
|
|
200
|
+
|
|
201
|
+
Cenimy siłę open-source i rozwój oparty na społeczności. Jeśli chcesz zaproponować ulepszenia, dodać nowy przewodnik lub poprawić jakiekolwiek problemy w naszej dokumentacji, śmiało zgłoś Pull Request lub otwórz issue w naszym [repozytorium GitHub](https://github.com/aymericzip/intlayer/blob/main/docs/docs).
|
|
202
|
+
|
|
203
|
+
Każdy przewodnik integracji zawiera najlepsze praktyki dotyczące korzystania z funkcji Intlayer, takich jak **renderowanie po stronie serwera**, **dynamiczne routowanie** czy **renderowanie po stronie klienta**, dzięki czemu możesz utrzymać szybką, przyjazną dla SEO i wysoce skalowalną aplikację.
|
|
204
|
+
|
|
205
|
+
## Współtworzenie i opinie
|
|
206
|
+
|
|
207
|
+
Cenimy siłę open-source i rozwój oparty na społeczności. Jeśli chcesz zaproponować ulepszenia, dodać nowy przewodnik lub poprawić jakiekolwiek błędy w naszej dokumentacji, śmiało zgłoś Pull Request lub otwórz issue w naszym [repozytorium GitHub](https://github.com/aymericzip/intlayer/blob/main/docs/docs).
|
|
208
|
+
|
|
209
|
+
**Gotowy, aby tłumaczyć swoją aplikację szybciej i efektywniej?** Zanurz się w naszej dokumentacji i zacznij korzystać z Intlayer już dziś. Doświadcz solidnego, usprawnionego podejścia do internacjonalizacji, które pozwala utrzymać porządek w treściach i zwiększa produktywność Twojego zespołu.
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-07-27
|
|
3
|
+
updatedAt: 2025-07-27
|
|
4
|
+
title: Maper Lokalizacji
|
|
5
|
+
description: Odkryj, jak działa Maper Lokalizacji. Zobacz kroki używane przez Maper Lokalizacji w Twojej aplikacji. Zobacz, co robią różne pakiety.
|
|
6
|
+
keywords:
|
|
7
|
+
- Maper Lokalizacji
|
|
8
|
+
- Pierwsze kroki
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Aplikacja
|
|
11
|
+
- Pakiety
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- locale-mapper
|
|
15
|
+
history:
|
|
16
|
+
- version: 5.7.2
|
|
17
|
+
date: 2025-07-27
|
|
18
|
+
changes: Dodano dokumentację mapera lokalizacji
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Maper Lokalizacji
|
|
22
|
+
|
|
23
|
+
Maper Lokalizacji to potężne narzędzie, które pomaga w pracy z danymi internacjonalizacyjnymi w Twojej aplikacji Intlayer. Udostępnia trzy główne funkcje do transformacji i organizacji danych specyficznych dla lokalizacji: `localeMap`, `localeFlatMap` oraz `localeRecord`.
|
|
24
|
+
|
|
25
|
+
## Jak działa Maper Lokalizacji
|
|
26
|
+
|
|
27
|
+
Maper Lokalizacji działa na obiekcie `LocaleData`, który zawiera wszystkie niezbędne informacje o lokalizacji:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
type LocaleData = {
|
|
31
|
+
locale: LocalesValues; // Aktualny kod lokalizacji (np. 'en', 'fr')
|
|
32
|
+
defaultLocale: LocalesValues; // Domyślny kod lokalizacji
|
|
33
|
+
isDefault: boolean; // Czy jest to domyślna lokalizacja
|
|
34
|
+
locales: LocalesValues[]; // Tablica wszystkich dostępnych lokalizacji
|
|
35
|
+
urlPrefix: string; // Prefiks URL dla tej lokalizacji (np. '/fr' lub '')
|
|
36
|
+
};
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Funkcje mapera automatycznie generują te dane dla każdej lokalizacji w Twojej konfiguracji, uwzględniając:
|
|
40
|
+
|
|
41
|
+
- Twoją skonfigurowaną listę lokalizacji
|
|
42
|
+
- Ustawienie domyślnej lokalizacji
|
|
43
|
+
- Czy domyślna lokalizacja powinna mieć prefiks w URL
|
|
44
|
+
|
|
45
|
+
## Główne funkcje
|
|
46
|
+
|
|
47
|
+
### `localeMap`
|
|
48
|
+
|
|
49
|
+
Przekształca każdą lokalizację w pojedynczy obiekt za pomocą funkcji mapującej.
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
localeMap<T>(
|
|
53
|
+
mapper: (locale: LocaleData) => T,
|
|
54
|
+
locales?: LocalesValues[],
|
|
55
|
+
defaultLocale?: LocalesValues,
|
|
56
|
+
prefixDefault?: boolean
|
|
57
|
+
): T[]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Przykład: Tworzenie obiektów tras**
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
import { localeMap } from "intlayer";
|
|
64
|
+
|
|
65
|
+
const routes = localeMap((localizedData) => ({
|
|
66
|
+
path: localizedData.urlPrefix,
|
|
67
|
+
name: localizedData.locale,
|
|
68
|
+
isDefault: localizedData.isDefault,
|
|
69
|
+
locales: localizedData.locales,
|
|
70
|
+
defaultLocale: localizedData.defaultLocale,
|
|
71
|
+
}));
|
|
72
|
+
|
|
73
|
+
// Wynik:
|
|
74
|
+
// [
|
|
75
|
+
// { path: '/', name: 'en', isDefault: true, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },
|
|
76
|
+
// { path: '/fr', name: 'fr', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },
|
|
77
|
+
// { path: '/es', name: 'es', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' }
|
|
78
|
+
// ]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### `localeFlatMap`
|
|
82
|
+
|
|
83
|
+
Podobne do `localeMap`, ale funkcja mapująca zwraca tablicę obiektów, która jest spłaszczana do pojedynczej tablicy.
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
localeFlatMap<T>(
|
|
87
|
+
mapper: (locale: LocaleData) => T[],
|
|
88
|
+
locales?: LocalesValues[],
|
|
89
|
+
defaultLocale?: LocalesValues,
|
|
90
|
+
prefixDefault?: boolean
|
|
91
|
+
): T[]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Przykład: Tworzenie wielu tras dla każdej lokalizacji**
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
import { localeFlatMap } from "intlayer";
|
|
98
|
+
|
|
99
|
+
const routes = localeFlatMap((localizedData) => [
|
|
100
|
+
{
|
|
101
|
+
path: localizedData.urlPrefix,
|
|
102
|
+
name: localizedData.locale,
|
|
103
|
+
isDefault: localizedData.isDefault,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
path: `${localizedData.urlPrefix}/about`,
|
|
107
|
+
name: `${localizedData.locale}-about`,
|
|
108
|
+
isDefault: localizedData.isDefault,
|
|
109
|
+
},
|
|
110
|
+
]);
|
|
111
|
+
|
|
112
|
+
// Wynik:
|
|
113
|
+
// [
|
|
114
|
+
// { path: '/', name: 'en', isDefault: true },
|
|
115
|
+
// { path: '/about', name: 'en-about', isDefault: true },
|
|
116
|
+
// { path: '/fr', name: 'fr', isDefault: false },
|
|
117
|
+
// { path: '/fr/about', name: 'fr-about', isDefault: false },
|
|
118
|
+
// { path: '/es', name: 'es', isDefault: false },
|
|
119
|
+
// { path: '/es/about', name: 'es-about', isDefault: false }
|
|
120
|
+
// ]
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### `localeRecord`
|
|
124
|
+
|
|
125
|
+
Tworzy obiekt rekord, gdzie każdy locale jest kluczem mapującym do wartości przekształconej przez funkcję mapującą.
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
localeRecord<T>(
|
|
129
|
+
mapper: (locale: LocaleData) => T,
|
|
130
|
+
locales?: Locales[],
|
|
131
|
+
defaultLocale?: Locales,
|
|
132
|
+
prefixDefault?: boolean
|
|
133
|
+
): Record<Locales, T>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Przykład: Ładowanie plików tłumaczeń**
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
import { localeRecord } from "intlayer";
|
|
140
|
+
|
|
141
|
+
const translations = localeRecord(({ locale }) =>
|
|
142
|
+
require(`./translations/${locale}.json`)
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
// Wynik:
|
|
146
|
+
// {
|
|
147
|
+
// en: { welcome: 'Welcome', hello: 'Hello' },
|
|
148
|
+
// fr: { welcome: 'Bienvenue', hello: 'Bonjour' },
|
|
149
|
+
// es: { welcome: 'Bienvenido', hello: 'Hola' }
|
|
150
|
+
// }
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Konfiguracja Locale Mapper
|
|
154
|
+
|
|
155
|
+
Locale Mapper automatycznie korzysta z Twojej konfiguracji Intlayer, ale możesz nadpisać domyślne ustawienia, przekazując parametry:
|
|
156
|
+
|
|
157
|
+
### Użycie domyślnej konfiguracji
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
import { localeMap } from "intlayer";
|
|
161
|
+
|
|
162
|
+
// Korzysta z konfiguracji z intlayer.config.ts
|
|
163
|
+
const routes = localeMap((data) => ({
|
|
164
|
+
path: data.urlPrefix,
|
|
165
|
+
locale: data.locale,
|
|
166
|
+
}));
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Nadpisanie konfiguracji
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
import { localeMap } from "intlayer";
|
|
173
|
+
|
|
174
|
+
// Nadpisanie locales i domyślnego locale
|
|
175
|
+
const customRoutes = localeMap(
|
|
176
|
+
(data) => ({ path: data.urlPrefix, locale: data.locale }),
|
|
177
|
+
["en", "fr", "de"], // Niestandardowe locales
|
|
178
|
+
"en", // Niestandardowy domyślny locale
|
|
179
|
+
true // Prefiksuj domyślny locale w URLach
|
|
180
|
+
);
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Zaawansowane przykłady użycia
|
|
184
|
+
|
|
185
|
+
### Tworzenie menu nawigacyjnych
|
|
186
|
+
|
|
187
|
+
```typescript
|
|
188
|
+
import { localeMap } from "intlayer";
|
|
189
|
+
|
|
190
|
+
const navigationItems = localeMap((data) => ({
|
|
191
|
+
label: data.locale.toUpperCase(),
|
|
192
|
+
href: data.urlPrefix || "/",
|
|
193
|
+
isActive: data.isDefault,
|
|
194
|
+
flag: `/flags/${data.locale}.svg`,
|
|
195
|
+
}));
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Generowanie danych mapy witryny
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
import { localeFlatMap } from "intlayer";
|
|
202
|
+
|
|
203
|
+
const sitemapUrls = localeFlatMap((data) => [
|
|
204
|
+
{
|
|
205
|
+
url: `${data.urlPrefix}/`,
|
|
206
|
+
lastmod: new Date().toISOString(),
|
|
207
|
+
changefreq: "daily",
|
|
208
|
+
priority: data.isDefault ? 1.0 : 0.8,
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
url: `${data.urlPrefix}/about`,
|
|
212
|
+
lastmod: new Date().toISOString(),
|
|
213
|
+
changefreq: "monthly",
|
|
214
|
+
priority: data.isDefault ? 0.8 : 0.6,
|
|
215
|
+
},
|
|
216
|
+
]);
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Dynamiczne ładowanie tłumaczeń
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
import { localeRecord } from "intlayer";
|
|
223
|
+
|
|
224
|
+
const translationModules = localeRecord(({ locale }) => ({
|
|
225
|
+
messages: import(`./locales/${locale}/messages.json`),
|
|
226
|
+
validation: import(`./locales/${locale}/validation.json`),
|
|
227
|
+
metadata: {
|
|
228
|
+
locale,
|
|
229
|
+
direction: ["ar", "he", "fa"].includes(locale) ? "rtl" : "ltr",
|
|
230
|
+
},
|
|
231
|
+
}));
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Integracja konfiguracji
|
|
235
|
+
|
|
236
|
+
Locale Mapper bezproblemowo integruje się z Twoją konfiguracją Intlayer:
|
|
237
|
+
|
|
238
|
+
- **Locales**: Automatycznie używa `configuration.internationalization.locales`
|
|
239
|
+
- **Domyślny język**: Używa `configuration.internationalization.defaultLocale`
|
|
240
|
+
- **Prefiks URL**: Respektuje `configuration.middleware.prefixDefault`
|
|
241
|
+
|
|
242
|
+
Zapewnia to spójność w całej aplikacji i redukuje duplikację konfiguracji.
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-06-07
|
|
3
|
+
updatedAt: 2025-07-11
|
|
4
|
+
title: Dokumentacja Serwera MCP
|
|
5
|
+
description: Poznaj funkcje i konfigurację Serwera MCP, aby zoptymalizować zarządzanie i działanie serwera.
|
|
6
|
+
keywords:
|
|
7
|
+
- Serwer MCP
|
|
8
|
+
- Zarządzanie Serwerem
|
|
9
|
+
- Optymalizacja
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Dokumentacja
|
|
12
|
+
- Konfiguracja
|
|
13
|
+
- Funkcje
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- mcp-server
|
|
17
|
+
history:
|
|
18
|
+
- version: 5.5.12
|
|
19
|
+
date: 2025-07-11
|
|
20
|
+
changes: Dodano konfigurację ChatGPT
|
|
21
|
+
- version: 5.5.12
|
|
22
|
+
date: 2025-07-10
|
|
23
|
+
changes: Dodano konfigurację Claude Desktop
|
|
24
|
+
- version: 5.5.12
|
|
25
|
+
date: 2025-07-10
|
|
26
|
+
changes: Dodano transport SSE i zdalny serwer
|
|
27
|
+
- version: 5.5.10
|
|
28
|
+
date: 2025-06-29
|
|
29
|
+
changes: Inicjalizacja historii
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Serwer Intlayer MCP
|
|
33
|
+
|
|
34
|
+
**Serwer Intlayer MCP (Model Context Protocol)** zapewnia wsparcie IDE oparte na AI, dostosowane do ekosystemu Intlayer.
|
|
35
|
+
|
|
36
|
+
## Gdzie mogę go używać?
|
|
37
|
+
|
|
38
|
+
- W nowoczesnych środowiskach programistycznych, takich jak **Cursor**, **VS Code** oraz w każdym IDE obsługującym protokół MCP.
|
|
39
|
+
- W Twoim ulubionym asystencie AI, takim jak **Claude Desktop**, **Gemini**, **ChatGPT** i inne.
|
|
40
|
+
|
|
41
|
+
## Dlaczego warto używać Serwera Intlayer MCP?
|
|
42
|
+
|
|
43
|
+
Włączając Serwer Intlayer MCP w swoim IDE, zyskujesz:
|
|
44
|
+
|
|
45
|
+
- **Dokumentację świadomą kontekstu**
|
|
46
|
+
Serwer MCP ładuje i udostępnia dokumentację Intlayer. Przyspiesza to konfigurację, migracje i inne działania.
|
|
47
|
+
Zapewnia to, że sugestie kodu, opcje poleceń oraz wyjaśnienia są zawsze aktualne i odpowiednie.
|
|
48
|
+
|
|
49
|
+
- **Inteligentną integrację CLI**
|
|
50
|
+
Uzyskaj dostęp i uruchamiaj polecenia Intlayer CLI bezpośrednio z interfejsu swojego IDE. Korzystając z serwera MCP, możesz pozwolić swojemu asystentowi AI na wykonywanie poleceń takich jak `intlayer dictionaries build` w celu aktualizacji słowników lub `intlayer dictionaries fill` do uzupełniania brakujących tłumaczeń.
|
|
51
|
+
|
|
52
|
+
> Pełną listę poleceń i opcji znajdziesz w [dokumentacji Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_cli.md).
|
|
53
|
+
|
|
54
|
+
## Serwer lokalny (stdio) vs Serwer zdalny (SSE)
|
|
55
|
+
|
|
56
|
+
Serwer MCP można używać na dwa sposoby:
|
|
57
|
+
|
|
58
|
+
- Serwer lokalny (stdio)
|
|
59
|
+
- Serwer zdalny (SSE)
|
|
60
|
+
|
|
61
|
+
### Serwer lokalny (stdio) (zalecany)
|
|
62
|
+
|
|
63
|
+
Intlayer udostępnia pakiet NPM, który można zainstalować lokalnie na swoim komputerze. Może być on zainstalowany w Twoim ulubionym IDE, takim jak VS Code, Cursor, a także w lokalnej aplikacji asystenta, takiej jak ChatGPT, Claude Desktop itp.
|
|
64
|
+
|
|
65
|
+
Ten serwer jest zalecanym sposobem korzystania z serwera MCP, ponieważ integruje wszystkie funkcje serwera MCP, w tym narzędzia CLI.
|
|
66
|
+
|
|
67
|
+
### Serwer zdalny (SSE)
|
|
68
|
+
|
|
69
|
+
Serwer MCP może być również używany zdalnie, korzystając z metody transportu SSE. Serwer ten jest hostowany przez Intlayer i jest dostępny pod adresem https://mcp.intlayer.org. Do tego serwera można uzyskać dostęp publicznie, bez żadnej autoryzacji, i jest on bezpłatny w użyciu.
|
|
70
|
+
|
|
71
|
+
Należy zauważyć, że serwer zdalny nie integruje narzędzi CLI, autouzupełniania AI itp. Zdalny serwer służy wyłącznie do interakcji z dokumentacją, aby wspomóc Twojego asystenta AI w ekosystemie Intlayer.
|
|
72
|
+
|
|
73
|
+
> Ze względu na koszty hostingu serwera, dostępność serwera zdalnego nie może być gwarantowana. Ograniczamy liczbę jednoczesnych połączeń. Zalecamy korzystanie z lokalnego serwera (stdio) jako metody transportu dla najbardziej niezawodnego doświadczenia.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Konfiguracja w Cursor
|
|
78
|
+
|
|
79
|
+
Postępuj zgodnie z [oficjalną dokumentacją](https://docs.cursor.com/context/mcp), aby skonfigurować serwer MCP w Cursor.
|
|
80
|
+
|
|
81
|
+
W katalogu głównym projektu dodaj następujący plik konfiguracyjny `.cursor/mcp.json`:
|
|
82
|
+
|
|
83
|
+
### Lokalny serwer (stdio) (zalecany)
|
|
84
|
+
|
|
85
|
+
```json fileName=".cursor/mcp.json"
|
|
86
|
+
{
|
|
87
|
+
"mcpServers": {
|
|
88
|
+
"intlayer": {
|
|
89
|
+
"command": "npx",
|
|
90
|
+
"args": ["-y", "@intlayer/mcp"]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Serwer zdalny (SSE)
|
|
97
|
+
|
|
98
|
+
Aby połączyć się ze zdalnym serwerem Intlayer MCP za pomocą Server-Sent Events (SSE), możesz skonfigurować swojego klienta MCP do łączenia się z usługą hostowaną.
|
|
99
|
+
|
|
100
|
+
```json fileName=".cursor/mcp.json"
|
|
101
|
+
{
|
|
102
|
+
"mcpServers": {
|
|
103
|
+
"intlayer": {
|
|
104
|
+
"url": "https://mcp.intlayer.org",
|
|
105
|
+
"transport": "sse"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
To polecenie informuje Twoje IDE, aby uruchomiło serwer Intlayer MCP za pomocą `npx`, zapewniając, że zawsze używana jest najnowsza dostępna wersja, chyba że ją przypniesz.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Konfiguracja w VS Code
|
|
116
|
+
|
|
117
|
+
Postępuj zgodnie z [oficjalną dokumentacją](https://code.visualstudio.com/docs/copilot/chat/mcp-servers), aby skonfigurować serwer MCP w VS Code.
|
|
118
|
+
|
|
119
|
+
Aby korzystać z serwera Intlayer MCP w VS Code, musisz go skonfigurować w ustawieniach workspace lub użytkownika.
|
|
120
|
+
|
|
121
|
+
### Lokalny serwer (stdio) (zalecane)
|
|
122
|
+
|
|
123
|
+
Utwórz plik `.vscode/mcp.json` w katalogu głównym projektu:
|
|
124
|
+
|
|
125
|
+
```json fileName=".vscode/mcp.json"
|
|
126
|
+
{
|
|
127
|
+
"servers": {
|
|
128
|
+
"intlayer": {
|
|
129
|
+
"type": "stdio",
|
|
130
|
+
"command": "npx",
|
|
131
|
+
"args": ["-y", "@intlayer/mcp"]
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Serwer zdalny (SSE)
|
|
138
|
+
|
|
139
|
+
Aby połączyć się ze zdalnym serwerem Intlayer MCP za pomocą Server-Sent Events (SSE), możesz skonfigurować swojego klienta MCP do łączenia się z usługą hostowaną.
|
|
140
|
+
|
|
141
|
+
```json fileName=".vscode/mcp.json"
|
|
142
|
+
{
|
|
143
|
+
"servers": {
|
|
144
|
+
"intlayer": {
|
|
145
|
+
"url": "https://mcp.intlayer.org",
|
|
146
|
+
"type": "sse"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Konfiguracja w ChatGPT
|
|
155
|
+
|
|
156
|
+
### Serwer zdalny (SSE)
|
|
157
|
+
|
|
158
|
+
Postępuj zgodnie z [oficjalną dokumentacją](https://platform.openai.com/docs/mcp#test-and-connect-your-mcp-server), aby skonfigurować serwer MCP w ChatGPT.
|
|
159
|
+
|
|
160
|
+
1. Przejdź do [panelu promptów](https://platform.openai.com/prompts)
|
|
161
|
+
2. Kliknij `+ Create`
|
|
162
|
+
3. Kliknij `Tools (Create or +)`
|
|
163
|
+
4. Wybierz `MCP Server`
|
|
164
|
+
5. Kliknij `Add new`
|
|
165
|
+
6. Wypełnij następujące pola:
|
|
166
|
+
- URL: `https://mcp.intlayer.org`
|
|
167
|
+
- Label: `Intlayer MCP Server`
|
|
168
|
+
- Name: `intlayer-mcp-server`
|
|
169
|
+
- Authentication: `None`
|
|
170
|
+
|
|
171
|
+
7. Kliknij `Save`
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Konfiguracja w Claude Desktop
|
|
176
|
+
|
|
177
|
+
Postępuj zgodnie z [oficjalną dokumentacją](https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server), aby skonfigurować serwer MCP w Claude Desktop.
|
|
178
|
+
|
|
179
|
+
Ścieżka do pliku konfiguracyjnego:
|
|
180
|
+
|
|
181
|
+
- macOS: `~/Library/Application\ Support/Claude/claude_desktop_config.json`
|
|
182
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
183
|
+
|
|
184
|
+
### Lokalny serwer (stdio) (zalecane)
|
|
185
|
+
|
|
186
|
+
```json fileName="claude_desktop_config.json"
|
|
187
|
+
{
|
|
188
|
+
"mcpServers": {
|
|
189
|
+
"intlayer": {
|
|
190
|
+
"command": "npx",
|
|
191
|
+
"args": ["-y", "@intlayer/mcp"]
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Korzystanie z serwera MCP przez CLI
|
|
200
|
+
|
|
201
|
+
Możesz również uruchomić serwer Intlayer MCP bezpośrednio z linii poleceń do testowania, debugowania lub integracji z innymi narzędziami.
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Instalacja globalna
|
|
205
|
+
npm install -g @intlayer/mcp
|
|
206
|
+
|
|
207
|
+
# Lub użycie bezpośrednio przez npx (zalecane)
|
|
208
|
+
npx @intlayer/mcp
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|