Zum Inhalt springen

Modul zur Verarbeitung vor dem Dateiimport

Mit dem Modul zur Verarbeitung vor dem Import kannst du deine Dateien ändern, bevor du sie in Crowdin importierst. Mit dem Modul zur Verarbeitung vor dem Import kannst du automatische Änderungen auf ausgewählte Dateien anwenden. Dieses Modul kann mit einer Vielzahl von Dateiformaten wie TXT, XML, JSON und vielen weiteren arbeiten, um deren Inhalte anzupassen.

Mit dem Modul zur Verarbeitung vor dem Import in deiner Crowdin-App kannst du Dateiformat, Struktur und Inhalt anpassen. Da das Modul ausgeführt wird, bevor Crowdin die Datei importiert, kannst du den Inhalt vor der Verarbeitung durch das System gezielt anpassen.

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-import": [
{
"key": "your-pre-import-module-key",
"url": "/import-file",
"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 Dateiimport, bei Aktualisierungen und beim Hochladen von Übersetzungen aufgerufen wird.

signaturePatterns

Typ: object

Beschreibung: Enthält reguläre Ausdrücke für fileName und/oder fileContent, die zum Erkennen des Dateityps beim Hochladen einer neuen Source-Datei über die UI (oder über die API ohne angegebenen type-Parameter) verwendet werden.

Beim Import einer Datei erkennt Crowdin anhand des Parameters signaturePatterns ein geeignetes Modul und sendet eine HTTP-Anfrage an die URL der App ($baseUrl. $url`), damit die Datei weiterverarbeitet werden kann.

Zusätzlich überprüft Crowdin während des Dateiimports den Dateinamen und den Inhalt, um sicherzustellen, dass sie zu den passenden Modulen zur Dateiverarbeitung passen. Dieser Prozess kann das Modul zur Verarbeitung vor dem Import umfassen, um den Dateiinhalt vor dem Import zu ändern, sowie das Modul zur Verarbeitung nach dem Import, um die aus der Datei extrahierten Strings zu ändern.

Um den Dateiinhalt zu ändern, sucht das System zunächst das passende Modul zur Verarbeitung vor dem Import und sendet ihm den Dateiinhalt. Das Modul führt anschließend die zuvor festgelegten Änderungen durch, die Änderungen am Dateiformat, an der Struktur und am Inhalt umfassen können.

Nachdem das Modul zur Verarbeitung vor dem Import die Dateiänderungen abgeschlossen hat, erhält Crowdin den geänderten Dateiinhalt sowie gegebenenfalls einen neuen Dateinamen oder eine neue Dateierweiterung.

Beispiel für die Nutzlast der Anfrage:

// max request payload - 5 MB
// wait timeout - 2 minutes
{
"jobType": "file-pre-import",
"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, empty when uploading a new source file, one element for import_translations, can be more for multilingual files
}
]
}

Eigenschaften:

jobType

Typ: string

Wert: file-pre-import

Beschreibung: Gibt die Aktion des Moduls zur Verarbeitung vor dem Dateiimport 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.

Beispiel für die Nutzlast der Antwort:

// max response payload - 5 MB
// wait timeout - 2 minutes
{
"data": {
"content": "VGhpcyBpcyBmaWxlIGNvbnRlbnQ=", // base64 encoded modified file content
"contentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/file.xml?aws-signature=...", // modified file public URL
"fileName": "file.html", // optional, new file name with extension
"fileType": "webxml" // optional, an importer Crowdin should use to import a file
},
"error": {
"message": "Your error message"
}
}

Eigenschaften:

data.content, data.contentUrl

Type(data.content): string

Type(data.contentUrl): string

Description: Parameters used to pass the base64 encoded modified file content (data.content) or a modified file public URL (data.contentUrl).
Either of these two parameters can be used.

fileName

Typ: string

Beschreibung: Optionaler Parameter, mit dem Dateiname und Dateierweiterung durch einen neuen Namen bzw. eine neue Erweiterung überschrieben werden können.

fileType

Typ: string

Beschreibung: Optionaler Parameter zur Angabe eines Importers, den Crowdin zum Importieren einer Datei verwenden soll.

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.

War diese Seite hilfreich?