Автор:
    Дата створення:2026-06-22Останнє оновлення:2026-06-22

    Інтеграція зі Svelte: Документація usePathname

    Функція usePathname повертає поточний шлях (pathname) браузера із видаленим сегментом локалі у вигляді Svelte-стору Readable<string>. Це корисно для створення навігації, що враховує локаль — наприклад, для визначення активного пункту меню — без необхідності вручну видаляти префікс локалі.

    Імпорт usePathname у Svelte

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

    Огляд

    usePathname створює Svelte readable store, який зчитує window.location.pathname, видаляє префікс локалі за допомогою getPathWithoutLocale, та видає нове значення кожного разу, коли браузер ініціює подію popstate (навігація назад/вперед). Підписуйтесь на стор за допомогою синтаксису $ у компонентах.

    Використання

    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>

    Значення, що повертається

    Тип Опис
    Readable<string> Svelte readable store (реактивний стор), що містить поточний шлях (pathname) без префікса локалі.

    Поведінка

    • Видалення локалі: Видаляє початковий сегмент локалі (наприклад, /uk/dashboard/dashboard).
    • Реактивність: Автоматично видає нове значення при подіях popstate (навігація назад/вперед у браузері).
    • Безпека для SSR: Повертає "", якщо об'єкт window недоступний.
    • Очищення: Слухач popstate автоматично видаляється, коли відписується останній підписник.

    Приклад

    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>

    Пов'язані функції

    • useLocale — поточна локаль + перемикач локалей
    • getPathWithoutLocale — базова утиліта, що використовується цим хуком