Atualizar arquivo

Carregue a versão mais recente dos seus arquivos de origem (os que devem ser localizados) para o seu projeto de crowdin.

Pedido

Nota: Use a 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}/update-file?login={username}&account-key={account-key}

Parâmetros

Nome Valor Descrição
files obrigatório array Matriz de arquivos que deve ser atualizada.
Nota! Máximo de 20 arquivos podem ser enviados por transferência de arquivos por vez.
titles opcional array Uma matriz de strings que define títulos para arquivos enviados. As chaves de matriz devem conter nomes de arquivos com caminho no projeto no Crowdin.
export_patterns opcional array Uma matriz de cadeias de caracteres que define nomes de arquivos resultantes (arquivos traduzidos no archive de resultados). As chaves de matriz devem conter nomes de arquivos com caminho no projeto no Crowdin.
new_names opcional array Um arrays de strings que define novos nomes para arquivos importados anteriormente. As chaves de matriz devem conter nomes de arquivos com caminho no projeto no Crowdin.
first_line_contains_header Somente arquivos CSV e XLS/XLSX
opcional
string Usado ao fazer o upload de arquivos CSV (ou XLS / XLSX) via API. Define se a primeira linha deve ser importada ou se contém cabeçalhos de colunas. Pode não conter valor.
scheme Somente arquivos CSV e XLS / XLSX
obrigatório
string Nota: Usado somente ao fazer o upload do arquivo CSV (ou XLS / XLSX) para definir o mapeamento de colunas de dados.
O valor aceitável é a combinação das seguintes constantes:
  • "identifier" — Coluna contém identificador de string.
  • "source_phrase" — A coluna contém apenas a string de origem (na string resultante conterá a mesma string).
  • "source_or_translation" — A coluna contém a string de origem, mas ao exportar a mesma coluna deve conter tradução (também ao carregar traduções existentes, o valor desta coluna será usado como uma string traduzida).
  • "translation" — Coluna contém string traduzida (quando o arquivo importado já contém traduções).
  • "context" — Coluna contém alguns comentários na string de origem. Informações de contexto.
  • "max_length" — Coluna contém no máximo. duração da tradução para esta string.
  • "none" — Não importe coluna.
Exemplo de parâmetro você terá que adicionar: &scheme=identifier,source_or_translation

Nota: para o arquivo exportado conter traduções em todos os idiomas de destino, especifique language codes in scheme (e.g. &scheme=identifier,source_phrase,uk,ru,fr).
update_option opcional string Dependendo do valor, "update_option" é usado para preservar traduções e preservar/remover validações de strings alteradas durante a atualização do arquivo. Os valores são:
  • "update_as_unapproved" - Preserve traduções de frases alteradas e remova validações dessas traduções (se existirem).
  • "update_without_changes" — Preserve traduções e validações de frases alteradas.
Nota: Se não estiver definido, as traduções para strings alteradas serão perdidas após a atualização do arquivo. Útil para correções de digitação e pequenas alterações nas strings de origem.
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.
escape_quotes somente arquivos de propriedades
opcional
inteiro Define se aspas simples devem ser evitadas por outra aspa simples ou barra invertida nas traduções exportadas. Os valores aceitáveis são: 0, 1, 2, 3. O padrão é 3.

0 — Não escape uma citação;
1 — Escape única citação por outra simples citação;
2 — Escape uma citação da barra invertida;
3 — Escape de aspas simples por outra aspa simples apenas em strings contendo variáveis ( {0} )
Variáveis
project-identifier string Identificador do projeto.
iniciar sessão string Seu nome de usuário no Crowdin.
account-key string Sua chave da API da conta.

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>

Exemplos

curl \
  -F "files[/directory/strings.xml]=@strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
curl \
  -F "files[/directory/android.xml]=@strings.xml" \
  -F "new_names[/directory/android.xml]=strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
curl \
  -F "files[directory/multilingual.csv]=@example.csv" \
  -F "export_patterns[directory/multilingual.csv]=/translations/%original_file_name%" \
  -F "titles[directory/multilingual.csv]=Title in Crowdin Project" \
  -F "scheme=identifier,source_phrase,translation" \
  -F "first_line_contains_header=true" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}';

if (function_exists('curl_file_create')) {
$post_params['files[test.txt]'] = curl_file_create('/home/user/test.txt');
} else {
$post_params['files[test.txt]'] = '@/home/user/test.txt';
}

$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;
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}';

if (function_exists('curl_file_create')) {
$post_params['files[/directory/android.xml]'] = curl_file_create('/home/user/strings.xml');
} else {
$post_params['files[/directory/android.xml]'] = '@/home/user/strings.xml';
}

$post_params['new_names[/directory/android.xml]'] = 'strings.xml';

$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;
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?login={username}&account-key={account-key}';

if(function_exists('curl_file_create')) {
$post_params['files[directory/multilingual.csv]'] = curl_file_create('/home/user/example.csv');
} else {
$post_params['files[directory/multilingual.csv]'] = '@/home/user/example.csv';
}

$post_params['export_patterns[directory/multilingual.csv]'] = '/translations/%original_file_name%';
$post_params['titles[directory/multilingual.csv]'] = 'Title in Crowdin Project';
$post_params['scheme'] = 'identifier,source_phrase,translation';
$post_params['first_line_contains_header'] = '';

$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?