# gt: General Translation CLI tool: JSON URL: https://generaltranslation.com/ru/docs/cli/reference/formats/json-files.mdx --- title: JSON description: Переводите JSON-файлы с помощью CLI General Translation. Справочник API по формату JSON-файлов. --- CLI переводит JSON-файлы независимо от того, какую библиотеку i18n вы используете. При переводе сохраняется синтаксис исходной строки. *Примечание: Пользовательский синтаксис и форматирование строк — например, сообщения ICU — поддерживаются для `next-intl` и `i18next`. Другие библиотеки могут менее точно переводить строки с пользовательским синтаксисом.* ## Конфигурация [#config] Добавьте в `files` запись `json` с массивом `include`, содержащим glob-шаблоны. Используйте плейсхолдер `[locale]`, чтобы CLI мог находить исходные файлы и сохранять переводы по нужному пути. ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["zh", "es", "ja"], "files": { "json": { "include": ["i18n/[locale]/*.json"], "exclude": ["i18n/[locale]/exclude/**/*.json"] } } } ``` С этой конфигурацией CLI переводит каждый JSON-файл в каталоге `i18n/en/`, сохраняет результаты в `i18n/zh/`, `i18n/es/` и `i18n/ja/`, а файлы из `i18n/en/exclude/` пропускает. Все файловые ключи см. в [справочнике по конфигурации](/docs/cli/reference/config#files). ## Метаданные по ключам [#metadata] Добавляйте инструкции по переводу для отдельных ключей с помощью сопутствующего файла `.metadata.json`, который повторяет структуру исходного файла. Используйте его, чтобы добавлять контекст, ограничения по числу символов или контекст исходного кода для конкретных ключей, не изменяя исходный текст. ```json title="translations.metadata.json" { "nav": { "bank": { "context": "Riverbank — the side of a river. NOT a financial institution." }, "save": { "context": "Sports term — a goalkeeper preventing a goal. NOT saving data.", "maxChars": 12 } } } ``` См. [справочник по метаданным для ключей](/docs/cli/reference/keyed-metadata), где перечислены все поддерживаемые поля.