Загрузка памяти переводов в проект

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 в форматах файлов TMX, CSV или XLS/XLSX.

Запрос

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

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

Параметры

Название Значение Описание
file обязательный файл File in TMX, CSV or XLS/XLSX formats. See TMX 1.4b Specification.
first_line_contains_header Только файлы CSV и XLS/XLSX
необязательный
строка Используется при загрузке CSV (или XLS/XLSX) файлов через API. Defines whether first line should be imported or it contains columns headers. Может не содержать значения.
scheme Только для файлов CSV и XLS/XLSX
обязательный
строка Примечание: используется только при загрузке CSV (или XLS/XLSX) файла для определения сопоставления столбцов данных.
Приемлемым значением является комбинация следующих констант (%language_code% обозначает код языка):
  • «Phrase_ crowdin_language_code " - колонка с фразами.
  • «none» - не импортировать столбец.
Пример параметров, которые вам нужно будет добавить: &scheme=phrase_en,none,phrase_uk,phrase_fr
json необязательный строка Может не содержать значения. Определяет, что ответ должен быть в формате JSON.
jsonp необязательный строка Название функции обратного вызова. Определяет, что ответ должен быть в формате JSONP.
Variables
project-identifier строка Идентификатор проекта.
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>
Образец ответа при неудавшемся запросе:
<?xml version=".0" encoding="ISO-8-1"?>
<error>
  <code>3</code>
  <message>API key is not valid</message>
</error>

Примеры

curl \
  -F "file=@translation-memory.tmx" \
  https://api.crowdin.com/api/project/{project-identifier}/upload-tm?login={username}&account-key={account-key}
curl \
  -F "file=@tm.csv" \
  -F "first_line_contains_header=true" \
  -F "scheme=phrase_en,none,phrase_uk,phrase_fr" \
  https://api.crowdin.com/api/project/{project-identifier}/upload-tm?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/upload-tm?login={username}&account-key={account-key}';

if(function_exists('curl_file_create')) {
  $post_params['file'] = curl_file_create('/home/crowdin/test.tmx');
} else {
  $post_params['file'] = '@/home/crowdin/test.tmx';
}

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

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