Add a new file to Crowdin project.
Название | Значение | Описание |
---|---|---|
files обязательный | массив | Массив файлов, которые нужно добавить в Crowdin проект. Array keys should contain file names with a path in Crowdin project. Внимание! Максимум 20 файлов разрешено загружать за один раз. Максимальный размер одного файла составляет 100 МБ. |
titles необязательный | массив | An array of strings that defines titles for uploaded files. Array keys should contain file names with a path in Crowdin project. |
export_patterns необязательный | массив | An array of strings that defines names of resulted files (translated files in the resulted archive). Array keys should contain file names with a path in Crowdin project. |
type необязательный | строка | Допустимые значения:
|
first_line_contains_header Только файлы CSV и XLS/XLSX необязательный | строка | Используется при загрузке файлов CSV (или XLS / XLSX) через API. Определяет, следует ли импортировать первую строку или она содержит заголовки столбцов. Может не содержать значения. |
import_translations только для многоязычных файлов CSV и XLS / XLSX необязательный | целое | Используется при загрузке файлов CSV (или XLS / XLSX) через API. Определяет, импортируются ли при импорте файла переводы - 1 или переводы не импортируются - 0. По умолчанию: 1. |
scheme Только для файлов CSV и XLS/XLSX обязательный | строка | Примечание: Используется только при загрузке файла CSV (или XLS / XLSX) для определения сопоставления столбцов данных. Приемлемым значением является комбинация следующих констант:
Примечание: чтобы экспортированный файл содержал переводы на все целевые языки, укажите коды языков в схеме (напр. &scheme=identifier,source_phrase,uk,ru,fr). |
branch необязательный | строка | The name of the related version branch (Versions Management). |
json необязательный | строка | May contain no value. Defines that response should be in the JSON format. |
jsonp необязательный | строка | Callback function name. Defines that response should be in the JSONP format. |
translate_content Только для XML файлов необязательный | булево | Определяет, переводить ли тексты, размещенные внутри тегов. Допустимые значения: 0 или 1. По умолчанию 1. |
translate_attributes Только для XML файлов необязательный | булево | Определяет, переводить ли атрибуты тегов. Допустимые значения: 0 или 1. По умолчанию 1. |
content_segmentation Только для XML файлов необязательный | булево | Определяет, следует ли разбивать длинные тексты на более мелкие текстовые сегменты. Допустимые значения: 0 или 1. Значение по умолчанию 1. Важно! Эта опция отключает возможность загружать существующие переводы для файлов XML, когда включена. |
translatable_elements Только для XML файлов необязательный | массив | Это массив строк, где каждый элемент является элементом XPath для DOM, который должен быть импортирован. Допустимые значения:
Заметка! Если определены, параметры «translate_content» и «translate_attributes» не учитываются при импорте. |
escape_quotes Только для файлов. properties необязательный | целое | Определяет, будет ли одинарная кавычка экранирована другой одинарной кавычкой или обратным слешем в экспортированных переводах. Допустимые значения: 0, 1, 2, 3. Значение по умолчанию 3. 0 — Не экранировать одинарные кавычки; 1 — Экранировать одинарные кавычки другими одинарными кавычками; 2 — Экранировать одинарные кавычки бэкслешем (\); 3 — Экранировать одинарные кавычки другими одинарными кавычками только в строках, содержащих переменные ( {0} ) |
Variables | ||
project-identifier | строка | Идентификатор проекта. |
project-key | строка | Ключ API проекта. Требуется либо ключ проекта, либо комбинация имя пользователя и ключ аккаунта. |
login | строка | Ваше имя пользователя в Crowdin. Требуется либо ключ проекта, либо комбинация имя пользователя и ключ аккаунта. |
account-key | строка | API Ключ аккаунта. Требуется либо ключ проекта, либо комбинация имя пользователя и ключ аккаунта. |
<?xml version="1.0" encoding="UTF-8"?>
<success>
<stats>
<file file_id="342">
<name>strings.xml</name>
<strings>4</strings>
<words>11</words>
</file>
</stats>
</success>
<?xml version="1.0" encoding="UTF-8"?>
<error>
<code>3</code>
<message>API key is not valid</message>
</error>
curl \
-F "files[/directory/arrays.xml]=@arrays.xml" \
-F "files[strings.xml]=@strings.xml" \
https://api.crowdin.com/api/project/{project-identifier}/add-file?key={project-key}
curl \
-F "files[directory/multilingual.csv]=@example.csv" \
-F "export_patterns[directory/multilingual.csv]=/%locale%/%original_file_name%" \
-F "titles[directory/multilingual.csv]=Title in Crowdin Project" \
-F "scheme=identifier,source_phrase,translation" \
-F "first_line_contains_header=true" \
https://api.crowdin.com/api/project/{project-identifier}/add-file?key={project-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/add-file?key={project-key}';
if (function_exists('curl_file_create')) {
$post_params['files[test.txt]'] = curl_file_create('/home/crowdin/test.txt');
} else {
$post_params['files[test.txt]'] = '@/home/crowdin/test.txt';
}
$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;
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/add-file?key={project-key}';
if(function_exists('curl_file_create')) {
$post_params['files[directory/multilingual.csv]'] = curl_file_create('/home/crowdin/example.csv');
} else {
$post_params['files[directory/multilingual.csv]'] = '@/home/crowdin/example.csv';
}
$post_params['export_patterns[directory/multilingual.csv]'] = '/translations/%original_file_name%';
$post_params['titles[directory/multilingual.csv]'] = 'Title in Crowdin Project';
$post_params['scheme'] = 'identifier,source_phrase,translation';
$post_params['first_line_contains_header'] = '';
$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;