Tilføj fil

Føj ny fil til Crowdin-projektet.

Forespørgsel

Bemærk: Benyt enten en kombination af projektidentifikator og projektnøgle eller projektidentifikator, brugernavn og kontonøgle til videregivelse 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 Et strengematrix definerende titler for uploadede filer. Matrixnøgler skal indeholde filnavne inkl. en sti til Crowdin-projektet.
export_patterns valgfrit matrix Et strengematrix definerende navne på resulterende filer (oversatte filer i det resulterende arkiv). Matrixnøgler skal indeholde filnavne inkl. en 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)
  • "i18next_json" — i18next JSON (*.json)
first_line_contains_header Kun CSV-, XLS- og XLSX-filer
valgfrit
string Benyttes ved upload af CSV- (eller XLS-/XLSX-) filer via en API. Angiver, hvorvidt første linje skal importeres, eller indeholder kolonneoverskrifterne. Kan være uden værdiindhold.
import_translations Kun flersprogede CSV-, XLS- og XLSX-filer
valgfrit
integer Benyttes ved upload af CSV- (eller XLS-/XLSX-) filer via en API. Definerer, hvorvidt der under filimporten også importeres oversættelser – 1, eller oversættelser importeres ikke – 0. Standard: 1.
scheme Kun CSV-/XLS-/XLSX-filer
obligatorisk
string Bemærk: Benyttes kun ved upload af CSV-/XLS-/XLSX-filer til definering af datakolonnerkortlægning.
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).
  • "context" — Kolonne indeholder kommentarer til kildestrengen. Kontekstinformation.
  • "max_length" — Kolonne indeholder maks. længden 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 den eksporterede fil skal indeholde oversættelser til alle måksprog, specificér da sprogkode i ordning (f.eks. &scheme=identifier,source_phrase,uk,ruc,fr).
branch valgfrit string Navnet på den relaterede versiongren (Versionshåndtering).
json valgfri string Kan være uden værdiindhold. Definerer, at svar skal være i JSON-formatet.
jsonp valgfri string Returkaldsfunktionsnavn. Definerer, at svar skal være i JSONP-formatet.
translate_content Kun XML-filer
valgfrit
bool Definerer, om tekster placeret mellem tags skal oversættes. Gyldige værdier er: 0 eller 1. Standard er 1.
translate_attributes Kun XML-filer
valgfrit
bool Definerer, om tags-attributter 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: Såfremt defineret, 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 Projektets API-nøgle. Enten project-key eller en kombination af login og account-key er obligatorisk.
login string Dit brugernavn i Crowdin. Enten project-key eller en kombination af login og account-key er obligatorisk.
account-key string Din konto API-nøgle. Enten project-key eller en kombination af login og account-key er obligatorisk.

Svar

Lykkes metoden, svarer den med 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?