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.
Name | Value | Description |
---|---|---|
files required | array | Translated files array. Array keys should contain file names in Crowdin. Note! 20 files max are allowed to upload per one time file transfer. |
language required | string | Crowdin language code. With a single call it's possible to upload translations for several files but only into one of the languages. |
import_eq_suggestions optional | bool | Defines whether to add translation if it is equal to source string at Crowdin. Acceptable values are: 0 or 1. Default is 0. |
auto_approve_imported optional | bool | Mark uploaded translations as approved. Acceptable values are: 0 or 1. Default is 0. |
format optional | string | Specify this parameter if translations are uploaded to the project in XLIFF file format. Acceptable value is: xliff To download XLIFF file for offline translation, apply the Export File method. |
branch optional | string | The name of related version branch (Versions Management). |
json optional | string | May not contain value. Defines that response should be in JSON format. |
jsonp optional | string | Callback function name. Defines that response should be in JSONP format. |
Variables | ||
project-identifier | string | Project identifier. |
login | string | Your username in Crowdin. |
account-key | string | Your account API key. |
<?xml version="1.0" encoding="UTF-8"?>
<success>
</success>
<?xml version="1.0" encoding="UTF-8"?>
<error>
<code>3</code>
<message>API key is not valid</message>
</error>
<?xml version="1.0" encoding="UTF-8"?>
<success>
<stats>
<file name="spreadsheet.csv" status="uploaded"></file>
<file name="webxml.xml" status="not_allowed"></file>
</stats>
</success>
curl \
-F "files[strings.xml]=@strings.fr.xml" \
-F "language=fr" \
-F "auto_approve_imported=1" \
https://api.crowdin.com/api/project/{project-identifier}/upload-translation?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/upload-translation?login={username}&account-key={account-key}';
if (function_exists('curl_file_create')) {
$post_params['files[test.xml]'] = curl_file_create('/home/crowdin/test.fr.xml');
} else {
$post_params['files[test.xml]'] = '@/home/crowdin/test.fr.xml';
}
$post_params['language'] = 'fr';
$post_params['import_eq_suggestions'] = 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;