Data utworzenia:2025-08-23Ostatnia aktualizacja:2025-08-23

    Integracja z React: Dokumentacja hooka useI18n

    Ta sekcja zawiera szczegółowe wskazówki dotyczące używania hooka useI18n w aplikacjach React, umożliwiając efektywną lokalizację treści.

    Importowanie useI18n w React

    Hook useI18n można importować i integrować z aplikacjami React w zależności od kontekstu w następujący sposób:

    • Komponenty klienckie:

      typescript
      import { useI18n } from "react-intlayer"; // Użycie w komponentach React po stronie klienta
    • Komponenty serwerowe:

    Parametry

    Ten hook przyjmuje dwa parametry:

    1. namespace: Przestrzeń nazw słownika do zakresu kluczy tłumaczeń.
    2. locale (opcjonalny): Żądany język. Jeśli nie zostanie określony, domyślnie zostanie użyty język z kontekstu.

    Słownik

    Wszystkie klucze słownika muszą być zadeklarowane w plikach deklaracji zawartości, aby zwiększyć bezpieczeństwo typów i zapobiec błędom. Instrukcje konfiguracji można znaleźć tutaj.

    Przykłady użycia w React

    Przykłady użycia hooka useI18n w komponentach React:

    src/App.tsx
    import type { FC } from "react";
    import { ClientComponentExample, ServerComponentExample } from "@components";
    import { IntlayerProvider } from "react-intlayer";
    import { useI18n, IntlayerServerProvider } from "react-intlayer/server";
    import { Locales } from "intlayer";
    
    const App: FC<{ locale: Locales }> = ({ locale }) => {
      const t = useI18n("home-page", locale);
    
      return (
        <>
          <p>{t("introduction")}</p>
          <IntlayerProvider locale={locale}>
            <ClientComponentExample />
          </IntlayerProvider>
          <IntlayerServerProvider locale={locale}>
            <ServerComponentExample />
          </IntlayerServerProvider>
        </>
      );
    };
    src/components/ServerComponentExample.tsx
    import { useI18n } from "react-intlayer/server";
    
    const ServerComponentExample = () => {
      const t = useI18n("server-component");
    
      return (
        <div>
          <h1>{t("title")}</h1> {/* Wyświetl tytuł */}
          <p>{t("description")}</p> {/* Wyświetl opis */}
        </div>
      );
    };

    Obsługa Atrybutów

    Podczas lokalizacji atrybutów, odpowiednio uzyskuj wartości tłumaczeń:

    html
    <!-- Dla atrybutów dostępności (np. aria-label) używaj .value, ponieważ wymagane są czyste łańcuchy znaków --><button aria-label={t("button.ariaLabel").value}>{t("button.text")}</button>

    Dodatkowe Zasoby

    • Intlayer Visual Editor: Dla bardziej intuicyjnego zarządzania treścią, zapoznaj się z dokumentacją edytora wizualnego tutaj.

    Ta sekcja dotyczy integracji hooka useI18n w aplikacjach React, upraszczając proces lokalizacji i zapewniając spójność treści w różnych lokalizacjach.