# 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).

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

*Примечание: требуются `GT_API_KEY` и `GT_PROJECT_ID`.*

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

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

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

## Флаги [#flags]

| Параметр              | Описание                                                             | Тип       | Необязателен | По умолчанию     |
| --------------------- | -------------------------------------------------------------------- | --------- | ------------ | ---------------- |
| `--api-key <key>`     | API-ключ для General Translation.                                    | `string`  | Да           | `GT_API_KEY`     |
| `--project-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-файле и обрабатывает только те файлы, которые изменились с момента последней загрузки.
* [`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` проверяются и сохраняются как целые исходные документы. Для `.xcstrings` CLI отслеживает и отправляет часть каждой локали отдельно, несмотря на то что все локали хранятся в одном файле.
* Никогда не храните свой API-ключ в `gt.config.json`. CLI автоматически считывает `GT_API_KEY` из переменных окружения.

## Sitemap

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