Завантажити переклад

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
Вивантажити наявні переклади до вашого Crowdin проекту.
Метод не працює для Локалізація додаткових матеріалів.

Запит

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}

Параметри

Ім'я Значення Опис
files обов'язковий масив Масив перекладених файлів. Ключі масиву повинні містити імена файлів в Crowdin.
Увага!Максимально дозволено завантаження 20 файлів за один раз.
language обов'язково рядок мовний код Crowdin. За один виклик можна завантажити переклади для декількох файлів, але тільки на одній з мов.
import_eq_suggestions необов'язково bool Визначає, чи слід додавати переклад, якщо він еквівалентний вихідному рядку в Crowdin. Доступні значення: 0 або 1. Значення за замовчуванням 0.
auto_approve_imported необов'язковий bool Позначати завантажені переклади як затверджені. Доступні значення: 0 або 1. Значення за замовчуванням 0.
format необов'язковий рядок Вкажіть цей параметр, якщо переклади завантажуються в проект в форматі файлу XLIFF. Допустиме значення: xliff
Щоб завантажити файл XLIFF для автономного перекладу, застосуєте методЕкспорт файлу.
branch необов'язковий рядок Ім'я гілки пов'язаної версії (Управління версіями).
json необов'язковий рядок Може не містити значення. Визначає, що відповідь має бути в форматі JSON.
jsonp необов'язковий рядок Назва функції зворотного виклику. Визначає, що відповідь має бути в форматі JSONP.
Variables
project-identifier рядок Ідентифікатор проекту.
login рядок Ваше ім'я користувача в Crowdin.
account-key рядок API ключ вашого облікового запису.

Відповідь

Якщо метод успішний, він повертає XML-структуру, як показано нижче.
<?xml version="1.0" encoding="UTF-8"?>
<success>
</success>
Приклад невдалого запиту:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>Ключ API недійсний</message>
</error>
Наступний запит є частково вдалим, тому що всі формати файлів, які не мають певної структури (наприклад: Generic XML, HTML, Plain Text, Markdown, OpenOffice, Microsoft Office, Adobe InDesign, Adobe FrameMaker, Webxml), завантажити переклади неможливо.
<?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>

Приклади

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;

Ця стаття була корисною?