Übersetzungsmanagement

Branching (Strings)

Inhalte werden von Phrase Language AI maschinell aus dem Englischen übersetzt.

Verfügbar für

  • Business- und Enterprise-Pläne

Kontaktiere Vertrieb für Fragen zur Lizenzierung.

Branching wird in der Software-Versionskontrolle verwendet. Kopien von Projektdateien, sogenannte Branches, ermöglichen es Teams, gleichzeitig an parallelen Versionen des Projekt zu arbeiten, während eine unveränderte Kopie erhalten bleibt. Dies eliminiert das Risiko, versehentlich die Änderungen anderer an Projektdateien zu überschreiben.

Das Haupt-Projekt wird kopiert, wenn ein neuer Branch erstellt wird, wobei Änderungen nur an diesem Branch vorgenommen werden. Wenn Änderungen Abschließen sind, wird der Branch zurück in das Haupt-Projekt gemergt. An mehreren Branches kann gleichzeitig gearbeitet werden und nach dem Mergen werden Branches automatisch gelöscht. Gemergte Branches bleiben im Merged-Tab für eine vereinfachte Historienverfolgung verfügbar. Tags von einem bestehenden Branch werden in den neuen Branch kopiert.

Einschränkungen

  • Alle Rollen außer Übersetzer und Gast können auf die Branches-Ansicht zugreifen.

  • Merges können nicht rückgängig gemacht werden und Branches können nicht wiederhergestellt werden.

  • Jobs, die in einem bestimmten Branch erstellt wurden, sind im Haupt-Projekt nicht sichtbar und umgekehrt. Wenn ein Branch in das Haupt-Projekt gemergt wird, gehen alle darin offenen Jobs verloren.

  • Berichte in der Reports-Ansicht spiegeln nur den Status des aktiven Branch wider. Das Mergen eines Branch in das Haupt-Projekt aktualisiert die Berichte des Haupt-Projekts.

  • Die Activity-Ansicht enthält nur Aktivitäten im aktiven Branch. Aktivitäten in Branches sind im Haupt-Projekt nicht sichtbar und umgekehrt. Aktivitäten in einem Branch gehen verloren, wenn er in das Haupt-Projekt gemergt wird.

  • GitHub Sync kann nur im Hauptprojekt und nicht in Branches verwendet werden.

  • Kommentare, die in einem Branch gemacht wurden, sind im Hauptprojekt nicht sichtbar und umgekehrt.

  • Bestellungen, die in einem Branch erstellt wurden, sind im Hauptprojekt nicht sichtbar und umgekehrt. Wenn ein Branch in das Hauptprojekt zusammengeführt wird, gehen alle darin offenen Bestellungen verloren.

  • Übersetzer können nicht auf bestimmte Branches beschränkt werden, erhalten jedoch die Berechtigung, an bestimmten Gebietsschemata zu arbeiten. Übersetzer sollten darin geschult werden, wie sie mit Branches arbeiten.

Branching aktivieren

Branching wird im Erweitert-Tab der Projekt Einstellungen aktiviert, mit der Option, den Haupt-Branch vor Änderungen zu schützen.

Wenn aktiviert, wird ein Branch-Menü Branch Menu auf dem Projektbildschirm angezeigt, in dem Arbeits-Branches ausgewählt werden können. Um einen Branch in der CLI anzugeben, verwenden Sie den Parameter --branch:

--branch <branch_name>

Branches werden auf dem Branches-Tab eines Projekts aufgelistet, wo Informationen zur Erstellung und Zusammenführung angezeigt werden. Branches können auch gelöscht oder zusammengeführt werden, und Jobs für diesen Branch können über den Branches-Tab erstellt werden.

Um alle Branches für ein Projekt über die API oder CLI aufzulisten, führen Sie Folgendes aus:

$ phrase branches list --project_id <project_id>

# z. B.
$ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <project_id>

Um einen Branch über die API oder CLI zu löschen, führen Sie Folgendes aus:

$ phrase branches delete --project_id <project_id> --name <branch_name>

# z. B.
$ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ phrase branch delete <project_id> <branch_name>

Main-Branch schützen

Main-Branch schützen schränkt Bearbeitungen am Haupt-Projekt ein und erfordert, dass alle Änderungen stattdessen in einem Branch vorgenommen werden.

Wenn aktiviert:

  • Locales, Keys und Übersetzungen können nicht direkt im Haupt-Projekt hinzugefügt, bearbeitet oder gelöscht werden.

  • Datei-Uploads und Screenshot-Verwaltung sind im Haupt-Projekt deaktiviert.

  • Vor dem Importieren von Dateien muss ein Branch ausgewählt werden.

  • Automatisierungen werden nicht für das Haupt-Projekt ausgeführt.

Branch erstellen

Admin, Projektmanagement, Designer und Entwickler können neue Branches im Branches-Tab, über API oder in der CLI erstellen. Branches können von jedem anderen Branch aus erstellt werden, nicht nur vom Main-Branch. Es werden bis zu 5 Branch-Ebenen unterstützt.

Um einen Branch über die Benutzeroberfläche zu erstellen, folgen Sie diesen Schritten:

  1. Wählen Sie auf einer Projekt-Seite den Branches-Tab aus.

  2. Klicken Sie auf Branch erstellen.

    Das Fenster Branch erstellen öffnet sich.

  3. Geben Sie einen Namen für den Branch an.

  4. Wählen Sie einen Basis-Branch aus der Liste der vorhandenen Branches aus.

  5. Klicke auf Erstellen.

    Der neue Branch wird der Liste hinzugefügt.

Um einen Branch über API oder CLI zu erstellen, führen Sie Folgendes aus:

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

Um beim Hochladen von Übersetzungen einen Branch zu erstellen, führen Sie Folgendes aus:

$ phrase push --branch <branch_name>

Branches synchronisieren

Die Synchronisierung stellt sicher, dass der Arbeits-Branch mit den neuesten Änderungen des Branches, aus dem er stammt, abgeglichen bleibt. Auf diese Weise können Übersetzer auch bei langfristigen Projekten mit einer aktualisierten Version des Content arbeiten.

Um einen Branch mit seinem Basis-Branch zu synchronisieren, folgen Sie diesen Schritten:

  1. Klicken Sie im Branches-Tab neben dem gewünschten Branch auf Sync with base branch.

    Die Sync-Seite wird mit Informationen zu allen Konflikten und Änderungen angezeigt, die mit dem Basis-Branch synchronisiert werden sollen.

  2. Klicken Sie auf eine der erkannten Änderungen, um sie vor der Synchronisierung zu überprüfen.

    Eine Tabelle mit Details zu der ausgewählten Änderung wird angezeigt.

  3. Wählen Sie Sync aus und bestätigen Sie, um die Änderungen anzuwenden.

    Die Änderungen werden dem Basis-Branch hinzugefügt und werden im Translation Editor sichtbar. Informationen über die letzte Synchronisierung werden in der Spalte Synced des Branches-Tabs angezeigt.

Die Branch-Synchronisierung kann auch über die API durchgeführt werden, indem dieser CLI-Befehl ausgeführt wird:

$ phrase branches sync \
  --project_id <project_id> \
  --name <branch_name> \
  --data '{"strategy":"use_main"}' \
  --access_token <token>
  • use_branch löst Konflikte durch Anwenden der Änderungen aus dem Branch und ist der Standardwert, falls nicht anders angegeben.

  • Verwenden Sie den Main-Branch, um Konflikte durch Zurückweisen von Änderungen aus dem Branch zu lösen und auf den Basis-Branch zu verweisen. Bei der Arbeit mit gestapelten Branches ist der Basis-Branch nicht notwendigerweise der tatsächliche Main-Projekt-Branch.

Branches zusammenführen

Nach Abschluss der Übersetzungs- oder versionsspezifischen Arbeit in einem Branch können alle Änderungen in den Basis-Branch zusammengeführt werden. Sobald alle Änderungen in der Kette nach oben zusammengeführt wurden, kann der Branch der obersten Ebene in den Main-Branch zusammengeführt werden.

Nach einem erfolgreichen Zusammenführen wird der zusammengeführte Branch automatisch gelöscht und erscheint im Tab Zusammengeführt zur Nachverfolgung der Historie.

Während des Zusammenführens werden nur Änderungen an den folgenden Ressourcen auf den Basis-Branch angewendet:

  • Gebietsschemas

  • Keys

  • Übersetzungen

Änderungen an anderen Ressourcen, wie Aktivitäten, Jobs und Bestellungen, werden nicht angewendet.

Branches mit aktiven untergeordneten Elementen können erst zusammengeführt werden, wenn die untergeordneten Elemente zuerst gelöscht oder zusammengeführt wurden.

Konflikte

Ein Konflikt tritt auf, wenn eine Ressource (Übersetzung, Key oder Sprache) sowohl im aktuellen Branch als auch in dessen Basis-Branch geändert wurde, nachdem der Branch erstellt oder zuletzt synchronisiert wurde. Konflikte können auf jeder Ebene des Branch-Stacks auftreten, nicht nur beim Zusammenführen in den Main-Branch.

Um einen Branch zusammenzuführen, folgen Sie diesen Schritten:

  1. Klicken Sie im Tab Branch eines Projekts neben dem gewünschten Branch auf Mit Basis-Branch zusammenführen.

    Die Seite Zusammenführen wird geöffnet. Informationen zu Übersetzungen, die während des Zusammenführens geändert werden sollen, können durch Klicken in die Zellen abgerufen werden.

  2. Wenn Konflikte vorliegen, wählen Sie eine Strategie zum Zusammenführen aus:

    • Wählen Sie Basis-Branch verwenden, um die in Konflikt stehenden Änderungen zurückzuweisen und bestehende Übersetzungen beizubehalten.

    • Wählen Sie Verwenden Branch Menu BranchName, um bestehende Übersetzungen durch Änderungen aus dem Branch zu ersetzen.

  3. Klicken Sie auf Zusammenführen und bestätigen Sie, um die Änderungen anzuwenden.

    Der Branch wird mit dem Basis-Branch zusammengeführt und automatisch gelöscht. Um den Verlauf der zusammengeführten Branch zu überprüfen, öffnen Sie den Merged-Tab auf der Branches-Seite.

Um einen Branch über API oder CPI zusammenzuführen, führen Sie Folgendes aus:

$ phrase branches merge \\
  --project_id <project_id> \
  --name <name> \\
  --data '{"strategy":"use_main"}' \
  --access_token <token>
  • use_branch löst Konflikte durch Anwenden der Änderungen aus dem Branch und ist der Standardwert, falls nicht anders angegeben.

  • use_main löst Konflikte durch Ablehnung von Änderungen aus dem Branch. use_master wird ebenfalls unterstützt.

Die merge-Aktion löscht den zusammengeführten Branch ebenfalls automatisch.

Push & Pull

Geben Sie bei der Verwendung von CLI einen Branch zum Pushen oder Pullen mit dem --branch-Parameter an.

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

Wenn der angegebene Branch in einem Projekt nicht existiert, erstellt der Kunde ihn.

Verwenden Sie --use-local-branch-name, um unter Verwendung des Branch-Namens eines aktiven Git-Branch zu pushen und zu pullen:

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

API

Alle API-Endpunkte, die ein Projekt-Argument akzeptieren, unterstützen auch den --branch-Parameter, um eine Aktion auf einem bestimmten Branch eines Projekt auszuführen:

$ 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"}" 
War dieser Beitrag hilfreich?

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.