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.
Ім'я | Значення | Опис |
---|---|---|
files обов'язковий | масив | Масив файлів, які потрібно оновити. Увага! Максимум 20 файлів дозволено завантажувати за один раз. |
titles необов'язковий | масив | Масив рядків, що визначають назви для завантажених файлів. Ключі масиву повинні містити імена файлів з шляхом в проекті Crowdin. |
export_patterns необов'язковий | масив | Масив рядків, що визначають імена підсумкових файлів (перекладені файли в підсумковому архіві). Ключі масиву повинні містити імена файлів з шляхом в проекті Crowdin. |
new_names необов'язковий | масив | Масив рядків, що визначають нові імена для попередньо імпортованих файлів. Ключі масиву повинні містити імена файлів з шляхом в проекті Crowdin. |
first_line_contains_header Тільки файли CSV і XLS/XLSX необов'язковий | рядок | Використовується при завантаження файлів CSV (або XLS/XLSX) через API. Визначає, чи потрібно імпортувати перший рядок і чи містить він заголовки стовпців. Може не містити значення. |
scheme Тільки для файлів CSV і XLS/XLSX обов'язковий | рядок | Примітка: Використовується тільки під час завантаження файлу CSV (або XLS/XLSX) для визначення відображення даних стовпців. Прийнятним значенням є комбінація наступних констант:
Примітка: щоб експортований файл містив переклади на всі цільові мови, позначте мовні коди у схемі (наприклад, &scheme=identifier,source_phrase,uk,ru,fr). |
update_option необов'язковий | рядок | Залежно від значення, "update_option" використовується для збереження перекладів і збереження/скасування перевірок змінених рядків під час оновлення файлу. Використовуйте наступні значення:
|
branch необов'язковий | рядок | Ім'я гілки пов'язаної версії (Управління версіями). |
json необов'язковий | рядок | Може не містити значення. Визначає, що відповідь має бути в форматі JSON. |
jsonp необов'язковий | рядок | Назва функції зворотного виклику. Визначає, що відповідь має бути в форматі JSONP. |
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>
</success>
<?xml version="1.0" encoding="UTF-8"?>
<error>
<code>3</code>
<message>Ключ API недійсний</message>
</error>
curl \
-F "files[/directory/strings.xml]=@strings.xml" \
https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
curl \
-F "files[/directory/android.xml]=@strings.xml" \
-F "new_names[/directory/android.xml]=strings.xml" \
https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
curl \
-F "files[directory/multilingual.csv]=@example.csv" \
-F "export_patterns[directory/multilingual.csv]=/translations/%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}/update-file?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}';
if (function_exists('curl_file_create')) {
$post_params['files[test.txt]'] = curl_file_create('/home/user/test.txt');
} else {
$post_params['files[test.txt]'] = '@/home/user/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}/update-file?login={username}&account-key={account-key}';
if (function_exists('curl_file_create')) {
$post_params['files[/directory/android.xml]'] = curl_file_create('/home/user/strings.xml');
} else {
$post_params['files[/directory/android.xml]'] = '@/home/user/strings.xml';
}
$post_params['new_names[/directory/android.xml]'] = 'strings.xml';
$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}/update-file?login={username}&account-key={account-key}';
if(function_exists('curl_file_create')) {
$post_params['files[directory/multilingual.csv]'] = curl_file_create('/home/user/example.csv');
} else {
$post_params['files[directory/multilingual.csv]'] = '@/home/user/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;