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

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 проекта.

Запрос

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

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

Параметры

Название Значение Описание
name необязательный строка Название проекта.
languages необязательный массив Массив языковых кодов на которые проект должен быть переведен.
join_policy необязательный строка Политика вступления в проект. Допустимые значения:
  • open
  • private
language_access_policy необязательный строка Определяет, как участники проекта могут получить доступ к целевым языкам. Допустимые значения:
  • «open» - любой переводчик может получить доступ к любому языку.
  • «moderate» - переводчику должен быть предоставлен доступ к определенному языку.
hide_duplicates необязательный число Определяет, должны ли дублированные строки отображаться переводчикам или должны быть скрыты и переведены автоматически. Допустимые значения:
  • 0: Показывать - переводчики будут переводить каждую строку отдельно
  • 1: Скрыть (обычное обнаружение) - все дубликаты будут иметь доступ к одному и тому же переводу.
  • 2: Показывать, но автоматически переводить их
  • 3: Показывать в ветке версии (обычное обнаружение) - дубликаты будут скрыты только между ветками версий
  • 4: Скрыть (строгое обнаружение) - все дубликаты будут делиться одним и тем же переводом
  • 5: Показать внутри ветки версии (строгое обнаружение) - дубликаты будут скрыты только между ветками версии
export_translated_only необязательный булево Определяет, будут ли в конечный файл экспортированы только переведенные строки. Мы не рекомендуем устанавливать эту опцию, если в вашем проекте есть текстовые (*.html, *.txt, *.docx и т. п.) документы, поскольку они могут стать причиной повреждения итоговых файлов. Допустимые значения: 1 или 0.
export_approved_only необязательный булево Если установлено значение 1, в конечный ZIP файл будут экспортированы только утвержденные переводы. Допустимые значения: 1 или 0.
auto_translate_dialects необязательный булево Не переведенные строки диалектов будут переведены автоматически в экспортируемый файл, с использованием переводов с основного языка. Допустимые значения: 1 или 0.
public_downloads необязательный булево Определяет, видима ли для всех кнопка «Скачать» на веб-страницах Crowdin. Допустимые значения: 1 или 0.
use_global_tm необязательный булево Определяет, будут ли использованы переводы из Глобальной памяти переводов Crowdin. При использовании этой опции, все переводы вашего проекта будут автоматически переданы в Глобальную память перевода. Допустимые значения: 1 или 0.
logo необязательный файл Логотип проекта на Crowdin.
cname необязательный строка Пользовательское доменное имя для проекта Crowdin.
description необязательный строка Описание проекта.
qa_checks необязательный массив Определяет, должна ли проверка QA быть активной в проекте. В качестве ключа вы должны указать параметр проверки QA (Контрольные параметры проверки QA). Возможные ключи:
  • "enabled" - включение или отключение проверки QA
  • "empty" - пустой перевод
  • "size" — проблемы длины
  • "tags" - несоответствие тегов
  • "spaces" - несоответствие пробелов
  • "variables" — несоответствие переменных
  • "punctuation" - несоответствие пунктуации
  • "symbol_register" - несоответствие регистра символов
  • "special_symbols" - несоответствие специальных символов
  • "wrong_translation" - проблемы с «неправильным переводом»
  • "spellcheck" - орфография
  • "icu" - синтаксис ICU
Допустимые значения: 1 или 0.
Примечание! Эта опция доступна только для планов организации.
webhook_file_translated необязательный строка Откройте этот URL при завершении перевода одного из файлов проекта. URL будет открыт с помощью "project" - идентификатора проекта, "language" - кода языка, "file_id" - идентификатора файла.
webhook_file_proofread необязательный строка Откройте этот URL при завершении утверждения одного из файлов проекта. URL будет открыт с помощью "project" - идентификатора проекта, "language" - кода языка, "file_id" - идентификатора файла.
webhook_project_translated необязательный строка Откройте этот URL при завершении перевода проекта. URL будет открыт с помощью "project" - идентификатора проекта и "language" - кода языка.
webhook_project_proofread необязательный строка Откройте этот URL после завершения коррекции проекта. URL будет открыт с помощью "project" - идентификатора проекта и "language" - кода языка.
json необязательный строка Может не содержать значения. Определяет, что ответ должен быть в формате JSON.
jsonp необязательный строка Название функции обратного вызова. Определяет, что ответ должен быть в формате JSONP.
Variables
project-identifier строка Идентификатор проекта.
login строка Ваше имя пользователя в Crowdin.
account-key строка API ключ вашего аккаунта.

Ответ

Если метод завершается успешно, он возвращает XML-структуру, как показано ниже (когда 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>
Пример ответа для проектов с «умеренной» 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>
Образец ответа при неудавшемся запросе:
<?xml version=".0" encoding="ISO-8-1"?>
<error>
  <code>3</code>
  <message>API key is not valid</message>
</error>

Примеры

curl \
  -F "logo=@logo. ng" \
  -F "name=new project name" \
  -F "description=new project description" \
  -F "cname=new.example. om" \
  -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. rowdin.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;

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