Дата створення:2025-08-23Останнє оновлення:2025-08-23

    Хук useRewriteURL

    Хук useRewriteURL для Svelte призначений для керування локалізованими переписуваннями URL на стороні клієнта. Він автоматично виправляє URL у браузері до його «красивої» локалізованої версії на основі поточної локалі та конфігурації в intlayer.config.ts.

    Він оновлює URL непомітно, використовуючи window.history.replaceState, уникаючи повних навігацій SvelteKit.

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

    Викликайте хук всередині Svelte-компонента.

    <script>
      import { useRewriteURL } from "svelte-intlayer";
    
      // Автоматично виправляє /fr/tests на /fr/essais в адресному рядку, якщо існує правило переписування
      useRewriteURL();
    </script>
    
    <slot />

    Як це працює

    1. Реактивні оновлення: Хук підписується на Intlayer locale store.
    2. Виявлення: Коли змінюється локаль (або під час маунту), він перевіряє, чи має поточний window.location.pathname більш красивий локалізований псевдонім, визначений у ваших правилах переписування.
    3. Виправлення URL: Якщо знайдено більш красивий шлях, хук викликає window.history.replaceState, щоб оновити адресний рядок без повного перезавантаження сторінки або активації логіки навігації SvelteKit.

    Чому варто використовувати?

    • Кращі практики SEO: Гарантує, що пошукові системи індексують лише красиву, локалізовану версію ваших URL.
    • Покращений UX: Виправляє вручну введені URL-адреси, щоб вони відповідали вашій бажаній структурі іменування.
    • Безшумні оновлення: Змінює адресний рядок без впливу на дерево компонентів або історію навігації.