@intlayer/docs 5.5.11 → 5.6.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/intlayer_with_next-intl.md +0 -1
- package/blog/ar/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/ar/what_is_internationalization.md +2 -2
- package/blog/de/intlayer_with_next-intl.md +0 -1
- package/blog/de/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/de/what_is_internationalization.md +2 -2
- package/blog/en/intlayer_with_next-intl.md +0 -1
- package/blog/en/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/en/what_is_internationalization.md +2 -2
- package/blog/en-GB/intlayer_with_next-intl.md +0 -1
- package/blog/en-GB/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/en-GB/what_is_internationalization.md +2 -2
- package/blog/es/intlayer_with_next-intl.md +0 -1
- package/blog/es/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/es/what_is_internationalization.md +2 -2
- package/blog/fr/intlayer_with_next-intl.md +0 -1
- package/blog/fr/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/fr/what_is_internationalization.md +2 -2
- package/blog/hi/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/hi/what_is_internationalization.md +2 -2
- package/blog/it/intlayer_with_next-intl.md +0 -1
- package/blog/it/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/it/what_is_internationalization.md +2 -2
- package/blog/ja/intlayer_with_next-intl.md +0 -1
- package/blog/ja/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/ja/what_is_internationalization.md +2 -2
- package/blog/ko/intlayer_with_next-intl.md +0 -1
- package/blog/ko/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/pt/intlayer_with_next-intl.md +0 -1
- package/blog/pt/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/pt/what_is_internationalization.md +2 -2
- package/blog/ru/intlayer_with_next-intl.md +0 -1
- package/blog/ru/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/ru/what_is_internationalization.md +2 -2
- package/blog/zh/intlayer_with_next-intl.md +0 -1
- package/blog/zh/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/zh/what_is_internationalization.md +2 -2
- package/dist/cjs/blog.cjs +2 -2
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +17 -6
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs +2 -2
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs +2 -2
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +1152 -252
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +3778 -1124
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +794 -161
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +32 -31
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/legal.cjs +2 -2
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs +2 -2
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +17 -6
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs +2 -2
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs +2 -2
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +1151 -252
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +3777 -1124
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +793 -161
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +31 -31
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/legal.mjs +2 -2
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts +2 -2
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts +5 -2
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/doc.d.ts +2 -2
- package/dist/types/doc.d.ts.map +1 -1
- package/dist/types/frequentQuestions.d.ts +2 -2
- package/dist/types/frequentQuestions.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/dist/types/legal.d.ts +2 -2
- package/dist/types/legal.d.ts.map +1 -1
- package/docs/ar/intlayer_CMS.md +1 -0
- package/docs/ar/intlayer_cli.md +292 -177
- package/docs/ar/intlayer_visual_editor.md +1 -0
- package/docs/ar/intlayer_with_angular.md +1 -0
- package/docs/ar/intlayer_with_create_react_app.md +1 -0
- package/docs/ar/intlayer_with_lynx+react.md +1 -0
- package/docs/ar/intlayer_with_nextjs_14.md +1 -0
- package/docs/ar/intlayer_with_nextjs_15.md +3 -1
- package/docs/ar/intlayer_with_nuxt.md +1 -0
- package/docs/ar/intlayer_with_react_native+expo.md +1 -0
- package/docs/ar/intlayer_with_vite+preact.md +4 -3
- package/docs/ar/intlayer_with_vite+react.md +108 -112
- package/docs/ar/intlayer_with_vite+solid.md +4 -3
- package/docs/ar/intlayer_with_vite+svelte.md +4 -3
- package/docs/ar/intlayer_with_vite+vue.md +5 -4
- package/docs/ar/mcp_server.md +126 -92
- package/docs/de/intlayer_CMS.md +1 -0
- package/docs/de/intlayer_cli.md +291 -171
- package/docs/de/intlayer_visual_editor.md +1 -0
- package/docs/de/intlayer_with_angular.md +1 -0
- package/docs/de/intlayer_with_create_react_app.md +1 -0
- package/docs/de/intlayer_with_lynx+react.md +1 -0
- package/docs/de/intlayer_with_nextjs_14.md +1 -0
- package/docs/de/intlayer_with_nextjs_15.md +3 -1
- package/docs/de/intlayer_with_nuxt.md +1 -0
- package/docs/de/intlayer_with_react_native+expo.md +1 -0
- package/docs/de/intlayer_with_vite+preact.md +4 -3
- package/docs/de/intlayer_with_vite+react.md +128 -146
- package/docs/de/intlayer_with_vite+solid.md +4 -3
- package/docs/de/intlayer_with_vite+svelte.md +4 -3
- package/docs/de/intlayer_with_vite+vue.md +5 -4
- package/docs/de/mcp_server.md +116 -112
- package/docs/en/CI_CD.md +3 -1
- package/docs/en/autoFill.md +3 -1
- package/docs/en/configuration.md +7 -3
- package/docs/en/dictionary/condition.md +3 -1
- package/docs/en/dictionary/content_extention_customization.md +3 -1
- package/docs/en/dictionary/enumeration.md +3 -1
- package/docs/en/dictionary/file.md +3 -1
- package/docs/en/dictionary/function_fetching.md +3 -1
- package/docs/en/dictionary/get_started.md +3 -1
- package/docs/en/dictionary/insertion.md +3 -1
- package/docs/en/dictionary/markdown.md +3 -1
- package/docs/en/dictionary/nesting.md +3 -1
- package/docs/en/dictionary/translation.md +3 -1
- package/docs/en/how_works_intlayer.md +3 -1
- package/docs/en/index.md +3 -1
- package/docs/en/interest_of_intlayer.md +3 -1
- package/docs/en/intlayer_CMS.md +4 -1
- package/docs/en/intlayer_cli.md +246 -136
- package/docs/en/intlayer_visual_editor.md +4 -1
- package/docs/en/intlayer_with_angular.md +4 -1
- package/docs/en/intlayer_with_create_react_app.md +4 -1
- package/docs/en/intlayer_with_express.md +3 -1
- package/docs/en/intlayer_with_lynx+react.md +4 -1
- package/docs/en/intlayer_with_nextjs_14.md +7 -1
- package/docs/en/intlayer_with_nextjs_15.md +8 -2
- package/docs/en/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/en/intlayer_with_nuxt.md +4 -1
- package/docs/en/intlayer_with_react_native+expo.md +4 -1
- package/docs/en/intlayer_with_vite+preact.md +9 -4
- package/docs/en/intlayer_with_vite+react.md +18 -10
- package/docs/en/intlayer_with_vite+solid.md +7 -4
- package/docs/en/intlayer_with_vite+svelte.md +7 -4
- package/docs/en/intlayer_with_vite+vue.md +10 -5
- package/docs/en/introduction.md +3 -1
- package/docs/en/mcp_server.md +114 -80
- package/docs/en/packages/@intlayer/api/index.md +3 -1
- package/docs/en/packages/@intlayer/chokidar/index.md +3 -1
- package/docs/en/packages/@intlayer/cli/index.md +3 -1
- package/docs/en/packages/@intlayer/config/index.md +3 -1
- package/docs/en/packages/@intlayer/core/index.md +3 -1
- package/docs/en/packages/@intlayer/design-system/index.md +3 -1
- package/docs/en/packages/@intlayer/dictionary-entry/index.md +3 -1
- package/docs/en/packages/@intlayer/editor/index.md +3 -1
- package/docs/en/packages/@intlayer/editor-react/index.md +3 -1
- package/docs/en/packages/@intlayer/webpack/index.md +3 -1
- package/docs/en/packages/angular-intlayer/index.md +3 -1
- package/docs/en/packages/express-intlayer/index.md +3 -1
- package/docs/en/packages/express-intlayer/t.md +3 -1
- package/docs/en/packages/intlayer/getConfiguration.md +3 -1
- package/docs/en/packages/intlayer/getEnumeration.md +3 -1
- package/docs/en/packages/intlayer/getHTMLTextDir.md +3 -1
- package/docs/en/packages/intlayer/getLocaleLang.md +3 -1
- package/docs/en/packages/intlayer/getLocaleName.md +3 -1
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -1
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -1
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +3 -1
- package/docs/en/packages/intlayer/getTranslation.md +3 -1
- package/docs/en/packages/intlayer/getTranslationContent.md +3 -1
- package/docs/en/packages/intlayer/index.md +3 -1
- package/docs/en/packages/intlayer-cli/index.md +3 -1
- package/docs/en/packages/intlayer-editor/index.md +3 -1
- package/docs/en/packages/lynx-intlayer/index.md +3 -1
- package/docs/en/packages/next-intlayer/index.md +3 -1
- package/docs/en/packages/next-intlayer/t.md +3 -1
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -1
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -1
- package/docs/en/packages/next-intlayer/useIntlayerAsync.md +3 -1
- package/docs/en/packages/next-intlayer/useLocale.md +3 -1
- package/docs/en/packages/nuxt-intlayer/index.md +3 -1
- package/docs/en/packages/preact-intlayer/index.md +3 -1
- package/docs/en/packages/react-intlayer/index.md +3 -1
- package/docs/en/packages/react-intlayer/t.md +3 -1
- package/docs/en/packages/react-intlayer/useDictionary.md +3 -1
- package/docs/en/packages/react-intlayer/useIntlayer.md +3 -1
- package/docs/en/packages/react-intlayer/useIntlayerAsync.md +3 -1
- package/docs/en/packages/react-intlayer/useLocale.md +3 -1
- package/docs/en/packages/react-native-intlayer/index.md +3 -1
- package/docs/en/packages/react-scripts-intlayer/index.md +3 -1
- package/docs/en/packages/solid-intlayer/index.md +3 -1
- package/docs/en/packages/svelte-intlayer/index.md +3 -1
- package/docs/en/packages/vite-intlayer/index.md +3 -1
- package/docs/en/packages/vue-intlayer/index.md +3 -1
- package/docs/en/per_locale_file.md +3 -1
- package/docs/en/roadmap.md +5 -2
- package/docs/en/vs_code_extension.md +3 -1
- package/docs/en-GB/intlayer_CMS.md +1 -0
- package/docs/en-GB/intlayer_cli.md +257 -138
- package/docs/en-GB/intlayer_visual_editor.md +1 -0
- package/docs/en-GB/intlayer_with_angular.md +1 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +1 -0
- package/docs/en-GB/intlayer_with_lynx+react.md +1 -0
- package/docs/en-GB/intlayer_with_nextjs_14.md +1 -0
- package/docs/en-GB/intlayer_with_nextjs_15.md +3 -1
- package/docs/en-GB/intlayer_with_nuxt.md +1 -0
- package/docs/en-GB/intlayer_with_react_native+expo.md +1 -0
- package/docs/en-GB/intlayer_with_vite+preact.md +4 -3
- package/docs/en-GB/intlayer_with_vite+react.md +71 -87
- package/docs/en-GB/intlayer_with_vite+solid.md +4 -3
- package/docs/en-GB/intlayer_with_vite+svelte.md +4 -3
- package/docs/en-GB/intlayer_with_vite+vue.md +5 -4
- package/docs/en-GB/mcp_server.md +116 -82
- package/docs/es/intlayer_CMS.md +1 -0
- package/docs/es/intlayer_cli.md +283 -164
- package/docs/es/intlayer_visual_editor.md +1 -0
- package/docs/es/intlayer_with_angular.md +1 -0
- package/docs/es/intlayer_with_create_react_app.md +1 -0
- package/docs/es/intlayer_with_lynx+react.md +1 -0
- package/docs/es/intlayer_with_nextjs_14.md +1 -0
- package/docs/es/intlayer_with_nextjs_15.md +3 -1
- package/docs/es/intlayer_with_nuxt.md +1 -0
- package/docs/es/intlayer_with_react_native+expo.md +1 -0
- package/docs/es/intlayer_with_vite+preact.md +4 -3
- package/docs/es/intlayer_with_vite+react.md +98 -98
- package/docs/es/intlayer_with_vite+solid.md +4 -3
- package/docs/es/intlayer_with_vite+svelte.md +4 -3
- package/docs/es/intlayer_with_vite+vue.md +5 -4
- package/docs/es/mcp_server.md +120 -86
- package/docs/es/vs_code_extension.md +1 -0
- package/docs/fr/intlayer_CMS.md +1 -0
- package/docs/fr/intlayer_cli.md +280 -184
- package/docs/fr/intlayer_visual_editor.md +1 -0
- package/docs/fr/intlayer_with_angular.md +1 -0
- package/docs/fr/intlayer_with_create_react_app.md +1 -0
- package/docs/fr/intlayer_with_lynx+react.md +1 -0
- package/docs/fr/intlayer_with_nextjs_14.md +1 -0
- package/docs/fr/intlayer_with_nextjs_15.md +3 -1
- package/docs/fr/intlayer_with_nuxt.md +1 -0
- package/docs/fr/intlayer_with_react_native+expo.md +1 -0
- package/docs/fr/intlayer_with_vite+preact.md +5 -4
- package/docs/fr/intlayer_with_vite+react.md +80 -69
- package/docs/fr/intlayer_with_vite+solid.md +4 -3
- package/docs/fr/intlayer_with_vite+svelte.md +4 -3
- package/docs/fr/intlayer_with_vite+vue.md +5 -4
- package/docs/fr/mcp_server.md +121 -87
- package/docs/hi/intlayer_CMS.md +1 -0
- package/docs/hi/intlayer_cli.md +295 -174
- package/docs/hi/intlayer_visual_editor.md +1 -0
- package/docs/hi/intlayer_with_angular.md +1 -0
- package/docs/hi/intlayer_with_create_react_app.md +1 -0
- package/docs/hi/intlayer_with_lynx+react.md +1 -0
- package/docs/hi/intlayer_with_nextjs_14.md +1 -0
- package/docs/hi/intlayer_with_nextjs_15.md +3 -1
- package/docs/hi/intlayer_with_nuxt.md +1 -0
- package/docs/hi/intlayer_with_react_native+expo.md +1 -0
- package/docs/hi/intlayer_with_vite+preact.md +4 -3
- package/docs/hi/intlayer_with_vite+react.md +114 -111
- package/docs/hi/intlayer_with_vite+solid.md +4 -3
- package/docs/hi/intlayer_with_vite+svelte.md +4 -3
- package/docs/hi/intlayer_with_vite+vue.md +5 -4
- package/docs/hi/mcp_server.md +118 -84
- package/docs/it/intlayer_CMS.md +1 -0
- package/docs/it/intlayer_cli.md +282 -167
- package/docs/it/intlayer_visual_editor.md +1 -0
- package/docs/it/intlayer_with_angular.md +1 -0
- package/docs/it/intlayer_with_create_react_app.md +1 -0
- package/docs/it/intlayer_with_lynx+react.md +1 -0
- package/docs/it/intlayer_with_nextjs_14.md +1 -0
- package/docs/it/intlayer_with_nextjs_15.md +3 -1
- package/docs/it/intlayer_with_nuxt.md +1 -0
- package/docs/it/intlayer_with_react_native+expo.md +1 -0
- package/docs/it/intlayer_with_vite+preact.md +4 -3
- package/docs/it/intlayer_with_vite+react.md +163 -116
- package/docs/it/intlayer_with_vite+solid.md +4 -3
- package/docs/it/intlayer_with_vite+svelte.md +4 -3
- package/docs/it/intlayer_with_vite+vue.md +4 -4
- package/docs/it/mcp_server.md +120 -86
- package/docs/ja/intlayer_CMS.md +1 -0
- package/docs/ja/intlayer_cli.md +285 -168
- package/docs/ja/intlayer_visual_editor.md +1 -0
- package/docs/ja/intlayer_with_angular.md +1 -0
- package/docs/ja/intlayer_with_create_react_app.md +1 -0
- package/docs/ja/intlayer_with_lynx+react.md +1 -0
- package/docs/ja/intlayer_with_nextjs_14.md +1 -0
- package/docs/ja/intlayer_with_nextjs_15.md +3 -1
- package/docs/ja/intlayer_with_nuxt.md +1 -0
- package/docs/ja/intlayer_with_react_native+expo.md +1 -0
- package/docs/ja/intlayer_with_vite+preact.md +4 -3
- package/docs/ja/intlayer_with_vite+react.md +160 -222
- package/docs/ja/intlayer_with_vite+solid.md +4 -3
- package/docs/ja/intlayer_with_vite+svelte.md +4 -3
- package/docs/ja/intlayer_with_vite+vue.md +5 -4
- package/docs/ja/mcp_server.md +121 -85
- package/docs/ko/intlayer_CMS.md +1 -0
- package/docs/ko/intlayer_cli.md +291 -175
- package/docs/ko/intlayer_visual_editor.md +1 -0
- package/docs/ko/intlayer_with_angular.md +1 -0
- package/docs/ko/intlayer_with_create_react_app.md +1 -0
- package/docs/ko/intlayer_with_lynx+react.md +1 -0
- package/docs/ko/intlayer_with_nextjs_14.md +1 -0
- package/docs/ko/intlayer_with_nextjs_15.md +3 -1
- package/docs/ko/intlayer_with_nuxt.md +1 -0
- package/docs/ko/intlayer_with_react_native+expo.md +1 -0
- package/docs/ko/intlayer_with_vite+preact.md +4 -3
- package/docs/ko/intlayer_with_vite+react.md +123 -152
- package/docs/ko/intlayer_with_vite+solid.md +4 -3
- package/docs/ko/intlayer_with_vite+svelte.md +4 -3
- package/docs/ko/intlayer_with_vite+vue.md +5 -4
- package/docs/ko/mcp_server.md +117 -83
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +1 -23
- package/docs/pt/intlayer_CMS.md +1 -0
- package/docs/pt/intlayer_cli.md +274 -154
- package/docs/pt/intlayer_visual_editor.md +1 -0
- package/docs/pt/intlayer_with_angular.md +1 -0
- package/docs/pt/intlayer_with_create_react_app.md +1 -0
- package/docs/pt/intlayer_with_lynx+react.md +1 -0
- package/docs/pt/intlayer_with_nextjs_14.md +1 -0
- package/docs/pt/intlayer_with_nextjs_15.md +3 -1
- package/docs/pt/intlayer_with_nuxt.md +1 -0
- package/docs/pt/intlayer_with_react_native+expo.md +1 -0
- package/docs/pt/intlayer_with_vite+preact.md +4 -3
- package/docs/pt/intlayer_with_vite+react.md +117 -136
- package/docs/pt/intlayer_with_vite+solid.md +4 -3
- package/docs/pt/intlayer_with_vite+svelte.md +4 -3
- package/docs/pt/intlayer_with_vite+vue.md +4 -4
- package/docs/pt/mcp_server.md +121 -87
- package/docs/ru/intlayer_CMS.md +1 -0
- package/docs/ru/intlayer_cli.md +287 -170
- package/docs/ru/intlayer_visual_editor.md +1 -0
- package/docs/ru/intlayer_with_angular.md +1 -0
- package/docs/ru/intlayer_with_create_react_app.md +1 -0
- package/docs/ru/intlayer_with_lynx+react.md +1 -0
- package/docs/ru/intlayer_with_nextjs_14.md +1 -0
- package/docs/ru/intlayer_with_nextjs_15.md +3 -1
- package/docs/ru/intlayer_with_nuxt.md +1 -0
- package/docs/ru/intlayer_with_react_native+expo.md +1 -0
- package/docs/ru/intlayer_with_vite+preact.md +4 -3
- package/docs/ru/intlayer_with_vite+react.md +105 -87
- package/docs/ru/intlayer_with_vite+solid.md +4 -3
- package/docs/ru/intlayer_with_vite+svelte.md +4 -3
- package/docs/ru/intlayer_with_vite+vue.md +5 -4
- package/docs/ru/mcp_server.md +119 -85
- package/docs/zh/intlayer_CMS.md +1 -0
- package/docs/zh/intlayer_cli.md +275 -155
- package/docs/zh/intlayer_visual_editor.md +1 -0
- package/docs/zh/intlayer_with_angular.md +1 -0
- package/docs/zh/intlayer_with_create_react_app.md +1 -0
- package/docs/zh/intlayer_with_lynx+react.md +1 -0
- package/docs/zh/intlayer_with_nextjs_14.md +1 -0
- package/docs/zh/intlayer_with_nextjs_15.md +3 -1
- package/docs/zh/intlayer_with_nuxt.md +1 -0
- package/docs/zh/intlayer_with_react_native+expo.md +1 -0
- package/docs/zh/intlayer_with_vite+preact.md +4 -3
- package/docs/zh/intlayer_with_vite+react.md +154 -188
- package/docs/zh/intlayer_with_vite+solid.md +4 -3
- package/docs/zh/intlayer_with_vite+svelte.md +4 -3
- package/docs/zh/intlayer_with_vite+vue.md +5 -4
- package/docs/zh/mcp_server.md +119 -86
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +1 -23
- package/frequent_questions/ar/build_error_CI_CD.md +75 -0
- package/frequent_questions/de/build_error_CI_CD.md +75 -0
- package/frequent_questions/en/build_error_CI_CD.md +75 -0
- package/frequent_questions/en-GB/build_error_CI_CD.md +75 -0
- package/frequent_questions/es/build_error_CI_CD.md +75 -0
- package/frequent_questions/fr/build_error_CI_CD.md +75 -0
- package/frequent_questions/hi/build_error_CI_CD.md +75 -0
- package/frequent_questions/it/build_error_CI_CD.md +75 -0
- package/frequent_questions/ja/build_error_CI_CD.md +75 -0
- package/frequent_questions/ja/intlayer_command_undefined.md +3 -3
- package/frequent_questions/ko/build_error_CI_CD.md +75 -0
- package/frequent_questions/ko/intlayer_command_undefined.md +3 -3
- package/frequent_questions/pt/build_error_CI_CD.md +75 -0
- package/frequent_questions/ru/build_error_CI_CD.md +75 -0
- package/frequent_questions/zh/build_error_CI_CD.md +75 -0
- package/frequent_questions/zh/intlayer_command_undefined.md +3 -3
- package/legal/ar/privacy_notice.md +83 -0
- package/legal/ar/terms_of_service.md +55 -0
- package/legal/de/privacy_notice.md +83 -0
- package/legal/de/terms_of_service.md +55 -0
- package/legal/en/privacy_notice.md +83 -0
- package/legal/en/terms_of_service.md +55 -0
- package/legal/en-GB/privacy_notice.md +83 -0
- package/legal/en-GB/terms_of_service.md +55 -0
- package/legal/es/privacy_notice.md +83 -0
- package/legal/es/terms_of_service.md +55 -0
- package/legal/fr/privacy_notice.md +83 -0
- package/legal/fr/terms_of_service.md +55 -0
- package/legal/hi/privacy_notice.md +83 -0
- package/legal/hi/terms_of_service.md +55 -0
- package/legal/it/privacy_notice.md +83 -0
- package/legal/it/terms_of_service.md +55 -0
- package/legal/ja/privacy_notice.md +83 -0
- package/legal/ja/terms_of_service.md +55 -0
- package/legal/ko/privacy_notice.md +83 -0
- package/legal/ko/terms_of_service.md +55 -0
- package/legal/pt/privacy_notice.md +83 -0
- package/legal/pt/terms_of_service.md +55 -0
- package/legal/ru/privacy_notice.md +83 -0
- package/legal/ru/terms_of_service.md +55 -0
- package/legal/zh/privacy_notice.md +83 -0
- package/legal/zh/terms_of_service.md +55 -0
- package/package.json +12 -11
- package/src/blog.ts +6 -4
- package/src/common.ts +25 -7
- package/src/doc.ts +6 -4
- package/src/frequentQuestions.ts +6 -4
- package/src/generated/blog.entry.ts +1177 -280
- package/src/generated/docs.entry.ts +3868 -1217
- package/src/generated/frequentQuestions.entry.ts +808 -178
- package/src/generated/legal.entry.ts +34 -36
- package/src/legal.ts +6 -4
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
---
|
|
2
|
-
createdAt:
|
|
3
|
-
updatedAt:
|
|
4
|
-
title:
|
|
5
|
-
description: जानें कि
|
|
2
|
+
createdAt: 2024-03-07
|
|
3
|
+
updatedAt: 2024-03-07
|
|
4
|
+
title: Vite + React में Intlayer के साथ शुरुआत करना
|
|
5
|
+
description: जानें कि कैसे Intlayer का उपयोग करके अपने Vite और React एप्लिकेशन में अंतरराष्ट्रीयकरण (i18n) जोड़ें। इस गाइड का पालन करके अपनी ऐप को बहुभाषी बनाएं।
|
|
6
6
|
keywords:
|
|
7
7
|
- अंतरराष्ट्रीयकरण
|
|
8
8
|
- दस्तावेज़ीकरण
|
|
9
9
|
- Intlayer
|
|
10
10
|
- Vite
|
|
11
11
|
- React
|
|
12
|
-
-
|
|
12
|
+
- i18n
|
|
13
13
|
- JavaScript
|
|
14
14
|
slugs:
|
|
15
15
|
- doc
|
|
16
16
|
- environment
|
|
17
|
-
-
|
|
18
|
-
|
|
17
|
+
- vite-and-react
|
|
18
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-vite-react-template
|
|
19
|
+
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4---
|
|
20
|
+
|
|
21
|
+
# Intlayer और Vite और React के साथ अंतरराष्ट्रीयकरण (i18n) शुरू करना
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
<iframe title="The best i18n solution for Vite and React? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
21
24
|
|
|
22
25
|
GitHub पर [एप्लिकेशन टेम्पलेट](https://github.com/aymericzip/intlayer-vite-react-template) देखें।
|
|
23
26
|
|
|
@@ -27,9 +30,9 @@ GitHub पर [एप्लिकेशन टेम्पलेट](https://git
|
|
|
27
30
|
|
|
28
31
|
Intlayer के साथ, आप कर सकते हैं:
|
|
29
32
|
|
|
30
|
-
- **घोषणात्मक शब्दकोशों का उपयोग
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
+
- **घोषणात्मक शब्दकोशों का उपयोग करके** कंपोनेंट स्तर पर अनुवादों का आसानी से प्रबंधन करें।
|
|
34
|
+
- **मेटाडेटा**, रूट्स, और सामग्री को गतिशील रूप से स्थानीयकृत करें।
|
|
35
|
+
- **स्वचालित रूप से उत्पन्न प्रकारों के साथ TypeScript समर्थन सुनिश्चित करें**, जिससे ऑटोकम्प्लीशन और त्रुटि पहचान में सुधार होता है।
|
|
33
36
|
- **उन्नत सुविधाओं का लाभ उठाएं**, जैसे गतिशील लोकल डिटेक्शन और स्विचिंग।
|
|
34
37
|
|
|
35
38
|
---
|
|
@@ -42,17 +45,17 @@ npm का उपयोग करके आवश्यक पैकेज स
|
|
|
42
45
|
|
|
43
46
|
```bash packageManager="npm"
|
|
44
47
|
npm install intlayer react-intlayer
|
|
45
|
-
npm install --save-dev
|
|
48
|
+
npm install vite-intlayer --save-dev
|
|
46
49
|
```
|
|
47
50
|
|
|
48
51
|
```bash packageManager="pnpm"
|
|
49
52
|
pnpm add intlayer react-intlayer
|
|
50
|
-
pnpm add --save-dev
|
|
53
|
+
pnpm add vite-intlayer --save-dev
|
|
51
54
|
```
|
|
52
55
|
|
|
53
56
|
```bash packageManager="yarn"
|
|
54
57
|
yarn add intlayer react-intlayer
|
|
55
|
-
yarn add --save-dev
|
|
58
|
+
yarn add vite-intlayer --save-dev
|
|
56
59
|
```
|
|
57
60
|
|
|
58
61
|
- **intlayer**
|
|
@@ -63,7 +66,7 @@ yarn add --save-dev vite-intlayer
|
|
|
63
66
|
वह पैकेज जो Intlayer को React एप्लिकेशन के साथ एकीकृत करता है। यह React अंतरराष्ट्रीयकरण के लिए संदर्भ प्रदाता और हुक्स प्रदान करता है।
|
|
64
67
|
|
|
65
68
|
- **vite-intlayer**
|
|
66
|
-
|
|
69
|
+
Vite प्लगइन शामिल करता है जो Intlayer को [Vite बंडलर](https://vite.dev/guide/why.html#why-bundle-for-production) के साथ एकीकृत करता है, साथ ही उपयोगकर्ता की पसंदीदा लोकल का पता लगाने, कुकीज़ प्रबंधित करने, और URL पुनर्निर्देशन को संभालने के लिए मिडलवेयर भी प्रदान करता है।
|
|
67
70
|
|
|
68
71
|
### चरण 2: अपने प्रोजेक्ट का कॉन्फ़िगरेशन
|
|
69
72
|
|
|
@@ -125,7 +128,7 @@ const config = {
|
|
|
125
128
|
module.exports = config;
|
|
126
129
|
```
|
|
127
130
|
|
|
128
|
-
> इस कॉन्फ़िगरेशन फ़ाइल के माध्यम से, आप स्थानीयकृत URL, मिडलवेयर
|
|
131
|
+
> इस कॉन्फ़िगरेशन फ़ाइल के माध्यम से, आप स्थानीयकृत URL, मिडलवेयर रीडायरेक्शन, कुकी नाम, आपकी सामग्री घोषणाओं का स्थान और एक्सटेंशन सेट कर सकते हैं, कंसोल में Intlayer लॉग को अक्षम कर सकते हैं, और भी बहुत कुछ। उपलब्ध सभी पैरामीटर की पूरी सूची के लिए, [कॉन्फ़िगरेशन दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) देखें।
|
|
129
132
|
|
|
130
133
|
### चरण 3: अपने Vite कॉन्फ़िगरेशन में Intlayer को एकीकृत करें
|
|
131
134
|
|
|
@@ -164,11 +167,11 @@ module.exports = defineConfig({
|
|
|
164
167
|
});
|
|
165
168
|
```
|
|
166
169
|
|
|
167
|
-
> `intlayerPlugin()` Vite प्लगइन का उपयोग Intlayer को Vite के साथ एकीकृत करने के लिए किया जाता है। यह कंटेंट घोषणा फ़ाइलों के निर्माण को सुनिश्चित करता है और विकास मोड में
|
|
170
|
+
> `intlayerPlugin()` Vite प्लगइन का उपयोग Intlayer को Vite के साथ एकीकृत करने के लिए किया जाता है। यह कंटेंट घोषणा फ़ाइलों के निर्माण को सुनिश्चित करता है और विकास मोड में उनकी निगरानी करता है। यह Vite एप्लिकेशन के भीतर Intlayer पर्यावरण चर को परिभाषित करता है। इसके अतिरिक्त, यह प्रदर्शन को अनुकूलित करने के लिए उपनाम प्रदान करता है।
|
|
168
171
|
|
|
169
172
|
### चरण 4: अपनी सामग्री घोषित करें
|
|
170
173
|
|
|
171
|
-
अनुवाद संग्रहीत करने के लिए अपनी सामग्री
|
|
174
|
+
अनुवाद संग्रहीत करने के लिए अपनी सामग्री घोषणाएँ बनाएं और प्रबंधित करें:
|
|
172
175
|
|
|
173
176
|
```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
|
|
174
177
|
import { t, type Dictionary } from "intlayer";
|
|
@@ -256,10 +259,10 @@ const appContent = {
|
|
|
256
259
|
t <
|
|
257
260
|
ReactNode >
|
|
258
261
|
{
|
|
259
|
-
// यदि आप अपनी सामग्री में React
|
|
262
|
+
// यदि आप अपनी सामग्री में React node का उपयोग कर रहे हैं तो React को आयात करना न भूलें
|
|
260
263
|
en: (
|
|
261
264
|
<>
|
|
262
|
-
Edit <code>src/App.tsx</code> और HMR
|
|
265
|
+
Edit <code>src/App.tsx</code> और HMR परीक्षण के लिए सहेजें
|
|
263
266
|
</>
|
|
264
267
|
),
|
|
265
268
|
fr: (
|
|
@@ -275,7 +278,7 @@ const appContent = {
|
|
|
275
278
|
},
|
|
276
279
|
|
|
277
280
|
readTheDocs: t({
|
|
278
|
-
en: "Vite और React लोगो पर क्लिक
|
|
281
|
+
en: "Vite और React लोगो पर क्लिक करें अधिक जानने के लिए",
|
|
279
282
|
fr: "Cliquez sur les logos Vite et React pour en savoir plus",
|
|
280
283
|
es: "Haga clic en los logotipos de Vite y React para obtener más información",
|
|
281
284
|
}),
|
|
@@ -315,10 +318,10 @@ const appContent = {
|
|
|
315
318
|
t <
|
|
316
319
|
ReactNode >
|
|
317
320
|
{
|
|
318
|
-
// यदि आप अपनी सामग्री में React node का उपयोग करते हैं तो React को
|
|
321
|
+
// यदि आप अपनी सामग्री में React node का उपयोग करते हैं तो React को import करना न भूलें
|
|
319
322
|
en: (
|
|
320
323
|
<>
|
|
321
|
-
Edit <code>src/App.tsx</code> और HMR
|
|
324
|
+
Edit <code>src/App.tsx</code> और HMR परीक्षण के लिए सहेजें
|
|
322
325
|
</>
|
|
323
326
|
),
|
|
324
327
|
fr: (
|
|
@@ -328,7 +331,7 @@ const appContent = {
|
|
|
328
331
|
),
|
|
329
332
|
es: (
|
|
330
333
|
<>
|
|
331
|
-
Edita <code>src/App.tsx</code> और HMR
|
|
334
|
+
Edita <code>src/App.tsx</code> और HMR परीक्षण के लिए सहेजें
|
|
332
335
|
</>
|
|
333
336
|
),
|
|
334
337
|
},
|
|
@@ -405,7 +408,7 @@ module.exports = appContent;
|
|
|
405
408
|
}
|
|
406
409
|
```
|
|
407
410
|
|
|
408
|
-
> आपकी सामग्री घोषणाएँ
|
|
411
|
+
> आपकी सामग्री घोषणाएँ आपके एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब वे `contentDir` निर्देशिका (डिफ़ॉल्ट रूप से, `./src`) में शामिल हो जाती हैं। और सामग्री घोषणा फ़ाइल एक्सटेंशन से मेल खाती हैं (डिफ़ॉल्ट रूप से, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)।
|
|
409
412
|
|
|
410
413
|
> अधिक विवरण के लिए, [सामग्री घोषणा प्रलेखन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/get_started.md) देखें।
|
|
411
414
|
|
|
@@ -556,17 +559,17 @@ const App = () => (
|
|
|
556
559
|
module.exports = App;
|
|
557
560
|
```
|
|
558
561
|
|
|
559
|
-
> यदि आप अपने कंटेंट का उपयोग किसी `string`
|
|
562
|
+
> यदि आप अपने कंटेंट का उपयोग किसी `string` एट्रिब्यूट में करना चाहते हैं, जैसे कि `alt`, `title`, `href`, `aria-label`, आदि, तो आपको फ़ंक्शन के मान को कॉल करना होगा, जैसे:
|
|
560
563
|
|
|
561
564
|
> ```jsx
|
|
562
565
|
> <img src={content.image.src.value} alt={content.image.value} />
|
|
563
566
|
> ```
|
|
564
567
|
|
|
565
|
-
> `useIntlayer` हुक के बारे में अधिक जानने के लिए, [
|
|
568
|
+
> `useIntlayer` हुक के बारे में अधिक जानने के लिए, [डॉक्यूमेंटेशन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/react-intlayer/useIntlayer.md) देखें।
|
|
566
569
|
|
|
567
570
|
### (वैकल्पिक) चरण 6: अपनी सामग्री की भाषा बदलें
|
|
568
571
|
|
|
569
|
-
अपनी सामग्री की भाषा बदलने के लिए, आप `useLocale` हुक द्वारा प्रदान किया गया `setLocale` फ़ंक्शन उपयोग कर सकते हैं। यह फ़ंक्शन आपको एप्लिकेशन की
|
|
572
|
+
अपनी सामग्री की भाषा बदलने के लिए, आप `useLocale` हुक द्वारा प्रदान किया गया `setLocale` फ़ंक्शन उपयोग कर सकते हैं। यह फ़ंक्शन आपको एप्लिकेशन की लोकल सेट करने और सामग्री को तदनुसार अपडेट करने की अनुमति देता है।
|
|
570
573
|
|
|
571
574
|
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
572
575
|
import type { FC } from "react";
|
|
@@ -618,7 +621,7 @@ const LocaleSwitcher = () => {
|
|
|
618
621
|
|
|
619
622
|
### (वैकल्पिक) चरण 7: अपने एप्लिकेशन में स्थानीयकृत रूटिंग जोड़ें
|
|
620
623
|
|
|
621
|
-
इस चरण का उद्देश्य प्रत्येक भाषा के लिए अद्वितीय रूट बनाना है। यह SEO और SEO-अनुकूल
|
|
624
|
+
इस चरण का उद्देश्य प्रत्येक भाषा के लिए अद्वितीय रूट बनाना है। यह SEO और SEO-अनुकूल URLs के लिए उपयोगी है।
|
|
622
625
|
उदाहरण:
|
|
623
626
|
|
|
624
627
|
```plaintext
|
|
@@ -627,14 +630,14 @@ const LocaleSwitcher = () => {
|
|
|
627
630
|
- https://example.com/fr/about
|
|
628
631
|
```
|
|
629
632
|
|
|
630
|
-
> डिफ़ॉल्ट रूप से, डिफ़ॉल्ट लोकल के लिए रूट्स
|
|
633
|
+
> डिफ़ॉल्ट रूप से, डिफ़ॉल्ट लोकल के लिए रूट्स को कोई प्रीफ़िक्स नहीं दिया जाता है। यदि आप डिफ़ॉल्ट लोकल के लिए प्रीफ़िक्स जोड़ना चाहते हैं, तो आप अपनी कॉन्फ़िगरेशन में `middleware.prefixDefault` विकल्प को `true` पर सेट कर सकते हैं। अधिक जानकारी के लिए [कॉन्फ़िगरेशन दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) देखें।
|
|
631
634
|
|
|
632
|
-
अपने एप्लिकेशन में स्थानीयकृत रूटिंग जोड़ने के लिए, आप एक `LocaleRouter` कॉम्पोनेंट बना सकते हैं जो आपके एप्लिकेशन के रूट्स को लपेटता है और लोकल-आधारित रूटिंग को संभालता है। यहाँ [React Router](https://reactrouter.com/home) का उपयोग करते हुए एक उदाहरण है:
|
|
635
|
+
अपने एप्लिकेशन में स्थानीयकृत रूटिंग जोड़ने के लिए, आप एक `LocaleRouter` कॉम्पोनेंट बना सकते हैं जो आपके एप्लिकेशन के रूट्स को लपेटता है और लोकल-आधारित रूटिंग को संभालता है। यहाँ [React Router](https://reactrouter.com/home) का उपयोग करते हुए एक उदाहरण दिया गया है:
|
|
633
636
|
|
|
634
637
|
```tsx fileName="src/components/LocaleRouter.tsx" codeFormat="typescript"
|
|
635
638
|
// आवश्यक निर्भरताओं और फ़ंक्शंस को इम्पोर्ट करना
|
|
636
|
-
import { type Locales, configuration, getPathWithoutLocale } from "intlayer"; // 'intlayer' से
|
|
637
|
-
import type { FC, PropsWithChildren } from "react"; //
|
|
639
|
+
import { type Locales, configuration, getPathWithoutLocale } from "intlayer"; // 'intlayer' से उपयोगिता फ़ंक्शन और प्रकार
|
|
640
|
+
import type { FC, PropsWithChildren } from "react"; // कार्यात्मक घटकों और प्रॉप्स के लिए React प्रकार
|
|
638
641
|
import { IntlayerProvider } from "react-intlayer"; // अंतरराष्ट्रीयकरण संदर्भ के लिए प्रदाता
|
|
639
642
|
import {
|
|
640
643
|
BrowserRouter,
|
|
@@ -642,14 +645,14 @@ import {
|
|
|
642
645
|
Route,
|
|
643
646
|
Navigate,
|
|
644
647
|
useLocation,
|
|
645
|
-
} from "react-router-dom"; // नेविगेशन प्रबंधन के लिए राउटर
|
|
648
|
+
} from "react-router-dom"; // नेविगेशन प्रबंधन के लिए राउटर घटक
|
|
646
649
|
|
|
647
650
|
// Intlayer से कॉन्फ़िगरेशन को डीस्ट्रक्चर करना
|
|
648
651
|
const { internationalization, middleware } = configuration;
|
|
649
652
|
const { locales, defaultLocale } = internationalization;
|
|
650
653
|
|
|
651
654
|
/**
|
|
652
|
-
* एक
|
|
655
|
+
* एक घटक जो स्थानीयकरण को संभालता है और बच्चों को उपयुक्त लोकल संदर्भ के साथ लपेटता है।
|
|
653
656
|
* यह URL-आधारित लोकल पहचान और सत्यापन का प्रबंधन करता है।
|
|
654
657
|
*/
|
|
655
658
|
const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
|
|
@@ -710,8 +713,8 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
|
|
|
710
713
|
};
|
|
711
714
|
|
|
712
715
|
/**
|
|
713
|
-
* एक राउटर
|
|
714
|
-
* यह नेविगेशन
|
|
716
|
+
* एक राउटर घटक जो लोकल-विशिष्ट मार्ग सेट करता है।
|
|
717
|
+
* यह React Router का उपयोग नेविगेशन प्रबंधित करने और स्थानीयकृत घटकों को रेंडर करने के लिए करता है।
|
|
715
718
|
*/
|
|
716
719
|
export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
717
720
|
<BrowserRouter>
|
|
@@ -722,7 +725,7 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
722
725
|
)
|
|
723
726
|
.map((locale) => (
|
|
724
727
|
<Route
|
|
725
|
-
// लोकल को
|
|
728
|
+
// लोकल को कैप्चर करने के लिए रूट पैटर्न (जैसे, /en/, /fr/) और सभी बाद के पथों से मेल खाता है
|
|
726
729
|
path={`/${locale}/*`}
|
|
727
730
|
key={locale}
|
|
728
731
|
element={<AppLocalized locale={locale}>{children}</AppLocalized>} // बच्चों को लोकल प्रबंधन के साथ लपेटता है
|
|
@@ -730,7 +733,7 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
730
733
|
))}
|
|
731
734
|
|
|
732
735
|
{
|
|
733
|
-
// यदि डिफ़ॉल्ट लोकल
|
|
736
|
+
// यदि डिफ़ॉल्ट लोकल का उपसर्ग निष्क्रिय है, तो बच्चों को सीधे रूट पथ पर रेंडर करें
|
|
734
737
|
!middleware.prefixDefault && (
|
|
735
738
|
<Route
|
|
736
739
|
path="*"
|
|
@@ -749,7 +752,7 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
749
752
|
// आवश्यक निर्भरताओं और फ़ंक्शंस को आयात करना
|
|
750
753
|
import { configuration, getPathWithoutLocale } from "intlayer"; // 'intlayer' से उपयोगिता फ़ंक्शंस और प्रकार
|
|
751
754
|
// 'intlayer' से उपयोगिता फ़ंक्शंस और प्रकार
|
|
752
|
-
import { IntlayerProvider } from "react
|
|
755
|
+
import { IntlayerProvider } from "react-intlayer"; // अंतर्राष्ट्रीयकरण संदर्भ के लिए प्रदाता
|
|
753
756
|
import {
|
|
754
757
|
BrowserRouter,
|
|
755
758
|
Routes,
|
|
@@ -764,26 +767,26 @@ const { locales, defaultLocale } = internationalization;
|
|
|
764
767
|
|
|
765
768
|
/**
|
|
766
769
|
* एक घटक जो स्थानीयकरण को संभालता है और बच्चों को उपयुक्त लोकल संदर्भ के साथ लपेटता है।
|
|
767
|
-
* यह URL-आधारित
|
|
770
|
+
* यह URL-आधारित स्थानीयकरण पहचान और सत्यापन को प्रबंधित करता है।
|
|
768
771
|
*/
|
|
769
772
|
const AppLocalized = ({ children, locale }) => {
|
|
770
773
|
const { pathname, search } = useLocation(); // वर्तमान URL पथ प्राप्त करें
|
|
771
774
|
|
|
772
|
-
// वर्तमान
|
|
775
|
+
// वर्तमान स्थानीयकरण निर्धारित करें, यदि प्रदान नहीं किया गया है तो डिफ़ॉल्ट पर वापस जाएं
|
|
773
776
|
const currentLocale = locale ?? defaultLocale;
|
|
774
777
|
|
|
775
|
-
// पथ से
|
|
778
|
+
// पथ से स्थानीयकरण उपसर्ग हटाएं ताकि एक मूल पथ बनाया जा सके
|
|
776
779
|
const pathWithoutLocale = getPathWithoutLocale(
|
|
777
780
|
pathname // वर्तमान URL पथ
|
|
778
781
|
);
|
|
779
782
|
|
|
780
783
|
/**
|
|
781
|
-
* यदि middleware.prefixDefault सत्य है, तो डिफ़ॉल्ट
|
|
784
|
+
* यदि middleware.prefixDefault सत्य है, तो डिफ़ॉल्ट स्थानीयकरण हमेशा उपसर्गित होना चाहिए।
|
|
782
785
|
*/
|
|
783
786
|
if (middleware.prefixDefault) {
|
|
784
|
-
//
|
|
787
|
+
// स्थानीयकरण को सत्यापित करें
|
|
785
788
|
if (!locale || !locales.includes(locale)) {
|
|
786
|
-
//
|
|
789
|
+
// अद्यतन पथ के साथ डिफ़ॉल्ट स्थानीयकरण पर पुनर्निर्देशित करें
|
|
787
790
|
return (
|
|
788
791
|
<Navigate
|
|
789
792
|
to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
|
|
@@ -792,28 +795,28 @@ const AppLocalized = ({ children, locale }) => {
|
|
|
792
795
|
);
|
|
793
796
|
}
|
|
794
797
|
|
|
795
|
-
// बच्चों को IntlayerProvider के साथ लपेटें और वर्तमान
|
|
798
|
+
// बच्चों को IntlayerProvider के साथ लपेटें और वर्तमान स्थानीयकरण सेट करें
|
|
796
799
|
return (
|
|
797
800
|
<IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
|
|
798
801
|
);
|
|
799
802
|
} else {
|
|
800
803
|
/**
|
|
801
|
-
* जब middleware.prefixDefault गलत होता है, तो डिफ़ॉल्ट
|
|
802
|
-
* सुनिश्चित करें कि वर्तमान
|
|
804
|
+
* जब middleware.prefixDefault गलत होता है, तो डिफ़ॉल्ट स्थानीयकरण उपसर्गित नहीं होता है।
|
|
805
|
+
* सुनिश्चित करें कि वर्तमान स्थानीयकरण मान्य है और डिफ़ॉल्ट स्थानीयकरण नहीं है।
|
|
803
806
|
*/
|
|
804
807
|
if (
|
|
805
808
|
currentLocale.toString() !== defaultLocale.toString() &&
|
|
806
809
|
!locales
|
|
807
810
|
.filter(
|
|
808
|
-
(locale) => locale.toString() !== defaultLocale.toString() // डिफ़ॉल्ट
|
|
811
|
+
(locale) => locale.toString() !== defaultLocale.toString() // डिफ़ॉल्ट स्थानीयकरण को बाहर करें
|
|
809
812
|
)
|
|
810
|
-
.includes(currentLocale) // जांचें कि वर्तमान
|
|
813
|
+
.includes(currentLocale) // जांचें कि वर्तमान स्थानीयकरण मान्य स्थानीयकरणों की सूची में है या नहीं
|
|
811
814
|
) {
|
|
812
|
-
//
|
|
815
|
+
// स्थानीयकरण उपसर्ग के बिना पथ पर पुनर्निर्देशित करें
|
|
813
816
|
return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
|
|
814
817
|
}
|
|
815
818
|
|
|
816
|
-
// बच्चों को IntlayerProvider के साथ लपेटें और वर्तमान
|
|
819
|
+
// बच्चों को IntlayerProvider के साथ लपेटें और वर्तमान स्थानीयकरण सेट करें
|
|
817
820
|
return (
|
|
818
821
|
<IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
|
|
819
822
|
);
|
|
@@ -821,8 +824,8 @@ const AppLocalized = ({ children, locale }) => {
|
|
|
821
824
|
};
|
|
822
825
|
|
|
823
826
|
/**
|
|
824
|
-
* एक राउटर
|
|
825
|
-
* यह React Router का उपयोग नेविगेशन प्रबंधित करने और स्थानीयकृत
|
|
827
|
+
* एक राउटर घटक जो स्थानीयकरण-विशिष्ट मार्ग सेट करता है।
|
|
828
|
+
* यह React Router का उपयोग नेविगेशन प्रबंधित करने और स्थानीयकृत घटकों को रेंडर करने के लिए करता है।
|
|
826
829
|
*/
|
|
827
830
|
export const LocaleRouter = ({ children }) => (
|
|
828
831
|
<BrowserRouter>
|
|
@@ -833,21 +836,21 @@ export const LocaleRouter = ({ children }) => (
|
|
|
833
836
|
)
|
|
834
837
|
.map((locale) => (
|
|
835
838
|
<Route
|
|
836
|
-
//
|
|
839
|
+
// स्थानीयकरण को पकड़ने के लिए रूट पैटर्न (जैसे, /en/, /fr/) और सभी बाद के पथों से मेल खाता है
|
|
837
840
|
path={`/${locale}/*`}
|
|
838
841
|
key={locale}
|
|
839
|
-
element={<AppLocalized locale={locale}>{children}</AppLocalized>} // बच्चों को
|
|
842
|
+
element={<AppLocalized locale={locale}>{children}</AppLocalized>} // बच्चों को स्थानीयकरण प्रबंधन के साथ लपेटता है
|
|
840
843
|
/>
|
|
841
844
|
))}
|
|
842
845
|
|
|
843
846
|
{
|
|
844
|
-
// यदि डिफ़ॉल्ट
|
|
847
|
+
// यदि डिफ़ॉल्ट स्थानीयकरण के लिए उपसर्ग अक्षम है, तो बच्चों को सीधे रूट पथ पर रेंडर करें
|
|
845
848
|
!middleware.prefixDefault && (
|
|
846
849
|
<Route
|
|
847
850
|
path="*"
|
|
848
851
|
element={
|
|
849
852
|
<AppLocalized locale={defaultLocale}>{children}</AppLocalized>
|
|
850
|
-
} // बच्चों को
|
|
853
|
+
} // बच्चों को स्थानीयकरण प्रबंधन के साथ लपेटता है
|
|
851
854
|
/>
|
|
852
855
|
)
|
|
853
856
|
}
|
|
@@ -859,7 +862,7 @@ export const LocaleRouter = ({ children }) => (
|
|
|
859
862
|
```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
|
|
860
863
|
// आवश्यक निर्भरताओं और फ़ंक्शंस को आयात करना
|
|
861
864
|
const { configuration, getPathWithoutLocale } = require("intlayer"); // 'intlayer' से उपयोगिता फ़ंक्शंस और प्रकार
|
|
862
|
-
const { IntlayerProvider, useLocale } = require("react-intlayer"); //
|
|
865
|
+
const { IntlayerProvider, useLocale } = require("react-intlayer"); // अंतरराष्ट्रीयकरण संदर्भ के लिए प्रदाता
|
|
863
866
|
const {
|
|
864
867
|
BrowserRouter,
|
|
865
868
|
Routes,
|
|
@@ -873,8 +876,8 @@ const { internationalization, middleware } = configuration;
|
|
|
873
876
|
const { locales, defaultLocale } = internationalization;
|
|
874
877
|
|
|
875
878
|
/**
|
|
876
|
-
* एक घटक जो स्थानीयकरण को संभालता है और बच्चों को उपयुक्त
|
|
877
|
-
* यह URL-आधारित
|
|
879
|
+
* एक घटक जो स्थानीयकरण को संभालता है और बच्चों को उपयुक्त स्थानीय संदर्भ के साथ लपेटता है।
|
|
880
|
+
* यह URL-आधारित स्थानीय पहचान और सत्यापन का प्रबंधन करता है।
|
|
878
881
|
*/
|
|
879
882
|
const AppLocalized = ({ children, locale }) => {
|
|
880
883
|
const { pathname, search } = useLocation(); // वर्तमान URL पथ प्राप्त करें
|
|
@@ -943,7 +946,7 @@ const LocaleRouter = ({ children }) => (
|
|
|
943
946
|
)
|
|
944
947
|
.map((locale) => (
|
|
945
948
|
<Route
|
|
946
|
-
// लोकल को
|
|
949
|
+
// लोकल को कैप्चर करने के लिए रूट पैटर्न (जैसे, /en/, /fr/) और सभी बाद के पथों से मेल खाता है
|
|
947
950
|
path={`/${locale}/*`}
|
|
948
951
|
key={locale}
|
|
949
952
|
element={<AppLocalized locale={locale}>{children}</AppLocalized>} // बच्चों को लोकल प्रबंधन के साथ लपेटता है
|
|
@@ -951,7 +954,7 @@ const LocaleRouter = ({ children }) => (
|
|
|
951
954
|
))}
|
|
952
955
|
|
|
953
956
|
{
|
|
954
|
-
// यदि डिफ़ॉल्ट लोकल
|
|
957
|
+
// यदि डिफ़ॉल्ट लोकल के लिए उपसर्ग अक्षम है, तो बच्चों को सीधे रूट पथ पर रेंडर करें
|
|
955
958
|
!middleware.prefixDefault && (
|
|
956
959
|
<Route
|
|
957
960
|
path="*"
|
|
@@ -1005,7 +1008,7 @@ const App = () => (
|
|
|
1005
1008
|
);
|
|
1006
1009
|
```
|
|
1007
1010
|
|
|
1008
|
-
साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intLayerMiddlewarePlugin` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर
|
|
1011
|
+
साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intLayerMiddlewarePlugin` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनर्निर्देशित करेगा।
|
|
1009
1012
|
|
|
1010
1013
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1011
1014
|
import { defineConfig } from "vite";
|
|
@@ -1042,7 +1045,7 @@ module.exports = defineConfig({
|
|
|
1042
1045
|
|
|
1043
1046
|
### (वैकल्पिक) चरण 8: जब लोकल बदलता है तो URL बदलें
|
|
1044
1047
|
|
|
1045
|
-
जब लोकल बदलता है तो URL बदलने के लिए, आप `useLocale` हुक द्वारा प्रदान किया गया `onLocaleChange` प्रॉप का उपयोग कर सकते हैं। साथ ही, आप URL पथ को अपडेट करने के लिए `react-router-dom` से `useLocation` और `useNavigate`
|
|
1048
|
+
जब लोकल बदलता है तो URL बदलने के लिए, आप `useLocale` हुक द्वारा प्रदान किया गया `onLocaleChange` प्रॉप का उपयोग कर सकते हैं। साथ ही, आप URL पथ को अपडेट करने के लिए `react-router-dom` से `useLocation` और `useNavigate` हुक का उपयोग कर सकते हैं।
|
|
1046
1049
|
|
|
1047
1050
|
```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
|
|
1048
1051
|
import { useLocation, useNavigate } from "react-router-dom";
|
|
@@ -1125,7 +1128,7 @@ const LocaleSwitcher = () => {
|
|
|
1125
1128
|
|
|
1126
1129
|
const { locale, availableLocales, setLocale } = useLocale({
|
|
1127
1130
|
onLocaleChange: (locale) => {
|
|
1128
|
-
//
|
|
1131
|
+
// अपडेटेड लोकल के साथ URL बनाएं
|
|
1129
1132
|
// उदाहरण: /es/about?foo=bar
|
|
1130
1133
|
const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
|
|
1131
1134
|
|
|
@@ -1150,11 +1153,11 @@ const LocaleSwitcher = () => {
|
|
|
1150
1153
|
key={localeItem}
|
|
1151
1154
|
>
|
|
1152
1155
|
<span>
|
|
1153
|
-
{/*
|
|
1156
|
+
{/* क्षेत्र - उदाहरण के लिए FR */}
|
|
1154
1157
|
{localeItem}
|
|
1155
1158
|
</span>
|
|
1156
1159
|
<span>
|
|
1157
|
-
{/* अपनी
|
|
1160
|
+
{/* अपनी ही भाषा में - उदाहरण के लिए Français */}
|
|
1158
1161
|
{getLocaleName(localeItem, locale)}
|
|
1159
1162
|
</span>
|
|
1160
1163
|
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
@@ -1214,19 +1217,19 @@ const LocaleSwitcher = () => {
|
|
|
1214
1217
|
key={localeItem}
|
|
1215
1218
|
>
|
|
1216
1219
|
<span>
|
|
1217
|
-
{/*
|
|
1220
|
+
{/* लोकल - उदाहरण के लिए FR */}
|
|
1218
1221
|
{localeItem}
|
|
1219
1222
|
</span>
|
|
1220
1223
|
<span>
|
|
1221
|
-
{/* अपनी
|
|
1224
|
+
{/* अपनी ही लोकल में भाषा - उदाहरण के लिए Français */}
|
|
1222
1225
|
{getLocaleName(localeItem, locale)}
|
|
1223
1226
|
</span>
|
|
1224
1227
|
<span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
|
|
1225
|
-
{/* वर्तमान
|
|
1228
|
+
{/* वर्तमान लोकल में भाषा - उदाहरण के लिए Francés जब वर्तमान लोकल Locales.SPANISH पर सेट हो */}
|
|
1226
1229
|
{getLocaleName(localeItem)}
|
|
1227
1230
|
</span>
|
|
1228
1231
|
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
1229
|
-
{/* अंग्रेज़ी में भाषा - उदाहरण के लिए
|
|
1232
|
+
{/* अंग्रेज़ी में भाषा - उदाहरण के लिए French */}
|
|
1230
1233
|
{getLocaleName(localeItem, Locales.ENGLISH)}
|
|
1231
1234
|
</span>
|
|
1232
1235
|
</a>
|
|
@@ -1254,11 +1257,11 @@ const LocaleSwitcher = () => {
|
|
|
1254
1257
|
|
|
1255
1258
|
### (वैकल्पिक) चरण 9: HTML भाषा और दिशा एट्रिब्यूट्स को स्विच करें
|
|
1256
1259
|
|
|
1257
|
-
जब आपका एप्लिकेशन कई भाषाओं का समर्थन करता है, तो
|
|
1260
|
+
जब आपका एप्लिकेशन कई भाषाओं का समर्थन करता है, तो `<html>` टैग के `lang` और `dir` एट्रिब्यूट्स को वर्तमान लोकल के अनुसार अपडेट करना बहुत महत्वपूर्ण होता है। ऐसा करने से निम्नलिखित सुनिश्चित होता है:
|
|
1258
1261
|
|
|
1259
|
-
-
|
|
1260
|
-
-
|
|
1261
|
-
- **एसईओ (SEO)**: सर्च इंजन
|
|
1262
|
+
- **पहुँचयोग्यता (Accessibility)**: स्क्रीन रीडर्स और सहायक तकनीकें सही `lang` एट्रिब्यूट पर निर्भर करती हैं ताकि वे सामग्री को सही ढंग से उच्चारित और व्याख्यायित कर सकें।
|
|
1263
|
+
- **टेक्स्ट रेंडरिंग (Text Rendering)**: `dir` (दिशा) एट्रिब्यूट यह सुनिश्चित करता है कि टेक्स्ट सही क्रम में प्रदर्शित हो (जैसे, अंग्रेज़ी के लिए बाएं से दाएं, अरबी या हिब्रू के लिए दाएं से बाएं), जो पठनीयता के लिए आवश्यक है।
|
|
1264
|
+
- **एसईओ (SEO)**: सर्च इंजन `lang` एट्रिब्यूट का उपयोग पृष्ठ की भाषा निर्धारित करने के लिए करते हैं, जिससे वे खोज परिणामों में सही स्थानीयकृत सामग्री प्रदान कर सकें।
|
|
1262
1265
|
|
|
1263
1266
|
जब आप इन एट्रिब्यूट्स को लोकल बदलने पर डायनामिक रूप से अपडेट करते हैं, तो आप सभी समर्थित भाषाओं में उपयोगकर्ताओं के लिए एक सुसंगत और सुलभ अनुभव की गारंटी देते हैं।
|
|
1264
1267
|
|
|
@@ -1276,16 +1279,16 @@ import { getHTMLTextDir } from "intlayer";
|
|
|
1276
1279
|
* - `lang`: ब्राउज़रों और सर्च इंजनों को पेज की भाषा की जानकारी देता है।
|
|
1277
1280
|
* - `dir`: सही पढ़ने के क्रम को सुनिश्चित करता है (जैसे, अंग्रेज़ी के लिए 'ltr', अरबी के लिए 'rtl')।
|
|
1278
1281
|
*
|
|
1279
|
-
* यह डायनामिक अपडेट
|
|
1282
|
+
* यह डायनामिक अपडेट उचित टेक्स्ट रेंडरिंग, सुलभता, और SEO के लिए आवश्यक है।
|
|
1280
1283
|
*/
|
|
1281
1284
|
export const useI18nHTMLAttributes = () => {
|
|
1282
1285
|
const { locale } = useLocale();
|
|
1283
1286
|
|
|
1284
1287
|
useEffect(() => {
|
|
1285
|
-
// वर्तमान लोकल के अनुसार
|
|
1288
|
+
// भाषा एट्रिब्यूट को वर्तमान लोकल के अनुसार अपडेट करें।
|
|
1286
1289
|
document.documentElement.lang = locale;
|
|
1287
1290
|
|
|
1288
|
-
// वर्तमान लोकल के
|
|
1291
|
+
// वर्तमान लोकल के आधार पर टेक्स्ट दिशा सेट करें।
|
|
1289
1292
|
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1290
1293
|
}, [locale]);
|
|
1291
1294
|
};
|
|
@@ -1301,16 +1304,16 @@ import { getHTMLTextDir } from "intlayer";
|
|
|
1301
1304
|
* - `lang`: ब्राउज़रों और सर्च इंजनों को पेज की भाषा की जानकारी देता है।
|
|
1302
1305
|
* - `dir`: सही पढ़ने के क्रम को सुनिश्चित करता है (जैसे, अंग्रेज़ी के लिए 'ltr', अरबी के लिए 'rtl')।
|
|
1303
1306
|
*
|
|
1304
|
-
* यह डायनामिक अपडेट
|
|
1307
|
+
* यह डायनामिक अपडेट उचित टेक्स्ट रेंडरिंग, सुलभता, और SEO के लिए आवश्यक है।
|
|
1305
1308
|
*/
|
|
1306
1309
|
export const useI18nHTMLAttributes = () => {
|
|
1307
1310
|
const { locale } = useLocale();
|
|
1308
1311
|
|
|
1309
1312
|
useEffect(() => {
|
|
1310
|
-
// वर्तमान लोकल के अनुसार
|
|
1313
|
+
// भाषा एट्रिब्यूट को वर्तमान लोकल के अनुसार अपडेट करें।
|
|
1311
1314
|
document.documentElement.lang = locale;
|
|
1312
1315
|
|
|
1313
|
-
// वर्तमान लोकल के
|
|
1316
|
+
// वर्तमान लोकल के आधार पर टेक्स्ट दिशा सेट करें।
|
|
1314
1317
|
document.documentElement.dir = getHTMLTextDir(locale);
|
|
1315
1318
|
}, [locale]);
|
|
1316
1319
|
};
|
|
@@ -1326,7 +1329,7 @@ const { getHTMLTextDir } = require("intlayer");
|
|
|
1326
1329
|
* - `lang`: ब्राउज़रों और सर्च इंजनों को पेज की भाषा की जानकारी देता है।
|
|
1327
1330
|
* - `dir`: सही पढ़ने के क्रम को सुनिश्चित करता है (जैसे, अंग्रेज़ी के लिए 'ltr', अरबी के लिए 'rtl')।
|
|
1328
1331
|
*
|
|
1329
|
-
* यह डायनामिक अपडेट
|
|
1332
|
+
* यह डायनामिक अपडेट उचित टेक्स्ट रेंडरिंग, सुलभता, और SEO के लिए आवश्यक है।
|
|
1330
1333
|
*/
|
|
1331
1334
|
const useI18nHTMLAttributes = () => {
|
|
1332
1335
|
const { locale } = useLocale();
|
|
@@ -1345,7 +1348,7 @@ module.exports = { useI18nHTMLAttributes };
|
|
|
1345
1348
|
|
|
1346
1349
|
#### अपने एप्लिकेशन में हुक का उपयोग करना
|
|
1347
1350
|
|
|
1348
|
-
अपने मुख्य कॉम्पोनेंट में हुक को
|
|
1351
|
+
अपने मुख्य कॉम्पोनेंट में हुक को एकीकृत करें ताकि HTML एट्रिब्यूट्स लोकल बदलने पर अपडेट हो जाएं:
|
|
1349
1352
|
|
|
1350
1353
|
```tsx fileName="src/App.tsx" codeFormat="typescript"
|
|
1351
1354
|
import type { FC } from "react";
|
|
@@ -1400,7 +1403,7 @@ const AppContent = () => {
|
|
|
1400
1403
|
// लोकल के आधार पर <html> टैग के lang और dir एट्रिब्यूट्स को अपडेट करने के लिए हुक लागू करें।
|
|
1401
1404
|
useI18nHTMLAttributes();
|
|
1402
1405
|
|
|
1403
|
-
// ... आपके
|
|
1406
|
+
// ... आपके कंपोनेंट का बाकी हिस्सा
|
|
1404
1407
|
};
|
|
1405
1408
|
|
|
1406
1409
|
const App = () => (
|
|
@@ -1416,19 +1419,19 @@ module.exports = App;
|
|
|
1416
1419
|
|
|
1417
1420
|
- सुनिश्चित करेगा कि **भाषा** (`lang`) एट्रिब्यूट वर्तमान लोकल को सही ढंग से दर्शाए, जो SEO और ब्राउज़र व्यवहार के लिए महत्वपूर्ण है।
|
|
1418
1421
|
- लोकल के अनुसार **टेक्स्ट दिशा** (`dir`) को समायोजित करेगा, जिससे विभिन्न पढ़ने के क्रम वाली भाषाओं के लिए पठनीयता और उपयोगिता बढ़ेगी।
|
|
1419
|
-
- एक अधिक **सुलभ** अनुभव प्रदान करेगा, क्योंकि सहायक तकनीकें इन एट्रिब्यूट्स पर निर्भर करती हैं ताकि वे
|
|
1422
|
+
- एक अधिक **सुलभ** अनुभव प्रदान करेगा, क्योंकि सहायक तकनीकें इन एट्रिब्यूट्स पर निर्भर करती हैं ताकि वे बेहतर तरीके से काम कर सकें।
|
|
1420
1423
|
|
|
1421
|
-
### (वैकल्पिक) चरण 10: एक स्थानीयकृत लिंक
|
|
1424
|
+
### (वैकल्पिक) चरण 10: एक स्थानीयकृत लिंक कंपोनेंट बनाना
|
|
1422
1425
|
|
|
1423
|
-
|
|
1426
|
+
यह सुनिश्चित करने के लिए कि आपके एप्लिकेशन की नेविगेशन वर्तमान लोकल का सम्मान करती है, आप एक कस्टम `Link` कंपोनेंट बना सकते हैं। यह कंपोनेंट स्वचालित रूप से आंतरिक URL को वर्तमान भाषा के साथ प्रीफिक्स करता है। उदाहरण के लिए, जब एक फ्रेंच-भाषी उपयोगकर्ता "About" पेज के लिंक पर क्लिक करता है, तो उसे `/fr/about` पर पुनः निर्देशित किया जाता है, न कि `/about` पर।
|
|
1424
1427
|
|
|
1425
1428
|
यह व्यवहार कई कारणों से उपयोगी है:
|
|
1426
1429
|
|
|
1427
|
-
- **SEO और उपयोगकर्ता अनुभव**: स्थानीयकृत URL खोज
|
|
1428
|
-
- **संगति**: अपने एप्लिकेशन में स्थानीयकृत लिंक का उपयोग करके, आप सुनिश्चित करते हैं कि नेविगेशन वर्तमान लोकल के भीतर ही रहता है, जिससे अप्रत्याशित भाषा
|
|
1429
|
-
- **रखरखाव योग्यता**: स्थानीयकरण लॉजिक को एक ही
|
|
1430
|
+
- **SEO और उपयोगकर्ता अनुभव**: स्थानीयकृत URL खोज इंजन को भाषा-विशिष्ट पृष्ठों को सही ढंग से इंडेक्स करने में मदद करते हैं और उपयोगकर्ताओं को उनकी पसंदीदा भाषा में सामग्री प्रदान करते हैं।
|
|
1431
|
+
- **संगति**: अपने एप्लिकेशन में स्थानीयकृत लिंक का उपयोग करके, आप सुनिश्चित करते हैं कि नेविगेशन वर्तमान लोकल के भीतर ही रहता है, जिससे अप्रत्याशित भाषा स्विचिंग से बचा जा सकता है।
|
|
1432
|
+
- **रखरखाव योग्यता**: स्थानीयकरण लॉजिक को एक ही कंपोनेंट में केंद्रीकृत करने से URL प्रबंधन सरल हो जाता है, जिससे आपका कोडबेस बनाए रखना और बढ़ाना आसान हो जाता है क्योंकि आपका एप्लिकेशन बढ़ता है।
|
|
1430
1433
|
|
|
1431
|
-
नीचे TypeScript में एक स्थानीयकृत `Link`
|
|
1434
|
+
नीचे TypeScript में एक स्थानीयकृत `Link` कंपोनेंट का कार्यान्वयन दिया गया है:
|
|
1432
1435
|
|
|
1433
1436
|
```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
|
|
1434
1437
|
import { getLocalizedUrl } from "intlayer";
|
|
@@ -1453,8 +1456,8 @@ export const checkIsExternalLink = (href?: string): boolean =>
|
|
|
1453
1456
|
/^https?:\/\//.test(href ?? "");
|
|
1454
1457
|
|
|
1455
1458
|
/**
|
|
1456
|
-
* एक कस्टम Link
|
|
1457
|
-
* आंतरिक लिंक के लिए, यह `getLocalizedUrl` का उपयोग करता है ताकि URL के
|
|
1459
|
+
* एक कस्टम Link कंपोनेंट जो वर्तमान लोकल के आधार पर href एट्रिब्यूट को अनुकूलित करता है।
|
|
1460
|
+
* आंतरिक लिंक के लिए, यह `getLocalizedUrl` का उपयोग करता है ताकि URL के साथ लोकल (जैसे, /fr/about) जोड़ा जा सके।
|
|
1458
1461
|
* यह सुनिश्चित करता है कि नेविगेशन उसी लोकल संदर्भ के भीतर रहता है।
|
|
1459
1462
|
*/
|
|
1460
1463
|
export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
@@ -1490,9 +1493,9 @@ export const checkIsExternalLink = (href?: string): boolean =>
|
|
|
1490
1493
|
/^https?:\/\//.test(href ?? "");
|
|
1491
1494
|
|
|
1492
1495
|
/**
|
|
1493
|
-
* एक कस्टम Link
|
|
1496
|
+
* एक कस्टम Link कंपोनेंट जो वर्तमान लोकल के आधार पर href एट्रिब्यूट को अनुकूलित करता है।
|
|
1494
1497
|
* आंतरिक लिंक के लिए, यह `getLocalizedUrl` का उपयोग करता है ताकि URL के आगे लोकल जोड़ा जा सके (जैसे, /fr/about)।
|
|
1495
|
-
* यह सुनिश्चित करता है कि नेविगेशन उसी लोकल संदर्भ के भीतर
|
|
1498
|
+
* यह सुनिश्चित करता है कि नेविगेशन उसी लोकल संदर्भ के भीतर बना रहे।
|
|
1496
1499
|
*/
|
|
1497
1500
|
/
|
|
1498
1501
|
export const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
@@ -1525,9 +1528,9 @@ const { forwardRef } = require("react");
|
|
|
1525
1528
|
const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
|
|
1526
1529
|
|
|
1527
1530
|
/**
|
|
1528
|
-
* एक कस्टम Link
|
|
1531
|
+
* एक कस्टम Link कंपोनेंट जो वर्तमान लोकल के आधार पर href एट्रिब्यूट को अनुकूलित करता है।
|
|
1529
1532
|
* आंतरिक लिंक के लिए, यह `getLocalizedUrl` का उपयोग करता है ताकि URL के आगे लोकल जोड़ा जा सके (जैसे, /fr/about)।
|
|
1530
|
-
* यह सुनिश्चित करता है कि नेविगेशन उसी लोकल संदर्भ के भीतर
|
|
1533
|
+
* यह सुनिश्चित करता है कि नेविगेशन उसी लोकल संदर्भ के भीतर बना रहे।
|
|
1531
1534
|
*/
|
|
1532
1535
|
const Link = forwardRef(({ href, children, ...props }, ref) => {
|
|
1533
1536
|
const { locale } = useLocale();
|
|
@@ -1560,12 +1563,12 @@ Link.displayName = "Link";
|
|
|
1560
1563
|
`useLocale` हुक वर्तमान लोकल प्रदान करता है (जैसे, फ्रेंच के लिए `fr`)।
|
|
1561
1564
|
|
|
1562
1565
|
- **URL का स्थानीयकरण**:
|
|
1563
|
-
आंतरिक लिंक (अर्थात् गैर-बाहरी) के लिए, `getLocalizedUrl` का उपयोग वर्तमान लोकल के साथ URL
|
|
1566
|
+
आंतरिक लिंक (अर्थात् गैर-बाहरी) के लिए, `getLocalizedUrl` का उपयोग वर्तमान लोकल के साथ URL को स्वचालित रूप से उपसर्गित करने के लिए किया जाता है। इसका मतलब है कि यदि आपका उपयोगकर्ता फ्रेंच में है, तो `/about` को `href` के रूप में पास करने पर यह `/fr/about` में परिवर्तित हो जाएगा।
|
|
1564
1567
|
|
|
1565
1568
|
- **लिंक लौटाना**:
|
|
1566
|
-
कंपोनेंट एक `<a>` एलिमेंट लौटाता है जिसमें स्थानीयकृत URL होता है, यह सुनिश्चित
|
|
1569
|
+
कंपोनेंट एक `<a>` एलिमेंट लौटाता है जिसमें स्थानीयकृत URL होता है, यह सुनिश्चित करता है कि नेविगेशन स्थानीय भाषा के अनुरूप हो।
|
|
1567
1570
|
|
|
1568
|
-
अपने एप्लिकेशन में इस `Link` कंपोनेंट को एकीकृत करके, आप एक सुसंगत और भाषा-सचेत उपयोगकर्ता अनुभव बनाए रखते हैं, साथ ही बेहतर SEO और उपयोगिता
|
|
1571
|
+
अपने एप्लिकेशन में इस `Link` कंपोनेंट को एकीकृत करके, आप एक सुसंगत और भाषा-सचेत उपयोगकर्ता अनुभव बनाए रखते हैं, साथ ही बेहतर SEO और उपयोगिता का लाभ भी प्राप्त करते हैं।
|
|
1569
1572
|
|
|
1570
1573
|
### TypeScript कॉन्फ़िगर करें
|
|
1571
1574
|
|
|
@@ -1575,14 +1578,14 @@ Intlayer TypeScript के लाभ प्राप्त करने और
|
|
|
1575
1578
|
|
|
1576
1579
|

|
|
1577
1580
|
|
|
1578
|
-
सुनिश्चित करें कि आपकी TypeScript कॉन्फ़िगरेशन में
|
|
1581
|
+
सुनिश्चित करें कि आपकी TypeScript कॉन्फ़िगरेशन में ऑटो-जेनरेटेड टाइप्स शामिल हैं।
|
|
1579
1582
|
|
|
1580
1583
|
```json5 fileName="tsconfig.json"
|
|
1581
1584
|
{
|
|
1582
|
-
// ...
|
|
1585
|
+
// ... आपकी मौजूदा TypeScript कॉन्फ़िगरेशन
|
|
1583
1586
|
"include": [
|
|
1584
1587
|
// ... आपके मौजूदा TypeScript कॉन्फ़िगरेशन
|
|
1585
|
-
".intlayer/**/*.ts", //
|
|
1588
|
+
".intlayer/**/*.ts", // स्वचालित रूप से जनरेट किए गए प्रकारों को शामिल करें
|
|
1586
1589
|
],
|
|
1587
1590
|
}
|
|
1588
1591
|
```
|
|
@@ -1600,16 +1603,16 @@ Intlayer TypeScript के लाभ प्राप्त करने और
|
|
|
1600
1603
|
|
|
1601
1604
|
### VS कोड एक्सटेंशन
|
|
1602
1605
|
|
|
1603
|
-
Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक **Intlayer VS
|
|
1606
|
+
Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक **Intlayer VS Code एक्सटेंशन** इंस्टॉल कर सकते हैं।
|
|
1604
1607
|
|
|
1605
|
-
[VS
|
|
1608
|
+
[VS Code मार्केटप्लेस से इंस्टॉल करें](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
1606
1609
|
|
|
1607
1610
|
यह एक्सटेंशन प्रदान करता है:
|
|
1608
1611
|
|
|
1609
|
-
-
|
|
1610
|
-
- **अनुवादों के लिए
|
|
1612
|
+
- **अनुवाद कुंजियों के लिए ऑटोकंप्लीशन**।
|
|
1613
|
+
- **अनुवादों के लिए रीयल-टाइम त्रुटि पहचान**।
|
|
1611
1614
|
- **अनुवादित सामग्री के इनलाइन पूर्वावलोकन**।
|
|
1612
|
-
-
|
|
1615
|
+
- **तेजी से क्रियाएं** ताकि आप आसानी से अनुवाद बना और अपडेट कर सकें।
|
|
1613
1616
|
|
|
1614
1617
|
विस्तृत जानकारी के लिए, एक्सटेंशन का उपयोग कैसे करें, देखें [Intlayer VS Code एक्सटेंशन दस्तावेज़](https://intlayer.org/doc/vs-code-extension)।
|
|
1615
1618
|
|
|
@@ -1617,7 +1620,7 @@ Intlayer के साथ अपने विकास अनुभव को
|
|
|
1617
1620
|
|
|
1618
1621
|
### आगे बढ़ें
|
|
1619
1622
|
|
|
1620
|
-
आगे बढ़ने के लिए, आप [विज़ुअल एडिटर](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_visual_editor.md) को लागू कर सकते हैं या अपनी सामग्री को [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md) का उपयोग करके बाहरी कर सकते हैं।
|
|
1623
|
+
आगे बढ़ने के लिए, आप [विज़ुअल एडिटर](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_visual_editor.md) को लागू कर सकते हैं या अपनी सामग्री को [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md) का उपयोग करके बाहरी रूप से प्रबंधित कर सकते हैं।
|
|
1621
1624
|
|
|
1622
1625
|
---
|
|
1623
1626
|
|