# General Translation Platform: JsxElement
URL: https://generaltranslation.com/ru/docs/platform/core/reference/types/jsx-element.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Структурированный JSX-подобный элемент, используемый в переводимом контенте. Справочник API для типа JsxElement.

`JsxElement` позволяет General Translation сохранять структуру элемента внутри переводимого контента [`JsxChildren`](/docs/platform/core/reference/types/jsx-children). Он содержит тег элемента, идентификатор, свойства GT и вложенное содержимое в компактной сериализуемой форме.

## Обзор [#overview]

Все поля `JsxElement` необязательны. Поле `t` содержит имя тега, `i` — внутренний идентификатор, `d` — свойства GT, а `c` — дочерние элементы.

```typescript
type JsxElement = {
  t?: string;      // имя тега
  i?: number;      // id
  d?: GTProp;      // данные/свойства GT
  c?: JsxChildren; // дочерние элементы
};
```

## Свойства [#properties]

| Свойство         | Описание                  | Тип                                                               | Необязательно |
| ---------------- | ------------------------- | ----------------------------------------------------------------- | ------------- |
| [`t`](#tag)      | Имя HTML-тега.            | `string`                                                          | Да            |
| [`i`](#id)       | Внутренний идентификатор. | `number`                                                          | Да            |
| [`d`](#gt-props) | Свойства GT и атрибуты GT. | `GTProp`                                                          | Да            |
| [`c`](#children) | Вложенное содержимое.     | [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) | Да            |

### `t` [#tag]

**Тип** `string` · **Необязательный**

Имя HTML-тега, например `'div'`, `'a'` или `'h1'`.

### `i` [#id]

**Тип** `number` · **Необязательное**

Внутренний идентификатор, используемый в General Translation.

### `d` [#gt-props]

**Тип** `GTProp` · **Необязательный**

Свойства и атрибуты GT для элемента. `GTProp` содержит содержимое ветки (`b`), тип преобразования (`t`) и ключи HTML-атрибутов:

```typescript
type GTProp = {
  b?: Record<string, JsxChildren>; // ветви (например, содержимое plural/branch)
  t?: 'p' | 'b';                   // тип преобразования: 'p' (plural) или 'b' (branch)
} & HtmlContentPropKeysRecord;
```

Ключи HTML-атрибутов сопоставляют короткие ключи GT с соответствующими HTML-атрибутами:

| Ключ GT | HTML-атрибут       |
| ------- | ------------------ |
| `pl`    | `placeholder`      |
| `ti`    | `title`            |
| `alt`   | `alt`              |
| `arl`   | `aria-label`       |
| `arb`   | `aria-labelledby`  |
| `ard`   | `aria-describedby` |

*Примечание:* преобразования считываются только на стороне сервера, когда `t` равно `'p'` (множественное число) или `'b'` (ветка).

### `c` [#children]

**Тип** [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) · **Необязательно**

Вложенное содержимое элемента.

## Пример [#example]

```typescript
import { JsxElement, Variable } from 'generaltranslation/types';

// Простой элемент
const heading: JsxElement = {
  t: 'h1',
  c: ['Welcome']
};

// С атрибутами
const button: JsxElement = {
  t: 'button',
  d: { ti: 'Submit form' },
  c: ['Submit']
};
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
