Enviar tradução

Carregue as traduções existentes para o seu projeto Crowdin.
O método não está funcionando parar Localização de assets.

Pedido

Nota: Ou use a combinação de identificador de projeto e chave do projeto ou combinação de identificador de projeto, nome do 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_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 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 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 Sua chave da API da conta. Tanto a chave do projeto ou a combinação de entrada e chave da conta é requerido.

Resposta

Se for bem sucedido, esse 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 (como: Generic XML, HTML, Plain Text, 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?