Lingo.dev Bitbucket Integration
Die Lingo.dev Bitbucket Pipelines Integration ist eine sichere, Open-Source-CI/CD-Integration, die automatisch neue Inhalte lokalisiert und verhindert, dass unvollständige Übersetzungen in die Produktionsumgebung gelangen. Sie erstellt Pull Requests oder Commits direkt in Ihren Branch, abhängig von den Workflow-Anforderungen Ihres Teams.
Sie implementiert auch automatische Konfliktlösung durch Rebasing, sodass Ihre Übersetzungen ohne manuellen Eingriff mit Ihrem Code synchronisiert bleiben.
Die Integration unterstützt mehrere Workflow-Szenarien:
- Direkte Commits in Branches, wenn Inhaltsänderungen gepusht werden
- Pull Requests für Branches zur Aktualisierung von Übersetzungen
Nach Abschluss dieser Anleitung werden Sie:
- Automatisierte Lokalisierung einrichten, die durch Code-Pushes ausgelöst wird;
- Sichere Authentifizierung mittels Repository-Variablen konfigurieren;
- Zwischen direkten Commits oder Pull-Request-Workflows wählen;
- Verstehen, wie kontinuierliche Lokalisierung in Ihren bestehenden Prozess passt.
Lassen Sie uns beginnen!
Voraussetzungen
Repository-Einrichtung
Ihr Repository muss mit der Lingo.dev CLI konfiguriert sein und eine gültige i18n.json
-Datei enthalten. Wenn Sie dies noch nicht eingerichtet haben, absolvieren Sie zuerst den CLI-Schnellstart.
Schritt 1. Authentifizierungseinrichtung
Die Lingo.dev Bitbucket Integration benötigt Zugriff auf Ihre Übersetzungs-Engine und Ihr Repository. Die Authentifizierung erfolgt über Repository-Variablen, die Ihre Anmeldedaten sicher aufbewahren.
Hinzufügen Ihres API-Schlüssels
Navigieren Sie zu Ihren Repository-Einstellungen → Repository-Variablen und fügen Sie dann Ihre Übersetzungs-Engine-Anmeldedaten hinzu:
Für Nutzer der rohen LLM-API:
- Variablenname:
OPENAI_API_KEY
oderANTHROPIC_API_KEY
- Variablenwert: Ihr API-Schlüssel vom jeweiligen Anbieter
Für Lingo.dev Engine-Nutzer:
- Variablenname:
LINGODOTDEV_API_KEY
- Variablenwert: Ihr Projekt-API-Schlüssel von lingo.dev/app
Hinzufügen eines Bitbucket-Zugriffstokens (für Pull-Request-Modus)
Wenn Sie den Pull-Request-Modus verwenden möchten, erstellen Sie ein Zugriffstoken:
- Gehen Sie zu Repository-Einstellungen → Zugriffstoken → Repository-Zugriffstoken erstellen
- Gewähren Sie diese Berechtigungen:
- Lesen & Schreiben von Repositories
- Lesen & Schreiben von Pull Requests
- Fügen Sie das Token als Repository-Variable hinzu:
- Variablenname:
BB_TOKEN
- Variablenwert: Ihr Bitbucket-Zugriffstoken
- Variablenname:
Schritt 2. Workflow erstellen
Erstellen oder aktualisieren Sie Ihre bitbucket-pipelines.yml
Datei mit dieser grundlegenden Konfiguration:
script:
- pipe: lingodotdev/lingo.dev:main
Diese Konfiguration verwendet die Lingo.dev Pipe und führt die Übersetzungs-Engine automatisch aus.
Erforderliche Berechtigungen
Bitbucket Pipelines benötigt Zugriff auf Repository-Variablen und Git-Operationen:
Repository-Variablen:
LINGODOTDEV_API_KEY
— Erforderlich für Lingo.dev Engine-NutzerOPENAI_API_KEY
oderANTHROPIC_API_KEY
— Erforderlich für Nutzer der reinen LLM-API
Für Pull-Request-Modus:
BB_TOKEN
— Erforderlich für das Erstellen und Verwalten von Pull-Requests
Zugriffstoken-Bereiche (bei Verwendung des Pull-Request-Modus):
- Lese- & Schreibzugriff auf Repositories — Zugriff auf und Änderung von Repository-Inhalten
- Lese- & Schreibzugriff auf Pull-Requests — Erstellen und Verwalten von Pull-Requests
Diese Berechtigungen ermöglichen der Integration, Ihre Inhalte zu lesen, Übersetzungen zu generieren und Ihr Repository mit den lokalisierten Inhalten zu aktualisieren.
Schritt 3. Workflow-Modus auswählen
Lingo.dev Bitbucket Integration unterstützt zwei Betriebsmodi, abhängig von den Code-Review-Anforderungen Ihres Teams.
Direkter Commit-Modus (Standard)
Die Integration committet Übersetzungen direkt in Ihren Branch:
script:
- pipe: lingodotdev/lingo.dev:main
Dieser Modus eignet sich am besten für:
- Einzelentwickler oder kleine Teams
- Feature-Branches, die vor dem Mergen überprüft werden
- Projekte, bei denen Übersetzungsaktualisierungen keine separate Überprüfung erfordern
Pull-Request-Modus
Die Integration erstellt Pull-Requests für Übersetzungsaktualisierungen:
script:
- pipe: lingodotdev/lingo.dev:main
variables:
LINGODOTDEV_PULL_REQUEST: "true"
Erforderliche Einrichtung für den Pull-Request-Modus
Repository-Variablen:
Sowohl LINGODOTDEV_API_KEY
als auch BB_TOKEN
müssen als Repository-Variablen konfiguriert werden.
Anforderungen an das Zugriffstoken:
Ihr BB_TOKEN
muss Lese- und Schreibberechtigungen sowohl für Repositories als auch für Pull-Requests enthalten.
Hinweis: Die Variable BB_TOKEN
ist erforderlich, wenn der Pull-Request-Modus verwendet wird.
Dieser Modus eignet sich am besten für:
- Teams mit strengen Code-Review-Anforderungen
- Projekte, bei denen Übersetzungsänderungen separate Genehmigung benötigen
- Workflows, die eine explizite Überprüfung aller Änderungen erfordern
Schritt 4. Workflow-Szenarien
Die Lingo.dev Bitbucket-Integration passt sich an verschiedene Entwicklungs-Workflows an. Das Verständnis dieser Szenarien hilft Ihnen, die richtige Konfiguration für Ihr Team auszuwählen.
Szenario 1: Feature-Branch-Updates (Direkte Commits)
Auslöser: Push auf Feature-Branches Aktion: Committet Übersetzungsaktualisierungen direkt in den Feature-Branch
image:
name: atlassian/default-image:2
pipelines:
branches:
feat/*:
- step:
name: Run i18n
script:
- pipe: lingodotdev/lingo.dev:main
Ablauf: Inhaltsänderungen werden in den Feature-Branch gepusht → Integration committet Übersetzungen in denselben Branch
Dies hält Übersetzungsaktualisierungen innerhalb des Feature-Branches und stellt sicher, dass Übersetzungen zusammen mit den ursprünglichen Änderungen überprüft werden.
Szenario 2: Pull Requests für Updates (Pull-Request-Modus)
Auslöser: Push auf jeden konfigurierten Branch Aktion: Erstellt Pull Request mit Übersetzungsaktualisierungen
image:
name: atlassian/default-image:2
pipelines:
branches:
feat/*:
- step:
name: Run i18n
script:
- pipe: lingodotdev/lingo.dev:main
variables:
LINGODOTDEV_API_KEY: "${MY_LINGODOTDEV_API_KEY}" # oder OPENAI_API_KEY/ANTHROPIC_API_KEY
BB_TOKEN: "${MY_ACCESS_TOKEN}"
LINGODOTDEV_PULL_REQUEST: "true"
LINGODOTDEV_PULL_REQUEST_TITLE: "feat: update translations"
LINGODOTDEV_COMMIT_MESSAGE: "feat: update translations"
LINGODOTDEV_WORKING_DIRECTORY: "apps/web"
LINGODOTDEV_PROCESS_OWN_COMMITS: "true"
Ablauf: Inhaltsänderungen werden in den Branch gepusht → Integration erstellt Pull Request mit Übersetzungen
Dies ermöglicht separate Reviews für Übersetzungsaktualisierungen.
Erweiterte Konfiguration
Passen Sie das Integrationsverhalten mit zusätzlichen Variablen an:
Beispiel mit Lingo.dev Engine:
image:
name: atlassian/default-image:2
pipelines:
branches:
feat/*:
- step:
name: Run i18n
script:
- pipe: lingodotdev/lingo.dev:main
variables:
LINGODOTDEV_API_KEY: "${MY_LINGODOTDEV_API_KEY}"
BB_TOKEN: "${MY_ACCESS_TOKEN}"
LINGODOTDEV_PULL_REQUEST: "true"
LINGODOTDEV_PULL_REQUEST_TITLE: "feat: update translations"
LINGODOTDEV_COMMIT_MESSAGE: "feat: update translations"
LINGODOTDEV_WORKING_DIRECTORY: "apps/web"
LINGODOTDEV_PROCESS_OWN_COMMITS: "true"
Beispiel mit direkter LLM-API:
image:
name: atlassian/default-image:2
pipelines:
branches:
feat/*:
- step:
name: Run i18n
script:
- pipe: lingodotdev/lingo.dev:main
variables:
OPENAI_API_KEY: "${MY_OPENAI_API_KEY}" # oder ANTHROPIC_API_KEY
BB_TOKEN: "${MY_ACCESS_TOKEN}"
LINGODOTDEV_PULL_REQUEST: "true"
LINGODOTDEV_PULL_REQUEST_TITLE: "feat: update translations"
LINGODOTDEV_COMMIT_MESSAGE: "feat: update translations"
LINGODOTDEV_WORKING_DIRECTORY: "apps/web"
LINGODOTDEV_PROCESS_OWN_COMMITS: "true"
Konfigurationsoptionen:
LINGODOTDEV_API_KEY
— Ihr Lingo.dev Engine API-Schlüssel, wenn Sie die Lingo.dev Engine verwendenOPENAI_API_KEY
— Ihr OpenAI API-Schlüssel, wenn Sie die direkte LLM-API verwendenANTHROPIC_API_KEY
— Ihr Anthropic API-Schlüssel, wenn Sie die direkte LLM-API verwendenLINGODOTDEV_PULL_REQUEST
— Pull Request erstellen statt direktem Commit (Standard:false
)LINGODOTDEV_PULL_REQUEST_TITLE
— Benutzerdefinierter Pull-Request-Titel (Standard:feat: update translations via @lingodotdev
)LINGODOTDEV_COMMIT_MESSAGE
— Benutzerdefinierte Commit-Nachricht (Standard:feat: update translations via @lingodotdev
)LINGODOTDEV_WORKING_DIRECTORY
— Integration in einem Unterverzeichnis ausführen (Standard:.
)LINGODOTDEV_PROCESS_OWN_COMMITS
— Von dieser Integration erstellte Commits verarbeiten (Standard:false
)BB_TOKEN
— Bitbucket-Zugriffstoken (erforderlich für Pull-Request-Modus)