Fordítás feltöltése

Please consider that API 2.0 is now the preferred version to be used. The old API will remain fully functional until the end of 2021.

Crowdin API v2
Meglévő fordítások feltöltése a Crowdin projektbe.
A módszer nem működik a Kiegészítő eszközök honosításánál.

Kérelem

Note: Use the combination of project identifier, username, and account key to pass to this endpoint.

POST https://api.crowdin.com/api/project/{project-identifier}/upload-translation?login={username}&account-key={account-key}

Paraméterek

Név Érték Leírás
files szükséges array Fordított fájlok tömbje. A tömbök kulcsainak tartalmazniuk kell a Crowdin fájlneveket.
Figyelem! Egy fájlátvitel során maximum 20 fájl tölthető fel.
language szükséges string Crowdin nyelvkódok. Egyetlen hívással több fájlra is feltöltheti a fordításokat, de csak az egyik nyelvre.
import_eq_suggestions opcionális bool Meghatározza, hogy a fordítást hozzáadja e, ha az egyenlő a forrásszöveggel a Crowdinon. Elfogadható értékek: 0 vagy 1. Alapértelmezett értéke 0.
auto_approve_imported opcionális bool A feltöltött fordításokat jóváhagyottként jelöli. Elfogadható értékek: 0 vagy 1. Alapértelmezett értéke 0.
format opcionális string Adja meg ezt a paramétert, ha a fordítások XLIFF fájlformátumban kerülnek feltöltésre a projektbe. Az elfogadható érték: xliff
Az XLIFF fájl letöltése kapcsolat nélküli fordításhoz, használja az Fájl exportálása módszert.
branch opcionális string Kapcsolódó verzió-ág neve (Verziók kezelése).
json opcionális string Nem tartalmazhat értéket. Meghatározza, hogy a válasz JSON formátumban legyen.
jsonp opcionális string Visszahívási függvény neve. Meghatározza, hogy a válasz JSONP formátumban legyen.
Változók
project-identifier string Projekt azonosítója.
login string A felhasználóneve a Crowdinban.
account-key string A fiókja API kulcsa.

Válasz

Ha sikeres, akkor ez a módszer XML struktúrát ad vissza, ahogy az az alábbiakban látható.
<?xml version="1.0" encoding="UTF-8"?>
<success>
</success>
Sikertelen válasz példa:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>API key is not valid</message>
</error>
A következő kérelem részben sikeres minden olyan fájlformátum esetében, amely nem rendelkezik meghatározott struktúrával (mint például: Generic XML, HTML, Plain Text, Markdown, OpenOffice, Microsoft Office, Adobe InDesign, Adobe FrameMaker, Webxml) a fordítások feltöltése nem lehetséges.
<?xml version="1.0" encoding="UTF-8"?>
<success>
  <stats>
    <file name="spreadsheet.csv" status="uploaded"></file>
    <file name="webxml.xml" status="not_allowed"></file>
  </stats>
</success>

Példák

curl \
  -F "files[strings.xml]=@strings.fr.xml" \
  -F "language=fr" \
  -F "auto_approve_imported=1" \
  https://api.crowdin.com/api/project/{project-identifier}/upload-translation?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/upload-translation?login={username}&account-key={account-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;

Hasznos volt ez a cikk?