Enviar Tradução

Enviar traduções existentes para o teu projeto no Crowdin.
Method is not working for Assets localization.

Pedido

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

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

Parâmetros

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.
Variáveis
project-identifier string Identificador do projeto.
project-key string Chave da API do projeto. Tanto a project-key ou a combinação de login e account-key são obrigatórias.
login string O teu nome de utilizador no Crowdin. Tanto a project-key ou a combinação de login e account-key são obrigatórias.
account-key string A tua chave API de conta. Tanto a project-key ou a combinação de login e account-key são obrigatórias.

Resposta

If successful, this method returns a XML structure, as it is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<success>
</success>
Exemplo de resposta mal-sucedida:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>A chave API não é válida</message>
</error>
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"?>
<success>
  <stats>
    <file name="spreadsheet.csv" status="uploaded"></file>
    <file name="webxml.xml" status="not_allowed"></file>
  </stats>
</success>

Exemplos

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?key={project-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/upload-translation?key={project-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;

Este artigo foi útil?