# General Translation Platform: Content URL: https://generaltranslation.com/en-GB/docs/platform/core/reference/types/content.mdx --- title: Content description: Supported content formats for translation. API reference for Content type. --- `Content` is the union of every content format that General Translation can translate. It appears as the `source` field of a [`TranslateManyEntry`](/docs/platform/core/reference/types/translate-many-entry) and as the input to [`translate`](/docs/platform/core/reference/gt-class-methods/translation/translate) and [`translateMany`](/docs/platform/core/reference/gt-class-methods/translation/translate-many). ## Overview [#overview] `Content` combines structured JSX content and string-based message formats under a single type. The type can be inferred from the value's structure or specified explicitly with a [`DataFormat`](/docs/platform/core/reference/types/data-format) in an entry's metadata. ```typescript type Content = JsxChildren | IcuMessage | StringMessage | I18nextMessage; ``` *Note:* the string members (`IcuMessage`, `StringMessage`, `I18nextMessage`) are all aliases for `string`; in the source they are grouped as `StringContent`, so `Content` is equivalently `JsxChildren | StringContent`. ## Members [#members] | Member | Description | Type | | ------------------------------------ | --------------------------------------------- | ----------------------------- | | [`JsxChildren`](#jsx-children) | Rich JSX content with elements and variables. | `object` | `array` | `string` | | [`IcuMessage`](#icu-message) | ICU MessageFormat string. | `string` | | [`I18nextMessage`](#i18next-message) | i18next-compatible message string. | `string` | | [`StringMessage`](#string-message) | Plain string content. | `string` | ### `JsxChildren` [#jsx-children] **Type** [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) Rich JSX content made up of text, structured elements, and variables. Use it for React components and structured HTML content. See [`JsxChildren`](/docs/platform/core/reference/types/jsx-children) for the full structure. ```typescript const jsxContent: Content = { t: 'div', c: ['Hello ', { k: 'userName' }] }; ``` ### `IcuMessage` [#icu-message] **Type** `string` An ICU MessageFormat string. Use it for complex pluralisation and date/number formatting. ```typescript const icuContent: Content = 'Hello {name}!' as IcuMessage; ``` ### `I18nextMessage` [#i18next-message] **Type** `string` An i18next-compatible message string. Use it for simple interpolation and existing i18next projects. ```typescript const i18nextContent: Content = 'Welcome back, {{name}}!' as I18nextMessage; ``` ### `StringMessage` [#string-message] **Type** `string` Plain string content with no interpolation, pluralisation, or formatting. Use it for simple text. ```typescript const stringContent: Content = 'Hello, world!' as StringMessage; ``` ## Notes [#notes] * `Content` unifies different message formats under a single type. * The content type can be inferred from structure or specified explicitly through a [`DataFormat`](/docs/platform/core/reference/types/data-format) in [`EntryMetadata`](/docs/platform/core/reference/types/entry-metadata).