Creation:2025-08-23Last update:2025-08-23

    Інтеграція з React: документація хуку useIntlayer

    У цьому розділі наведено докладні вказівки щодо використання хука useIntlayer у React-застосунках, що дозволяє ефективно локалізувати вміст.

    Імпорт хуку useIntlayer у React

    Хук useIntlayer можна інтегрувати в React-застосунки, імпортуючи його залежно від контексту:

    • Клієнтський компонент:

      typescript
      import { useIntlayer } from "react-intlayer"; // Використовується в клієнтських React компонентах
    • Серверний компонент:

    Параметри

    Хук приймає два параметри:

    1. key: Ключ словника для отримання локалізованого вмісту.
    2. locale (необов'язковий): Бажана локаль. За замовчуванням використовується локаль контексту, якщо не вказано.

    Словник

    Усі ключі словника повинні бути оголошені у файлах декларації контенту, щоб підвищити безпеку типів і уникнути помилок. Інструкцію з налаштування можна знайти тут.

    Приклад використання в React

    Приклад використання хука useIntlayer у React-компоненті:

    src/app.tsx
    import type { FC } from "react";
    import { ClientComponentExample, ServerComponentExample } from "@components";
    import { IntlayerProvider } from "react-intlayer";
    import { useIntlayer, IntlayerServerProvider } from "react-intlayer/server";
    import { Locales } from "intlayer";
    
    const App: FC<{ locale: Locales }> = ({ locale }) => {
      const content = useIntlayer("homepage", locale);
    
      return (
        <>
          <p>{content.introduction}</p>
          <IntlayerProvider locale={locale}>
            <ClientComponentExample />
          </IntlayerProvider>
          <IntlayerServerProvider locale={locale}>
            <ServerComponentExample />
          </IntlayerServerProvider>
        </>
      );
    };
    src/components/ComponentExample.tsx
    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    const ComponentExample: FC = () => {
      const content = useIntlayer("component-example");
    
      return (
        <div>
          <h1>{content.title}</h1>
          <p>{content.description}</p>
        </div>
      );
    };
    src/components/ServerComponentExample.tsx
    import { useIntlayer } from "react-intlayer/server";
    
    const ServerComponentExample = () => {
      const content = useIntlayer("server-component");
    
      return (
        <div>
          <h1>{content.title}</h1>
          <p>{content.description}</p>
        </div>
      );
    };

    Обробка атрибутів

    При локалізації атрибутів звертайтеся до значень контенту відповідним чином:

    jsx
    <button title={content.buttonTitle.value}>{content.buttonText}</button>

    Додаткові ресурси

    • Intlayer Visual Editor: Для інтуїтивнішого управління контентом зверніться до документації візуального редактора тут.

    Цей розділ спеціально присвячений інтеграції хука useIntlayer у React-застосунках, що спрощує процес локалізації та забезпечує узгодженість контенту між різними локалями.