Fájl frissítése

Töltse fel a honosítási fájl legújabb verzióját a Crowdinba.

Kérelem

Figyelem: Vagy a projekt kulcs vagy a felhasználónév és a fiók kulcs kombinációja adható át ehhez a végponthoz. Projekt azonosítója mindkét esetben átadásra kerül.

POST https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-key}
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 Figyelem: Csak akkor használatos, ha CSV (vagy XLS/XLSX) fájlt tölt fel az adatoszlopok leképezésére.
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.
  • "none" — Ne importálja az oszlopot.
Példa paraméter, amelyet hozzá kell adnia: &scheme=identifier,source_or_translation

Figyelem: 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.
Figyelem: Ha nincs beállítva, a megváltoztatott karakterláncok fordításai a fájlfrissítés után elveszhetnek. 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 kell legyen.
jsonp opcionális string Visszahívási funkció 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 szükséges string Projekt azonosítója.
project-key opcionális string Projekt API kulcs. Vagy a projekt kulcs vagy a felhasználónév és fiók kulcs kombinációja szükséges.
username opcionális string A felhasználóneve a Crowdinban. Vagy a projekt kulcs vagy a felhasználónév és fiók kulcs kombinációja szükséges.
account-key opcionális string Fiók API kulcs. Vagy a projekt kulcs vagy a felhasználónév és fiók kulcs kombinációja szükséges.

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="ISO-8859-1"?>
<success>
</success>
Sikertelen válasz példa:
<?xml version="1.0" encoding="ISO-8859-1"?>
<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?key={project-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?key={project-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?key={project-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-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?key={project-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?key={project-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?