Aggiungi File

Aggiungi un nuovo file al progetto di Crowdin.

Richiesta

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

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

Parametri

Nome Value 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 An array of strings that defines titles for uploaded files. Le chiavi dell'insieme dovrebbero contenere i nomi del file con un percorso nel progetto di Crowdin.
export_patterns opzionale insieme An array of strings that defines names of resulted files (translated files in the resulted archive). 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)
solo file first_line_contains_header CSV and XLS/XLSX
opzionale
nella stringa Used when uploading CSV (or XLS/XLSX) files via API. Defines whether the first line should be imported or it contains the columns headers. May contain no value.
import_translations solo file multilingue CSV e XLS/XLSX
opzionale
intero Used when uploading CSV (or XLS/XLSX) files via API. Defines whether during the file import translations are imported as well – 1, or translations are not imported – 0. Default: 1.
schema solo file CSV e XLS/XLSX
richiesto
nella stringa Note: Used only when uploading CSV (or XLS/XLSX) file to define data columns mapping.
Valore accettabile è la combinazione delle seguenti costanti:
  • "identifier" — Column contains string identifier.
  • "source_phrase" — Column contains only source string (in result string will contain same string).
  • "source_or_translation" — Column contains source string but when exporting the same column should contain translation (also when uploading existing translations, the value from this column will be used as a translated string).
  • "translation" — Column contains translated strings (if the imported file already contains translations).
  • "context" — Column contains some comments on source string. Context information.
  • "max_length" — Column contains max. length of translation for this string.
  • "none" — Don't import this column.
Example parameter you will have to add: &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 The name of the related version branch (Versions Management).
json optional nella stringa May contain no value. Defines that response should be in the JSON format.
jsonp optional nella stringa Callback function name. Defines that response should be in the JSONP format.
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} )
Variables
identificatore-progetto nella stringa Identificatore progetto.
chiave-progetto nella stringa Project API key. Project-key o la combinazione di accesso e account-key sono obbligatori.
accesso nella stringa Il tuo nome utente su Crowdin. Project-key o la combinazione di accesso e account-key sono obbligatori.
chiave-profilo nella stringa La chiave API del tuo profilo. Project-key o la combinazione di accesso e account-key sono obbligatori.

Response

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>API key is not valid</message>
</error>

Examples

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