# General Translation Changelog: gtx-cli 2.4.0: Сохраняйте правки переводов через CLI
URL: https://generaltranslation.com/ru/blog/local-edits.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Fernando Aviles
Published: 2025-10-21

## Обзор

В **gtx-cli 2.4.0** мы добавили новый способ сохранять локальную правку перевода прямо из CLI.
Теперь вы можете вносить изменения в переводы локально, сохранять их и держать всё в синхронизации с проектом, не открывая панель управления.

*Примечание о версии: в этой публикации описано поведение версии 2.4.0. В `gt` и `gtx-cli` 2.16.1 и более поздних версиях [`translate`](/docs/cli/reference/commands/translate) по умолчанию выполняет шаг сохранения; передайте `--no-save-local`, чтобы пропустить его.*

***

## Команда `save-local`

Исторически единственным способом вносить правки в переводы был редактор в панели управления. Это работало, но часто нарушало рабочий процесс, особенно если вы были в процессе разработки и хотели просто подправить перевод прямо в коде.

Новая команда [`save-local`](/docs/cli/reference/commands/save-local) позволяет сохранять локальные правки переводов в ваш проект General Translation. Вы остаетесь в своей рабочей среде, а изменения продолжают синхронизироваться.

```bash
npx gtx-cli save-local
```

Эта команда загружает все изменённые файлы переводов, вносит ваши локальные изменения в проект и гарантирует, что при следующем запуске [`translate`](/docs/cli/reference/commands/translate) ваши правки будут учтены.

***

## Перевод (теперь `translate` учитывает локальные изменения)

До этого [`translate`](/docs/cli/reference/commands/translate) всегда считал удалённую версию перевода источником истины.

Если вы вносили локальные правки и снова запускали [`translate`](/docs/cli/reference/commands/translate), эти правки перезаписывались. Теперь это уже не так.

Теперь, когда вы запускаете:

```bash
npx gtx-cli translate
```

CLI автоматически проверяет локальные правки и сохраняет их в фоновом режиме — так же, как [`save-local`](/docs/cli/reference/commands/save-local), — перед повторной загрузкой переводов. Это гарантирует, что ваши локальные версии сохранятся, а повторный перевод всегда учтёт ваши правки.

Вы увидите примерно следующее:

```bash
Starting translation...

Files to translate:
  - src/i18n/en/common.json
  - ...

◒  Updating translations...
◇  Updated translations
```

***

## Что происходит при изменении исходников

У вас может возникнуть вопрос: *что, если я изменю исходный файл после внесения локальных правок перевода?*
В более ранних версиях это запускало полный повторный перевод, который стирал ваши собственные изменения.

В версии 2.4.0 CLI работает умнее. Даже если обновление исходника запускает повторный перевод, ваши прежние локальные правки сохраняются. Они автоматически переносятся в новый перевод.

Например, представьте, что у вас есть такая исходная строка:

```txt
"I am with my mother"
```

которую перевели как:

```txt
"Estoy con mi madre"
```

Затем вы вносите локальную правку, чтобы предпочесть *mamá* вместо *madre*:

```txt
"Estoy con mi mamá"
```

Если позже вы измените исходный текст:

```txt
"I am NOT with my mother"
```

при повторном переводе выбранная вами формулировка всё равно сохранится:

```txt
"NO estoy con mi mamá"
```

Ваши локальные формулировки сохраняются, пока контекст остается актуальным.

Если смысл исходного текста полностью меняется (например, *mother* на *father*), CLI запустит новый перевод для этого содержимого.

Для команд, которые управляют переводами напрямую в коде, это устраняет досадный разрыв между локальным редактированием и синхронизацией проекта. Больше не нужно выбирать между локальной работой и текстом в панели управления — они оба остаются согласованными.

***

## Кратко

* [`save-local`](/docs/cli/reference/commands/save-local) позволяет отправлять локальные правки перевода через CLI.
* [`translate`](/docs/cli/reference/commands/translate) теперь автоматически сохраняет и объединяет локальные правки.
* Умная логика повторного перевода сохраняет ваши локальные правки, если только исходный текст не изменился по существу.

## Sitemap

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