Создать проект

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/account/create-project?account-key={ключ-аккаунта}

Параметры

Название Значение Описание
login обязательный строка Ваше имя пользователя в Crowdin.
name обязательный строка Название проекта.
identifier обязательный строка Идентификатор проекта. Должен быть уникальным среди других проектов Crowdin.
source_language обязательный строка Язык исходных файлов. языковой код Crowdin.
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 необязательный строка Описание проекта.
in_context необязательный булево Определяет, должен ли In-Context быть активным в проекте. Допустимые значения: 1 или 0.
pseudo_language необязательныйо строка Укажите код языка для In-Context псевдо-языка, который будет хранить некоторые операционные данные.
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" - идентификатора файла Crowdin и "file" - имени файла.
webhook_file_proofread необязательный строка Откройте этот URL при завершении утверждения одного из файлов проекта. URL будет открыт с помощью "project" - идентификатор проекта, "language" - код языка, "file_id" - идентификатор файла Crowdin и "file" - имя файла.
webhook_project_translated необязательный строка Откройте этот URL при завершении перевода проекта. URL будет открыт с помощью "project" - идентификатора проекта и "language" - кода языка.
webhook_project_proofread необязательный строка Откройте этот URL после завершения коррекции проекта. URL будет открыт с помощью "project" - идентификатора проекта и "language" - кода языка.
json необязательный строка Может не содержать значения. Определяет, что ответ должен быть в формате JSON.
jsonp необязательный строка Название функции обратного вызова. Определяет, что ответ должен быть в формате JSONP.
Variables
account-key строка API ключ вашего аккаунта Crowdin.

Ответ

Если метод завершается успешно, он возвращает 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>
  <key>ca51cef8f852425496b1cdd3e86fea88</key>
</project>
Пример ответа для проектов с «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>
  <key>d13720ba72204273af0321ca980945ec</key>
</project>
Образец ответа при неудавшемся запросе:
<?xml version=".0" encoding="ISO-8-1"?>
<error>
  <code>12</code>
  <message>Account key is invalid</message>
</error>

Примеры

curl \
  -F "login=admin" \
  -F "logo=@logo.png" \
  -F "name=This is a test project" \
  -F "identifier=test-project-api" \
  -F "description=Brief Description" \
  -F "hide_duplicates=1" \
  -F "cname=translate.example.com" \
  -F "join_policy=open" \
  -F "languages[]=fr" \
  -F "languages[]=ru" \
  -F "export_approved_only=1" \
  -F "public_downloads=1" \
  -F "source_language=en" \
  -F "qa_checks[enabled]=1" \
  https://api.crowdin.com/api/account/create-project?account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/account/create-project?account-key={account-key}';
$post_params['login'] = 'admin';
$post_params['name'] = 'Test Project';
$post_params['identifier'] = 'api-test-project';
$post_params['join_policy'] = 'private';
$post_params['languages[0]'] = 'fr';
$post_params['languages[1]'] = 'uk';
$post_params['source_language'] = 'en';
$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;

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