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 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}/update-file?key={project-key}
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 array de frases que define títulos para arquivos enviados. As chaves de array devem conter nomes de arquivos com caminho no projeto Crowdin.
export_patterns opcional array Um arrays de frases que define nomes de arquivos resultantes (arquivos traduzidos em arquivo resultante). As chaves de array devem conter nomes de arquivos com caminho no projeto Crowdin.
new_names opcional array Um arrays de frases que define novos nomes para arquivos importados anteriormente. As chaves array devem conter nomes de arquivos com caminho no projeto 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 códigos de idioma no esquema (exemplo &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 alteração de frases durante a atualização de 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 frases alteradas serão perdidas após a atualização do arquivo. Útil para correções de digitação e pequenas alterações nas frases-fonte.
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.
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.
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>

Exemplos

curl \
  -F "files[/directory/strings.xml]=@strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-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?key={project-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?key={project-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-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?key={project-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?key={project-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?