Author:
    Creation:2026-09-19Last update:2026-09-19

    useLocale हुक प्रलेखन

    remix-intlayer का useLocale हुक वर्तमान में संसाधित किए जा रहे HTTP अनुरोध के लोकेल के साथ-साथ प्रोजेक्ट के कॉन्फ़िगर किए गए डिफ़ॉल्ट और उपलब्ध लोकेल्स तक पहुंच प्रदान करता है।

    उपयोग

    एक Remix घटक में (उदाहरण के लिए भाषा चयनकर्ता):

    src/components/LocaleSwitcher.tsx
    import { type FC } from "react";
    import { Link } from "@remix-run/react";
    import { useLocale } from "remix-intlayer";
    import { getLocalizedUrl, getPathWithoutLocale } from "intlayer";
    
    export const LocaleSwitcher: FC = () => {
      const { locale, availableLocales } = useLocale();
      const pathWithoutLocale = getPathWithoutLocale();
    
      return (
        <nav>
          <ul>
            {availableLocales.map((localeItem) => (
              <li key={localeItem} className="p-1">
                <Link
                  href={getLocalizedUrl(pathWithoutLocale, localeItem)}
                  aria-current={localeItem === locale ? "page" : undefined}
                >
                  {localeItem.toUpperCase()}
                </Link>
              </li>
            ))}
          </ul>
        </nav>
      );
    };
    

    रूट हैंडलर में:

    src/server.ts
    import { createRouter } from "remix/router";
    import { intlayer, useLocale } from "remix-intlayer";
    
    const router = createRouter({
      middleware: [intlayer()],
    });
    
    router.get("/api/locale-info", () => {
      const { locale, defaultLocale, availableLocales } = useLocale();
    
      return Response.json({
        locale,
        defaultLocale,
        availableLocales,
      });
    });
    

    रिटर्न मान

    हुक UseLocaleResult प्रकार का एक ऑब्जेक्ट लौटाता है:

    गुणप्रकारविवरण
    localeDeclaredLocalesवर्तमान अनुरोध के लिए हल किया गया लोकेल।
    defaultLocaleDeclaredLocalesintlayer.config.ts में कॉन्फ़िगर किया गया डिफ़ॉल्ट फ़ॉलबैक लोकेल।
    availableLocalesDeclaredLocales[]intlayer.config.ts में कॉन्फ़िगर किए गए सभी उपलब्ध लोकेल्स की सूची।

    विवरण

    1. अनुरोध-दायरा समाधान: intlayer() मिडलवेयर द्वारा प्रबंधित सक्रिय अनुरोध में, useLocale अनुरोध संग्रहण से हल किए गए लोकेल को पढ़ता है।
    2. सहज फ़ॉलबैक: यदि अनुरोध संदर्भ के बाहर कॉल किया जाता है (जैसे कि आरंभीकरण स्क्रिप्ट या परीक्षण सुइट के दौरान), तो यह कॉन्फ़िगर किए गए defaultLocale पर डिफ़ॉल्ट हो जाता है।

    संबंधित दस्तावेज़