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

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

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

Доступно для

  • планов Business и Enterprise

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

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

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

Ограничения

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

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

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

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

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

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

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

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

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

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

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

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

--branch <branch_name>

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

Чтобы вывести список всех ветвей для проекта через интерфейс приложений 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 ветвь удалить <Идентификатор проекта> <branch_name>

Защитить основную ветвь

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

При включении:

  • Языковые стандарты, ключи и переводы нельзя добавлять, изменять или удалять напрямую в основном проекте. Это ограничение применяется к ресурсу языкового стандарта в целом, включая конфигурацию для каждого языкового стандарта, такую как назначенный профиль машинный перевод, а не только имя языкового стандарта или переводы.

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

  • Загрузка файлов и управление скриншотами отключены в основном проекте.

  • Перед импортом файлов необходимо выбрать ветвь.

  • Автоматизация не запускается для основного проекта.

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

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

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

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

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

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

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

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

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

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

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

$ phrase branches Создать --project_id <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 разрешает конфликты путем применения изменений из ветвь и, если не указано иное, используется по умолчанию.

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

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

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

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

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

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

  • Ключи

  • Переводы

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

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

Конфликты

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

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

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

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

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

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

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

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

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

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

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

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

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

Push и 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 create <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.