Aggiungi File

Aggiungi un nuovo file al progetto di Crowdin.

Richiesta

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

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

Parametri

Nome Valore Descrizione
file obbligatori insieme Insieme dei file che dovrebbero essere aggiunti al progetto Crowdin. Le chiavi dell'insieme dovrebbero contenere i nomi del file con un percorso nel progetto di Crowdin.
Nota! 20 file massimo sono consentiti per caricare un trasferimento file di una volta. La dimensione massima di un file è 100 MB.
titoli opzionale insieme Un insieme di stringhe che definisce i titoli per i file caricati. Le chiavi dell'insieme dovrebbero contenere i nomi del file con un percorso nel progetto di Crowdin.
export_patterns opzionale insieme Un insieme di stringhe che definisce i nomi dei file risultati (i file tradotti nell'archivio risultato). Le chiavi dell'insieme dovrebbero contenere i nomi del file con un percorso nel progetto di Crowdin.
tipo opzionale nella stringa Valori accettabili sono:
  • valore vuoto o "auto" - Prova a rilevare il tipo di file per estensione o tipo MIME
  • "android" — Android (*.xml)
  • "macosx" — Mac OS X / iOS (*.strings)
  • "resx" — .NET, Windows Phone (*.resx)
  • "proprietà" — Java (*.properties)
  • "gettext" — GNU GetText (*.po, *.pot)
  • "yaml" — Ruby On Rails (*.yaml)
  • "php" — Preprocessore dell'Ipertesto (*.php)
  • "json" — JSON Generico (*.json)
  • "xml" — XML Generico (*.xml)
  • "ini" — INI Generico (*.ini)
  • "rc" — Risorse Windows (*.rc)
  • "resw" — Windows 8 Metro (*.resw)
  • "resjson" — Windows 8 Metro (*.resjson)
  • "qtts" — Nokia Qt (*.ts)
  • "joomla" — Risorse localizzabili Joomla (*.ini)
  • "chrome" — Estensione Google Chrome (*.json)
  • "dtd" — Mozilla DTD (*.dtd)
  • "dklang" — Delphi DKLang (*.dklang)
  • "flex" — Flex (*.properties)
  • "nsh" — Risorse Installer NSIS (*.nsh)
  • "wxl" — Installer WiX (*.wxl)
  • "xliff" — XLIFF (*.xliff)
  • "html" — HTML (*.html, *.htm, *.xhtml, *.xhtm)
  • "haml" — Haml (*.haml)
  • "txt" — Plain Text (*.txt)
  • "csv" — Valori Separati da Virgola (*.csv)
  • "md" — Markdown (*.md, *.text, *.markdown...)
  • "flsnp" — MadCap Flare (*.flnsp, .flpgpl .fltoc)
  • "fm_html" — Jekyll HTML (*.html)
  • "fm_md" — Jekyll Markdown (*.md)
  • "mediawiki" — MediaWiki (*.wiki, *.wikitext, *.mediawiki)
  • "docx" — Microsoft Office, Documenti OpenOffice.org, Adobe InDesign Adobe FrameMaker(*.docx, *.dotx, *.odt, *.ott, *.xslx, *.xltx, *.pptx, *.potx, *.ods, *.ots, *.odg, *.otg, *.odp, *.otp, *.imdl, *.mif)
  • "sbv" — Youtube .sbv (*.sbv)
  • "vtt" — Sottotitolare Video e WebVTT (*.vtt)
  • "srt" — SubRip .srt (*.srt)
  • "i18next_json" — i18next JSON (*.json)
solo file first_line_contains_header CSV and XLS/XLSX
opzionale
nella stringa Usato caricando i file CSV (o XLS/XLSX) tramite API. Definisce se la prima riga dovrebbe essere importata o se contiene le intestazioni delle colonne. Potrebbe non contenere alcun valore.
import_translations solo file multilingue CSV e XLS/XLSX
opzionale
intero Usato caricando i file CSV (o XLS/XLSX) tramite API. Definisce se mentre le traduzioni di importazione del file sono anch'essi importati - 1, o le traduzioni non sono importate - 0. Predefinito: 1.
schema solo file CSV e XLS/XLSX
richiesto
nella stringa Nota: Usato solo caricando il file CSV (o XLS/XLSX) per definire la mappatura delle colonne dei dati.
Valore accettabile è la combinazione delle seguenti costanti:
  • "identificatore" - La colonna contiene l'identificatore della stringa.
  • "source_phrase" — La colonna contiene solo la stringa sorgente (nella stringa del risultato conterrà la stessa stringa).
  • "source_or_translation" — La colonna contiene la stringa sorgente ma quando si esporta la stessa colonna dovrebbe contenere la traduzione (inoltre durante il caricamento delle traduzioni esistenti, il valore da questa colonna sarà usata come una stringa tradotta).
  • "translation" — La colonna contiene le stringhe tradotte (se il file importato contiene già delle traduzioni).
  • "context" — La colonna contiene dei commenti sulla stringa sorgente. Informazioni del contesto.
  • "max_length" — La colonna contiene la lunghezza massima di traduzione per questa stringa. lunghezza massima di traduzione per questa stringa.
  • "labels" — Column contains labels.
  • "none" — Don't import this column.
Parametro di esempio che dovrai aggiungere: &scheme=identifier,source_or_translation

Note: for exported file to contain translations to all the target languages, specify language codes in scheme (e.g. &scheme=identifier,source_phrase,uk,ru,fr).
ramo opzionale nella stringa Il nome del ramo della versione correlata (Gestione delle Versioni).
json opzionale nella stringa Potrebbe non contenere alcun valore. Definisce che la risposta dovrebbe essere nel formato JSON.
jsonp opzionale nella stringa Nome della funzione di callback. Definisce che la risposta dovrebbe essere nel formato JSONP.
translate_content XML files only
optional
booleano Definisci se i testi tradotti sono posti all'interno dei tag. Valori accettabili sono: 0 o 1. Predefinito è 1.
translate_attributes XML files only
optional
booleano Definisci se tradurre i tag attributi. Valori accettabili sono: 0 o 1. Predefinito è 1.
content_segmentation XML files only
optional
booleano Definisce se dividere testi lunghi in segmenti più piccoli di testo. Valori accettabili sono: 0 o 1. Predefinito è 1.
ImportanteQuesta opzione disabilita la possibilità di caricare traduzioni esistenti per file XML quando abilitata.
translatable_elements XML files only
optional
insieme Questo è un insieme di stringhe, dove ogni elemento è l'elemento Xpath a Dom che dovrebbe essere importato.
Acceptable values are:
  • /path/to/node
  • /path/to/attribute[@attr]
  • //node , node - import each node named "node"
  • //[@attr] - import сontent of each attribute named "attr"
  • nodeone/nodetwo - import all "nodetwo" nodes (root node is not required to be specified)
  • /nodeone//nodetwo - import all "nodetwo" nodes ignoring other nodes between "nodeone" and "nodetwo"
  • //node[@attr] - import content of attributes "attr" stored in nodes named "node"

Note! If defined, the parameters "translate_content" and "translate_attributes" are not taken into account while importing.
escape_quotes properties files only
optional
intero Defines whether single quote should be escaped by another single quote or backslash in exported translations. Valori accettabili sono: 0, 1, 2, 3. Predefinito è 3.

0 — Do not escape single quote;
1 — Escape single quote by another single quote;
2 — Escape single quote by backslash;
3 — Escape single quote by another single quote only in strings containing variables ( {0} )
Variabili
identificatore-progetto nella stringa Identificatore progetto.
accesso nella stringa Il tuo nome utente su Crowdin.
chiave-profilo nella stringa La chiave API del tuo profilo.

Risposta

If the method is successful it responds with an XML structure, as it is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<success>
  <stats>
    <file file_id="342">
      <name>strings.xml</name>
      <strings>4</strings>
      <words>11</words>
    </file>
  </stats>
</success>
Campione di risposta non riuscita:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>Chiave API non valida</message>
</error>

Esempi

curl \
  -F "files[/directory/arrays.xml]=@arrays.xml" \
  -F "files[strings.xml]=@strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/add-file?login={username}&account-key={account-key}
curl \
  -F "files[directory/multilingual.csv]=@example.csv" \
  -F "export_patterns[directory/multilingual.csv]=/%locale%/%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}/add-file?login={username}&account-key={account-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/add-file?login={username}&account-key={account-key}';

if (function_exists('curl_file_create')) {
  $post_params['files[test.txt]'] = curl_file_create('/home/crowdin/test.txt');
} else {
  $post_params['files[test.txt]'] = '@/home/crowdin/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}/add-file?login={username}&account-key={account-key}';

if(function_exists('curl_file_create')) {
  $post_params['files[directory/multilingual.csv]'] = curl_file_create('/home/crowdin/example.csv');
} else {
  $post_params['files[directory/multilingual.csv]'] = '@/home/crowdin/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;

Questo articolo è stato utile?