# gt: General Translation CLI tool: gt save-local
URL: https://generaltranslation.com/ru/docs/cli/reference/commands/save-local.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Синхронизация локальных правок переводов обратно на платформу General Translation. Справка по API для команды gt save-local.

Отправляет локальные правки, которые вы внесли в файлы перевода, обратно на платформу General Translation, отправляя диффы. Команда не ставит в очередь новые переводы — она лишь синхронизирует ваши локальные изменения. См. [Управление переводами](/docs/cli/guides/managing-translations#save-local).

Используйте эту команду, когда вы или переводчик вручную редактируете скачанные файлы перевода и хотите, чтобы эти изменения отразились на платформе.

*Примечание: требуются ID проекта и [сохранённый вход или явно указанный ключ для инструментов](/docs/cli/guides/configuring#credentials) с разрешениями на запрашиваемые операции.*

```bash
npx gt save-local
```

## Как это работает [#how-it-works]

1. Считывает файлы, указанные в `gt.config.json`. Если настроен параметр `files.gt.output`, а в `gt-lock.json` зафиксирована скачанная версия GTJSON, также включает соответствующие сгенерированные файлы перевода.
2. Определяет текущую ветку Git.
3. Определяет файлы, изменившиеся с момента последнего скачивания, сравнивая хэши содержимого.
4. Получает исходное содержимое с сервера и вычисляет дифф для каждого изменённого файла.
5. Отправляет диффы на платформу. Обрабатываются только изменённые файлы.
6. Если сохранён хотя бы один дифф и настроена публикация или указан флаг `--publish`, применяет настроенные правила публикации и снятия с публикации в CDN. При отсутствии локальных изменений публикация пропускается.

## Флаги [#flags]

| Параметр              | Описание                                                                | Тип       | Необязателен | По умолчанию                                 |
| --------------------- | ----------------------------------------------------------------------- | --------- | ------------ | -------------------------------------------- |
| `--api-key <key>`     | Явно заданный ключ инструментов (переопределяет значение по умолчанию). | `string`  | Да           | `GT_API_KEY`, иначе сохранённая сессия входа |
| `--project-id <id>`   | ID проекта.                                                  | `string`  | Да           | `GT_PROJECT_ID`                              |
| `-c, --config <path>` | Путь к конфигурационному файлу.                                         | `string`  | Да           | `gt.config.json`                             |
| `--publish`           | Применяет правила публикации в CDN после сохранения локальных диффов.   | `boolean` | Да           | `false`                                      |

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

```bash
# Отправить локальные правки в файлах перевода обратно на платформу
npx gt save-local

# Синхронизировать правки и опубликовать обновлённые переводы на CDN
npx gt save-local --publish
```

## Другие замечания [#notes]

* CLI отслеживает скачанные переводы в lock-файле и обрабатывает только те файлы, которые изменились с момента последнего скачивания.
* Для сгенерированного вывода GTJSON используется `files.gt.publish`, если этот параметр задан, а в противном случае — значение `publish` верхнего уровня; шаблоны для отдельных файлов не применяются.
* [`gt translate`](/docs/cli/reference/commands/translate) и [`gt stage`](/docs/cli/reference/commands/stage) по умолчанию не сохраняют локальные правки. Включите этот шаг для одного запуска с помощью `--save-local` или для всех запусков через [`options.saveLocal`](/docs/cli/reference/config#save-local). Используйте `gt save-local`, если хотите синхронизировать правки без запуска нового перевода.
* Файлы Apple `.strings` и `.stringsdict`, файлы Android `strings.xml`, а также файлы .NET `.resx` и `.resw` проверяются и сохраняются как целые исходные документы. Для `.xcstrings` CLI отслеживает и отправляет часть каждой локали отдельно, несмотря на то что все локали хранятся в одном файле.
* Никогда не храните свой API-ключ в `gt.config.json`. CLI автоматически считывает `GT_API_KEY` из переменных окружения.

### История версий

| Версия   | Изменения                                                                                                                   |
| -------- | --------------------------------------------------------------------------------------------------------------------------- |
| `2.25.0` | Добавлена синхронизация локальных правок и публикация в CDN согласно настройкам для скачанных результатов в формате GTJSON. |

## Sitemap

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