Документация

useT hook

Используйте useT hook для перевода строк в props и атрибутов, таких как кнопка aria-label.

import { useT } from '@magic-translate/react';
const MyComponent = () => {
const t = useT();
return (
<button aria-label={t('Main menu')}>
<HamburgerIcon />
</button>
);
};

Функцию t() можно использовать в любом месте компонента. Вы также можете использовать ее в своей разметке вместо компонента <T>, если хотите.

const MyComponent = () => {
const t = useT();
return <p>{t('This will be translated')}</p>;
};

Переменные

Чтобы ввести в строку такие значения, как имя или количество, вызовите t в качестве шаблона с тегами без скобок:

const MyComponent = ({ count }: { count: number }) => {
const t = useT();
return <p>{t`You have ${count} unread messages`}</p>;
};

Magic Translate переводит You have {0} unread messages один раз и возвращает значение обратно в ваше приложение, поэтому для каждого значения работает один кэшированный перевод. Значения никогда не отправляются в Magic Translate. Это то же самое, что и v() в компоненте <T>.

Опции

В t() можно передать те же параметры, что и компоненту <T>, например formality.

const MyComponent = () => {
const t = useT();
return <button>{t('Please click here', { formality: 'formal' })}</button>;
};

Сюда входит id, позволяющая самостоятельно отредактировать использование текста:

<button aria-label={t('Save', { id: 'checkout-save' })} />

Шаблон с тегами не принимает никаких опций. Для текста, содержащего обе переменные и id, используйте компонент <T>.