Tilføj fil

Føj ny fil til Crowdin-projektet.

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. Matrixnøgler skal indeholde filnavne inkl. en sti til Crowdin-projektet.
Bemærk! Maks. 20 filer kan uploades pr. filoverførselssession. Den maks. individuelle filstørrelse er 100 MB.
titler valgfrit matrix En strengmatrix, der definerer titler på uploadede filer. Matrixnøgler skal indeholde filnavne inkl. en sti til Crowdin-projektet.
export_patterns valgfrit matrix En strengematrix, der definerer navne på resultatfiler (oversatte filer i resultatarkivet). Matrixnøgler skal indeholde filnavne inkl. sti til Crowdin-projektet.
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" — Kolonne indeholder kildestrengen, men ved eksport skal samme kolonne indeholde oversættelsen (ved upload af eksisterende oversættelser, vil værdien fra denne kolonne endvidere blive benyttet som en oversat streng).
  • "oversættelse" — Kolonne indeholder oversat strenge (hvis den importeret fil allerede indeholder oversættelser).
  • "contexst" — Kolonne indeholder kommentarer til kildestrengen. Kontekstoplysninger.
  • "max_length" — Kolonne indeholder maks. længde af oversættelse for denne streng.
  • "none" — Importér ikke denne kolonne.
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 Navnet på den relaterede versiongren (Versionshåndtering).
json valgfri string Må ikke indeholde nogen værdi. Definerer, at svaret skal være i JSON-formatet.
jsonp valgfri string Tilbagekaldsfunktionsnavn. Definerer, at svaret skal være i JSONP-formatet.
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?