Fájl frissíté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
Töltse fel a forrásfájlok legújabb verzióját (azokat, amelyeket honosítani kell) a Crowdin projektjébe.

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}/update-file?login={username}&account-key={account-key}

Paraméterek

Név Érték Leírás
files szükséges array Frissítendő fájlok tömb.
Figyelem! Egy fájlátvitel során maximum 20 fájl tölthető fel.
titles opcionális array Karakterláncok olyan tömbje, amelyek címeket határoztak meg a feltöltött fájlok számára. A tömbök kulcsainak tartalmazniuk kell a a Crowdin projekt fájlneveit elérési úttal.
export_patterns opcionális array Karakterláncok tömbje, amely meghatározza az eredményül kapott fájlok nevét (lefordított fájlok az eredményül kapott archívumban). A tömbök kulcsainak tartalmazniuk kell a a Crowdin projekt fájlneveit elérési úttal.
new_names opcionális array Karakterláncok olyan tömbje, amelyek új neveket határoztak meg a korábban importált fájlok számára. A tömbök kulcsainak tartalmazniuk kell a a Crowdin projekt fájlneveit elérési úttal.
first_line_contains_header csak CSV és XLS/XLSX fájlok esetén
opcionális
string A CSV (vagy XLS/XLSX) fájlok API-n keresztüli feltöltésére használt. Meghatározza, hogy az első sor importálandó e, vagy oszlop fejléceket tartalmaz. Nem tartalmazhat értéket.
scheme csak CSV és XLS/XLSX fájlok esetén
szükséges
string Megjegyzés: Csak CSV (vagy XLS/XLSX) fájl feltöltésekor használható az oszlopok leképezésének meghatározására.
Az elfogadható érték a következő konstansok kombinációja:
  • "identifier" — oszlop tartalmazza a karakterlánc azonosítót.
  • "source_phrase" — oszlop csak forrás-karakterláncot tartalmaz (az eredmény karakterláncban ugyanazt fogja tartalmazni).
  • "source_or_translation" — oszlop tartalmazza a forrás-karakterláncot, de exportáláskor az azonos oszlopnak kell tartalmaznia a fordítást (mikor feltölt meglévő fordításokat, ezen oszlop értéke kerül a lefordított karakterláncként használatra).
  • "translation" — oszlop lefordított karakterláncot tartalmaz (amikor az importált fájl már tartalmaz fordításokat).
  • "context" — oszlop tartalmazza a forrás-karakterlánchoz tartozó néhány megjegyzést. Szövegösszefüggés információ.
  • "max_length" — oszlop tartalmazza a karakterlánc fordításának maximális hosszát.
  • "labels" — Column contains labels.
  • "none" — Ne importálja az oszlopot.
Példa paraméter, amelyet hozzá kell adnia: &scheme=identifier,source_or_translation

Megjegyzés: ahhoz, hogy az exportált fájl tartalmazza az összes célnyelvre történő fordításokat, állítsa be a nyelvkódokat a sémában (pl. &scheme=identifier,source_phrase,uk,ru,fr).
update_option opcionális string Az értéktől függően, az "update_option" a fordítások megőrzésére és a módosított karakterláncok jóváhagyásainak megőrzésére/eltávolítására használható a fájlfrissítés során. Az értékek:
  • "update_as_unapproved" — a módosított karakterláncok fordításainak megőrzése és azok jóváhagyásainak megszüntetése, ha léteznek.
  • "update_without_changes" — a módosított karakterláncok fordításainak és jóváhagyásainak megőrzése.
Megjegyzés: Ha nincs beállítva, a megváltozott karakterláncok fordításai a fájl frissítése után elvesznek. Hasznos az elgépelések javításaihoz és a kisebb forrás-karakterlánc változásokhoz.
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.
escape_quotes csak tulajdonságok fájlokban
opcionális
integer Meghatározza, hogy egy adott aposztrófot egy másik aposztróffal, vagy fordított perjellel kell védeni (escape) az exportált fordításokban. Elfogadható értékek: 0, 1, 2, 3. Alapértelmezett értéke 3.

0 — Ne védje az aposztrófot;
1 — Aposztróf védése egy másik aposztróffal;
2 — Aposztróf védése fordított perjellel;
3 — Aposztróf védése egy másik aposztróffal csak azokban a karakterláncokban, amelyek változót tartalmaznak ( {0} )
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>

Példák

curl \
  -F "files[/directory/strings.xml]=@strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
curl \
  -F "files[/directory/android.xml]=@strings.xml" \
  -F "new_names[/directory/android.xml]=strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
curl \
  -F "files[directory/multilingual.csv]=@example.csv" \
  -F "export_patterns[directory/multilingual.csv]=/translations/%original_file_name%" \
  -F "titles[directory/multilingual.csv]=Title in Crowdin Project" \
  -F "scheme=identifier,source_phrase,translation" \
  -F "first_line_contains_header=true" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}';

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

$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;
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}';

if (function_exists('curl_file_create')) {
$post_params['files[/directory/android.xml]'] = curl_file_create('/home/user/strings.xml');
} else {
$post_params['files[/directory/android.xml]'] = '@/home/user/strings.xml';
}

$post_params['new_names[/directory/android.xml]'] = 'strings.xml';

$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;
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}';

if(function_exists('curl_file_create')) {
$post_params['files[directory/multilingual.csv]'] = curl_file_create('/home/user/example.csv');
} else {
$post_params['files[directory/multilingual.csv]'] = '@/home/user/example.csv';
}

$post_params['export_patterns[directory/multilingual.csv]'] = '/translations/%original_file_name%';
$post_params['titles[directory/multilingual.csv]'] = 'Title in Crowdin Project';
$post_params['scheme'] = 'identifier,source_phrase,translation';
$post_params['first_line_contains_header'] = '';

$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?