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
{ "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: Erforderlich: ja Beschreibung: Kennung des Moduls innerhalb der Crowdin-App. |
url | Typ: Erforderlich: ja Beschreibung: Die relative URL, die beim Dateiimport, bei Aktualisierungen und beim Hochladen von Übersetzungen 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 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: Wert: Beschreibung: Gibt die Aktion des Moduls zur Verarbeitung vor dem Dateiimport an. |
file.content, file.contentUrl | Typ: Beschreibung: Parameter zur Übergabe des base64-codierten Inhalts der Source-Datei ( |
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): Type(data.contentUrl): Description: Parameters used to pass the base64 encoded modified file content ( |
fileName | Typ: Beschreibung: Optionaler Parameter, mit dem Dateiname und Dateierweiterung durch einen neuen Namen bzw. eine neue Erweiterung überschrieben werden können. |
fileType | Typ: Beschreibung: Optionaler Parameter zur Angabe eines Importers, den Crowdin zum Importieren einer Datei verwenden soll. |
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. |