Enviar Tradução

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
Enviar traduções existentes para o teu projeto no Crowdin.
Method is not working for Assets localization.


Note: Use the combination of project identifier, username, and account key to pass to this endpoint.

POST https://api.crowdin.com/api/project/{project-identifier}/upload-translation?login={username}&account-key={account-key}


Nome Valor Descrição
files obrigatório 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.
idioma obrigatório string Código de idioma do Crowdin. 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. Os valores aceitáveis são: 0 ou 1. O padrão é 0.
auto_approve_imported optional bool Mark uploaded translations as approved. Os valores aceitáveis são: 0 ou 1. O padrão é 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 opcional string O nome da ramificação da versão relacionada (Gestão de Versões).
json opcional string Pode não conter valor. Define que a resposta deve estar no formato JSON.
jsonp opcional string Nome da função de retorno de chamada. Define que a resposta deve estar no formato JSONP.
project-identifier string Identificador do projeto.
login string O teu nome de utilizador no Crowdin.
account-key string A tua chave API de conta.


If successful, this method returns a XML structure, as it is shown below.
<?xml version="1.0" encoding="UTF-8"?>
Exemplo de resposta mal-sucedida:
<?xml version="1.0" encoding="UTF-8"?>
  <message>A chave API não é válida</message>
The following request is partly successful because for all the file formats that do not have defined structure (such as: Generic XML, HTML, Plain Text, Markdown, OpenOffice, Microsoft Office, Adobe InDesign, Adobe FrameMaker, Webxml) the translations upload is not possible.
<?xml version="1.0" encoding="UTF-8"?>
    <file name="spreadsheet.csv" status="uploaded"></file>
    <file name="webxml.xml" status="not_allowed"></file>


curl \
  -F "files[strings.xml]=@strings.fr.xml" \
  -F "language=fr" \
  -F "auto_approve_imported=1" \
$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);

echo $result;

Este artigo foi útil?