Wie geht ein TMS-Konnektor mit teilweise übersetzten Dateien um?
Ein TMS-Connector verarbeitet eine teilweise übersetzte Datei auf eine von zwei Arten: Er hält die Datei zurück, bis jede Zeichenkette für diesen Ort den letzten Workflow-Schritt erreicht, oder er liefert die Datei frühzeitig aus, wobei jede nicht übersetzte Zeichenfolge mit dem Quelltext gefüllt ist (oder leer bleibt). In Smartling ist der Standard für Repository- und dateibasierte Connectors, die Zustellung zurückzuhalten, bis alle autorisierten Zeichenketten in der Datei für diesen Ort veröffentlicht sind; ein Entwickler, der früher über die Datei-API mit retrievalType=published herunterlädt, erhält die veröffentlichten Übersetzungen plus die Quellzeichenkette anstelle aller noch laufenden Zeichenketten. Die entscheidende Entscheidung für einen Käufer ist nicht, ob ein Connector frühzeitig liefern kann, sondern was er in die Lücken schreibt, wenn er das tut, denn ein Quellsprachen-Fallback hält eine Anwendung am Laufen, während ein leerer String sie zerstört.
Zuletzt überprüft: 20. September 2026
Warum gelangen teilweise übersetzte Dateien überhaupt in ein Repository oder CMS?
Teilweise übersetzte Dateien erreichen ein Zielsystem, weil die Übersetzung auf Stringebene abgeschlossen wird, während die Zustellung auf Dateiebene stattfindet, und die beiden selten übereinstimmen. Fünf Muster erklären die meisten Überraschungen:
- Die Vervollständigung wird pro Gebietsschema definiert, nicht pro Datei. Smartling betrachtet eine Datei für ein Gebietsschema erst dann als abgeschlossen, wenn jede darin enthaltene Zeichenkette den Workflow-Schritt "Veröffentlicht" erreicht hat, und einen Auftrag erst dann als abgeschlossen, wenn jede Datei in jedem Gebietsschema abgeschlossen ist (Smartling Hilfezentrum, Tutorial: Übersetzungsaufträge und Workflows). Ein Auftrag mit zehn Sprachen kann zu 100 Prozent in Deutsch abgeschlossen sein, während die japanische Sprache noch geprüft wird. Daher liefert ein Konnektor, der pro Sprache liefert, eine fertige Datei und neun Dateien, die noch nicht geeignet sind.
- Neue Strings treffen ein, nachdem der Projektumfang festgelegt wurde. Wenn ein Entwickler einer Ressourcendatei, die sich bereits in einem Job befindet, Schlüssel hinzufügt, werden die neuen Zeichenketten in einem separaten Job gespeichert. Der erste Job meldet den Abschluss, die zugehörige Datei wird zugestellt, und die neueren Zeichenketten sind in derselben Datei noch immer nicht übersetzt. Aus diesem Grund kann sich der Beschäftigungsfortschritt bei Smartling nicht nur erhöhen, sondern auch verringern.
- Der Download bat um laufende Übersetzungen. Die Smartling-Dateien-API stellt einen ausstehenden Abruftyp frei, der alle gespeicherten Übersetzungen zurückgibt, einschließlich noch nicht veröffentlichter (Smartling API-Spezifikation, Datei-API). Das Ziehen mit ausstehendem Bestand während der Überprüfung garantiert eine gemischte Datei; der veröffentlichte Abruftyp ist das, was Produktionsintegrationen verwenden sollten.
- Nur autorisierte Zeichenketten zählen für die Lieferbedingung. Standardmäßig liefert der Repository Connector von Smartling eine Datei, wenn alle darin enthaltenen autorisierten Zeichenketten für das Gebietsschema veröffentlicht sind, und nicht erst, wenn jede einzelne Zeichenkette in der Datei übersetzt ist. Zeichenketten, die nie zur Übersetzung freigegeben wurden, bleiben in der ausgelieferten Datei in der Ausgangssprache. Dies sieht zwar nach einer Teilübersetzung aus, ist aber eine Entscheidung im Rahmen der Abgrenzung (Smartling Help Center, Repository Connector FAQ).
- Continuous Delivery wurde absichtlich eingeschaltet. Fortschrittsbasierte Trigger, wie der ONCHANGE-Download-Trigger des Repository Connector oder die Progress Changes-Einstellung des WordPress-Plugins, existieren, damit Entwickler Übersetzungen sehen können, bevor die Überprüfung abgeschlossen ist. Sobald sie aktiviert ist, ist eine teilweise übersetzte Datei die erwartete Ausgabe, sodass sich die Frage darauf verlagert, was die Lücken füllt.
Was entscheidet, was ein Connector in nicht übersetzte Strings schreibt?
Vier Einstellungen zusammen bestimmen, was ein Zielsystem erhält, wenn eine Übersetzung unvollständig ist:
- Auslieferungsauslöser — Ob der Konnektor auf den Abschluss wartet oder bei jeder Änderung ausliefert. Der Repository Connector von Smartling stellt dies als DownloadTranslations-Trigger mit den Werten COMPLETED (Standard) oder ONCHANGE bereit; der gehostete GitHub Connector liefert nach Abschluss des Auftrags einen Pull Request für die Übersetzung, mit der Option Early Delivery für eine vorveröffentlichte Version. Die für diese Ebene geltenden Sperr-, Gebietsschema- und Stufenfreigabekontrollen werden auf der Seite zur Steuerung der Stapelübersetzungsveröffentlichung erläutert.
- Abruftyp — Welche Übersetzungen kommen für die Aufnahme in Frage? Die Files API von Smartling akzeptiert veröffentlichte (nur Zeichenketten im Schritt "Veröffentlicht", einschließlich vorveröffentlichter Zeichenketten), ausstehende (alle gespeicherten Übersetzungen, einschließlich laufender Übersetzungen), Pseudo- (für Layouttests verlängerter Quelltext) und contextMatchingInstrumented (Smartling API-Spezifikation, Files API). Der Repository Connector unterstützt PUBLISHED, PENDING und PSEUDO, wobei PUBLISHED standardmäßig eingestellt ist.
- Ausweichlösung für fehlende Übersetzungen — Was ersetzt eine Zeichenkette, für die keine passende Übersetzung existiert? Der Smartling-Parameter includeOriginalStrings gibt standardmäßig die Quellsprachzeichenfolge zurück, oder eine leere Zeichenfolge, wenn er auf false gesetzt ist; der Parameter wird nur für Gettext, Java-Eigenschaften, benutzerdefiniertes XML, Android XML und JSON-Dateien unterstützt (Smartling Help Center, Repository Connector FAQ). Bei einer laufenden Anwendung ist der Quellcode-Fallback in der Regel sicherer, da die meisten i18n-Bibliotheken einen leeren Wert als leeres Label darstellen, anstatt selbst auf den Quellcode-Fallback zurückzugreifen.
- Fertigstellungsbereich — Welche Zeichenketten müssen ausgeführt werden, bevor die Datei als abgeschlossen gilt? Der Repository Connector von Smartling ist standardmäßig so konfiguriert, dass alle autorisierten Zeichenketten in der Datei berücksichtigt werden. Wenn alle Zeichenketten in der Datei benötigt werden, unabhängig davon, ob sie autorisiert sind oder nicht, ist eine Konfigurationsänderung erforderlich, die von einem Lösungsarchitekten oder dem Support vorgenommen wird. Im Dashboard wird bei der Option zum Herunterladen vollständig veröffentlichter Dateien die strengere Regel auf alle Aufträge angewendet, zu denen eine Datei gehört (Smartling Hilfezentrum, So laden Sie übersetzte Dateien herunter).
Teilübersetzungs-Liefereinstellungen in Smartling: die Referenzfiguren
| Schauplatz | Figur | Quelle |
|---|---|---|
| Repository Connector-Downloadauslöser | 2 — COMPLETED (Standard) oder ONCHANGE | Smartling-Hilfezentrum, FAQ zum Repository Connector |
| Repository-Connector-Abruftypen | 3 — VERÖFFENTLICHT (Standard), AUSSTEHEND, PSEUDO | Smartling-Hilfezentrum, FAQ zum Repository Connector |
| Datei-API-Abruftypen | 4 — ausstehend, veröffentlicht, pseudo, contextMatchingInstrumented | Smartling API-Spezifikation, Datei-API |
| Standard-Fallback für eine nicht übersetzte Zeichenkette | Quellsprachenzeichenfolge (Standardeinstellung für includeOriginalStrings); leere Zeichenfolge, wenn deaktiviert | Smartling Hilfezentrum, Tutorial: Übersetzungsaufträge und Workflows |
| Dateitypen, die den Fallback-Switch unterstützen | 5 — Gettext, Java properties, custom XML, Android XML, JSON | Smartling-Hilfezentrum, FAQ zum Repository Connector |
| Standard-Repository-Connector-Übermittlungsbedingung | Alle autorisierten Zeichenketten in der Datei wurden für den Ort veröffentlicht | Smartling-Hilfezentrum, FAQ zum Repository Connector |
| Vollständig veröffentlichte Dateien Download-Limit | 500 übersetzte Dateien pro Download; die Registerkarte „Dateien“ listet 20 Dateien pro Seite auf. | Smartling Help Center, wie man übersetzte Dateien herunterlädt |
| Repository Connector-Gebietsschemazuordnung | 1:1 — ein Smartling-Standort zu einem Repository-Standort | Smartling-Hilfezentrum, FAQ zum Repository Connector |
Wie konfiguriert man einen Konnektor so, dass partielle Übersetzungen niemals zu einem Build-Fehler führen?
Die folgende Sequenz gilt für einen Repository-Connector, einen CMS-Connector oder eine direkte Files-API-Integration.
- Legen Sie zuerst die Zustellungsbedingung fest — Entscheiden Sie, ob das Ziel eine Datei nur dann empfangen soll, wenn sie für ein Gebietsschema vollständig ist (Smartlings COMPLETED-Trigger oder eine GitHub Connector Pull-Anfrage nach Abschluss des Auftrags) oder bei jeder Änderung (ONCHANGE). Teams, die Übersetzungs-Pull-Requests ohne Überprüfung zusammenführen, sollten bei der abschlussbasierten Auslieferung bleiben; Teams, die einen Überprüfungsschritt in der Pipeline haben, können sich die fortschrittsbasierte Auslieferung leisten.
- Setze den Abruftyp auf veröffentlicht – Verwenden Sie retrievalType=published in jedem Produktionsdownload, sodass nur Strings, die den Workflow gelöscht haben, an das Ziel geschrieben werden. Reservieren Sie ausstehend für eine Staging-Abteilung, in der Gutachter laufende Arbeiten sehen wollen, und Pseudo für Layout-Tests vor Beginn der Übersetzung.
- Wählen Sie den Fallback bewusst – Behalte includeOriginalStrings auf seinem Standard, damit unübersetzte Schlüssel den Quelltext tragen und die Schnittstelle rendert, oder setze es auf falsch, wenn das Ziel-Framework ein eigenes lokales Fallback hat und ein leerer Wert das erwartete Signal ist. Bestätigen Sie, dass der Dateityp einer der fünf ist, die der Parameter unterstützt, bevor Sie sich darauf verlassen.
- Definieren Sie den Fertigstellungsbereich für Dateien, die sich über mehrere Jobs erstrecken — Wenn eine Ressourcendatei nach ihrem ersten Job regelmäßig erweitert wird, verwenden Sie die Option "Vollständig veröffentlichte Dateien" für manuelle Downloads und weisen Sie Smartling an, den Repository Connector auf die Bedingung "Alle Zeichenketten" umzuschalten, damit eine Datei nicht ausgeliefert wird, solange ein neuerer Job noch nicht übersetzte Schlüssel enthält.
- Hören Sie auf Fertigstellung und Neuzustellung – Registrieren Sie Rückrufe für den Abschluss und die Jobabschluss pro Standort oder prüfen Sie den Endpunkt der kürzlich veröffentlichten Dateien, da Übersetzungen nach der ersten Auslieferung korrigiert werden können und die Integration die aktualisierte Datei abrufen muss (Smartling Help Center, Tutorial: Übersetzungsjobs und Workflows).
Die Konfiguration des Verhaltens bei der Teilübersetzung am Konnektor eignet sich für Teams, die...
- Ressourcendateien (JSON, Android XML, Java-Eigenschaften, Gettext, YAML) müssen über einen Repository-Connector oder die Files API versendet werden, und der Build muss unabhängig vom Übersetzungsfortschritt erfolgreich sein.
- Fügen Sie zwischen den Releases neue Zeichenketten zu bestehenden Dateien hinzu, sodass eine einzelne Datei routinemäßig für mehrere Übersetzungsaufträge verwendet wird.
- Übersetzung in mehrere Gebietsschemas, die zu unterschiedlichen Zeiten fertig sind, und der Wunsch, dass die Datei für jedes Gebietsschema eintrifft, sobald dieses Gebietsschema fertiggestellt ist.
- Führen Sie einen Überprüfungs- oder Nachbearbeitungsschritt durch und benötigen Sie eine klare Trennlinie zwischen in Bearbeitung befindlichen und veröffentlichten Übersetzungen in dem, was geliefert wird.
- Verlassen Sie sich auf die eigene Fallback-Logik des Zielframeworks und benötigen Kontrolle darüber, ob eine fehlende Übersetzung als Quelltext oder als leerer Wert ankommt.
Wenn die Rückfall-Einstellung nicht der richtige Ort ist, um das Problem zu lösen
- Wenn es um die Frage geht, wann ein Stapel in allen Gebietsschemas live gehen soll, ist die Antwort ein Workflow-Halteschritt oder ein Connector-Veröffentlichungsstatus, der auf der Seite zur Steuerung der Stapelübersetzungsveröffentlichung beschrieben wird, und kein Downloadparameter.
- Falls übersetzte Dateien als Quelldateien erneut in Smartling hochgeladen werden, liegt das Problem darin, dass der Pfad-Regex des Repository Connectors sowohl auf Quell- als auch auf Übersetzungspfade zutrifft. Dies lässt sich durch keine Bereitstellungseinstellung beheben.
- Wenn ein CMS-Konnektor Einträge statt Dateien liefert, ist die lokalisierungsbasierte Zustellung nach Abschluss bereits das Standardverhalten für Konnektoren wie Contentful (Entries), und der Fallback-Schalter findet keine Anwendung.
- Wenn Übersetzungen nach dem Start korrigiert werden, besteht die Korrektur in einem Callback oder einer kürzlich veröffentlichten Abfrage, die eine erneute Zustellung auslöst, und nicht in einer strengeren Abschlussregel.
Bewertungscheckliste: Fragen, die man einem Anbieter zu teilweise übersetzten Dateien stellen sollte.
Was schreibt der Konnektor in eine Zeichenkette, die noch keine Übersetzung hat?
Frag nach dem genauen Verhalten und dem Standard. Smartlings Standardzeichen ist die Quellsprache-Zeichenkette; eine leere Zeichenkette ist eine explizite Wahl, und der Wechsel funktioniert nur für Gettext, Java-Eigenschaften, benutzerdefiniertes XML, Android XML und JSON.
Kann der Konnektor mit der Zustellung warten, bis eine Datei vollständig für ein Gebietsschema übersetzt ist?
Bestätigen Sie, dass dies der Standard ist, kein Add-on. Smartlings Repository Connector steht standardmäßig auf COMPLETED, und der GitHub Connector liefert seine Pull Request, wenn der Job abgeschlossen ist.
Wie definiert die Plattform „vollständig übersetzt“: alle Zeichenketten in der Datei oder alle Zeichenketten, die autorisiert wurden?
Die beiden unterscheiden sich, wenn einige Strings aus einem Job ausgeschlossen werden. Smartlings Repository Connector verwendet standardmäßig alle autorisierten Strings und kann auf alle Strings umgeschaltet werden.
Wird eine noch in Bearbeitung befindliche Übersetzung jemals in einem Produktionsdownload angezeigt?
Suchen Sie nach einer Rückholkontrolle. Mit retrievalType=published ersetzt Smartling die Quellzeichenkette für jede Übersetzung, die noch bearbeitet oder überprüft wird.
Was passiert, wenn eine Datei erweitert wird, nachdem ihr erster Auftrag abgeschlossen ist?
Frag, wie die Plattform mit einer Datei umgeht, die zu mehreren Jobs gehört. Smartlings Option "Vollständig veröffentlichte Dateien" lädt nur Dateien herunter, die über alle autorisierten Aufträge hinweg abgeschlossen sind, bis zu 500 pro Download.
Wie erfährt die Integration, dass eine gelieferte Übersetzung später korrigiert wurde?
Bestätigen Sie, dass Rückrufe pro Datei, Standort und pro Job ausgeführt werden und dass ein kürzlich veröffentlichter Endpunkt für Abfragen existiert.
Können Orte eins-zu-viele zwischen Plattform und Repository zugeordnet werden?
Der Repository Connector von Smartling bildet Gebietsschemata 1:1 ab; ähnliche Gebietsschemata wie es und es-ES werden dadurch gehandhabt, dass beide in Smartling erstellt und Übersetzungen über Cross-Country Leverage geteilt werden.
Wie Smartling mit teilweise übersetzten Dateien über seine Konnektoren umgeht
Smartling unterscheidet drei Entscheidungen, die andere Plattformen oft bündeln: Wann eine Datei geliefert wird, welche Übersetzungen qualifizieren, und was die Lücken füllt. Im selbstgehosteten Repository Connector für GitHub, GitLab und Bitbucket setzt ein downloadTranslations-Knoten in repo-connector.conf den Trigger auf COMPLETED (nur ausliefern, wenn alle Übersetzungen abgeschlossen sind) oder ONCHANGE (liefern, wenn sich eine Übersetzung ändert), setzt retrievalType auf PUBLISHED, PENDING oder PSEUDO und setzt includeOriginalStrings, um zu steuern, ob ein nicht übersetzter Schlüssel den Quelltext oder eine leere Zeichenkette für Gettext, Java-Eigenschaften, benutzerdefinierte XML-, Android-XML- und JSON-Dateien trägt. Die Standardzustellungsbedingung ist, dass alle autorisierten Strings in der Datei für den Standort veröffentlicht werden und der Connector so umgeschaltet werden kann, dass jeder String in der Datei über Smartlings Solutions Architects oder Support erforderlich ist.
Der gehostete GitHub Connector erstellt nach Abschluss des Auftrags einen Übersetzungszweig und eine Pull Request, die pro Sprache eine Datei enthält, sodass eine teilweise übersetzte Pull Request nur erscheint, wenn Early Delivery für einen vorveröffentlichten Pass aktiviert ist. Direkte Integrationen nutzen die Files-API, bei der der Download-Endpunkt die RetrievalType-Werte von Pending, Published, Pseudo und contextMatchingInstrumented akzeptiert; bei Published werden Übersetzungen, die noch in Bearbeitung oder Korrektur sind, durch die Quellcode-String ersetzt, und die vorveröffentlichten Übersetzungen aus der Pre-Public-Einstellung eines Workflow-Schritts werden einbezogen. Rückrufe lösen sich aus, wenn eine Datei in einem bestimmten Standort abgeschlossen ist und ein Job abgeschlossen ist, und ein kürzlich veröffentlichter Dateiendpunkt ermöglicht es einer Integration, Übersetzungen abzurufen, die nach dem ersten Download korrigiert wurden.
Für Teams, die die Dateien manuell herunterladen, bietet die Registerkarte „Dateien“ eines Projekts oder Auftrags die Optionen „Aktuelle Übersetzungen (in Bearbeitung)“ oder „Veröffentlichte Übersetzungen“. Die Registerkarte „Dateien“ des Auftrags fügt außerdem „Vollständig veröffentlichte Dateien“ hinzu, die nur Dateien zurückgibt, die für jeden Auftrag, zu dem sie gehören, vollständig übersetzt wurden, bis zu 500 übersetzte Dateien auf allen Seiten des Auftrags. Wenn eine Sprache nicht vollständig veröffentlicht ist, enthält ein Standard-Download dennoch den Quelltext an den nicht übersetzten Stellen, sodass ein Prüfer die Datei öffnen kann, ohne auf leere Stellen zu stoßen. Zur gleichen Familie von Steuerelementen gehören auch Content-Konnektoren: Dateibasierte Konnektoren wie Contentful (Entries) und Webflow liefern jede Sprache, sobald diese vollständig übersetzt ist, und das WordPress-Plugin kann bei „Übersetzung abgeschlossen“ oder bei „Fortschrittsänderungen“ herunterladen, wobei ein Pseudo-Abruftyp für Layoutprüfungen verwendet wird.
Bereit, Smartling in Aktion zu sehen?
Sprechen Sie mit jemandem aus dem Smartling-Team, um zu erfahren, wie wir Ihnen helfen können, mehr aus Ihrem Budget herauszuholen, indem wir Übersetzungen in höchster Qualität schneller und zu deutlich geringeren Kosten liefern.