घरसैंडबॉक्सशोकेसएप्पडॉकब्लॉग
    • Englishअंग्रेज़ी
      EN
    • русскийरूसी
      RU
    • 日本語जापानी
      JA
    • françaisफ़्रेंच
      FR
    • 한국어कोरियाई
      KO
    • 中文चीनी
      ZH
    • españolस्पेनिश
      ES
    • Deutschजर्मन
      DE
    • العربيةअरबी
      AR
    • italianoइतालवी
      IT
    • British Englishब्रिटिश अंग्रेज़ी
      EN-GB
    • portuguêsपुर्तगाली
      PT
    • हिन्दीहिन्दी
      HI
    • Türkçeतुर्की
      TR
    • polskiपोलिश
      PL
    • Indonesiaइंडोनेशियाई
      ID
    • Tiếng Việtवियतनामी
      VI
    • українськаयूक्रेनियाई
      UK
    /
    फ्रेमवर्क द्वारा डॉक्स फ़िल्टर करें
    Alt+←
    Intlayer का क्यों लाभ
    शुरू करें
    अवधारणा
    • Intlayer कैसे काम करता है
    • कॉन्फ़िगरेशन
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • विज़ुअल एडिटर
    • CMS
    • CI/CD एकीकरण
    • अनुवादबहुवचनगणनाशर्तलिंगसम्मिलनफ़ाइलनेस्टिंगMarkdownHTMLफ़ंक्शन फेचिंग
    • प्रति लोकेल फ़ाइल
    • कंपाइलर
    • स्वतः भरण
    • परीक्षण
    • बंडल ऑप्टिमाइज़ेशन
    पर्यावरण
    • Next.js 14 और ऐप राउटर
      Next.js 15
      Next.js बिना लोकेल URL
      Next.js और पेज राउटर
      कंपाइलर
    • Tanstack Start Solid
    • Astro और React
      Astro और Svelte
      Astro और Vue
      Astro और Solid
      Astro और Preact
      Astro और Lit
      Astro और Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt और Vue
    • Vite और Solid
    • SvelteKit
    • Vite और Preact
    • Vite और Vanilla JS
    • Vite और Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native और Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx और React
    Plugins
    • JSON
    • gettext (.po)
    VS Code एक्सटेंशन
    एजेंट
    • इंटलेयर MCP सर्वर
    • एजेंट कौशल
    रिलीज
    • v8
    • v7
    • v6
    बेंचमार्क
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    ब्लॉग
    प्रश्न करें
    1. Documentation
    2. अवधारणा
    3. Custom_url_rewrites
    \n\n ```\n\n \n \n \n ```tsx\n import { useRewriteURL } from \"solid-intlayer\";\n\n const Layout = (props) => {\n useRewriteURL();\n return <>{props.children};\n };\n ```\n\n \n \n \n ```svelte\n \n\n ```\n\n \n\n\n## राउटर एकीकरण और प्रॉक्सियाँ\n\nIntlayer के सर्वर-साइड प्रॉक्सी (Vite और Next.js) SEO संगतता सुनिश्चित करने के लिए कस्टम रीराइट्स को स्वचालित रूप से संभालते हैं।\n\n1. **Internal Rewrites**: जब कोई उपयोगकर्ता `/fr/a-propos` पर जाता है, प्रॉक्सी इसे आंतरिक रूप से `/fr/about` पर मैप कर देता है ताकि आपका फ्रेमवर्क सही रूट से मेल खा सके।\n2. **Authoritative Redirects**: यदि कोई उपयोगकर्ता मैन्युअल रूप से `/fr/about` टाइप करता है, तो प्रॉक्सी `/fr/a-propos` पर 301/302 रीडायरेक्ट जारी करता है, जिससे सर्च इंजन केवल एक ही संस्करण को इंडेक्स करें।\n\n### Next.js इंटीग्रेशन\n\nNext.js इंटीग्रेशन पूरी तरह से `intlayerProxy` मिडलवेयर के माध्यम से संभाला जाता है।\n\n```typescript fileName=\"middleware.ts\"\nimport { intlayerProxy } from \"next-intlayer/middleware\";\nimport { NextRequest } from \"next/server\";\n\nexport function middleware(request: NextRequest) {\n return intlayerProxy(request);\n}\n```\n\n### Vite एकीकरण\n\nSolidJS, Vue, और Svelte के लिए, `intlayerProxy` Vite प्लगइन विकास के दौरान री-राइट्स को प्रबंधित करता है।\n\n```typescript fileName=\"vite.config.ts\"\nimport { defineConfig } from \"vite\";\nimport { intlayerProxy } from \"vite-intlayer\";\n\nexport default defineConfig({\n plugins: [intlayerProxy()],\n});\n```\n\n## मुख्य विशेषताएँ\n\n### 1. मल्टी-कॉन्टेक्स्ट रीराइट्स\n\nप्रत्येक फ़ॉर्मेटर एक `RewriteObject` बनाता है जिसमें विभिन्न उपभोक्ताओं के लिए विशेष नियम होते हैं:\n\n- `url`: क्लाइंट-साइड URL बनावट के लिए अनुकूलित (locale segments को हटा देता है)।\n- `nextjs`: Next.js middleware के लिए `[locale]` को संरक्षित करता है।\n- `vite`: Vite प्रॉक्सी के लिए `:locale` को संरक्षित करता है।\n\n### 2. स्वचालित पैटर्न सामान्यीकरण\n\nIntlayer आंतरिक रूप से सभी पैटर्न सिन्टैक्स को सामान्यीकृत करता है (उदा., `[param]` को `:param` में कन्वर्ट करना) ताकि मैचिंग स्रोत फ्रेमवर्क की परवाह किए बिना सुसंगत रहे।\n\n### 3. SEO प्राधिकृत URL\n\nकैनोनिकल पथों से pretty aliases पर रिडायरेक्ट्स लागू करके, Intlayer डुप्लिकेट कंटेंट समस्याओं को रोकता है और साइट की discoverability को बेहतर बनाता है।\n\n## कोर यूटिलिटीज़\n\n- `getLocalizedUrl(url, locale)`: रीराइट नियमों का पालन करते हुए एक स्थानीयकृत URL जनरेट करता है।\n- `getCanonicalPath(path, locale)`: एक स्थानीयकृत URL को उसके आंतरिक कैनोनिकल पथ में रेज़ॉल्व करता है।\n- `getRewritePath(pathname, locale)`: जाँचता है कि क्या किसी pathname को उसके prettier localized alias में सही करने की आवश्यकता है।\n","about":"यह जानें कि Intlayer में लोकल-विशिष्ट पथ निर्धारित करने के लिए कस्टम URL रीराइट्स को कैसे कॉन्फ़िगर और उपयोग करें।","url":"https://intlayer.org/hi/doc/concept/custom_url_rewrites","datePublished":"13-08-2024","dateModified":"26-01-2026","keywords":"कस्टम URL रीराइट्स, Routing, Internationalization, i18n","license":"https://raw.githubusercontent.com/aymericzip/intlayer/refs/heads/main/LICENSE","audience":{"@type":"Audience","audienceType":"डेवलपर्स, सामग्री प्रबंधक"}}
    Creation:2024-08-13Last update:2026-01-26
    इस दस्तावेज़ को अपने पसंदीदा AI एसिस्टेंट के साथ संदर्भित करें
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके

    संस्करण इतिहास

    1. "फ़्रेमवर्क-विशिष्ट फॉर्मेटर्स और useRewriteURL हुक का उपयोग करके केंद्रीकृत URL रीराइट्स लागू करें।"
      v8.0.025/1/2026

    इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।

    अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखें
    इस दस्तावेज़ को संपादित करें

    अगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।

    दस्तावेज़ के लिए GitHub लिंक
    Copy

    दस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें

    कस्टम URL रीराइट्स का कार्यान्वयन

    Intlayer कस्टम URL रीराइट्स को सपोर्ट करता है, जिससे आप मानक /locale/path संरचना से भिन्न लोकल-विशिष्ट पथ परिभाषित कर सकते हैं। इससे अंग्रेज़ी के लिए /about और फ्रेंच के लिए /a-propos जैसे URL संभव होते हैं, जबकि आंतरिक एप्लिकेशन लॉजिक canonical बना रहता है।

    कॉन्फ़िगरेशन

    कस्टम रीव्राइट्स को आपके intlayer.config.ts फ़ाइल के routing सेक्शन में फ्रेमवर्क-विशिष्ट फ़ॉर्मैटर्स का उपयोग करके कॉन्फ़िगर किया जाता है। ये फ़ॉर्मैटर्स आपके पसंदीदा router के लिए सही सिंटैक्स प्रदान करते हैं।

    intlayer.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { Locales, type IntlayerConfig } from "intlayer";import { nextjsRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // अन्य कॉन्फ़िगरेशन  routing: {    mode: "prefix-no-default",    rewrite: nextjsRewrite({      "/[locale]/about": {        fr: "/[locale]/a-propos",        es: "/[locale]/acerca-de",      },      "/[locale]/products/[id]": {        fr: "/[locale]/produits/[id]",        es: "/[locale]/productos/[id]",      },    }),  },};export default config;
    intlayer.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { Locales, type IntlayerConfig } from "intlayer";import { reactRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ...  routing: {    mode: "prefix-all",    rewrite: reactRouterRewrite({      "/:locale/about": {        fr: "/:locale/a-propos",        es: "/:locale/acerca-de",      },      "/:locale/products/:id": {        fr: "/:locale/produits/:id",        es: "/:locale/productos/:id",      },    }),  },};export default config;
    intlayer.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { Locales, type IntlayerConfig } from "intlayer";import { tanstackRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ... (अन्य कॉन्फ़िगरेशन)  routing: {    mode: "prefix-all",    rewrite: tanstackRouterRewrite({      "/$locale/about": {        fr: "/$locale/a-propos",        es: "/$locale/acerca-de",      },      "/$locale/products/$id": {        fr: "/$locale/produits/$id",        es: "/$locale/productos/$id",      },    }),  },};export default config;
    intlayer.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { Locales, type IntlayerConfig } from "intlayer";import { vueRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ...  routing: {    mode: "prefix-all",    rewrite: vueRouterRewrite({      "/:locale/about": {        fr: "/:locale/a-propos",        es: "/:locale/acerca-de",      },      "/:locale/products/:id": {        fr: "/:locale/produits/:id",        es: "/:locale/productos/:id",      },    }),  },};export default config;
    intlayer.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { Locales, type IntlayerConfig } from "intlayer";import { svelteKitRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // और बाकी कॉन्फ़िगरेशन  routing: {    mode: "prefix-all",    rewrite: svelteKitRewrite({      "/[locale]/about": {        fr: "/[locale]/a-propos",        es: "/[locale]/acerca-de",      },      "/[locale]/products/[id]": {        fr: "/[locale]/produits/[id]",        es: "/[locale]/productos/[id]",      },    }),  },};export default config;
    intlayer.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { Locales, type IntlayerConfig } from "intlayer";import { solidRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // और बाकी कॉन्फ़िगरेशन  routing: {    mode: "prefix-all",    rewrite: solidRouterRewrite({      "/:locale/about": {        fr: "/:locale/a-propos",        es: "/:locale/acerca-de",      },      "/:locale/products/:id": {        fr: "/:locale/produits/:id",        es: "/:locale/productos/:id",      },    }),  },};export default config;
    intlayer.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { Locales, type IntlayerConfig } from "intlayer";import { nuxtRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ...  routing: {    mode: "prefix-all",    rewrite: nuxtRewrite({      "/[locale]/about": {        fr: "/[locale]/a-propos",        es: "/[locale]/acerca-de",      },      "/[locale]/products/[id]": {        fr: "/[locale]/produits/[id]",        es: "/[locale]/productos/[id]",      },    }),  },};export default config;

    उपलब्ध फ़ॉर्मेटर्स

    Intlayer सभी लोकप्रिय फ्रेमवर्क्स के लिए फ़ॉर्मेटर्स प्रदान करता है:

    • nextjsRewrite: Next.js App Router के लिए। [slug], [...slug] (1+), और [[...slug]] (0+) का समर्थन करता है।
    • svelteKitRewrite: SvelteKit के लिए। [slug], [...path] (0+), और [[optional]] (0-1) का समर्थन करता है।
    • reactRouterRewrite: React Router के लिए। :slug और * (0+) का समर्थन करता है।
    • vueRouterRewrite: Vue Router 4 के लिए। :slug, :slug? (0-1), :slug* (0+), और :slug+ (1+) का समर्थन करता है।
    • solidRouterRewrite: Solid Router के लिए। :slug और *slug (0+) का समर्थन करता है।
    • tanstackRouterRewrite: TanStack Router के लिए। $slug और * (0+) का समर्थन करता है।
    • nuxtRewrite: Nuxt 3 के लिए। [slug] और [...slug] (0+) का समर्थन करता है।
    • viteRewrite: किसी भी Vite-आधारित प्रोजेक्ट के लिए जेनरिक फ़ॉर्मैटर। Vite प्रॉक्सी के लिए सिंटैक्स को सामान्यीकृत करता है।

    उन्नत पैटर्न

    Intlayer इन पैटर्नों को आंतरिक रूप से एकीकृत सिंटैक्स में सामान्यीकृत करता है, जिससे परिष्कृत पथ मिलान और जेनरेशन संभव होता है:

    • वैकल्पिक सेगमेंट: [[optional]] (SvelteKit) या :slug? (Vue/React) समर्थित हैं।
    • Catch-all (शून्य या अधिक): [[...slug]] (Next.js), [...path] (SvelteKit/Nuxt), या * (React/TanStack) कई सेगमेंट से मेल खाने की अनुमति देते हैं।
    • अनिवार्य Catch-all (एक या अधिक): [...slug] (Next.js) या :slug+ (Vue) सुनिश्चित करते हैं कि कम से कम एक सेगमेंट मौजूद हो।

    क्लाइंट-साइड URL सुधार: useRewriteURL

    ब्राउज़र के एड्रेस बार में हमेशा "pretty" स्थानीयकृत URL दिखे यह सुनिश्चित करने के लिए, Intlayer useRewriteURL हुक प्रदान करता है। यह हुक जब कोई उपयोगकर्ता कैनोनिकल पाथ पर आता है तो window.history.replaceState का उपयोग करके चुपचाप URL अपडेट कर देता है।

    फ़्रेमवर्क्स में उपयोग

    tsx
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    'use client';import { useRewriteURL } from "next-intlayer";const MyLayout = ({ children }) => {  // स्वचालित रूप से /fr/about को /fr/a-propos में सही करता है  useRewriteURL();  return <>{children}</>;};
    tsx
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    'use client';import { useRewriteURL } from "react-intlayer";const MyLayout = ({ children }) => {  useRewriteURL(); // स्वचालित रूप से /fr/about को /fr/a-propos में सही करता है  return <>{children}</>;};
    vue
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    <script setup>import { useRewriteURL } from "vue-intlayer";useRewriteURL();</script>
    tsx
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { useRewriteURL } from "solid-intlayer";const Layout = (props) => {  useRewriteURL();  return <>{props.children}</>;};
    svelte
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    <script>import { useRewriteURL } from "svelte-intlayer";useRewriteURL();</script>

    राउटर एकीकरण और प्रॉक्सियाँ

    Intlayer के सर्वर-साइड प्रॉक्सी (Vite और Next.js) SEO संगतता सुनिश्चित करने के लिए कस्टम रीराइट्स को स्वचालित रूप से संभालते हैं।

    1. Internal Rewrites: जब कोई उपयोगकर्ता /fr/a-propos पर जाता है, प्रॉक्सी इसे आंतरिक रूप से /fr/about पर मैप कर देता है ताकि आपका फ्रेमवर्क सही रूट से मेल खा सके।
    2. Authoritative Redirects: यदि कोई उपयोगकर्ता मैन्युअल रूप से /fr/about टाइप करता है, तो प्रॉक्सी /fr/a-propos पर 301/302 रीडायरेक्ट जारी करता है, जिससे सर्च इंजन केवल एक ही संस्करण को इंडेक्स करें।

    Next.js इंटीग्रेशन

    Next.js इंटीग्रेशन पूरी तरह से intlayerProxy मिडलवेयर के माध्यम से संभाला जाता है।

    middleware.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { intlayerProxy } from "next-intlayer/middleware";import { NextRequest } from "next/server";export function middleware(request: NextRequest) {  return intlayerProxy(request);}

    Vite एकीकरण

    SolidJS, Vue, और Svelte के लिए, intlayerProxy Vite प्लगइन विकास के दौरान री-राइट्स को प्रबंधित करता है।

    vite.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { defineConfig } from "vite";import { intlayerProxy } from "vite-intlayer";export default defineConfig({  plugins: [intlayerProxy()],});

    मुख्य विशेषताएँ

    1. मल्टी-कॉन्टेक्स्ट रीराइट्स

    प्रत्येक फ़ॉर्मेटर एक RewriteObject बनाता है जिसमें विभिन्न उपभोक्ताओं के लिए विशेष नियम होते हैं:

    • url: क्लाइंट-साइड URL बनावट के लिए अनुकूलित (locale segments को हटा देता है)।
    • nextjs: Next.js middleware के लिए [locale] को संरक्षित करता है।
    • vite: Vite प्रॉक्सी के लिए :locale को संरक्षित करता है।

    2. स्वचालित पैटर्न सामान्यीकरण

    Intlayer आंतरिक रूप से सभी पैटर्न सिन्टैक्स को सामान्यीकृत करता है (उदा., [param] को :param में कन्वर्ट करना) ताकि मैचिंग स्रोत फ्रेमवर्क की परवाह किए बिना सुसंगत रहे।

    3. SEO प्राधिकृत URL

    कैनोनिकल पथों से pretty aliases पर रिडायरेक्ट्स लागू करके, Intlayer डुप्लिकेट कंटेंट समस्याओं को रोकता है और साइट की discoverability को बेहतर बनाता है।

    कोर यूटिलिटीज़

    • getLocalizedUrl(url, locale): रीराइट नियमों का पालन करते हुए एक स्थानीयकृत URL जनरेट करता है।
    • getCanonicalPath(path, locale): एक स्थानीयकृत URL को उसके आंतरिक कैनोनिकल पथ में रेज़ॉल्व करता है।
    • getRewritePath(pathname, locale): जाँचता है कि क्या किसी pathname को उसके prettier localized alias में सही करने की आवश्यकता है।
    Intlayer का क्यों लाभ
    Alt+→

    इस पृष्ठ में

      चर्चाएं गुमनाम हैं और सामान्य मुद्दों को संबोधित करने के लिए नियमित रूप से समीक्षा की जाती हैं। फीचर आइडिया, डॉक्यूमेंटेशन पर फीडबैक, या Intlayer से संबंधित कुछ भी साझा करने में संकोच न करें, हम इस इनपुट का उपयोग अपने रोडमैप को आकार देने और उत्पाद को बेहतर बनाने के लिए करते हैं।

      import { Locales, type IntlayerConfig } from "intlayer";import { nextjsRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // अन्य कॉन्फ़िगरेशन  routing: {    mode: "prefix-no-default",    rewrite: nextjsRewrite({      "/[locale]/about": {        fr: "/[locale]/a-propos",        es: "/[locale]/acerca-de",      },      "/[locale]/products/[id]": {        fr: "/[locale]/produits/[id]",        es: "/[locale]/productos/[id]",      },    }),  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";import { reactRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ...  routing: {    mode: "prefix-all",    rewrite: reactRouterRewrite({      "/:locale/about": {        fr: "/:locale/a-propos",        es: "/:locale/acerca-de",      },      "/:locale/products/:id": {        fr: "/:locale/produits/:id",        es: "/:locale/productos/:id",      },    }),  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";import { tanstackRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ... (अन्य कॉन्फ़िगरेशन)  routing: {    mode: "prefix-all",    rewrite: tanstackRouterRewrite({      "/$locale/about": {        fr: "/$locale/a-propos",        es: "/$locale/acerca-de",      },      "/$locale/products/$id": {        fr: "/$locale/produits/$id",        es: "/$locale/productos/$id",      },    }),  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";import { vueRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ...  routing: {    mode: "prefix-all",    rewrite: vueRouterRewrite({      "/:locale/about": {        fr: "/:locale/a-propos",        es: "/:locale/acerca-de",      },      "/:locale/products/:id": {        fr: "/:locale/produits/:id",        es: "/:locale/productos/:id",      },    }),  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";import { svelteKitRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // और बाकी कॉन्फ़िगरेशन  routing: {    mode: "prefix-all",    rewrite: svelteKitRewrite({      "/[locale]/about": {        fr: "/[locale]/a-propos",        es: "/[locale]/acerca-de",      },      "/[locale]/products/[id]": {        fr: "/[locale]/produits/[id]",        es: "/[locale]/productos/[id]",      },    }),  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";import { solidRouterRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // और बाकी कॉन्फ़िगरेशन  routing: {    mode: "prefix-all",    rewrite: solidRouterRewrite({      "/:locale/about": {        fr: "/:locale/a-propos",        es: "/:locale/acerca-de",      },      "/:locale/products/:id": {        fr: "/:locale/produits/:id",        es: "/:locale/productos/:id",      },    }),  },};export default config;
      import { Locales, type IntlayerConfig } from "intlayer";import { nuxtRewrite } from "intlayer/routing";const config: IntlayerConfig = {  // ...  routing: {    mode: "prefix-all",    rewrite: nuxtRewrite({      "/[locale]/about": {        fr: "/[locale]/a-propos",        es: "/[locale]/acerca-de",      },      "/[locale]/products/[id]": {        fr: "/[locale]/produits/[id]",        es: "/[locale]/productos/[id]",      },    }),  },};export default config;
      'use client';import { useRewriteURL } from "next-intlayer";const MyLayout = ({ children }) => {  // स्वचालित रूप से /fr/about को /fr/a-propos में सही करता है  useRewriteURL();  return <>{children}</>;};
      'use client';import { useRewriteURL } from "react-intlayer";const MyLayout = ({ children }) => {  useRewriteURL(); // स्वचालित रूप से /fr/about को /fr/a-propos में सही करता है  return <>{children}</>;};
      <script setup>import { useRewriteURL } from "vue-intlayer";useRewriteURL();</script>
      import { useRewriteURL } from "solid-intlayer";const Layout = (props) => {  useRewriteURL();  return <>{props.children}</>;};
      <script>import { useRewriteURL } from "svelte-intlayer";useRewriteURL();</script>
      import { intlayerProxy } from "next-intlayer/middleware";import { NextRequest } from "next/server";export function middleware(request: NextRequest) {  return intlayerProxy(request);}
      import { defineConfig } from "vite";import { intlayerProxy } from "vite-intlayer";export default defineConfig({  plugins: [intlayerProxy()],});