Управление переводами

Ветвление (Strings)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Доступно для

  • планов Business и Enterprise

Свяжитесь с отделом продаж по вопросам лицензирования.

Доступно для

  • План Enterprise (Устаревшая версия)

Свяжитесь с отделом продаж по вопросам лицензирования.

Важно

Начиная с 10 декабря 2025 года новое ветвление включено по умолчанию для всех новых клиентов.

Существующие клиенты могут перейти на новую модель ветвление, выбрав Переключиться на новое ветвление на вкладке Ветви в проект.

Устаревшая версия ветвление будет отменена с 1 июня 2026 г..

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

Основной проект копируется при создании новой ветвь, при этом изменения вносятся только в эту ветвь. Когда работа завершена, ветвь объединяется с основным проект. Можно работать с несколькими ветвями одновременно, и после слияния ветви автоматически удаляются. Объединенные ветви остаются доступными на вкладке Объединенные для упрощенного отслеживания истории. Теги из существующей ветви копируются в новую ветвь.

Ограничения

  • Все роли, кроме переводчик и Гость, могут получить доступ к представлению Ветви.

  • Слияния нельзя отменить, а ветви нельзя восстановить после удаления.

  • Задания, созданные в конкретной ветви, не видны в основном проект и наоборот. Когда ветвь объединяется с основным проект, любые открытые задания в ней теряются.

  • Отчеты в представлении Отчеты отражают только статус активный ветви. Слияние ветви с основным проект обновляет отчеты основного проект.

  • Представление Активность содержит только действия в активный ветви. Действия в ветвях не видны в основном проект и наоборот. Действия в ветвь теряются при слиянии ее с основной проект.

  • GitHub Sync можно использовать только в основной проект, а не в ветвь.

  • Комментарии, сделанные в ветвь, не видны в основной проект и наоборот.

  • Заказы, созданные в ветвь, не видны в основной проект и наоборот. Когда ветвь объединяется с основной проект, все открытые в ней работа теряются.

  • Переводчики не могут быть ограничены конкретными ветвь, но им предоставляется разрешение работа над конкретными locales. Переводчикам следует дать инструкции о том, как работа с ветвь.

включить ветвление

Ветвление включено во вкладка Advanced настройки проект с возможностью защитить основная ветвь от изменений.

При включении меню ветвь Branch Menu отображается на экране проект, где можно выбрать рабочая ветвь. Чтобы указать ветвь в CLI, используйте параметр --branch:

--branch <branch_name>

Ветвь перечислены во вкладка Branches проект, где представлена информация о создании и слиянии. Ветвь также можно удалить или объединить, а также создать для них работа из вкладка Branches.

Рекомендации

Нажмите Switch to new branching во вкладка Branches, чтобы получить доступ к новый ветвление интерфейс и функции.

Чтобы получить список все ветвь для проект через интерфейс приложений API или CLI, выполните:

$ Phrase branches list --project_id <Идентификатор проект>

# например
$ Phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ Phrase branches list <Идентификатор проект>

Чтобы удалить ветвь через интерфейс приложений API или CLI, выполните:

$ Phrase branches delete --project_id <Идентификатор проекта> --name <branch_name>

# например
$ Phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ Phrase ветвь delete <Идентификатор проекта> <branch_name>

Создать ветвь (устаревшая версия)

Роли администратор, менеджер проекта и разработчик могут создавать новые ветвь в редактор переводов, через интерфейс приложений API или в CLI.

Чтобы создать ветвь в редактор переводов, выполните следующие действия:

  1. На странице проект выберите вкладка ветвь.

  2. Нажмите Создать ветвь.

    Откроется окно Создать ветвь.

  3. Укажите имя для ветвь.

  4. Нажмите Создать ветвь.

    Новая ветвь добавлена в список.

Чтобы создать ветвь через интерфейс приложений API или CPI, выполните:

$ Phrase branches create --project_id <Идентификатор проекта> --data <data>

Чтобы создать ветвь при отправке переводов, выполните:

$ Phrase push --branch <branch_name>

Объединить ветвь (устаревшая версия)

После внесения изменений в ветвь, ее можно объединить с основным переводом, чтобы включить любые новые переводы.

Во время объединения к основной ветвь применяются только изменения следующих ресурсов:

  • Языковые стандарты

  • Ключи

  • Переводы

Изменения других ресурсов, таких как действия, задания и заказ, не применяются.

Конфликты

Конфликт возникает, когда ресурс (перевод, ключ или языковой стандарт) был изменен как в основном проекте, так и в ветви в период между созданием ветви и ее объединением обратно с основным проектом. Например, переводы и настройки ключа (такие как формы множественного числа) могли измениться в основном проекте после создания ветви, из-за чего значения в ветви стали отличаться от значений в основном проекте.

Чтобы объединить ветвь, выполните следующие действия:

  1. В представлении ветви проекта выберите ветвь для объединения и нажмите сравнить и объединить.

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

  2. Если есть конфликты, выберите стратегию объединения:

    • Выберите использовать проект, чтобы отклонить конфликтующие изменения и сохранить существующие переводы.

    • Выберите использовать Branch Menu ветвь, чтобы Заменить существующие переводы изменениями из ветви.

  3. Нажмите объединить ветвь.

    Ветвь объединена с основным проектом.

Чтобы объединить ветвь через интерфейс приложений API или CPI, выполните:

$ phrase branches merge \\
  --project_id <project_id> \
  --name <name> \\
  --data '{\"strategy\":\"use_main\"}' \\
  --access_token <token>
  • use_branch разрешает конфликты путем применения изменений из ветви и является значением по умолчанию, если не указано иное.

  • use_main разрешает конфликты путем отклонения изменений из ветви. use_master также поддерживается.

Push and Pull (устаревшая версия)

При использовании CLI укажите ветвь для отправки или получения с помощью параметра --branch.

$ Phrase push --branch <branch_name>
$ Phrase pull --branch <branch_name>

Если указанная ветвь не существует в проекте, клиент создает ее.

Использовать --use-local-branch-name для отправки и получения с использованием имени ветви активной git-ветви:

$ Phrase push --use-local-branch-name
$ Phrase pull --use-local-branch-name

интерфейс приложений API (устаревшая версия)

Все конечные точки интерфейс приложений API, которые принимают аргумент проект, также поддерживают параметр --branch для выполнения действия над конкретной ветвью проекта:

$ Phrase upload Создать <project_id> \

  --branch <branch_name>

  --file /path/to/my/file.json \

  --file-format json \

  --locale-id abcd1234cdef1234abcd1234cdef1234 \

  --tags awesome-feature,needs-proofreading \

  --locale-mapping "{"en": "2"}" \

  --format-options "{"foo": "bar"}" 

Новое ветвление

Доступно для

  • планов Business и Enterprise

Свяжитесь с отделом продаж по вопросам лицензирования.

Новый опыт ветвления представляет переработанную архитектуру для повышения производительности, стабильности и гибкости, а также расширенные возможности контроля версий. Это позволяет командам работать над несколькими версиями своего контента параллельно, поддерживать долгоживущие ветви в актуальном состоянии и более эффективно объединять изменения.

Новые функции включают:

  • Многоуровневые (стековые) ветви

    Ветви можно создавать из любой другой ветви, а не только из основной ветви. Поддерживается до 5 уровней ветвей.

  • Синхронизация изменений между ветвями

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

Ветви, которые остаются неслитыми более 30 дней с момента их создания, учитываются в Strings managed words.

Создать ветвь

Роли администратор, менеджер проекта, дизайнер и разработчик могут создавать новые ветви на вкладке Ветви, через интерфейс приложений API или в CLI.

Чтобы создать ветвь через пользовательский интерфейс, выполните следующие действия:

  1. На странице проект выберите вкладка ветвь.

  2. Нажмите Создать ветвь.

    Откроется окно Создать ветвь.

  3. Укажите имя для ветвь.

  4. Выберите Базовая ветвь из список существующих ветвей.

  5. Нажмите «Создать».

    Новая ветвь добавлена в список.

Чтобы создать ветвь через интерфейс приложений API или CPI, выполните:

$ Phrase branches create --project_id <Идентификатор проекта> --data <data>

Чтобы создать ветвь при отправке переводов, выполните:

$ Phrase push --branch <branch_name>

Синхронизировать ветви

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

Чтобы синхронизировать ветвь с ее базовой ветвью, выполните следующие действия:

  1. На вкладке Ветви нажмите Синхронизировать с базовой ветвью рядом с нужной ветвью.

    Отобразится страница Синхронизация с информацией о любых конфликтах и изменениях, которые необходимо синхронизировать с базовой ветвью.

  2. Нажмите на любое из обнаруженных изменений, чтобы просмотреть его перед синхронизацией.

    Отобразится таблица с подробной информацией о выбранном изменении.

  3. Выберите Синхронизировать и подтвердить, чтобы применить изменения.

    Изменения добавляются в базовую ветвь и становятся видимыми в редактор переводов. Информация о последней синхронизации отображается в столбце Синхронизировано на вкладке Ветви.

Синхронизацию ветвь можно также выполнить через интерфейс приложений API, запустив эту команду CLI:

$ Phrase branches sync \\
  --project_id <project_id> \
  --name "branch_name" \\
  --data '{\"strategy\":\"use_main\"}' \\
  --access_token <token>
  • use_branch разрешает конфликты путем применения изменений из ветви и является значением по умолчанию, если не указано иное.

  • use_main разрешает конфликты путем отклонить изменений из ветвь и ссылается на базовую ветвь. При работа с вложенными ветвь базовая ветвь не обязательно является фактической основной ветвь проект.

Объединить ветвь

После завершения работа над переводом или версией в ветвь любые изменения могут быть объединить в базовую ветвь. Как только все изменения будут объединить вверх по цепочке, ветвь верхнего уровня можно будет объединить в основную ветвь.

После успешного объединить объединенная ветвь автоматически удаляется и появляется на вкладка Объединить для отслеживания истории.

Во время объединить к базовой ветвь применяются только изменения следующих ресурсов:

  • Языковые стандарты

  • Ключи

  • Переводы

Изменения других ресурсов, таких как действия, задания и заказ, не применяются.

Ветвь с активный дочерний элемент ветвь нельзя объединить, пока дочерний элемент ветвь не будут удалены или объединить первыми.

Конфликты

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

Чтобы объединить ветвь, выполните следующие действия:

  1. На вкладка Ветвь проект нажмите Объединить с базовой ветвь След. желаемой ветвь.

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

  2. Если есть конфликты, выберите стратегию объединения:

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

    • Выберите использовать Branch Menu ветвь, чтобы Заменить существующие переводы изменениями из ветви.

  3. Нажмите Объединить и подтвердить, чтобы применить изменения.

    Ветвь объединить с базовой ветвь и удаляется автоматически. Чтобы просмотреть историю объединить ветвь, откройте вкладка Объединить на странице Ветвь.

Чтобы объединить ветвь через интерфейс приложений API или CPI, выполните:

$ phrase branches merge \\
  --project_id <project_id> \
  --name <name> \\
  --data '{\"strategy\":\"use_main\"}' \\
  --access_token <token>
  • use_branch разрешает конфликты путем применения изменений из ветви и является значением по умолчанию, если не указано иное.

  • use_main разрешает конфликты путем отклонения изменений из ветви. use_master также поддерживается.

Действие объединить также автоматически удаляет объединенную ветвь.

Push and Pull (устаревшая версия)

При использовании CLI укажите ветвь для отправки или получения с помощью параметра --branch.

$ Phrase push --branch <branch_name>
$ Phrase pull --branch <branch_name>

Если указанная ветвь не существует в проекте, клиент создает ее.

Использовать --use-local-branch-name для отправки и получения с использованием имени ветви активной git-ветви:

$ Phrase push --use-local-branch-name
$ Phrase pull --use-local-branch-name

интерфейс приложений API (устаревшая версия)

Все конечные точки интерфейс приложений API, которые принимают аргумент проект, также поддерживают параметр --branch для выполнения действия над конкретной ветвью проекта:

$ Phrase upload Создать <project_id> \

  --branch <branch_name>

  --file /path/to/my/file.json \

  --file-format json \

  --locale-id abcd1234cdef1234abcd1234cdef1234 \

  --tags awesome-feature,needs-proofreading \

  --locale-mapping "{"en": "2"}" \

  --format-options "{"foo": "bar"}" 
Была ли эта статья полезной?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.