Tilføj fil

Add a new file to Crowdin project.

Forespørgsel

Bemærk: Benyt enten kombinationen af projektidentifikator og projektnøgle eller en kombination af projektidentifikator, brugernavn, og kontonøgle at videregive til dette endepunkt.

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}

Parametre

Navn Parameter Beskriveslse
files obligatorisk matrix Filmatrix, der skal føjes til projektet. Array keys should contain file names with a path in Crowdin project.
Bemærk! Maks. 20 filer kan uploades pr. filoverførselssession. Den maks. individuelle filstørrelse er 100 MB.
titles valgfrit matrix An array of strings that defines titles for uploaded files. Array keys should contain file names with a path in Crowdin project.
export_patterns valgfrit matrix An array of strings that defines names of resulted files (translated files in the resulted archive). Array keys should contain file names with a path in Crowdin project.
type valgfrit string Gyldige værdier er:
  • tom værdi eller "auto" — Forsøger at genkende filtype efter filtypenavn- eller MIME-typen
  • "android" — Android (*.xml)
  • "Macosx" — Mac OS X/iOS (*.strings)
  • "resx" — .NET, Windows Phone (*.resx)
  • "properties" — Java (*.properties)
  • "gettext" — GNU GetText (*.po, *.pot)
  • "yaml" — Ruby On Rails (*.yaml)
  • "php" — Hypertext Preprocessor (*.php)
  • "json" — Generisk JSON (*.json)
  • "xml" — Generisk XML (*.xml)
  • "ini" — Generisk INI (*.ini)
  • "rc" — Windows Ressourcer (*.rc)
  • "resw" — Windows 8 Metro (*.resw)
  • "resjson" — Windows 8 Metro (*.resjson)
  • "qtts" — Nokia Qt (*.ts)
  • "joomla" — Joomla-lokaliseringsressourcer (*.ini)
  • "chrome" — Google Chrome-udvidelse (*.json)
  • "dtd" — Mozilla DTD (*.dtd)
  • "dklang" — Delphi DKLang (*.dklang)
  • "flex" — Flex (*.properties)
  • "nsh" — NSIS-installationsressourcer (*.nsh)
  • "wxl" — WiX-installationsprogram (*.wxl)
  • "xliff" — XLIFF (*.xliff)
  • "html" — HTML (*.html, *.htm, *.xhtml, *.xhtm)
  • "haml" — Haml (*.haml)
  • "txt" — Simpel Tekst (*.txt)
  • "csv" — Kommaseparerede Værdier (*.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- og OpenOffice.org-documenter, Adobe InDesign Adobe FrameMaker(*.docx, *.dotx, *.odt, *.ott, *.xslx, *.xltx, *.pptx, *.potx, *.ods, *.ots, *.odg, *.otg, *.odp, *.otp, *.imdl, *.mif)
  • "sbv" — Youtube (*.sbv)
  • "vtt" — Videoundertekstning og WebVTT (*.vtt)
  • "srt" — SubRip .srt (*.srt)
first_line_contains_header Kun CSV-, XLS- og XLSX-filer
valgfrit
string Benyttes ved upload af CSV-filer (eller XLS/XLSX ditto) via API'en. Definerer om første linje skal importeres eller den indeholder kolonneoverskrifterne. Må ikke indeholde talværdi.
import_translations Kun flersprogede CSV-, XLS- og XLSX-filer
valgfrit
integer Benyttes under upload af CSV-/XLS-/XLSX-filer via API'en. Definerer, om importeren også medtager oversættelser – 1, eller oversættelser ikke importeres – 0. Standard: 1.
scheme Kun CSV-/XLS-/XLSX-filer
obligatorisk
string Bemærk: Benyttes kun ved upload af CSV-/XLS-/XLSX-fil for at definere datakolonner mapping.
Gyldig parametre er kombinationen af flg. konstanter:
  • "identifier" — Kolonne indeholder strengidentifikator.
  • "source_phrase" — Kolonne indeholder kun kildestreng (resultatstrengen vil udgør den samme streng).
  • "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).
  • "contexst" — Kolonne indeholder kommentarer til kildestrengen. Kontekstoplysninger.
  • "max_length" — Kolonne indeholder maks. længde af oversættelse for denne streng.
  • "none" — Don't import this column.
Eksempelparameter, der skal tilføjes: &scheme=identifiier,source_or_translation

Bemærk: for at eksporteret fil indeholder oversættelser til alle målsprog, angiv sprogkoder i matrix (f.eks. &scheme=identifier,source_phrase,da,en,gr).
branch valgfrit string The name of the related version branch (Versions Management).
json valgfri string May contain no value. Defines that response should be in the JSON format.
jsonp valgfri string Callback function name. Defines that response should be in the JSONP format.
translate_content Kun XML-filer
valgfrit
bool Definerer, om tekster skal placeres inden for tags. Gyldige værdier er: 0 eller 1. Standard er 1.
translate_attributes Kun XML-filer
valgfrit
bool Definerer, om tagsattributter skal oversættes. Gyldige værdier er: 0 eller 1. Standard er 1.
content_segmentation Kun XML-filer
valgfrit
bool Definerer, om lange tekster skal opdeles i kortere tekstsegmenter. Gyldige værdier er: 0 eller 1. Standard er 1.
Vigtigt! Denne indstilling umuliggør upload af eksisterende oversættelser til XML-filer, når den er aktiveret.
translatable_elements Kun XML-filer
valgfrit
matrix Dette er en matrix af strenge, hvori hvert element er XPaths tilet DOM-element, der skal importeres.
Gyldige værdier er:
  • /sti/til/node
  • /sti/til/attribute[@attr]
  • //node , node - importér hver node kaldet "node"
  • //[@attr] - importér indhold af hver attribut kaldet "attr"
  • nodeone/nodetwo - importér alle "nodetwo"-noder (root-node behøver ikke at blive angivet)
  • /nodeone//nodetwo - importér alle "nodetwo"-noder, men ignorér andre noder mellem "nodeone" og "nodetwo"
  • //node[@attr] - importér indhold af attributter "attr" gemt i noder kaldet "node"

Bemærk! Hvis angivet, tages parametrene "translate_content" og "translate_attributes" ikke i betragtning under import.
escape_quotes kun egenskabsfiler
valgfrit
integer Definerer, om et enkelt anførselstegn skal escapes af et andet enkelt anførselstegn eller bagudvendt stråstreg i eksporterede oversættelser. Gyldige værdier er: 0, 1, 2, 3. Standard er 3.

0 — Escape ikke enkeltstående anførselstegn;
1 — Escape enkeltstående anførselstegn med andet anførselstegn;
2 — Escape enkeltstående anførselstegn med bagudvendt skråstrg;
3 — Escape kun enkeltstående anførselstegn med andet enkeltstående anførselstegn i strenge indeholdende variabler ( {0} )
Variabler
project-identifier string Projektidentifikator.
project-key string Projekt API-nøgle. Enten projektnøglen eller en kombination af login og kontonøgle er obligatorisk.
login string Dit Crowdin-brugernavn. Enten projektnøglen eller en kombination af login og kontonøgle er obligatorisk.
account-key string Din konto API-nøgle. Enten projektnøglen eller en kombination af login og kontonøgle er obligatorisk.

Svar

Er metoden er vellykket, returnerer den en XML-struktur som vist nedenfor.
<?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>
Mislykket svar-eksempel:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>API-nøgle er ugyldig</message>
</error>

Eksempler

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]=Titel i Crowdin-projekt" \
  -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;

Var denne artikel nyttig?