Übersetzung hochladen

Laden Sie existierende Übersetzungen zu Ihrem Crowdin-Projekt hoch.

Anfrage

Hinweis: Entweder der Projektschlüssel oder die Kombination aus Nutzername und Kontoschlüssel can be passed to this endpoint. Projekt-ID is passed in both cases.

POST https://api.crowdin.com/api/project/{Projekt-ID}/upload-translation?key={Projektschlüssel}
POST https://api.crowdin.com/api/project/{Projekt-ID}/upload-translation?login={Nutzername}&account-key={Kontoschlüssel}

Parameter

Name Wert Beschreibung
files benötigt array Translated files array. Array keys should contain file names in Crowdin.
Note! 20 files max are allowed to upload per one time file transfer.
language benötigt string Crowdin-Srpachcodes. With a single call it's possible to upload translations for several files but only into one of the languages.
import_duplicates optional bool Defines whether to add translation if there is the same translation previously added. Acceptable values are: 0 or 1. Default is 0.
import_eq_suggestions optional bool Defines whether to add translation if it is equal to source string at Crowdin. Acceptable values are: 0 or 1. Default is 0.
auto_approve_imported optional bool Mark uploaded translations as approved. Acceptable values are: 0 or 1. Default is 0.
format optional string Specify this parameter if translations are uploaded to the project in XLIFF file format. Acceptable value is: xliff
To download XLIFF file for offline translation, apply the Export File method.
branch optional string Der Name des dazugehörigen Versionszweigs (Versionsverwaltung).
json optional string May not contain value. Defines that response should be in JSON format.
jsonp optional string Callback function name. Defines that response should be in JSONP format.
Variablen
project-identifier benötigt string Projekt-ID.
project-key optional string Der Projekt-API-Schlüssel. Entweder project-key oder die Kombination aus username und account-key wird benötigt.
username optional string Ihr Nutzername in Crowdin. Entweder project-key oder die Kombination aus username und account-key wird benötigt.
account-key optional string Ihr Konto-API-Schlüssel. Entweder project-key oder die Kombination aus username und account-key wird benötigt.

Antwort

Wenn die Methode erfolgreich war, gibt sie eine XML-Struktur zurück, so wie unten zu sehen.
<?xml version="1.0" encoding="ISO-8859-1"?>
<success>
</success>
Beispiel einer fehlgeschlagenen Antwort:
<?xml version="1.0" encoding="ISO-8859-1"?>
<error>
  <code>3</code>
  <message>API key is not valid</message>
</error>
The following request is partly successful because for all the file formats that do not have defined structure (such as: Generic XML, HTML, Plain Text, Markdown, OpenOffice, Microsoft Office, Adobe InDesign, Adobe FrameMaker, Webxml) the translations upload is not possible.
<?xml version="1.0" encoding="ISO-8859-1"?>
<success>
  <stats>
    <file name="spreadsheet.csv" status="uploaded"></file>
    <file name="webxml.xml" status="not_allowed"></file>
  </stats>
</success>

Beispiele

curl \
  -F "files[strings.xml]=@strings.fr.xml" \
  -F "language=fr" \
  -F "auto_approve_imported=1" \
  https://api.crowdin.com/api/project/{Projekt-ID}/upload-translation?key={Projektschlüssel}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/upload-translation?key={project-key}';

if (function_exists('curl_file_create')) {
  $post_params['files[test.xml]'] = curl_file_create('/home/crowdin/test.fr.xml');
} else {
  $post_params['files[test.xml]'] = '@/home/crowdin/test.fr.xml';
}

$post_params['language'] = 'fr';
$post_params['import_eq_suggestions'] = 1;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);

$result = curl_exec($ch);
curl_close($ch);

echo $result;

War dieser Artikel hilfreich?