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.
Ім'я | Значення | Опис |
---|---|---|
files обов'язковий | масив | Масив файлів, які потрібно додати в Crowdin проект. Ключі масиву повинні містити назви файлів і шлях до них в проекті Crowdin. Увага! Максимум 20 файлів дозволено завантажувати за один раз. Максимальний розмір одного файлу складає 100 МБ. |
titles необов'язковий | масив | Масив рядків, що визначає заголовки для завантажених файлів. Ключі масиву повинні містити назви файлів і шлях до них в проекті Crowdin. |
export_patterns необов'язковий | масив | Масив рядків, що визначає назви підсумкових файлів (перекладені файли в підсумковому архіві). Ключі масиву повинні містити назви файлів і шлях до них в проекті Crowdin. |
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 необов'язковий | рядок | Назва відповідної гілки версії (Управління версіями). |
json необов'язковий | рядок | Може не містити значення. Визначає те, що відповідь повинна бути в форматі JSON. |
jsonp необов'язковий | рядок | Назва функції зворотного виклику. Визначає те, що відповідь повинна бути в форматі JSONP. |
translate_content Тільки для XML файлів необов'язковий | bool | Визначає, чи перекладати тексти, розміщені всередині тегів. Доступні значення: 0 або 1. Значення за замовчуванням 1. |
translate_attributes Тільки для XML файлів необов'язковий | bool | Визначає, чи перекладати атрибути тегів. Доступні значення: 0 або 1. Значення за замовчуванням 1. |
content_segmentation Тільки для XML файлів необов'язковий | bool | Визначає, чи слід розбивати довгі тексти на більш дрібні текстові сегменти. Доступні значення: 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 | рядок | Ідентифікатор проекту. |
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 недійсний</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?login={username}&account-key={account-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?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/add-file?login={username}&account-key={account-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?login={username}&account-key={account-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;