close

useI18n

useI18n позволяет читать локализованный текст внутри пользовательских компонентов, используя настроенный источник. Подробности см. в config.i18nSource.

Rspress предоставляет хук useI18n для получения текста на нужном языке. Использование выглядит следующим образом:

import { useI18n } from '@rspress/core/runtime';

const MyComponent = () => {
  const t = useI18n();

  return <div>{t('gettingStarted')}</div>;
};

Для удобной подсказки типов вы можете настроить paths в tsconfig.json:

{
  "compilerOptions": {
    "paths": {
      "i18n": ["./i18n.json"]
    }
  }
}

Затем используйте это следующим образом в компоненте:

import { useI18n } from '@rspress/core/runtime';

const MyComponent = () => {
  const t = useI18n<typeof import('i18n')>();

  return <div>{t('gettingStarted')}</div>;
};

Таким образом вы получаете подсказки типов для всех текстовых ключей, определённых в i18n.json.