Редактировать проект

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}/edit-project?login={username}&account-key={account-key}

Параметры

Название Значение Описание
name необязательный строка Название проекта.
languages необязательный массив Массив языковых кодов на которые проект должен быть переведен.
join_policy необязательный строка Project join policy. Допустимые значения:
  • open
  • private
language_access_policy необязательный строка Defines how project members can access target languages. Допустимые значения:
  • «open» - любой переводчик может получить доступ к любому языку.
  • «moderate» - переводчику должен быть предоставлен доступ к определенному языку.
hide_duplicates необязательный число Defines whether duplicated strings should be displayed to translators or should be hidden and translated automatically. Допустимые значения:
  • 0: Показывать - переводчики будут переводить каждую строку отдельно
  • 1: Скрыть - для всех дубликатов будет применен один перевод
  • 2: Показывать, но автоматически переводить их
  • 3: Показывать (рекомендуется для версий) - дубликаты будут скрыты только между версиями
export_translated_only необязательный булево Определяет, будут ли экспортированы только переведенные строки в конечный файл. Мы не рекомендуем устанавливать эту опцию, если в вашем проекте есть текстовые (*.html, *.txt, *.docx и т. п.) документы, поскольку они могут стать причиной повреждения итоговых файлов. Допустимые значения: 1 или 0.
export_approved_only необязательный булево If set to 1 only approved translations will be exported in resulted ZIP file. Допустимые значения: 1 или 0.
auto_translate_dialects необязательный булево Untranslated strings of dialect will be translated automatically in exported file, leveraging translations from main language. Допустимые значения: 1 или 0.
public_downloads необязательный булево Defines whether "Download" button visible to everyone on Crowdin webpages. Допустимые значения: 1 или 0.
use_global_tm необязательный булево Определяет, будут ли использованы переводы из Глобальной памяти переводов Crowdin. Если эта опцию используется, все переводы вашего проекта будут автоматически переданы в Глобальную память перевода. Допустимые значения: 1 или 0.
logo необязательный файл Логотип проекта на Crowdin.
cname необязательный строка Пользовательское доменное имя для проекта Crowdin.
description необязательный строка Описание проекта.
qa_checks необязательный массив Defines whether the QA checks should be active in the project. As a key you must specify QA check parameter (An Overview of QA Check Parameters). Possible keys are:
  • "enabled" - включение или отключения проверки качества
  • "empty" - пустой перевод
  • "size" — проблемы длины
  • "tags" - несоответствие тегов
  • "spaces" - несоответствие пробелов
  • "variables" — несоответствие переменных
  • "punctuation" - несоответствие пунктуации
  • "symbol_register" - несоответствие регистра символов
  • "special_symbols" - несоответствие специальных символов
  • "wrong_translation" - проблемы с «неправильным переводом»
  • "spellcheck" - орфография
  • "icu" - синтаксис ICU
Допустимые значения: 1 или 0.
Note! This option is available only for organization plans.
webhook_file_translated необязательный строка Откройте этот URL при завершении перевода одного из файлов проекта. URL will be opened with "project" - project identifier, "language" - language code and "file" - file name.
webhook_file_proofread необязательный строка Откройте этот URL при завершении утверждения одного из файлов проекта. URL will be opened with "project" - project identifier, "language" - language code and "file" - file name.
webhook_project_translated необязательный строка Open this URL when project translation is complete. URL will be opened with "project" - project identifier and "language" - language code.
webhook_project_proofread необязательный строка Open this URL when project proofreading is complete. URL will be opened with "project" - project identifier and "language" - language code.
json необязательный строка Может не содержать значения. Определяет, что ответ должен быть в формате JSON.
jsonp необязательный строка Название функции обратного вызова. Определяет, что ответ должен быть в формате JSONP.
Variables
project-identifier строка Идентификатор проекта.
login строка Ваше имя пользователя в Crowdin.
account-key строка API ключ вашего аккаунта.

Ответ

If the method is successful, it responds with an XML structure, as it is shown below (when language_access_policy = open).
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <success>1</success>
  <invitation>http://translate.example.com/project/test-project-api/invite</invitation>
  <url>http://translate.example.com/project/test-project-api</url>
</project>
Response example for projects with "Moderate" language_access_policy.
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <success>1</success>
  <invitation>
    <item>
      <language>Украинский</language>
      <translator>http://translate.example.com/project/test-project-api/invite?d=7585662585d5d32307d3937373</translator>
      <proofreader>http://translate.example.com/project/test-project-api/invite?d=3585k635r4d5d32307d3937373</proofreader>
    </item>
  </invitation>
  <url>https://crowdin.com/project/test-project-api</url>
</project>
Unsuccessful response sample:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>API key is not valid</message>
</error>

Примеры

curl \
  -F "logo=@logo.png" \
  -F "name=new project name" \
  -F "description=new project description" \
  -F "cname=new.example.com" \
  -F "languages[]=de" \
  -F "languages[]=fr" \
  -F "languages[]=zh-CN" \
  -F "hide_duplicates=1" \
  -F "export_approved_only=0" \
  -F "public_downloads=1" \
  -F "qa_checks[enabled]=1" \
  https://api.crowdin.com/api/project/{project-identifier}/edit-project?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/edit-project?login={username}&account-key={account-key}';
$post_params['name'] = 'new project name';
$post_params['join_policy'] = 'open';
$post_params['languages[0]'] = 'fr';
$post_params['languages[1]'] = 'de';
$post_params['languages[2]'] = 'zh-CN';
$post_params['qa_checks[enabled]'] = 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;

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