Enviar tradução

Carregue as traduções existentes para o seu projeto Crowdin.

Pedido

Nota: Use a combinação de identificador do projeto e chave do projeto ou a combinação do identificador do projeto, nome de usuário, e chave da conta para passar para este ponto final.

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 Matriz de arquivos traduzidos. As chaves de matriz devem conter nomes de arquivos no Crowdin.
Nota! Máximo de 20 arquivos podem ser carregados por transferência de arquivos por vez.
language obrigatório string Código de idioma do Crowdin. Com uma única chamada, é possível fazer upload de traduções para vários arquivos, mas apenas em um dos idiomas.
import_duplicates opcional bool Define se adicionar tradução se houver a mesma tradução adicionada anteriormente. Os valores aceitáveis são: 0 ou 1. O padrão é 0.
import_eq_suggestions opcional bool Define se deve adicionar tradução se for igual à string de origem no Crowdin. Os valores aceitáveis são: 0 ou 1. O padrão é 0.
auto_approve_imported opcional bool Marcar as traduções enviadas como aprovadas. Os valores aceitáveis são: 0 ou 1. O padrão é 0.
format opcional string Especifique este parâmetro se as traduções forem carregadas para o projeto no formato de arquivo XLIFF. O valor aceitável é: xliff
Para fazer download do arquivo XLIFF para tradução off-line, aplique o método Exportar arquivo.
branch opcional string O nome do ramo de versão relacionado (Gerenciamento de Versões).
json opcional string Não pode conter nenhum 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 chave do projeto ou a combinação de entrada e chave da conta é requerido.
iniciar sessão string Seu nome de usuário no Crowdin. Tanto a chave do projeto ou a combinação de entrada e chave da conta é requerido.
account-key string Chave da API da sua conta. Tanto a chave do projeto ou a combinação de entrada e chave da conta é requerido.

Resposta

Se bem sucedido, este método retorna uma estrutura XML, como é mostrado abaixo.
<?xml version="1.0" encoding="UTF-8"?>
<success>
</success>
Amostra de resposta mal-sucedida:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>A chave da API não é válida</message>
</error>
A solicitação a seguir é parcialmente bem-sucedida porque, para todos os formatos de arquivo que não possuem estrutura definida (tal como: XML genérico, HTML, texto simples, Markdown, OpenOffice, Microsoft Office, Adobe InDesign, Adobe FrameMaker, Webxml) o carregamento de traduções não é possível.
<?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?