# generaltranslation: General Translation Core SDK: EntryMetadata URL: https://generaltranslation.com/en-US/docs/core/types/entry-metadata.mdx --- title: EntryMetadata description: Type definition for metadata that customizes translation behavior --- ## Overview `EntryMetadata` provides optional configuration for [`TranslateManyEntry`](/docs/core/types/Entry) objects in translation operations. ```typescript type EntryMetadata = { id?: string; hash?: string; context?: string; maxChars?: number; dataFormat?: DataFormat; actionType?: ActionType; }; ``` ## Properties | Property | Type | Description | |----------|------|-------------| | `id?` | `string` | Unique identifier for the entry | | `hash?` | `string` | Content hash for caching and deduplication | | `context?` | `string` | Context hint for translators (e.g., "Button text", "Navigation menu") | | `maxChars?` | `number` | Maximum character limit for the translation | | `dataFormat?` | [`DataFormat`](/docs/core/types/data-format) | Content format specification (`'JSX'`, `'ICU'`, `'I18NEXT'`, or `'STRING'`) | | `actionType?` | `ActionType` | Translation model preference | ### Related types ```typescript type DataFormat = 'JSX' | 'ICU' | 'I18NEXT' | 'STRING'; type ActionType = 'fast'; ``` ## Examples ### Basic usage ```typescript copy import { GT, TranslateManyEntry } from 'generaltranslation'; const entry: TranslateManyEntry = { source: 'Save', metadata: { context: 'Button text', actionType: 'fast' } }; const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id' }); const result = await gt.translate(entry, 'es'); ``` ### With ICU format ```typescript copy const entry: TranslateManyEntry = { source: '{count, plural, other {{count} items}}', metadata: { dataFormat: 'ICU', context: 'Item count' } }; ``` ## Related types * [`TranslateManyEntry`](/docs/core/types/Entry) - Parent type using this metadata * [`DataFormat`](/docs/core/types/data-format) - Content format options