Author:
    Creation:2026-06-22Last update:2026-09-27

    Svelte Integration: usePathname Documentation

    usePathname рдлрд╝рдВрдХреНрд╢рди рд╡рд░реНрддрдорд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрдердирд╛рдо (pathname) рдХреЛ locale рдЦрдВрдб рд╣рдЯрд╛рдХрд░ Svelte Readable<string> рд╕реНрдЯреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрд╣ locale-рдЬрд╛рдЧрд░реВрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдиреЗрд╡ рдЖрдЗрдЯрдо рд╕рдХреНрд░рд┐рдп рд╣реИ) рдмрд┐рдирд╛ locale рдЙрдкрд╕рд░реНрдЧ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдПред

    Svelte рдореЗрдВ usePathname рдЖрдпрд╛рдд (Import) рдХрд░рдирд╛

    typescript
    import { usePathname } from "svelte-intlayer";
    

    рдЕрд╡рд▓реЛрдХрди (Overview)

    usePathname рдПрдХ Svelte readable рд╕реНрдЯреЛрд░ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ window.location.pathname рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, getPathWithoutLocale рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ locale рдЙрдкрд╕рд░реНрдЧ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ popstate рдЗрд╡реЗрдВрдЯ (рдмреИрдХ/рдлрд╝реЙрд░рд╡рд░реНрдб рдиреЗрд╡рд┐рдЧреЗрд╢рди) рдлрд╛рдпрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдорд╛рди рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рдШрдЯрдХреЛрдВ рдореЗрдВ $ рд╕реНрдЯреЛрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВред

    рдЙрдкрдпреЛрдЧ (Usage)

    src/components/NavItem.svelte
    <script lang="ts">
      import { usePathname } from "svelte-intlayer";
    
      export let href: string;
      export let label: string;
    
      const pathname = usePathname();
    </script>
    
    <a {href} aria-current={$pathname === href ? "page" : undefined}>
      {label}
    </a>
    

    рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ (Return Value)

    рдкреНрд░рдХрд╛рд░рд╡рд┐рд╡рд░рдг
    Readable<string>Svelte readable store рдЬрд┐рд╕рдореЗрдВ locale рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдмрд┐рдирд╛ рд╡рд░реНрддрдорд╛рди рдкрдердирд╛рдо (pathname) рд╢рд╛рдорд┐рд▓ рд╣реИред

    рд╡реНрдпрд╡рд╣рд╛рд░ (Behavior)

    • Locale stripping: рд╢реБрд░реБрдЖрдд рдХреЗ locale рдЦрдВрдб рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ (рдЙрджрд╛. /hi/dashboard тЖТ /dashboard)ред
    • Reactive: рд╣рд░ popstate рдЗрд╡реЗрдВрдЯ (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмреИрдХ / рдлреЙрд░рд╡рд░реНрдб рдиреЗрд╡рд┐рдЧреЗрд╢рди) рдкрд░ рдПрдХ рдирдпрд╛ рдорд╛рди рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред
    • SSR-safe: window рдЙрдкрд▓рдмреНрдз рди рд╣реЛрдиреЗ рдкрд░ "" рд▓реМрдЯрд╛рддрд╛ рд╣реИред
    • Cleanup: рдЬрдм рдЕрдВрддрд┐рдо рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рддрд╛ рд╣реИ рддреЛ popstate рд╢реНрд░реЛрддрд╛ (listener) рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

    рдЙрджрд╛рд╣рд░рдг (Example)

    src/components/Sidebar.svelte
    <script lang="ts">
      import { usePathname } from "svelte-intlayer";
    
      const links = [
        { href: "/dashboard", label: "рдбреИрд╢рдмреЛрд░реНрдб" },
        { href: "/settings", label: "рд╕реЗрдЯрд┐рдВрдЧреНрд╕" },
      ];
    
      const pathname = usePathname();
    </script>
    
    <nav>
      {#each links as link}
        <a
          href={link.href}
          style:font-weight={$pathname === link.href ? "bold" : "normal"}
        >
          {link.label}
        </a>
      {/each}
    </nav>