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

Загрузить существующие переводы в ваш проект Crowdin.

Запрос

Примечание: Либо ключ проекта либокомбинация имя пользователя и ключ учетной записи может быть передано в эту конечную точку. Идентификатор проекта передается в обоих случаях.

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

Параметры

Название Значение Описание
files обязательный массив Массив переведенных файлов, Массив ключей должен содержать имена файлов в проекте Crowdin.
Внимание! Максимум 20 файлов разрешено загружать за один раз.
language обязательный строка языковой код Crowdin. За один вызов можно загрузить переводы для нескольких файлов, но только на один из языков.
import_duplicates необязательный булево Определяет, добавлять ли перевод, если ранее был добавлен такой же перевод. Допустимые значения: 0 или 1. По умолчанию 0.
import_eq_suggestions необязательный булево Определяет, добавлять ли перевод, если он равен исходной строке. Допустимые значения: 0 или. По умолчанию 0.
auto_approve_imported необязательный булево Пометить загруженные переводы как утвержденные. Допустимые значения: 0 или 1. По умолчанию 0.
format необязательный строка Укажите этот параметр, если переводы загружаются в проект в формате файла XLIFF. Допустимое значение: xliff
Чтобы загрузить файл XLIFF для автономного перевода, примените метод Экспорт файла.
branch необязательный строка Имя ветви связанной версии ( Управления версиями) ).
json необязательный строка Может не содержать значение. Указывает, что ответ должен быть в формате JSON.
jsonp необязательный строка Имя функции обратного вызова. Определяет, что ответ должен быть в формате JSONP.
Variables
project-identifier обязательный строка Идентификатор проекта.
project-key необязательный строка Ключ API проекта. Требуется либо ключ проекта либо комбинация имя пользователя и ключ аккаунта.
username необязательный строка Ваше имя пользователя в Crowdin. Требуется либо ключ проекта либо комбинация имя пользователя и ключ аккаунта.
account-key необязательный строка API Ключ аккаунта. Требуется либо ключ проекта либо комбинация имя пользователя и ключ аккаунта.

Ответ

В случае успеха этот метод возвращает структуру XML, как показано ниже.
<?xml version="1.0" encoding="ISO-8859-1"?>
<success>
</success>
Образец ответа при неудавшемся запросе:
<?xml version="1.0" encoding="ISO-8859-1"?>
<error>
  <code>3</code>
  <message>API key is not valid</message>
</error>
Следующий запрос частично успешен, потому что для всех форматов файлов, которые не имеют определенной структуры (таких как: Обычный XML, HTML, простой текст, Markdown разметка, OpenOffice, Microsoft Office, Adobe InDesign, Adobe FrameMaker, Webxml) загрузка переводов невозможна.
<?xml version="1.0" encoding="ISO-8859-1"?>
<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;

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