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

Branching (Strings)

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

Доступно для

  • Планы для бизнеса и предприятий

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

Доступно для

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

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

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

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

Ограничения

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

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

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

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

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

  • Синхронизация GitHub может использоваться только в основном проекте, а не в ветвях.

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

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

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

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

Ветвление включено на вкладке Дополнительно в Настройки проекта с опцией защиты основной ветви от изменений.

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

--branch <branch_name>

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

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

$ phrase branches list <project_id>

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

$ phrase branch delete <project_id> <branch_name>

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

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

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

  1. На странице Проект выберите вкладку Ветви.

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

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

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

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

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

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

$ phrase branches create --project_id <project_id> --data <data>

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

$ phrase push --branch <branch_name>

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

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

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

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

  • Ключи

  • Переводы

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

Конфликты

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

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

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

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

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

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

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

  3. Нажмите Объединить Ветку.

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

Чтобы объединить ветку через API или CPI, выполните:

$ фраза ветки объединить \
  --project_id <project_id> \
  --name <name> \
  --data '{"strategy":"use_main"}' \
  --access_token <токен>
  • использовать_ветку разрешает конфликты, применяя изменения из ветки, и если не указано, является значением по умолчанию.

  • использовать_основной разрешает конфликты, отклоняя изменения из ветки. использовать_мастер также поддерживается.

Push и pull

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

$ phrase push --branch <branch_name>
$ фраза pull --branch <branch_name>

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

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

$ фраза push --use-local-branch-name
$ фраза pull --use-local-branch-name

API

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

$ фраза загрузить создать <project_id> \

  --branch <branch_name>

  --файл /path/to/my/file.json \\

  --формат-файла json \\

  --locale-id abcd1234cdef1234abcd1234cdef1234 \

  --теги awesome-feature,needs-proofreading \\

  --языковой стандарт "{"en": "2"}" \

  --опции формата "{"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.