@intlayer/docs 7.0.6 → 7.0.8-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/i18n_using_next-i18next.md +1068 -0
- package/blog/ar/i18n_using_next-intl.md +768 -0
- package/blog/ar/intlayer_with_react-intl.md +0 -4
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +5 -4
- package/blog/de/i18n_using_next-i18next.md +1107 -0
- package/blog/de/i18n_using_next-intl.md +760 -0
- package/blog/de/intlayer_with_react-intl.md +0 -4
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/en/i18n_using_next-i18next.md +1073 -0
- package/blog/en/i18n_using_next-intl.md +757 -0
- package/blog/en/intlayer_with_i18next.md +71 -8
- package/blog/en/intlayer_with_next-i18next.md +71 -8
- package/blog/en/intlayer_with_next-intl.md +71 -8
- package/blog/en/intlayer_with_react-i18next.md +69 -8
- package/blog/en/intlayer_with_react-intl.md +68 -9
- package/blog/en/intlayer_with_vue-i18n.md +68 -7
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/blog/en/vue-i18n_vs_intlayer.md +2 -0
- package/blog/en-GB/i18n_using_next-i18next.md +1074 -0
- package/blog/en-GB/i18n_using_next-intl.md +757 -0
- package/blog/en-GB/intlayer_with_i18next.md +15 -6
- package/blog/en-GB/intlayer_with_next-i18next.md +16 -6
- package/blog/en-GB/intlayer_with_next-intl.md +16 -6
- package/blog/en-GB/intlayer_with_react-i18next.md +16 -7
- package/blog/en-GB/intlayer_with_react-intl.md +14 -9
- package/blog/en-GB/intlayer_with_vue-i18n.md +16 -7
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/blog/en-GB/vue-i18n_vs_intlayer.md +2 -0
- package/blog/es/i18n_using_next-i18next.md +1066 -0
- package/blog/es/i18n_using_next-intl.md +757 -0
- package/blog/es/intlayer_with_react-intl.md +0 -4
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/fr/i18n_using_next-i18next.md +1078 -0
- package/blog/fr/i18n_using_next-intl.md +759 -0
- package/blog/fr/intlayer_with_react-intl.md +0 -4
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/hi/i18n_using_next-i18next.md +1068 -0
- package/blog/hi/i18n_using_next-intl.md +758 -0
- package/blog/hi/intlayer_with_react-intl.md +0 -4
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/id/i18n_using_next-i18next.md +1078 -0
- package/blog/id/i18n_using_next-intl.md +757 -0
- package/blog/id/index.md +69 -0
- package/blog/id/internationalization_and_SEO.md +364 -0
- package/blog/id/intlayer_with_react-intl.md +0 -4
- package/blog/id/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/id/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/id/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/id/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/id/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/id/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/id/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/id/list_i18n_technologies/frameworks/svelte.md +131 -0
- package/blog/id/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1500 -0
- package/blog/id/nextjs-multilingual-seo-comparison.md +361 -0
- package/blog/id/rag_powered_documentation_assistant.md +288 -0
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
- package/blog/id/vue-i18n_vs_intlayer.md +278 -0
- package/blog/id/what_is_internationalization.md +166 -0
- package/blog/it/i18n_using_next-i18next.md +1078 -0
- package/blog/it/i18n_using_next-intl.md +758 -0
- package/blog/it/intlayer_with_react-intl.md +0 -4
- package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +4 -0
- package/blog/it/vue-i18n_vs_intlayer.md +2 -0
- package/blog/ja/i18n_using_next-i18next.md +1078 -0
- package/blog/ja/i18n_using_next-intl.md +758 -0
- package/blog/ja/intlayer_with_react-intl.md +0 -4
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/ko/i18n_using_next-i18next.md +1075 -0
- package/blog/ko/i18n_using_next-intl.md +759 -0
- package/blog/ko/intlayer_with_react-intl.md +0 -4
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/pl/i18n_using_next-i18next.md +1078 -0
- package/blog/pl/i18n_using_next-intl.md +758 -0
- package/blog/pl/index.md +69 -0
- package/blog/pl/internationalization_and_SEO.md +363 -0
- package/blog/pl/intlayer_with_react-intl.md +0 -4
- package/blog/pl/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/pl/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/pl/list_i18n_technologies/CMS/wordpress.md +196 -0
- package/blog/pl/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/pl/list_i18n_technologies/frameworks/flutter.md +151 -0
- package/blog/pl/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/pl/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/pl/list_i18n_technologies/frameworks/svelte.md +131 -0
- package/blog/pl/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1501 -0
- package/blog/pl/nextjs-multilingual-seo-comparison.md +362 -0
- package/blog/pl/rag_powered_documentation_assistant.md +288 -0
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
- package/blog/pl/vue-i18n_vs_intlayer.md +278 -0
- package/blog/pl/what_is_internationalization.md +167 -0
- package/blog/pt/i18n_using_next-i18next.md +1067 -0
- package/blog/pt/i18n_using_next-intl.md +760 -0
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/ru/i18n_using_next-i18next.md +1106 -0
- package/blog/ru/i18n_using_next-intl.md +759 -0
- package/blog/ru/intlayer_with_react-intl.md +0 -4
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/tr/i18n_using_next-i18next.md +1078 -0
- package/blog/tr/i18n_using_next-intl.md +760 -0
- package/blog/tr/intlayer_with_react-intl.md +0 -4
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +2 -0
- package/blog/vi/i18n_using_next-i18next.md +1080 -0
- package/blog/vi/i18n_using_next-intl.md +758 -0
- package/blog/vi/index.md +69 -0
- package/blog/vi/internationalization_and_SEO.md +363 -0
- package/blog/vi/intlayer_with_react-intl.md +0 -4
- package/blog/vi/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/vi/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/vi/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/vi/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/vi/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/vi/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/vi/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/vi/list_i18n_technologies/frameworks/svelte.md +131 -0
- package/blog/vi/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1520 -0
- package/blog/vi/nextjs-multilingual-seo-comparison.md +362 -0
- package/blog/vi/rag_powered_documentation_assistant.md +288 -0
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
- package/blog/vi/vue-i18n_vs_intlayer.md +278 -0
- package/blog/vi/what_is_internationalization.md +168 -0
- package/blog/zh/i18n_using_next-i18next.md +1105 -0
- package/blog/zh/i18n_using_next-intl.md +758 -0
- package/blog/zh/intlayer_with_react-intl.md +0 -4
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
- package/dist/cjs/common.cjs +0 -4
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +38 -6
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +0 -6
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -6
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +0 -6
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +38 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +2 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/docs/ar/component_i18n.md +1 -1
- package/docs/ar/configuration.md +6 -0
- package/docs/ar/intlayer_cli.md +8 -3
- package/docs/ar/intlayer_with_next-i18next.md +619 -0
- package/docs/ar/intlayer_with_next-intl.md +446 -0
- package/docs/ar/intlayer_with_nextjs_16.md +21 -0
- package/docs/ar/intlayer_with_tanstack.md +4 -0
- package/docs/ar/intlayer_with_vite+react.md +4 -0
- package/docs/de/component_i18n.md +1 -1
- package/docs/de/configuration.md +6 -0
- package/docs/de/intlayer_cli.md +8 -3
- package/docs/de/intlayer_with_next-i18next.md +627 -0
- package/docs/de/intlayer_with_next-intl.md +451 -0
- package/docs/de/intlayer_with_nextjs_16.md +21 -0
- package/docs/de/intlayer_with_tanstack.md +4 -0
- package/docs/de/intlayer_with_vite+react.md +4 -0
- package/docs/en/component_i18n.md +1 -1
- package/docs/en/intlayer_cli.md +8 -1
- package/docs/en/intlayer_with_astro.md +10 -2
- package/docs/en/intlayer_with_create_react_app.md +8 -0
- package/docs/en/intlayer_with_lynx+react.md +8 -0
- package/docs/en/intlayer_with_nestjs.md +10 -0
- package/docs/en/intlayer_with_nextjs_14.md +10 -2
- package/docs/en/intlayer_with_nextjs_15.md +21 -4
- package/docs/en/intlayer_with_nextjs_16.md +17 -0
- package/docs/en/intlayer_with_nuxt.md +8 -0
- package/docs/en/intlayer_with_react_native+expo.md +10 -2
- package/docs/en/intlayer_with_react_router_v7.md +8 -0
- package/docs/en/intlayer_with_tanstack.md +10 -0
- package/docs/en/intlayer_with_vite+preact.md +10 -2
- package/docs/en/intlayer_with_vite+react.md +21 -4
- package/docs/en/intlayer_with_vite+vue.md +10 -2
- package/docs/en-GB/component_i18n.md +1 -1
- package/docs/en-GB/configuration.md +6 -0
- package/docs/en-GB/intlayer_cli.md +8 -3
- package/docs/en-GB/intlayer_with_angular.md +4 -4
- package/docs/en-GB/intlayer_with_express.md +4 -4
- package/docs/en-GB/intlayer_with_lynx+react.md +12 -12
- package/{blog/en/_intlayer_with_next-i18next.md → docs/en-GB/intlayer_with_next-i18next.md} +241 -42
- package/{blog/en/_intlayer_with_next-intl.md → docs/en-GB/intlayer_with_next-intl.md} +144 -29
- package/docs/en-GB/intlayer_with_nextjs_16.md +21 -0
- package/docs/en-GB/intlayer_with_tanstack.md +5 -1
- package/docs/en-GB/intlayer_with_vite+react.md +4 -0
- package/docs/en-GB/packages/next-intlayer/t.md +2 -2
- package/docs/es/component_i18n.md +1 -1
- package/docs/es/configuration.md +6 -0
- package/docs/es/intlayer_cli.md +8 -3
- package/docs/es/intlayer_with_next-i18next.md +628 -0
- package/docs/es/intlayer_with_next-intl.md +446 -0
- package/docs/es/intlayer_with_nextjs_16.md +21 -0
- package/docs/es/intlayer_with_tanstack.md +4 -0
- package/docs/es/intlayer_with_vite+react.md +4 -0
- package/docs/fr/configuration.md +6 -0
- package/docs/fr/intlayer_cli.md +8 -3
- package/docs/fr/intlayer_with_next-i18next.md +628 -0
- package/docs/fr/intlayer_with_next-intl.md +446 -0
- package/docs/fr/intlayer_with_nextjs_16.md +23 -2
- package/docs/fr/intlayer_with_tanstack.md +4 -0
- package/docs/fr/intlayer_with_vite+react.md +4 -0
- package/docs/hi/component_i18n.md +1 -1
- package/docs/hi/configuration.md +6 -0
- package/docs/hi/intlayer_cli.md +8 -0
- package/docs/hi/intlayer_with_next-i18next.md +628 -0
- package/docs/hi/intlayer_with_next-intl.md +446 -0
- package/docs/hi/intlayer_with_nextjs_16.md +21 -0
- package/docs/hi/intlayer_with_tanstack.md +4 -0
- package/docs/hi/intlayer_with_vite+react.md +4 -0
- package/docs/id/CI_CD.md +198 -0
- package/docs/id/autoFill.md +284 -0
- package/docs/id/component_i18n.md +186 -0
- package/docs/id/configuration.md +710 -0
- package/docs/id/dictionary/condition.md +231 -0
- package/docs/id/dictionary/content_file.md +1092 -0
- package/docs/id/dictionary/enumeration.md +245 -0
- package/docs/id/dictionary/file.md +237 -0
- package/docs/id/dictionary/function_fetching.md +214 -0
- package/docs/id/dictionary/gender.md +273 -0
- package/docs/id/dictionary/insertion.md +192 -0
- package/docs/id/dictionary/markdown.md +381 -0
- package/docs/id/dictionary/nesting.md +273 -0
- package/docs/id/dictionary/translation.md +310 -0
- package/docs/id/formatters.md +596 -0
- package/docs/id/how_works_intlayer.md +256 -0
- package/docs/id/index.md +176 -0
- package/docs/id/interest_of_intlayer.md +293 -0
- package/docs/id/intlayer_CMS.md +549 -0
- package/docs/id/intlayer_cli.md +850 -0
- package/docs/id/intlayer_visual_editor.md +288 -0
- package/docs/id/intlayer_with_angular.md +694 -0
- package/docs/id/intlayer_with_astro.md +252 -0
- package/docs/id/intlayer_with_create_react_app.md +1233 -0
- package/docs/id/intlayer_with_express.md +411 -0
- package/docs/id/intlayer_with_lynx+react.md +518 -0
- package/docs/id/intlayer_with_nestjs.md +272 -0
- package/docs/id/intlayer_with_next-i18next.md +628 -0
- package/docs/id/intlayer_with_next-intl.md +446 -0
- package/docs/id/intlayer_with_nextjs_14.md +1617 -0
- package/docs/id/intlayer_with_nextjs_15.md +1698 -0
- package/docs/id/intlayer_with_nextjs_16.md +21 -0
- package/docs/id/intlayer_with_nextjs_page_router.md +1478 -0
- package/docs/id/intlayer_with_nuxt.md +808 -0
- package/docs/id/intlayer_with_react_native+expo.md +699 -0
- package/docs/id/intlayer_with_react_router_v7.md +496 -0
- package/docs/id/intlayer_with_tanstack.md +564 -0
- package/docs/id/intlayer_with_vite+preact.md +1737 -0
- package/docs/id/intlayer_with_vite+react.md +1413 -0
- package/docs/id/intlayer_with_vite+solid.md +289 -0
- package/docs/id/intlayer_with_vite+svelte.md +289 -0
- package/docs/id/intlayer_with_vite+vue.md +1088 -0
- package/docs/id/introduction.md +218 -0
- package/docs/id/locale_mapper.md +242 -0
- package/docs/id/mcp_server.md +211 -0
- package/docs/id/packages/express-intlayer/t.md +458 -0
- package/docs/id/packages/intlayer/getConfiguration.md +145 -0
- package/docs/id/packages/intlayer/getEnumeration.md +159 -0
- package/docs/id/packages/intlayer/getHTMLTextDir.md +122 -0
- package/docs/id/packages/intlayer/getLocaleLang.md +81 -0
- package/docs/id/packages/intlayer/getLocaleName.md +119 -0
- package/docs/id/packages/intlayer/getLocalizedUrl.md +309 -0
- package/docs/id/packages/intlayer/getMultilingualUrls.md +223 -0
- package/docs/id/packages/intlayer/getPathWithoutLocale.md +75 -0
- package/docs/id/packages/intlayer/getTranslation.md +190 -0
- package/docs/id/packages/intlayer/getTranslationContent.md +188 -0
- package/docs/id/packages/next-intlayer/t.md +352 -0
- package/docs/id/packages/next-intlayer/useDictionary.md +271 -0
- package/docs/id/packages/next-intlayer/useIntlayer.md +264 -0
- package/docs/id/packages/next-intlayer/useLocale.md +166 -0
- package/docs/id/packages/react-intlayer/t.md +303 -0
- package/docs/id/packages/react-intlayer/useDictionary.md +287 -0
- package/docs/id/packages/react-intlayer/useI18n.md +267 -0
- package/docs/id/packages/react-intlayer/useIntlayer.md +254 -0
- package/docs/id/packages/react-intlayer/useLocale.md +210 -0
- package/docs/id/per_locale_file.md +323 -0
- package/docs/id/readme.md +261 -0
- package/docs/id/releases/v6.md +305 -0
- package/docs/id/roadmap.md +362 -0
- package/docs/id/testing.md +202 -0
- package/docs/id/vs_code_extension.md +126 -0
- package/docs/it/component_i18n.md +1 -1
- package/docs/it/configuration.md +6 -0
- package/docs/it/intlayer_cli.md +8 -3
- package/docs/it/intlayer_with_next-i18next.md +628 -0
- package/docs/it/intlayer_with_next-intl.md +446 -0
- package/docs/it/intlayer_with_nextjs_16.md +21 -0
- package/docs/it/intlayer_with_tanstack.md +4 -0
- package/docs/it/intlayer_with_vite+react.md +4 -0
- package/docs/ja/component_i18n.md +1 -1
- package/docs/ja/configuration.md +6 -0
- package/docs/ja/intlayer_cli.md +8 -3
- package/docs/ja/intlayer_with_next-i18next.md +627 -0
- package/docs/ja/intlayer_with_next-intl.md +446 -0
- package/docs/ja/intlayer_with_nextjs_16.md +21 -0
- package/docs/ja/intlayer_with_tanstack.md +4 -0
- package/docs/ja/intlayer_with_vite+react.md +4 -0
- package/docs/ko/configuration.md +6 -0
- package/docs/ko/intlayer_cli.md +8 -3
- package/docs/ko/intlayer_with_next-i18next.md +627 -0
- package/docs/ko/intlayer_with_next-intl.md +446 -0
- package/docs/ko/intlayer_with_nextjs_16.md +21 -0
- package/docs/ko/intlayer_with_tanstack.md +4 -0
- package/docs/ko/intlayer_with_vite+react.md +4 -0
- package/docs/pl/CI_CD.md +198 -0
- package/docs/pl/autoFill.md +284 -0
- package/docs/pl/component_i18n.md +186 -0
- package/docs/pl/configuration.md +710 -0
- package/docs/pl/dictionary/condition.md +232 -0
- package/docs/pl/dictionary/content_file.md +1130 -0
- package/docs/pl/dictionary/enumeration.md +245 -0
- package/docs/pl/dictionary/file.md +234 -0
- package/docs/pl/dictionary/function_fetching.md +214 -0
- package/docs/pl/dictionary/gender.md +276 -0
- package/docs/pl/dictionary/insertion.md +188 -0
- package/docs/pl/dictionary/markdown.md +408 -0
- package/docs/pl/dictionary/nesting.md +273 -0
- package/docs/pl/dictionary/translation.md +310 -0
- package/docs/pl/formatters.md +596 -0
- package/docs/pl/how_works_intlayer.md +256 -0
- package/docs/pl/index.md +176 -0
- package/docs/pl/interest_of_intlayer.md +291 -0
- package/docs/pl/intlayer_CMS.md +549 -0
- package/docs/pl/intlayer_cli.md +857 -0
- package/docs/pl/intlayer_visual_editor.md +288 -0
- package/docs/pl/intlayer_with_angular.md +690 -0
- package/docs/pl/intlayer_with_astro.md +280 -0
- package/docs/pl/intlayer_with_create_react_app.md +1235 -0
- package/docs/pl/intlayer_with_express.md +411 -0
- package/docs/pl/intlayer_with_lynx+react.md +518 -0
- package/docs/pl/intlayer_with_nestjs.md +272 -0
- package/docs/pl/intlayer_with_next-i18next.md +628 -0
- package/docs/pl/intlayer_with_next-intl.md +446 -0
- package/docs/pl/intlayer_with_nextjs_14.md +1594 -0
- package/docs/pl/intlayer_with_nextjs_15.md +1701 -0
- package/docs/pl/intlayer_with_nextjs_16.md +21 -0
- package/docs/pl/intlayer_with_nextjs_page_router.md +1513 -0
- package/docs/pl/intlayer_with_nuxt.md +885 -0
- package/docs/pl/intlayer_with_react_native+expo.md +698 -0
- package/docs/pl/intlayer_with_react_router_v7.md +503 -0
- package/docs/pl/intlayer_with_tanstack.md +562 -0
- package/docs/pl/intlayer_with_vite+preact.md +1736 -0
- package/docs/pl/intlayer_with_vite+react.md +1438 -0
- package/docs/pl/intlayer_with_vite+solid.md +290 -0
- package/docs/pl/intlayer_with_vite+svelte.md +289 -0
- package/docs/pl/intlayer_with_vite+vue.md +1116 -0
- package/docs/pl/introduction.md +209 -0
- package/docs/pl/locale_mapper.md +242 -0
- package/docs/pl/mcp_server.md +211 -0
- package/docs/pl/packages/express-intlayer/t.md +458 -0
- package/docs/pl/packages/intlayer/getConfiguration.md +146 -0
- package/docs/pl/packages/intlayer/getEnumeration.md +160 -0
- package/docs/pl/packages/intlayer/getHTMLTextDir.md +121 -0
- package/docs/pl/packages/intlayer/getLocaleLang.md +81 -0
- package/docs/pl/packages/intlayer/getLocaleName.md +118 -0
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +300 -0
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +221 -0
- package/docs/pl/packages/intlayer/getPathWithoutLocale.md +75 -0
- package/docs/pl/packages/intlayer/getTranslation.md +190 -0
- package/docs/pl/packages/intlayer/getTranslationContent.md +189 -0
- package/docs/pl/packages/next-intlayer/t.md +353 -0
- package/docs/pl/packages/next-intlayer/useDictionary.md +270 -0
- package/docs/pl/packages/next-intlayer/useIntlayer.md +263 -0
- package/docs/pl/packages/next-intlayer/useLocale.md +166 -0
- package/docs/pl/packages/react-intlayer/t.md +303 -0
- package/docs/pl/packages/react-intlayer/useDictionary.md +289 -0
- package/docs/pl/packages/react-intlayer/useI18n.md +249 -0
- package/docs/pl/packages/react-intlayer/useIntlayer.md +256 -0
- package/docs/pl/packages/react-intlayer/useLocale.md +210 -0
- package/docs/pl/per_locale_file.md +321 -0
- package/docs/pl/readme.md +261 -0
- package/docs/pl/releases/v6.md +305 -0
- package/docs/pl/roadmap.md +362 -0
- package/docs/pl/testing.md +202 -0
- package/docs/pl/vs_code_extension.md +126 -0
- package/docs/pt/component_i18n.md +1 -1
- package/docs/pt/configuration.md +6 -0
- package/docs/pt/intlayer_cli.md +8 -3
- package/docs/pt/intlayer_with_next-i18next.md +627 -0
- package/docs/pt/intlayer_with_next-intl.md +446 -0
- package/docs/pt/intlayer_with_nextjs_16.md +21 -0
- package/docs/pt/intlayer_with_tanstack.md +4 -0
- package/docs/pt/intlayer_with_vite+react.md +4 -0
- package/docs/ru/component_i18n.md +1 -1
- package/docs/ru/configuration.md +6 -0
- package/docs/ru/intlayer_cli.md +301 -22
- package/docs/ru/intlayer_with_next-i18next.md +629 -0
- package/docs/ru/intlayer_with_next-intl.md +448 -0
- package/docs/ru/intlayer_with_nextjs_16.md +21 -0
- package/docs/ru/intlayer_with_tanstack.md +4 -0
- package/docs/ru/intlayer_with_vite+react.md +4 -0
- package/docs/tr/component_i18n.md +1 -1
- package/docs/tr/configuration.md +6 -0
- package/docs/tr/intlayer_cli.md +8 -0
- package/docs/tr/intlayer_with_next-i18next.md +627 -0
- package/docs/tr/intlayer_with_next-intl.md +446 -0
- package/docs/tr/intlayer_with_nextjs_16.md +21 -0
- package/docs/tr/intlayer_with_tanstack.md +4 -0
- package/docs/tr/intlayer_with_vite+react.md +4 -0
- package/docs/vi/CI_CD.md +198 -0
- package/docs/vi/autoFill.md +284 -0
- package/docs/vi/component_i18n.md +186 -0
- package/docs/vi/configuration.md +710 -0
- package/docs/vi/dictionary/condition.md +237 -0
- package/docs/vi/dictionary/content_file.md +1115 -0
- package/docs/vi/dictionary/enumeration.md +255 -0
- package/docs/vi/dictionary/file.md +234 -0
- package/docs/vi/dictionary/function_fetching.md +212 -0
- package/docs/vi/dictionary/gender.md +275 -0
- package/docs/vi/dictionary/insertion.md +191 -0
- package/docs/vi/dictionary/markdown.md +381 -0
- package/docs/vi/dictionary/nesting.md +273 -0
- package/docs/vi/dictionary/translation.md +309 -0
- package/docs/vi/formatters.md +595 -0
- package/docs/vi/how_works_intlayer.md +256 -0
- package/docs/vi/index.md +174 -0
- package/docs/vi/interest_of_intlayer.md +292 -0
- package/docs/vi/intlayer_CMS.md +549 -0
- package/docs/vi/intlayer_cli.md +850 -0
- package/docs/vi/intlayer_visual_editor.md +288 -0
- package/docs/vi/intlayer_with_angular.md +692 -0
- package/docs/vi/intlayer_with_astro.md +252 -0
- package/docs/vi/intlayer_with_create_react_app.md +1230 -0
- package/docs/vi/intlayer_with_express.md +409 -0
- package/docs/vi/intlayer_with_lynx+react.md +520 -0
- package/docs/vi/intlayer_with_nestjs.md +272 -0
- package/docs/vi/intlayer_with_next-i18next.md +628 -0
- package/docs/vi/intlayer_with_next-intl.md +446 -0
- package/docs/vi/intlayer_with_nextjs_14.md +1584 -0
- package/docs/vi/intlayer_with_nextjs_15.md +1738 -0
- package/docs/vi/intlayer_with_nextjs_16.md +21 -0
- package/docs/vi/intlayer_with_nextjs_page_router.md +1504 -0
- package/docs/vi/intlayer_with_nuxt.md +821 -0
- package/docs/vi/intlayer_with_react_native+expo.md +700 -0
- package/docs/vi/intlayer_with_react_router_v7.md +498 -0
- package/docs/vi/intlayer_with_tanstack.md +562 -0
- package/docs/vi/intlayer_with_vite+preact.md +1722 -0
- package/docs/vi/intlayer_with_vite+react.md +1407 -0
- package/docs/vi/intlayer_with_vite+solid.md +287 -0
- package/docs/vi/intlayer_with_vite+svelte.md +289 -0
- package/docs/vi/intlayer_with_vite+vue.md +1071 -0
- package/docs/vi/introduction.md +215 -0
- package/docs/vi/locale_mapper.md +242 -0
- package/docs/vi/mcp_server.md +211 -0
- package/docs/vi/packages/express-intlayer/t.md +457 -0
- package/docs/vi/packages/intlayer/getConfiguration.md +145 -0
- package/docs/vi/packages/intlayer/getEnumeration.md +162 -0
- package/docs/vi/packages/intlayer/getHTMLTextDir.md +121 -0
- package/docs/vi/packages/intlayer/getLocaleLang.md +81 -0
- package/docs/vi/packages/intlayer/getLocaleName.md +129 -0
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +309 -0
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +221 -0
- package/docs/vi/packages/intlayer/getPathWithoutLocale.md +75 -0
- package/docs/vi/packages/intlayer/getTranslation.md +201 -0
- package/docs/vi/packages/intlayer/getTranslationContent.md +188 -0
- package/docs/vi/packages/next-intlayer/t.md +352 -0
- package/docs/vi/packages/next-intlayer/useDictionary.md +273 -0
- package/docs/vi/packages/next-intlayer/useIntlayer.md +264 -0
- package/docs/vi/packages/next-intlayer/useLocale.md +166 -0
- package/docs/vi/packages/react-intlayer/t.md +304 -0
- package/docs/vi/packages/react-intlayer/useDictionary.md +288 -0
- package/docs/vi/packages/react-intlayer/useI18n.md +295 -0
- package/docs/vi/packages/react-intlayer/useIntlayer.md +256 -0
- package/docs/vi/packages/react-intlayer/useLocale.md +210 -0
- package/docs/vi/per_locale_file.md +326 -0
- package/docs/vi/readme.md +261 -0
- package/docs/vi/releases/v6.md +305 -0
- package/docs/vi/roadmap.md +346 -0
- package/docs/vi/testing.md +202 -0
- package/docs/vi/vs_code_extension.md +126 -0
- package/docs/zh/configuration.md +6 -0
- package/docs/zh/intlayer_cli.md +8 -3
- package/docs/zh/intlayer_with_next-i18next.md +628 -0
- package/docs/zh/intlayer_with_next-intl.md +448 -0
- package/docs/zh/intlayer_with_nextjs_16.md +21 -0
- package/docs/zh/intlayer_with_tanstack.md +4 -0
- package/docs/zh/intlayer_with_vite+react.md +4 -0
- package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ar/array_as_content_declaration.md +1 -2
- package/frequent_questions/ar/build_dictionaries.md +1 -2
- package/frequent_questions/ar/build_error_CI_CD.md +1 -2
- package/frequent_questions/ar/bun_set_up.md +1 -2
- package/frequent_questions/ar/customized_locale_list.md +1 -2
- package/frequent_questions/ar/domain_routing.md +1 -2
- package/frequent_questions/ar/esbuild_error.md +1 -2
- package/frequent_questions/ar/get_locale_cookie.md +1 -2
- package/frequent_questions/ar/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ar/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ar/static_rendering.md +1 -3
- package/frequent_questions/ar/translated_path_url.md +1 -2
- package/frequent_questions/ar/unknown_command.md +1 -2
- package/frequent_questions/de/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/de/array_as_content_declaration.md +1 -2
- package/frequent_questions/de/build_dictionaries.md +1 -2
- package/frequent_questions/de/build_error_CI_CD.md +1 -2
- package/frequent_questions/de/bun_set_up.md +1 -2
- package/frequent_questions/de/customized_locale_list.md +1 -2
- package/frequent_questions/de/domain_routing.md +1 -2
- package/frequent_questions/de/esbuild_error.md +1 -2
- package/frequent_questions/de/get_locale_cookie.md +1 -2
- package/frequent_questions/de/intlayer_command_undefined.md +1 -2
- package/frequent_questions/de/locale_incorect_in_url.md +1 -2
- package/frequent_questions/de/static_rendering.md +1 -3
- package/frequent_questions/de/translated_path_url.md +1 -2
- package/frequent_questions/de/unknown_command.md +1 -2
- package/frequent_questions/en/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/en/array_as_content_declaration.md +1 -2
- package/frequent_questions/en/build_dictionaries.md +1 -2
- package/frequent_questions/en/build_error_CI_CD.md +1 -2
- package/frequent_questions/en/bun_set_up.md +1 -2
- package/frequent_questions/en/customized_locale_list.md +1 -2
- package/frequent_questions/en/domain_routing.md +1 -2
- package/frequent_questions/en/esbuild_error.md +1 -2
- package/frequent_questions/en/get_locale_cookie.md +1 -2
- package/frequent_questions/en/intlayer_command_undefined.md +1 -2
- package/frequent_questions/en/locale_incorect_in_url.md +1 -2
- package/frequent_questions/en/static_rendering.md +1 -3
- package/frequent_questions/en/translated_path_url.md +1 -2
- package/frequent_questions/en/unknown_command.md +1 -2
- package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/en-GB/array_as_content_declaration.md +1 -2
- package/frequent_questions/en-GB/build_dictionaries.md +1 -2
- package/frequent_questions/en-GB/build_error_CI_CD.md +1 -2
- package/frequent_questions/en-GB/bun_set_up.md +1 -2
- package/frequent_questions/en-GB/customized_locale_list.md +1 -2
- package/frequent_questions/en-GB/domain_routing.md +1 -2
- package/frequent_questions/en-GB/esbuild_error.md +1 -2
- package/frequent_questions/en-GB/get_locale_cookie.md +1 -2
- package/frequent_questions/en-GB/intlayer_command_undefined.md +1 -2
- package/frequent_questions/en-GB/locale_incorect_in_url.md +1 -2
- package/frequent_questions/en-GB/static_rendering.md +1 -3
- package/frequent_questions/en-GB/translated_path_url.md +1 -2
- package/frequent_questions/en-GB/unknown_command.md +1 -2
- package/frequent_questions/es/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/es/array_as_content_declaration.md +1 -2
- package/frequent_questions/es/build_dictionaries.md +1 -2
- package/frequent_questions/es/build_error_CI_CD.md +1 -2
- package/frequent_questions/es/bun_set_up.md +1 -2
- package/frequent_questions/es/customized_locale_list.md +1 -2
- package/frequent_questions/es/domain_routing.md +1 -2
- package/frequent_questions/es/esbuild_error.md +1 -2
- package/frequent_questions/es/get_locale_cookie.md +1 -2
- package/frequent_questions/es/intlayer_command_undefined.md +1 -2
- package/frequent_questions/es/locale_incorect_in_url.md +1 -2
- package/frequent_questions/es/static_rendering.md +1 -3
- package/frequent_questions/es/translated_path_url.md +1 -2
- package/frequent_questions/es/unknown_command.md +1 -2
- package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/fr/array_as_content_declaration.md +1 -2
- package/frequent_questions/fr/build_dictionaries.md +1 -2
- package/frequent_questions/fr/build_error_CI_CD.md +1 -2
- package/frequent_questions/fr/bun_set_up.md +1 -2
- package/frequent_questions/fr/customized_locale_list.md +1 -2
- package/frequent_questions/fr/domain_routing.md +1 -2
- package/frequent_questions/fr/esbuild_error.md +1 -2
- package/frequent_questions/fr/get_locale_cookie.md +1 -2
- package/frequent_questions/fr/intlayer_command_undefined.md +1 -2
- package/frequent_questions/fr/locale_incorect_in_url.md +1 -2
- package/frequent_questions/fr/static_rendering.md +1 -3
- package/frequent_questions/fr/translated_path_url.md +1 -2
- package/frequent_questions/fr/unknown_command.md +1 -2
- package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/hi/array_as_content_declaration.md +1 -2
- package/frequent_questions/hi/build_dictionaries.md +1 -2
- package/frequent_questions/hi/build_error_CI_CD.md +1 -2
- package/frequent_questions/hi/bun_set_up.md +1 -2
- package/frequent_questions/hi/customized_locale_list.md +1 -2
- package/frequent_questions/hi/domain_routing.md +1 -2
- package/frequent_questions/hi/esbuild_error.md +1 -2
- package/frequent_questions/hi/get_locale_cookie.md +1 -2
- package/frequent_questions/hi/intlayer_command_undefined.md +1 -2
- package/frequent_questions/hi/locale_incorect_in_url.md +1 -2
- package/frequent_questions/hi/static_rendering.md +1 -3
- package/frequent_questions/hi/translated_path_url.md +1 -2
- package/frequent_questions/hi/unknown_command.md +1 -2
- package/frequent_questions/id/SSR_Next_no_[locale].md +104 -0
- package/frequent_questions/id/array_as_content_declaration.md +71 -0
- package/frequent_questions/id/build_dictionaries.md +58 -0
- package/frequent_questions/id/build_error_CI_CD.md +74 -0
- package/frequent_questions/id/bun_set_up.md +53 -0
- package/frequent_questions/id/customized_locale_list.md +64 -0
- package/frequent_questions/id/domain_routing.md +113 -0
- package/frequent_questions/id/esbuild_error.md +29 -0
- package/frequent_questions/id/get_locale_cookie.md +142 -0
- package/frequent_questions/id/intlayer_command_undefined.md +155 -0
- package/frequent_questions/id/locale_incorect_in_url.md +73 -0
- package/frequent_questions/id/static_rendering.md +44 -0
- package/frequent_questions/id/translated_path_url.md +55 -0
- package/frequent_questions/id/unknown_command.md +97 -0
- package/frequent_questions/it/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/it/array_as_content_declaration.md +1 -2
- package/frequent_questions/it/build_dictionaries.md +1 -2
- package/frequent_questions/it/build_error_CI_CD.md +1 -2
- package/frequent_questions/it/bun_set_up.md +1 -2
- package/frequent_questions/it/customized_locale_list.md +1 -2
- package/frequent_questions/it/domain_routing.md +1 -2
- package/frequent_questions/it/esbuild_error.md +1 -2
- package/frequent_questions/it/get_locale_cookie.md +1 -2
- package/frequent_questions/it/intlayer_command_undefined.md +1 -2
- package/frequent_questions/it/locale_incorect_in_url.md +1 -2
- package/frequent_questions/it/static_rendering.md +1 -3
- package/frequent_questions/it/translated_path_url.md +1 -2
- package/frequent_questions/it/unknown_command.md +1 -2
- package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ja/array_as_content_declaration.md +1 -2
- package/frequent_questions/ja/build_dictionaries.md +1 -2
- package/frequent_questions/ja/build_error_CI_CD.md +1 -2
- package/frequent_questions/ja/bun_set_up.md +1 -2
- package/frequent_questions/ja/customized_locale_list.md +1 -2
- package/frequent_questions/ja/domain_routing.md +1 -2
- package/frequent_questions/ja/esbuild_error.md +1 -2
- package/frequent_questions/ja/get_locale_cookie.md +1 -2
- package/frequent_questions/ja/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ja/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ja/static_rendering.md +1 -3
- package/frequent_questions/ja/translated_path_url.md +1 -2
- package/frequent_questions/ja/unknown_command.md +1 -2
- package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ko/array_as_content_declaration.md +1 -2
- package/frequent_questions/ko/build_dictionaries.md +1 -2
- package/frequent_questions/ko/build_error_CI_CD.md +1 -2
- package/frequent_questions/ko/bun_set_up.md +1 -2
- package/frequent_questions/ko/customized_locale_list.md +1 -2
- package/frequent_questions/ko/domain_routing.md +1 -2
- package/frequent_questions/ko/esbuild_error.md +1 -2
- package/frequent_questions/ko/get_locale_cookie.md +1 -2
- package/frequent_questions/ko/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ko/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ko/static_rendering.md +1 -3
- package/frequent_questions/ko/translated_path_url.md +1 -2
- package/frequent_questions/ko/unknown_command.md +1 -2
- package/frequent_questions/pl/SSR_Next_no_[locale].md +104 -0
- package/frequent_questions/pl/array_as_content_declaration.md +71 -0
- package/frequent_questions/pl/build_dictionaries.md +58 -0
- package/frequent_questions/pl/build_error_CI_CD.md +74 -0
- package/frequent_questions/pl/bun_set_up.md +54 -0
- package/frequent_questions/pl/customized_locale_list.md +64 -0
- package/frequent_questions/pl/domain_routing.md +113 -0
- package/frequent_questions/pl/esbuild_error.md +29 -0
- package/frequent_questions/pl/get_locale_cookie.md +142 -0
- package/frequent_questions/pl/intlayer_command_undefined.md +155 -0
- package/frequent_questions/pl/locale_incorect_in_url.md +73 -0
- package/frequent_questions/pl/static_rendering.md +44 -0
- package/frequent_questions/pl/translated_path_url.md +55 -0
- package/frequent_questions/pl/unknown_command.md +97 -0
- package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/pt/array_as_content_declaration.md +1 -2
- package/frequent_questions/pt/build_dictionaries.md +1 -2
- package/frequent_questions/pt/build_error_CI_CD.md +1 -2
- package/frequent_questions/pt/bun_set_up.md +1 -2
- package/frequent_questions/pt/customized_locale_list.md +1 -2
- package/frequent_questions/pt/domain_routing.md +1 -2
- package/frequent_questions/pt/esbuild_error.md +1 -2
- package/frequent_questions/pt/get_locale_cookie.md +1 -2
- package/frequent_questions/pt/intlayer_command_undefined.md +1 -2
- package/frequent_questions/pt/locale_incorect_in_url.md +1 -2
- package/frequent_questions/pt/static_rendering.md +1 -3
- package/frequent_questions/pt/translated_path_url.md +1 -2
- package/frequent_questions/pt/unknown_command.md +1 -2
- package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/ru/array_as_content_declaration.md +1 -2
- package/frequent_questions/ru/build_dictionaries.md +1 -2
- package/frequent_questions/ru/build_error_CI_CD.md +1 -2
- package/frequent_questions/ru/bun_set_up.md +1 -2
- package/frequent_questions/ru/customized_locale_list.md +1 -2
- package/frequent_questions/ru/domain_routing.md +1 -2
- package/frequent_questions/ru/esbuild_error.md +1 -2
- package/frequent_questions/ru/get_locale_cookie.md +1 -2
- package/frequent_questions/ru/intlayer_command_undefined.md +1 -2
- package/frequent_questions/ru/locale_incorect_in_url.md +1 -2
- package/frequent_questions/ru/static_rendering.md +1 -2
- package/frequent_questions/ru/translated_path_url.md +1 -2
- package/frequent_questions/ru/unknown_command.md +1 -2
- package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/tr/array_as_content_declaration.md +1 -2
- package/frequent_questions/tr/build_dictionaries.md +1 -2
- package/frequent_questions/tr/build_error_CI_CD.md +1 -2
- package/frequent_questions/tr/bun_set_up.md +1 -2
- package/frequent_questions/tr/customized_locale_list.md +1 -2
- package/frequent_questions/tr/domain_routing.md +1 -2
- package/frequent_questions/tr/esbuild_error.md +1 -2
- package/frequent_questions/tr/get_locale_cookie.md +1 -2
- package/frequent_questions/tr/intlayer_command_undefined.md +1 -2
- package/frequent_questions/tr/locale_incorect_in_url.md +1 -2
- package/frequent_questions/tr/static_rendering.md +1 -2
- package/frequent_questions/tr/translated_path_url.md +1 -2
- package/frequent_questions/tr/unknown_command.md +1 -2
- package/frequent_questions/vi/SSR_Next_no_[locale].md +106 -0
- package/frequent_questions/vi/array_as_content_declaration.md +71 -0
- package/frequent_questions/vi/build_dictionaries.md +58 -0
- package/frequent_questions/vi/build_error_CI_CD.md +74 -0
- package/frequent_questions/vi/bun_set_up.md +53 -0
- package/frequent_questions/vi/customized_locale_list.md +64 -0
- package/frequent_questions/vi/domain_routing.md +113 -0
- package/frequent_questions/vi/esbuild_error.md +29 -0
- package/frequent_questions/vi/get_locale_cookie.md +142 -0
- package/frequent_questions/vi/intlayer_command_undefined.md +155 -0
- package/frequent_questions/vi/locale_incorect_in_url.md +73 -0
- package/frequent_questions/vi/static_rendering.md +44 -0
- package/frequent_questions/vi/translated_path_url.md +55 -0
- package/frequent_questions/vi/unknown_command.md +97 -0
- package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -2
- package/frequent_questions/zh/array_as_content_declaration.md +1 -2
- package/frequent_questions/zh/build_dictionaries.md +1 -2
- package/frequent_questions/zh/build_error_CI_CD.md +1 -2
- package/frequent_questions/zh/bun_set_up.md +1 -2
- package/frequent_questions/zh/customized_locale_list.md +1 -2
- package/frequent_questions/zh/domain_routing.md +1 -2
- package/frequent_questions/zh/esbuild_error.md +1 -2
- package/frequent_questions/zh/get_locale_cookie.md +1 -2
- package/frequent_questions/zh/intlayer_command_undefined.md +1 -2
- package/frequent_questions/zh/locale_incorect_in_url.md +1 -2
- package/frequent_questions/zh/static_rendering.md +1 -3
- package/frequent_questions/zh/translated_path_url.md +1 -2
- package/frequent_questions/zh/unknown_command.md +1 -2
- package/legal/id/privacy_notice.md +83 -0
- package/legal/id/terms_of_service.md +55 -0
- package/legal/pl/privacy_notice.md +83 -0
- package/legal/pl/terms_of_service.md +55 -0
- package/legal/vi/privacy_notice.md +83 -0
- package/legal/vi/terms_of_service.md +55 -0
- package/package.json +19 -18
- package/src/generated/blog.entry.ts +38 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-08-23
|
|
4
|
+
title: Dokumentacja funkcji t | next-intlayer
|
|
5
|
+
description: Zobacz, jak używać funkcji t w pakiecie next-intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- t
|
|
8
|
+
- tłumaczenie
|
|
9
|
+
- Intlayer
|
|
10
|
+
- next-intlayer
|
|
11
|
+
- Internacjonalizacja
|
|
12
|
+
- Dokumentacja
|
|
13
|
+
- Next.js
|
|
14
|
+
- JavaScript
|
|
15
|
+
- React
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- packages
|
|
19
|
+
- next-intlayer
|
|
20
|
+
- t
|
|
21
|
+
history:
|
|
22
|
+
- version: 5.5.10
|
|
23
|
+
date: 2025-06-29
|
|
24
|
+
changes: Inicjalizacja historii
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Dokumentacja: funkcja `t` w `next-intlayer`
|
|
28
|
+
|
|
29
|
+
Funkcja `t` w pakiecie `next-intlayer` jest podstawowym narzędziem do inline'owej internacjonalizacji w Twojej aplikacji Next.js. Pozwala na definiowanie tłumaczeń bezpośrednio w komponentach, co ułatwia wyświetlanie lokalizowanych treści w zależności od aktualnej lokalizacji.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Przegląd
|
|
34
|
+
|
|
35
|
+
Funkcja `t` służy do dostarczania tłumaczeń dla różnych lokalizacji bezpośrednio w Twoich komponentach. Przekazując obiekt zawierający tłumaczenia dla każdej obsługiwanej lokalizacji, `t` zwraca odpowiednie tłumaczenie na podstawie aktualnego kontekstu lokalizacji w Twojej aplikacji Next.js.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Kluczowe funkcje
|
|
40
|
+
|
|
41
|
+
- **Tłumaczenia inline**: Idealne do szybkiego, inline'owego tekstu, który nie wymaga oddzielnej deklaracji treści.
|
|
42
|
+
- **Automatyczny wybór lokalizacji**: Automatycznie zwraca tłumaczenie odpowiadające aktualnej lokalizacji.
|
|
43
|
+
- **Wsparcie TypeScript**: Zapewnia bezpieczeństwo typów i autouzupełnianie podczas używania z TypeScript.
|
|
44
|
+
- **Łatwa integracja**: Działa bezproblemowo zarówno w komponentach klienta, jak i serwera w Next.js.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Sygnatura funkcji
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
typescript
|
|
52
|
+
t<T extends string>(content: Record<LocalesValues, T>, locale?: Locales): string
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Parametry
|
|
56
|
+
|
|
57
|
+
- `translations`: Obiekt, w którym kluczami są kody lokalizacji (np. `en`, `fr`, `es`), a wartościami odpowiadające im przetłumaczone ciągi znaków.
|
|
58
|
+
|
|
59
|
+
### Zwraca
|
|
60
|
+
|
|
61
|
+
- Ciąg znaków reprezentujący przetłumaczoną treść dla aktualnej lokalizacji.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Przykłady użycia
|
|
66
|
+
|
|
67
|
+
### Użycie `t` w komponencie klienta
|
|
68
|
+
|
|
69
|
+
Upewnij się, że na początku pliku komponentu umieścisz dyrektywę `'use client';` podczas korzystania z `t` w komponencie po stronie klienta.
|
|
70
|
+
|
|
71
|
+
```tsx codeFormat="typescript"
|
|
72
|
+
"use client";
|
|
73
|
+
|
|
74
|
+
import type { FC } from "react";
|
|
75
|
+
import { t } from "next-intlayer";
|
|
76
|
+
|
|
77
|
+
export const ClientComponentExample: FC = () => (
|
|
78
|
+
<p>
|
|
79
|
+
{t({
|
|
80
|
+
en: "This is the content of a client component example",
|
|
81
|
+
fr: "Ceci est le contenu d'un exemple de composant client",
|
|
82
|
+
es: "Este es el contenido d un ejemplo de componente cliente",
|
|
83
|
+
})}
|
|
84
|
+
</p>
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```javascript codeFormat="esm"
|
|
89
|
+
import { t } from "next-intlayer";
|
|
90
|
+
|
|
91
|
+
const ClientComponentExample = () => (
|
|
92
|
+
<p>
|
|
93
|
+
{t({
|
|
94
|
+
en: "This is the content of a client component example",
|
|
95
|
+
fr: "Ceci est le contenu d'un exemple de composant client",
|
|
96
|
+
es: "Este es el contenido d un ejemplo de componente cliente",
|
|
97
|
+
})}
|
|
98
|
+
</p>
|
|
99
|
+
);
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
```javascript codeFormat="commonjs"
|
|
103
|
+
const { t } = require("next-intlayer");
|
|
104
|
+
|
|
105
|
+
const ClientComponentExample = () => (
|
|
106
|
+
<p>
|
|
107
|
+
{t({
|
|
108
|
+
en: "This is the content of a client component example",
|
|
109
|
+
fr: "Ceci est le contenu d'un exemple de composant client",
|
|
110
|
+
es: "Este es le contenido d un ejemplo de componente cliente",
|
|
111
|
+
})}
|
|
112
|
+
</p>
|
|
113
|
+
);
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Używanie `t` w komponencie serwerowym
|
|
117
|
+
|
|
118
|
+
```tsx codeFormat="typescript"
|
|
119
|
+
import type { FC } from "react";
|
|
120
|
+
import { t } from "next-intlayer/server";
|
|
121
|
+
|
|
122
|
+
export const ServerComponentExample: FC = () => (
|
|
123
|
+
<p>
|
|
124
|
+
{t({
|
|
125
|
+
en: "This is the content of a server component example",
|
|
126
|
+
fr: "Ceci est le contenu d'un exemple de composant serveur",
|
|
127
|
+
es: "Este es el contenido de un ejemplo de componente servidor",
|
|
128
|
+
})}
|
|
129
|
+
</p>
|
|
130
|
+
);
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```javascript codeFormat="esm"
|
|
134
|
+
import { t } from "next-intlayer/server";
|
|
135
|
+
|
|
136
|
+
const ServerComponentExample = () => (
|
|
137
|
+
<p>
|
|
138
|
+
{t({
|
|
139
|
+
en: "This is the content of a server component example",
|
|
140
|
+
fr: "Ceci est le contenu d'un exemple de composant serveur",
|
|
141
|
+
es: "Este es el contenido de un ejemplo de componente servidor",
|
|
142
|
+
})}
|
|
143
|
+
</p>
|
|
144
|
+
);
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
```javascript codeFormat="commonjs"
|
|
148
|
+
const { t } = require("next-intlayer/server");
|
|
149
|
+
|
|
150
|
+
const ServerComponentExample = () => (
|
|
151
|
+
<p>
|
|
152
|
+
{t({
|
|
153
|
+
en: "This is the content of a server component example",
|
|
154
|
+
fr: "Ceci est le contenu d'un exemple de composant serveur",
|
|
155
|
+
es: "Este es el contenido de un ejemplo de componente servidor",
|
|
156
|
+
})}
|
|
157
|
+
</p>
|
|
158
|
+
);
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Tłumaczenia inline w atrybutach
|
|
162
|
+
|
|
163
|
+
Funkcja `t` jest szczególnie przydatna do tłumaczeń inline w atrybutach JSX.
|
|
164
|
+
Podczas lokalizacji atrybutów takich jak `alt`, `title`, `href` czy `aria-label`, możesz użyć `t` bezpośrednio w atrybucie.
|
|
165
|
+
|
|
166
|
+
```jsx
|
|
167
|
+
<button
|
|
168
|
+
aria-label={t({
|
|
169
|
+
en: "Submit",
|
|
170
|
+
fr: "Soumettre",
|
|
171
|
+
es: "Enviar",
|
|
172
|
+
})}
|
|
173
|
+
>
|
|
174
|
+
{t({
|
|
175
|
+
en: "Submit",
|
|
176
|
+
fr: "Soumettre",
|
|
177
|
+
es: "Enviar",
|
|
178
|
+
})}
|
|
179
|
+
<img
|
|
180
|
+
src="/path/to/image"
|
|
181
|
+
alt={t({
|
|
182
|
+
en: "A beautiful scenery",
|
|
183
|
+
fr: "Un beau paysage",
|
|
184
|
+
es: "Un hermoso paisaje",
|
|
185
|
+
})}
|
|
186
|
+
/>
|
|
187
|
+
</button>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Zaawansowane tematy
|
|
193
|
+
|
|
194
|
+
### Integracja z TypeScript
|
|
195
|
+
|
|
196
|
+
Funkcja `t` jest bezpieczna typowo podczas użycia z TypeScript, zapewniając, że wszystkie wymagane lokalizacje są dostarczone.
|
|
197
|
+
|
|
198
|
+
```typescript codeFormat="typescript"
|
|
199
|
+
import type { IConfigLocales } from "intlayer";
|
|
200
|
+
import { t } from "next-intlayer";
|
|
201
|
+
|
|
202
|
+
const translations: IConfigLocales<string> = {
|
|
203
|
+
en: "Welcome",
|
|
204
|
+
fr: "Bienvenue",
|
|
205
|
+
es: "Bienvenido",
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
const greeting = t(translations);
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
```javascript codeFormat="esm"
|
|
212
|
+
import type { IConfigLocales } from "intlayer";
|
|
213
|
+
import { t } from "next-intlayer";
|
|
214
|
+
|
|
215
|
+
/** @type {import('next-intlayer').IConfigLocales<string>} */
|
|
216
|
+
const translations = {
|
|
217
|
+
en: "Welcome",
|
|
218
|
+
fr: "Bienvenue",
|
|
219
|
+
es: "Bienvenido",
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
const greeting = t(translations);
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
```javascript codeFormat="commonjs"
|
|
226
|
+
const { t } = require("next-intlayer");
|
|
227
|
+
|
|
228
|
+
/** @type {import('next-intlayer').IConfigLocales<string>} */
|
|
229
|
+
const translations = {
|
|
230
|
+
en: "Welcome",
|
|
231
|
+
fr: "Bienvenue",
|
|
232
|
+
es: "Bienvenido",
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
const greeting = t(translations);
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Wykrywanie lokalizacji i kontekst
|
|
239
|
+
|
|
240
|
+
W `next-intlayer` bieżąca lokalizacja jest zarządzana przez dostawców kontekstu: `IntlayerClientProvider` oraz `IntlayerServerProvider`. Upewnij się, że ci dostawcy otaczają twoje komponenty, a właściwość `locale` jest poprawnie przekazywana.
|
|
241
|
+
|
|
242
|
+
#### Przykład:
|
|
243
|
+
|
|
244
|
+
```tsx codeFormat="typescript"
|
|
245
|
+
import type { FC } from "react";
|
|
246
|
+
import type { Locales } from "intlayer";
|
|
247
|
+
import { IntlayerClientProvider } from "next-intlayer";
|
|
248
|
+
import { IntlayerServerProvider } from "next-intlayer/server";
|
|
249
|
+
|
|
250
|
+
const Page: FC<{ locale: Locales }> = ({ locale }) => (
|
|
251
|
+
<IntlayerServerProvider locale={locale}>
|
|
252
|
+
<IntlayerClientProvider locale={locale}>
|
|
253
|
+
{/* Twoje komponenty tutaj */}
|
|
254
|
+
</IntlayerClientProvider>
|
|
255
|
+
</IntlayerServerProvider>
|
|
256
|
+
);
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
```javascript codeFormat="esm"
|
|
260
|
+
import { IntlayerClientProvider } from "next-intlayer";
|
|
261
|
+
import { IntlayerServerProvider } from "next-intlayer/server";
|
|
262
|
+
|
|
263
|
+
const Page = ({ locale }) => (
|
|
264
|
+
<IntlayerServerProvider locale={locale}>
|
|
265
|
+
<IntlayerClientProvider locale={locale}>
|
|
266
|
+
{/* Twoje komponenty tutaj */}
|
|
267
|
+
</IntlayerClientProvider>
|
|
268
|
+
</IntlayerServerProvider>
|
|
269
|
+
);
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
```javascript codeFormat="commonjs"
|
|
273
|
+
const { IntlayerClientProvider } = require("next-intlayer");
|
|
274
|
+
const { IntlayerServerProvider } = require("next-intlayer/server");
|
|
275
|
+
|
|
276
|
+
const Page = ({ locale }) => (
|
|
277
|
+
<IntlayerServerProvider locale={locale}>
|
|
278
|
+
<IntlayerClientProvider locale={locale}>
|
|
279
|
+
{/* Twoje komponenty tutaj */}
|
|
280
|
+
</IntlayerClientProvider>
|
|
281
|
+
</IntlayerServerProvider>
|
|
282
|
+
);
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Częste błędy i rozwiązywanie problemów
|
|
288
|
+
|
|
289
|
+
### `t` zwraca undefined lub niepoprawne tłumaczenie
|
|
290
|
+
|
|
291
|
+
- **Przyczyna**: Bieżący locale nie jest poprawnie ustawiony lub brakuje tłumaczenia dla bieżącego locale.
|
|
292
|
+
- **Rozwiązanie**:
|
|
293
|
+
- Sprawdź, czy `IntlayerClientProvider` lub `IntlayerServerProvider` jest poprawnie skonfigurowany z odpowiednim `locale`.
|
|
294
|
+
- Upewnij się, że obiekt tłumaczeń zawiera wszystkie niezbędne locale.
|
|
295
|
+
|
|
296
|
+
### Brakujące tłumaczenia w TypeScript
|
|
297
|
+
|
|
298
|
+
- **Przyczyna**: Obiekt tłumaczeń nie spełnia wymagań dotyczących wszystkich locale, co prowadzi do błędów TypeScript.
|
|
299
|
+
- **Rozwiązanie**: Użyj typu `IConfigLocales`, aby wymusić kompletność tłumaczeń.
|
|
300
|
+
|
|
301
|
+
```typescript codeFormat="typescript"
|
|
302
|
+
const translations: IConfigLocales<string> = {
|
|
303
|
+
en: "Text",
|
|
304
|
+
fr: "Texte",
|
|
305
|
+
// es: 'Texto', // Brak 'es' spowoduje błąd TypeScript [!code error]
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
const text = t(translations);
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
```javascript codeFormat="esm"
|
|
312
|
+
const translations = {
|
|
313
|
+
en: "Text",
|
|
314
|
+
fr: "Texte",
|
|
315
|
+
// es: 'Texto', // Brak 'es' spowoduje błąd TypeScript [!code error]
|
|
316
|
+
};
|
|
317
|
+
|
|
318
|
+
const text = t(translations);
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
```javascript codeFormat="commonjs"
|
|
322
|
+
const { t } = require("next-intlayer");
|
|
323
|
+
|
|
324
|
+
/** @type {import('next-intlayer').IConfigLocales<string>} */
|
|
325
|
+
const translations = {
|
|
326
|
+
en: "Text",
|
|
327
|
+
fr: "Texte",
|
|
328
|
+
// es: 'Texto', // Brak 'es' spowoduje błąd TypeScript [!code error]
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
const text = t(translations);
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Wskazówki dotyczące efektywnego użycia
|
|
337
|
+
|
|
338
|
+
1. **Używaj `t` do prostych tłumaczeń inline**: Idealne do tłumaczenia krótkich fragmentów tekstu bezpośrednio w komponentach.
|
|
339
|
+
2. **Preferuj `useIntlayer` do strukturalnej zawartości**: Do bardziej złożonych tłumaczeń i ponownego wykorzystania treści definiuj zawartość w plikach deklaracji i używaj `useIntlayer`.
|
|
340
|
+
3. **Zapewnij spójne dostarczanie locale**: Upewnij się, że locale jest konsekwentnie dostarczane w całej aplikacji za pomocą odpowiednich providerów.
|
|
341
|
+
4. **Wykorzystaj TypeScript**: Używaj typów TypeScript, aby wychwycić brakujące tłumaczenia i zapewnić bezpieczeństwo typów.
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Podsumowanie
|
|
346
|
+
|
|
347
|
+
Funkcja `t` w `next-intlayer` to potężne i wygodne narzędzie do zarządzania tłumaczeniami inline w aplikacjach Next.js. Poprzez efektywną integrację zwiększasz możliwości internacjonalizacji swojej aplikacji, zapewniając lepsze doświadczenia użytkownikom na całym świecie.
|
|
348
|
+
|
|
349
|
+
Aby uzyskać bardziej szczegółowe informacje o użytkowaniu i zaawansowanych funkcjach, zapoznaj się z [dokumentacją next-intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md).
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
**Uwaga**: Pamiętaj, aby poprawnie skonfigurować `IntlayerClientProvider` oraz `IntlayerServerProvider`, aby bieżące locale było prawidłowo przekazywane do Twoich komponentów. Jest to kluczowe, aby funkcja `t` zwracała poprawne tłumaczenia.
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-08-23
|
|
4
|
+
title: Dokumentacja hooka useDictionary | next-intlayer
|
|
5
|
+
description: Zobacz, jak używać hooka useDictionary w pakiecie next-intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- useDictionary
|
|
8
|
+
- słownik
|
|
9
|
+
- klucz
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Internacjonalizacja
|
|
12
|
+
- Dokumentacja
|
|
13
|
+
- Next.js
|
|
14
|
+
- JavaScript
|
|
15
|
+
- React
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- packages
|
|
19
|
+
- next-intlayer
|
|
20
|
+
- useDictionary
|
|
21
|
+
history:
|
|
22
|
+
- version: 5.5.10
|
|
23
|
+
date: 2025-06-29
|
|
24
|
+
changes: Inicjalizacja historii
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Integracja z React: Dokumentacja hooka `useDictionary`
|
|
28
|
+
|
|
29
|
+
Ta sekcja zawiera szczegółowe wskazówki dotyczące używania hooka `useDictionary` w aplikacjach React, umożliwiając efektywne zarządzanie lokalizowanymi treściami bez wizualnego edytora.
|
|
30
|
+
|
|
31
|
+
## Importowanie `useDictionary` w React
|
|
32
|
+
|
|
33
|
+
Hook `useDictionary` można zintegrować z aplikacjami React, importując go w zależności od kontekstu:
|
|
34
|
+
|
|
35
|
+
- **Komponent Klienta:**
|
|
36
|
+
|
|
37
|
+
```typescript codeFormat="typescript"
|
|
38
|
+
import { useDictionary } from "next-intlayer"; // Używane w komponentach React po stronie klienta
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```javascript codeFormat="esm"
|
|
42
|
+
import { useDictionary } from "next-intlayer"; // Używane w komponentach React po stronie klienta
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```javascript codeFormat="commonjs"
|
|
46
|
+
const { useDictionary } = require("next-intlayer"); // Używane w komponentach React po stronie klienta
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- **Komponent Serwera:**
|
|
50
|
+
|
|
51
|
+
```typescript codeFormat="typescript"
|
|
52
|
+
import { useDictionary } from "next-intlayer/server"; // Używane w komponentach React po stronie serwera
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```javascript codeFormat="esm"
|
|
56
|
+
import { useDictionary } from "next-intlayer/server"; // Używane w komponentach React po stronie serwera
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```javascript codeFormat="commonjs"
|
|
60
|
+
const { useDictionary } = require("next-intlayer/server"); // Używane w komponentach React po stronie serwera
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Parametry
|
|
64
|
+
|
|
65
|
+
Hook przyjmuje dwa parametry:
|
|
66
|
+
|
|
67
|
+
1. **`dictionary`**: Zadeklarowany obiekt słownika zawierający zlokalizowane treści dla określonych kluczy.
|
|
68
|
+
2. **`locale`** (opcjonalny): Żądany locale. Domyślnie używany jest locale z bieżącego kontekstu, jeśli nie zostanie określony.
|
|
69
|
+
|
|
70
|
+
## Słownik
|
|
71
|
+
|
|
72
|
+
Wszystkie obiekty słownika powinny być deklarowane w uporządkowanych plikach zawartości, aby zapewnić bezpieczeństwo typów i zapobiec błędom w czasie wykonywania. Instrukcje konfiguracji można znaleźć [tutaj](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md). Oto przykład deklaracji zawartości:
|
|
73
|
+
|
|
74
|
+
```typescript fileName="component.content.ts" codeFormat="typescript"
|
|
75
|
+
import { t, type Dictionary } from "intlayer";
|
|
76
|
+
|
|
77
|
+
const exampleContent = {
|
|
78
|
+
key: "component-example",
|
|
79
|
+
content: {
|
|
80
|
+
title: t({
|
|
81
|
+
en: "Client Component Example",
|
|
82
|
+
fr: "Exemple de composant client",
|
|
83
|
+
es: "Ejemplo de componente cliente",
|
|
84
|
+
}),
|
|
85
|
+
content: t({
|
|
86
|
+
en: "This is the content of a client component example",
|
|
87
|
+
fr: "Ceci est le contenu d'un exemple de composant client",
|
|
88
|
+
es: "Este es el contenido de un ejemplo de componente cliente",
|
|
89
|
+
}),
|
|
90
|
+
},
|
|
91
|
+
} satisfies Dictionary;
|
|
92
|
+
|
|
93
|
+
export default exampleContent;
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
```javascript fileName="component.content.mjs" contentDeclarationFormat="esm"
|
|
97
|
+
import { t } from "intlayer";
|
|
98
|
+
|
|
99
|
+
/** @type {import('intlayer').Dictionary} */
|
|
100
|
+
// Przykładowa zawartość słownika
|
|
101
|
+
const exampleContent = {
|
|
102
|
+
key: "component-example",
|
|
103
|
+
content: {
|
|
104
|
+
title: t({
|
|
105
|
+
en: "Client Component Example",
|
|
106
|
+
fr: "Exemple de composant client",
|
|
107
|
+
es: "Ejemplo de componente cliente",
|
|
108
|
+
}),
|
|
109
|
+
content: t({
|
|
110
|
+
en: "This is the content of a client component example",
|
|
111
|
+
fr: "Ceci est le contenu d'un exemple de composant client",
|
|
112
|
+
es: "Este es el contenido de un ejemplo de componente cliente",
|
|
113
|
+
}),
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
export default exampleContent;
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
```javascript fileName="component.content.cjs" contentDeclarationFormat="commonjs"
|
|
121
|
+
const { t } = require("intlayer");
|
|
122
|
+
|
|
123
|
+
/** @type {import('intlayer').Dictionary} */
|
|
124
|
+
// Przykładowa zawartość słownika
|
|
125
|
+
const exampleContent = {
|
|
126
|
+
key: "component-example",
|
|
127
|
+
content: {
|
|
128
|
+
title: t({
|
|
129
|
+
en: "Client Component Example",
|
|
130
|
+
fr: "Exemple de composant client",
|
|
131
|
+
es: "Ejemplo de componente cliente",
|
|
132
|
+
}),
|
|
133
|
+
content: t({
|
|
134
|
+
en: "This is the content of a client component example",
|
|
135
|
+
fr: "Ceci est le contenu d'un exemple de composant client",
|
|
136
|
+
es: "Este es el contenido de un ejemplo de componente cliente",
|
|
137
|
+
}),
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
module.exports = exampleContent;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Przykład użycia w komponencie klienta React
|
|
145
|
+
|
|
146
|
+
Poniżej znajduje się przykład, jak użyć hooka `useDictionary` w komponencie React:
|
|
147
|
+
|
|
148
|
+
```tsx fileName="ClientComponentExample.tsx" codeFormat="typescript"
|
|
149
|
+
"use client";
|
|
150
|
+
|
|
151
|
+
import type { FC } from "react";
|
|
152
|
+
import { useDictionary } from "next-intlayer";
|
|
153
|
+
import clientComponentExampleContent from "./component.content";
|
|
154
|
+
|
|
155
|
+
const ClientComponentExample: FC = () => {
|
|
156
|
+
const { title, content } = useDictionary(clientComponentExampleContent);
|
|
157
|
+
|
|
158
|
+
return (
|
|
159
|
+
<div>
|
|
160
|
+
<h1>{title}</h1>
|
|
161
|
+
<p>{content}</p>
|
|
162
|
+
</div>
|
|
163
|
+
);
|
|
164
|
+
};
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
```javascript fileName="ClientComponentExample.mjs" codeFormat="esm"
|
|
168
|
+
"use client";
|
|
169
|
+
|
|
170
|
+
import type { FC } from "react";
|
|
171
|
+
import { useDictionary } from "next-intlayer";
|
|
172
|
+
import exampleContent from "./component.content";
|
|
173
|
+
|
|
174
|
+
const ClientComponentExample: FC = () => {
|
|
175
|
+
const { title, content } = useDictionary(exampleContent);
|
|
176
|
+
|
|
177
|
+
return (
|
|
178
|
+
<div>
|
|
179
|
+
<h1>{title}</h1>
|
|
180
|
+
<p>{content}</p>
|
|
181
|
+
</div>
|
|
182
|
+
);
|
|
183
|
+
};
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
```javascript fileName="ClientComponentExample.cjs" codeFormat="commonjs"
|
|
187
|
+
"use client";
|
|
188
|
+
|
|
189
|
+
const { useDictionary } = require("next-intlayer");
|
|
190
|
+
const exampleContent = require("./component.content");
|
|
191
|
+
|
|
192
|
+
const ClientComponentExample = () => {
|
|
193
|
+
const { title, content } = useDictionary(exampleContent);
|
|
194
|
+
|
|
195
|
+
return (
|
|
196
|
+
<div>
|
|
197
|
+
<h1>{title}</h1>
|
|
198
|
+
<p>{content}</p>
|
|
199
|
+
</div>
|
|
200
|
+
);
|
|
201
|
+
};
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Przykład użycia w komponencie React Server
|
|
205
|
+
|
|
206
|
+
Jeśli używasz hooka `useDictionary` poza `IntlayerServerProvider`, locale musi być jawnie przekazane jako parametr podczas renderowania komponentu:
|
|
207
|
+
|
|
208
|
+
```tsx fileName="ServerComponentExample.tsx" codeFormat="typescript"
|
|
209
|
+
import type { FC } from "react";
|
|
210
|
+
import { useDictionary } from "next-intlayer/server";
|
|
211
|
+
import clientComponentExampleContent from "./component.content";
|
|
212
|
+
|
|
213
|
+
const ServerComponentExample: FC = () => {
|
|
214
|
+
const { content } = useDictionary(clientComponentExampleContent);
|
|
215
|
+
|
|
216
|
+
return (
|
|
217
|
+
<div>
|
|
218
|
+
<h1>{content.title}</h1>
|
|
219
|
+
<p>{content.content}</p>
|
|
220
|
+
</div>
|
|
221
|
+
);
|
|
222
|
+
};
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
```javascript fileName="ServerComponentExample.mjs" codeFormat="esm"
|
|
226
|
+
import { useDictionary } from "next-intlayer/server";
|
|
227
|
+
import clientComponentExampleContent from "./component.content";
|
|
228
|
+
|
|
229
|
+
const ServerComponentExample = () => {
|
|
230
|
+
const { content } = useDictionary(clientComponentExampleContent);
|
|
231
|
+
|
|
232
|
+
return (
|
|
233
|
+
<div>
|
|
234
|
+
<h1>{content.title}</h1>
|
|
235
|
+
<p>{content.content}</p>
|
|
236
|
+
</div>
|
|
237
|
+
);
|
|
238
|
+
};
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
```javascript fileName="ServerComponentExample.cjs" codeFormat="commonjs"
|
|
242
|
+
import { useDictionary } from "next-intlayer/server";
|
|
243
|
+
import clientComponentExampleContent from "./component.content";
|
|
244
|
+
|
|
245
|
+
const ServerComponentExample = () => {
|
|
246
|
+
const { content } = useDictionary(clientComponentExampleContent);
|
|
247
|
+
|
|
248
|
+
return (
|
|
249
|
+
<div>
|
|
250
|
+
<h1>{content.title}</h1>
|
|
251
|
+
<p>{content.content}</p>
|
|
252
|
+
</div>
|
|
253
|
+
);
|
|
254
|
+
};
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
## Uwagi dotyczące atrybutów
|
|
258
|
+
|
|
259
|
+
W przeciwieństwie do integracji wykorzystujących edytory wizualne, atrybuty takie jak `buttonTitle.value` nie mają tutaj zastosowania. Zamiast tego bezpośrednio odwołuj się do zlokalizowanych łańcuchów znaków zadeklarowanych w Twojej zawartości.
|
|
260
|
+
|
|
261
|
+
```jsx
|
|
262
|
+
<button title={content.title}>{content.content}</button>
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Dodatkowe wskazówki
|
|
266
|
+
|
|
267
|
+
- **Bezpieczeństwo typów**: Zawsze używaj `Dictionary` do definiowania swoich słowników, aby zapewnić bezpieczeństwo typów.
|
|
268
|
+
- **Aktualizacje lokalizacji**: Podczas aktualizacji treści upewnij się, że wszystkie lokalizacje są spójne, aby uniknąć brakujących tłumaczeń.
|
|
269
|
+
|
|
270
|
+
Niniejsza dokumentacja koncentruje się na integracji hooka `useDictionary`, oferując uproszczone podejście do zarządzania zlokalizowaną zawartością bez polegania na funkcjonalnościach edytora wizualnego.
|