Загрузить перевод

Загрузить существующие переводы в ваш проект Crowdin.
Method is not working for Assets localization.

Запрос

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

POST https://api.crowdin.com/api/project/{идентификатор-проекта}/upload-translation?key={ключ-проекта}
POST https://api.crowdin.com/api/project/{project-identifier}/upload-translation?login={username}&account-key={account-key}

Параметры

Название Значение Описание
files обязательный массив 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 обязательный строка языковой код Crowdin. За один вызов можно загрузить переводы для нескольких файлов, но только на один из языков.
import_duplicates необязательный булево Defines whether to add translation if there is the same translation previously added. Допустимые значения: 0 или 1. Значение по умолчанию — 0.
import_eq_suggestions необязательный булево Defines whether to add translation if it is equal to source string at Crowdin. Допустимые значения: 0 или 1. Значение по умолчанию — 0.
auto_approve_imported необязательный булево Mark uploaded translations as approved. Допустимые значения: 0 или 1. Значение по умолчанию — 0.
format необязательный строка Укажите этот параметр, если переводы загружаются в проект в формате файла XLIFF. Допустимое значение: xliff
Чтобы загрузить файл XLIFF для автономного перевода, примените метод Экспорт файла.
branch необязательный строка Имя ветви связанной версии ( Управления версиями) ).
json необязательный строка Может не содержать значения. Определяет, что ответ должен быть в формате JSON.
jsonp необязательный строка Название функции обратного вызова. Определяет, что ответ должен быть в формате JSONP.
Variables
project-identifier строка Идентификатор проекта.
project-key строка API-ключ проекта. Требуется либо ключ проекта, либо комбинация имя пользователя и ключ аккаунта.
login строка Ваше имя пользователя в Crowdin. Требуется либо ключ проекта, либо комбинация имя пользователя и ключ аккаунта.
account-key строка API ключ вашего аккаунта. Требуется либо ключ проекта, либо комбинация имя пользователя и ключ аккаунта.

Ответ

If successful, this method returns a XML structure, as it is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<success>
</success>
Unsuccessful response sample:
<?xml version="1.0" encoding="UTF-8"?>
<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="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?key={project-key}
<?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;

Была ли эта статья полезной?