Zum Inhalt springen

Modul zur Verarbeitung vor dem Dateiexport

Mit dem Modul zur Verarbeitung vor dem Export kannst du die Strings vor dem Dateiexport ändern. Dieses Modul arbeitet sowohl mit den Source-Strings als auch mit den dazugehörigen Übersetzungen. Das Modul zur Verarbeitung vor dem Export ist besonders nützlich, wenn du die ursprüngliche Dateistruktur beibehalten und die Datei unverändert exportieren möchtest, aber Änderungen an übersetzten Strings vornehmen willst.

Mit dem Modul zur Verarbeitung vor dem Export erhältst du einen Payload mit dem Dateiinhalt und den zu exportierenden Strings. Mit dem Modul zur Verarbeitung vor dem Export kannst du übersetzte Strings ändern und sie anschließend für den Export zurückgeben. So kannst du die Strings anpassen, ohne den Dateiinhalt direkt zu verändern.

Du kannst Zugriff auf dieses Modul für eine der folgenden Benutzerkategorien gewähren:

Für Crowdin:

  • Nur ich (also der Projektinhaber)
  • Alle Projektmitglieder
  • Ausgewählte Benutzer

Für Crowdin Enterprise:

  • Nur Organisationsadministratoren
  • Alle Benutzer in den Projekten der Organisation
  • Ausgewählte Benutzer
manifest.json
{
"modules": {
"file-pre-export": [
{
"key": "your-pre-export-module-key",
"url": "/export-strings",
"signaturePatterns": {
"fileName": "^.+\.xml$",
"fileContent": "<properties>\s*<property\s+name=.*value=.*/>"
}
}
]
}
}
key

Typ: string

Erforderlich: ja

Beschreibung: Kennung des Moduls innerhalb der Crowdin-App.

url

Typ: string

Erforderlich: ja

Beschreibung: Die relative URL, die beim Export einer Datei aufgerufen wird.

signaturePatterns

Type: object

Description: Contains fileName and/or fileContent regular expressions used to detect file type when exporting a translation file.

Beim Export einer Datei erkennt das System anhand des Parameters signaturePatterns ein geeignetes Modul zur Verarbeitung vor dem Export und sendet eine HTTP-Anfrage an die URL der App ($baseUrl. $url) zur weiteren Verarbeitung mit den Source-Strings und den dazugehörigen Übersetzungen.

Die Dateiverarbeitungs-App ändert die String-Übersetzungen entsprechend deinen Anforderungen. Stelle sicher, dass das Modul zur Verarbeitung vor dem Export die ursprüngliche Anzahl der Strings zusammen mit ihrer uniqId zurückgibt, damit der Übersetzungsexport erfolgreich abgeschlossen werden kann. Nachdem die geänderten Strings vom Modul zur Verarbeitung vor dem Export zurückgegeben wurden, werden sie zum Erstellen einer Übersetzungsdatei verwendet.

Beispiel für die Nutzlast der Anfrage:

// max request payload - 5 MB
// wait timeout - 2 minutes
{
"jobType": "file-pre-export",
"organization": {
"id": 1,
"domain": "{domain}",
"baseUrl": "https://{domain}.crowdin.com",
"apiBaseUrl": "https://{domain}.api.crowdin.com"
},
"project": {
"id": 1,
"identifier": "your-project-identifier",
"name": "Your Project Name"
},
"file": {
"id": 1,
"name": "file.xml",
"content": "VGhpcyBpcyBmaWxlIGNvbnRlbnQ=", // base64 encoded source file content
"contentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/file.xml?aws-signature=..." // source file public URL
},
"sourceLanguage": {
"id": "es",
"name": "Spanish",
"editorCode": "es",
"twoLettersCode": "es",
"threeLettersCode": "spa",
"locale": "es-ES",
"androidCode": "es-rES",
"osxCode": "es.lproj",
"osxLocale": "es",
"pluralCategoryNames": ["one"],
"pluralRules": "(n != 1)"
},
"targetLanguages": [
{
// same structure as for sourceLanguage, one element for export, can be more for multilingual files
}
],
"strings": [...],
"stringsUrl": "https://tmp.downloads.crowdin.com/strings.ndjson",
}

Eigenschaften:

jobType

Typ: string

Wert: file-pre-export

Beschreibung: Gibt die Aktion des Moduls zur Verarbeitung vor dem Dateiexport an.

file.content, file.contentUrl

Typ: string

Beschreibung: Parameter zur Übergabe des base64-codierten Inhalts der Source-Datei (file.content) oder einer öffentlichen URL zur Source-Datei (file.contentUrl).
Either of these two parameters can be used.

strings, stringsUrl

Typ(strings): array

Typ(stringsUrl): string

Beschreibung: Parameter für die Source-Strings und ihre jeweiligen Übersetzungen vor dem Dateiexport. strings – String-Array. stringsUrl – öffentliche URL zu einem Newline-delimited-JSON mit Strings.
Either of these two parameters can be used.

Beispiel für die Nutzlast der Antwort:

// max response payload - 5 MB
// wait timeout - 2 minutes
{
"data": {
"strings": [...], // modified strings array
"stringsUrl": "https://app.example.com/jKe8ujs7a-segments.ndjson", // new-line delimited json file with modified strings
},
"error": {
"message": "Your error message"
}
}

Eigenschaften:

data.strings, data.stringsUrl

Typ(data.strings): array

Typ(data.stringsUrl): string

Beschreibung: Parameter zur Übergabe des Inhalts der geänderten Strings.
data.strings – Array mit geänderten Strings.
data.stringsUrl – öffentliche URL zu einem Newline-delimited-JSON mit geänderten Strings.
Either of these two parameters can be used.

error.message

Typ: string

Beschreibung: Eine Fehlermeldung, die von der App an Crowdin übergeben wird und für einen Benutzer in der Benutzeroberfläche sichtbar ist.

Unten siehst du ein Beispiel für die Strings, die die App vor dem Export erhält. Dieselbe Struktur wird für die geänderten Strings in der Antwort der App verwendet.

Payload Beispiel:

// strings should be in "new-line delimited json" format if they passed by URL
[
{ // non plural string
"uniqId": "9cdfb439c7876e703e307864c9167a15::1", // required, unique ID
"identifier": "string-key-1", // required
"context": "Some context", // optional
"maxLength": 10, // optional, default null
"isHidden": false, // optional, default null
"hasPlurals": false, // optional, default false
"labels": ["label-one", "label-two"], // optional, default []
"text": "String source text", // required
"translations": { // optional
"uk": { // targetLanguage.id
"text": "Переклад стрічки", // required
"status": "untranslated | translated | approved" // optional, default "translated"
}
// can be other languages for multilingual, check "targetLanguages" in the request payload
}
},
{ // plural string
"uniqId": "9cdfb439c7876e703e307864c9167a15::2", // required, unique ID
"identifier": "string-key-2",
"context": "Some optional context",
"maxLength": 15,
"isHidden": false,
"hasPlurals": true,
"labels": [],
"text": { // keys from sourceLanguage.pluralCategoryNames
"one": "One file",
"other": "%d files"
},
"translations": {
"uk": {
"text": { // keys from targetLanguage.pluralCategoryNames
"one": "One file",
"few": "%d файла",
"many": "%d файлів"
},
"status": {
"one": "untranslated",
"few": "translated",
"many": "approved"
}
}
}
}
]

Eigenschaften:

uniqId

Typ: string

Beschreibung: Eindeutige ID innerhalb der Datei.

identifier

Typ: string

Beschreibung: Sichtbarer String-Schlüssel.

War diese Seite hilfreich?