# generaltranslation: General Translation Core SDK: DataFormat URL: https://generaltranslation.com/zh/docs/core/types/data-format.mdx --- title: DataFormat description: 支持翻译的内容格式类型枚举 --- ## 概述 `DataFormat` 用于指定可翻译内容的格式。 ```typescript type DataFormat = 'JSX' | 'ICU' | 'I18NEXT' | 'STRING'; ``` ## 类型定义 ### 取值 | 值 | 描述 | 内容类型 | 使用场景 | | ----------- | ----------------- | --------------------------- | -------------------- | | `'JSX'` | JSX/React 组件格式 | `JsxChildren` | 包含元素和变量的富 UI 组件 | | `'ICU'` | ICU MessageFormat | `IcuMessage` (`string`) | 适用于复数、日期、数字等复杂格式化 | | `'I18NEXT'` | i18next 消息格式 | `I18nextMessage` (`string`) | 简单插值,适合现有 i18next 项目 | | `'STRING'` | 纯字符串格式 | `string` | 简单文本内容 | ### 格式特性 | 格式 | 变量 | 复数处理 | HTML 元素 | 日期/数字格式化 | | ----------- | ------------------- | ---------- | ----------- | -------- | | **JSX** | ✅ 丰富变量 | ✅ 通过分支实现 | ✅ 完整支持 HTML | ✅ 通过变量 | | **ICU** | ✅ `{variable}` 语法 | ✅ 内置复数支持 | ❌ 仅支持文本 | ✅ 内置格式化器 | | **I18NEXT** | ✅ `{{variable}}` 语法 | ✅ 通过 count | ❌ 仅支持文本 | ✅ 通过格式化器 | | **STRING** | ❌ | ❌ | ❌ | ❌ | *** ## 示例 ### 格式规范 ```typescript copy const icuEntry: TranslateManyEntry = { source: 'Hello {name}', metadata: { dataFormat: 'ICU' } }; const plainEntry: TranslateManyEntry = { source: 'Hello, world!', metadata: { dataFormat: 'STRING' } }; ``` *** ## 说明 * DataFormat 决定翻译系统如何处理内容 * 元数据中的格式说明可确保内容被正确处理 * 虽然可以自动检测,但仍建议显式指定 ## 相关类型 * [`Content`](/docs/core/types/Content) - 所有内容格式类型组成的联合类型 * [`JsxChildren`](/docs/core/types/jsx-children) - JSX 格式的内容