Modul zur Verarbeitung nach dem Export von Dateien
Mit dem Modul zur Verarbeitung nach dem Export kannst du deine Dateien bearbeiten, nachdem du sie aus Crowdin exportiert hast. Mit dem Modul zur Verarbeitung nach dem Export 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 nach dem Export in deiner Crowdin-App kannst du Dateiformat, Struktur und Inhalt anpassen. Da das Modul ausgeführt wird, nachdem Crowdin die Datei exportiert hat, kannst du den Inhalt noch anpassen, nachdem die Datei vom System verarbeitet wurde.
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
{ "modules": { "file-post-export": [ { "key": "your-post-export-module-key", "url": "/export-file", "signaturePatterns": { "fileName": "^.+\.xml$", "fileContent": "<properties>\s*<property\s+name=.*value=.*/>" } } ] }}key | Typ: Erforderlich: ja Beschreibung: Kennung des Moduls innerhalb der Crowdin-App. |
url | Typ: Erforderlich: ja Beschreibung: Die relative URL, die beim Export einer Datei aufgerufen wird. |
signaturePatterns | Typ: Beschreibung: Enthält reguläre Ausdrücke für |
Kommunikation zwischen der File-Processing-App und Crowdin
Abschnitt betitelt „Kommunikation zwischen der File-Processing-App und Crowdin“Beim Export einer Datei erkennt Crowdin anhand des Parameters signaturePatterns das passende 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 Datei-Exports den Dateinamen und den Inhalt, um sicherzustellen, dass sie zu den passenden Modulen der File-Processing-App passen. Dieser Prozess kann das Modul zur Verarbeitung vor dem Export umfassen, um die Zeichenfolgen vor dem Export zu ändern, sowie das Modul zur Verarbeitung nach dem Export, um den Dateiinhalt nach dem Export zu ändern.
Um den Dateiinhalt zu ändern, ermittelt das System zuerst das passende Modul zur Verarbeitung nach dem Export 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.
Sobald das Post-Export-Modul die Änderungen an der Datei abgeschlossen hat, gibt Crowdin den geänderten Dateiinhalt sowie – sofern zutreffend – einen neuen Dateinamen oder eine neue Dateierweiterung zurück.
Beispiel für die Nutzlast der Anfrage:
// maximales Request-Payload - 5 MB// Timeout - 2 Minuten{ "jobType": "file-post-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-kodierter Inhalt der exportierten Datei "contentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/file.xml?aws-signature=...", // Öffentliche URL der exportierten Datei "rawContent": "VGhpcyBpcyBmaWxlIGNvbnRlbnQ=", // Base64-kodierter Inhalt der Quelldatei "rawContentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/file.xml?aws-signature=..." // Öffentliche URL der Quelldatei }, "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": [ { // dieselbe Struktur wie bei sourceLanguage; ein Element pro Export, bei mehrsprachigen Dateien können es mehrere sein } ]}Eigenschaften:
jobType | Typ: Wert: Beschreibung: Gibt die Aktion des Moduls zur Nachbearbeitung von Dateien an. |
file.content, file.contentUrl | Typ: Beschreibung: Parameter, die zum Übergeben des Base64-codierten Inhalts der exportierten Datei ( |
file.rawContent, file.rawContentUrl | Typ: Beschreibung: Parameter, die zum Übergeben des Base64-codierten Inhalts der Ausgangsdatei ( |
Beispiel für die Nutzlast der Antwort:
// maximales Response-Payload - 5 MB// Timeout - 2 Minuten{ "data": { "content": "VGhpcyBpcyBmaWxlIGNvbnRlbnQ=", // Base64-kodierter Inhalt der geänderten Datei "contentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/file.xml?aws-signature=...", // Öffentliche URL der geänderten Datei "exportPattern": "file.html" // optionales, neues Exportmuster für die resultierende Datei }, "error": { "message": "Your error message" }}Eigenschaften:
data.content, data.contentUrl | Typ(data.content): Typ(data.contentUrl): Beschreibung: Parameter, die zum Übergeben des Base64-codierten Inhalts der geänderten Datei ( |
exportPattern | Typ: Beschreibung: Optionaler Parameter zum Überschreiben des Exportmusters für eine resultierende Datei. |
error.message | Typ: Beschreibung: Eine Fehlermeldung, die von der App an Crowdin übergeben wird und für einen Benutzer in der Benutzeroberfläche sichtbar ist. |