# react-native: T URL: https://generaltranslation.com/ru/docs/react-native/api/components/t.mdx --- title: T description: Справка по API для компонента T --- {/* АВТОМАТИЧЕСКИ СГЕНЕРИРОВАНО: Не редактируйте напрямую. Вместо этого редактируйте template в content/docs-templates/. */} ## Обзор Компонент `` — основной метод перевода в `gt-react-native`. ```jsx // [!code highlight] Today, I went to {" the store"}

to buy some groceries.

// [!code highlight] ``` Компонент `` поддерживает перевод как обычного текста, так и сложных JSX-структур. Кроме того, он позволяет работать с переменными, формами множественного числа и переводами с учетом контекста. **Перевод на этапе сборки:** Переводы `` выполняются на этапе сборки. Это означает, что перевод выполняется до развертывания, что позволяет снизить задержку. Обязательно ознакомьтесь с [руководством по развертыванию](/docs/react-native/tutorials/quickdeploy). ## Справка ### Пропсы ### Описания | Свойство | Описание | | ---------- | ------------------------------------------------------------------------------------------------------------ | | `children` | Содержимое для перевода. Может включать обычный текст или структуры JSX. | | `id` | Уникальный идентификатор строки перевода. Обеспечивает единообразный перевод во всём приложении. | | `context` | Дополнительный контекст для уточнения перевода. Полезен, когда нужно устранить неоднозначность формулировок. | ### Возвращает `React.JSX.Element|undefined`, содержащий отрисованный перевод или резервное содержимое в зависимости от заданной конфигурации. *** ## Поведение ### Продакшен В процессе CD всё содержимое внутри `` переводится до развертывания приложения. Это обеспечивает быструю загрузку для всех локалей, но позволяет переводить только содержимое, известное на этапе сборки. После генерации переводы либо (1) сохраняются в CDN, либо (2) включаются в результаты сборки приложения — в соответствии с вашими настройками. Затем переведённое содержимое отдается пользователям. Если перевод не найден, используется исходное содержимое. Обязательно следуйте [этому руководству по развертыванию](/docs/react-native/tutorials/quickdeploy). ### Разработка Во время разработки функция `` будет переводить содержимое по запросу. Это полезно, чтобы быстро оценить, как ваше приложение будет выглядеть на разных языках. Не забудьте добавить Dev API-ключ в переменные окружения, чтобы включить это поведение. Во время загрузки `` будет возвращать undefined, если только языки не похожи (en-US vs en-GB), хотя это поведение можно настроить с помощью параметров рендеринга. Если произойдет ошибка, `` вернет исходное содержимое. При переводе по запросу в режиме разработки будет заметна задержка. В продакшен-сборках этой задержки не будет, так как все уже будет переведено. *** ## Примеры ### Базовое использование Компонент `` может переводить простые строки, используя `id` и дочерние элементы. Помните: чтобы получить доступ к переводам, компонент `` нужно использовать внутри [``](/docs/react-native/api/components/gtprovider). ```jsx title="SimpleTranslation.jsx" copy import { T } from 'gt-react-native'; export default function Greeting() { return ( // [!code highlight] Hello, world! // [!code highlight] ); } ``` ### С переменными Компонент `` может включать переменные для динамического контента в переводах. ```jsx title="DynamicGreeting.jsx" copy import { T, Var } from 'gt-react-native'; export default function DynamicGreeting(user) { return ( Hello, {user.name}! // [!code highlight] ); } ``` ### С формами множественного числа Компонент `` также поддерживает формы множественного числа с помощью компонента ``. ```jsx title="ItemCount.jsx" copy import { T, Plural } from 'gt-react-native'; export default function ItemCount({ count }) { return ( You have an item.} // [!code highlight] other={<>You have items.} // [!code highlight] /> // [!code highlight] ); } ``` ### Ограничения Компонент `` не переводит динамический контент. ```jsx title="DynamicContent.jsx" copy import { T } from 'gt-react-native'; export default function DynamicContent({greeting}) { return ( {greeting} // вызовет ошибку // [!code highlight] ); } ``` Функция `` переводит вложенное содержимое. ```jsx title="Example.jsx" copy import { T } from 'gt-react-native'; const ValidTranslation = ({ children }) => (
{children}
); const InvalidTranslation = ({ children }) => (
No translation
); export default function Example() { return (
This is valid!
// будет переведено // [!code highlight] // будет переведено // [!code highlight] Hello, world! // [!code highlight] // [!code highlight] // не будет переведено
); } ``` **Примечание:** Как правило, переводится любой контент, который *буквально* находится в файле между двумя ``. Если какой-то контент не переводится, вы всегда можете добавить ещё один ``, хотя вкладывать компоненты `` друг в друга не рекомендуется. *** ## Примечания * Компонент `` предназначен для перевода содержимого в вашем приложении. Это основной способ локализации в `gt-react-native`. * Используйте компонент `` для перевода обычного текста или JSX-структур, включая переменные и формы множественного числа. * Убедитесь, что компонент `` обёрнут в [``](/docs/react-native/api/components/gtprovider), чтобы получить доступ к контексту перевода. ## Следующие шаги * О более продвинутых возможностях, таких как перевод по запросу, переменные, контекст и обработка форм множественного числа, см. в документации о [паттернах проектирования ``](/docs/react-native/guides/t). * Для перевода строк изучите [`useGT`](/docs/react-native/api/strings/use-gt).