Zum Inhalt springen

Benutzerdefinierter Code

Benutzerdefinierter Code ist ein Workflow-Schritt, mit dem Sie Code-Snippets definieren können, um Zeichenfolgen in Ihrem Workflow zu filtern. Er hat eine Eingabe und zwei Ausgaben (true und false), mit denen Sie Zeichenfolgen anhand benutzerdefinierter JavaScript-Bedingungen in verschiedene Pfade aufteilen können.

Sie können den Workflow-Schritt „Benutzerdefinierter Code“ in zahlreichen Szenarien verwenden. Hier sind einige Beispiele:

  • Um einen Teil der Zeichenfolgen an interne Übersetzer und einen anderen Teil an eine Übersetzungsagentur zu senden.
  • Um einen Teil der Zeichenfolgen an maschinelle Übersetzung und einen anderen Teil an Crowdsourcing zu senden.
  • Um einen Teil der Zeichenfolgen an interne Korrekturleser und einen anderen Teil zum Korrekturlesen durch eine Übersetzungsagentur zu senden.

Sie können den Schritt „Benutzerdefinierter Code“ im Workflow-Editor oder im Workflow-Vorlageneditor zum Workflow Ihres Projekts hinzufügen.

„Benutzerdefinierter Code“ im Workflow-Editor

Nachdem der Schritt „Benutzerdefinierter Code“ hinzugefügt wurde, definieren Sie im Feld Benutzerdefinierter Code ein JavaScript-basiertes Code-Snippet, das Zeichenfolgen entweder zur Ausgabe true oder false weiterleitet.

Das Code-Snippet basiert auf JavaScript und verwendet ein crowdin-Objekt, das die unten aufgeführten Eigenschaften enthält. Verwenden Sie die folgende Objektvorlage, um Ihre Codeeingabe korrekt zu strukturieren:

object crowdin { object file { string name, string fullName, string title, string branchName, string type }, object string { int id, string key, string context, ?int maxLength, string createdAt, ?string updatedAt, string|array text, object fields }, string contentType, array labels }

Sehen Sie sich ein Beispiel für ein benutzerdefiniertes Code-Snippet im Crowdin Script Editor an. Verwenden Sie den Editor, um die Struktur zu prüfen, den Code mit Ihren Daten zu bearbeiten und zu überprüfen, ob er wie erwartet funktioniert.

Die Anforderung für das Code-Snippet enthält die folgenden Eigenschaften:

Eigenschaft
Beschreibung
file.nameName der Quelldatei
file.fullNameVollständiger Pfad zur Quelldatei im Projekt (ohne Branch, sofern vorhanden)
file.titleTitel der Quelldatei, wie er Übersetzern angezeigt wird
file.branchNameName des Branches, in dem die Quelldatei gespeichert ist
file.typeTyp der Quelldatei
string.idID der Quellzeichenfolge
string.keyBezeichner (Schlüssel) der Quellzeichenkette
string.contextKontext der Quellzeichenfolge
string.maxLengthMaximale Länge der Zeichenfolge (falls festgelegt)
string.createdAtZeitstempel, zu dem die Quellzeichenfolge erstellt wurde (ISO-8601-Format)
string.updatedAtZeitstempel der letzten Aktualisierung der Zeichenfolge (falls verfügbar) (ISO-8601-Format)
string.textQuelltext der Zeichenfolge; bei Pluralinhalten ist dies ein Array mit Werten für die Pluralformen
string.fieldsObjekt mit Schlüssel-Wert-Paaren, die benutzerdefinierte Felder darstellen, die der Zeichenfolge zugewiesen wurden
LabelsArray der der Quellzeichenfolge zugewiesenen Beschriftungen
contentTypeTyp des Inhalts der Quellzeichenfolge. Beeinflusst die Struktur der text-Eigenschaft. Unterstützte Werte: text/plain, application/vnd.crowdin.text+plural, application/vnd.crowdin.text+icu.

Unten sehen Sie ein Beispiel für eine Anforderung für ein Code-Snippet:

{
"file": {
"name": "file.csv",
"fullName": "/folder/file.csv",
"branchName": "main",
"type": "csv",
"title": "index.php"
},
"labels": [
"Translate by Vendor"
],
"contentType": "text/plain",
"string": {
"id": 2814,
"key": "hello_world",
"context": "Header string",
"maxLength": 30,
"createdAt": "2019-09-20T12:43:57+00:00",
"updatedAt": "2019-09-20T13:24:01+00:00",
"text": "Hello World!",
"fields": {
"seo-priority": "high",
"is-critical": true,
"word-count": 42
}
}
}

Nach dem Ausführen des Code-Snippets sollte eine Antwort zurückgegeben werden, die angibt, ob die angegebenen Bedingungen erfüllt sind:

  • Das Antwortobjekt sollte die boolesche Eigenschaft success enthalten, die angibt, ob die angegebenen Bedingungen erfüllt sind. Zum Beispiel:
    {
    "success": true
    }
  • Wenn die angegebenen Bedingungen nicht erfüllt sind, wird die Zeichenfolge an die Ausgabe false des Schritts „Benutzerdefinierter Code“ weitergeleitet. Zum Beispiel:
    { "success": false }
War diese Seite hilfreich?