Dosya Güncelleyin

Kaynak dosyalarınızın (yerelleştirilmesi gerekenleri) en son sürümünü Crowdin projenize yükleyin.

İstek

Not: Bu uç noktayı geçmek için ya proje tanımlayıcısı ve proje anahtarı ya da proje tanımlayıcısı, kullanıcı adı ve hesap anahtarı birleşimlerini kullanın.

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

Parametreler

Ad Değer Açıklama
files zorunlu dizilim Güncellenmesi gereken dosyalar dizilimi.
Not! Bir kerede dosya aktarımı başına en fazla 20 dosya yüklenmesine izin verilir.
titles isteğe bağlı dizilim Yüklenen dosyalar için başlıkları tanımlayan bir dizgiler dizilimi. Dizilim anahtarları, Crowdin projesinde yol içeren dosya adlarını içermelidir.
export_patterns isteğe bağlı dizilim Sonuçta elde edilen dosyaların adlarını tanımlayan bir dizgiler dizilimi (ortaya çıkan arşivdeki çevrilmiş dosyalar). Dizilim anahtarları, Crowdin projesinde yol içeren dosya adlarını içermelidir.
new_names isteğe bağlı dizilim Önceden içe aktarılan dosyalar için yeni adlar tanımlayan bir dizgiler dizilimi. Dizilim anahtarları, Crowdin projesinde yol içeren dosya adlarını içermelidir.
first_line_contains_header sadece CSV ve XLS/XLSX dosyaları
isteğe bağlı
dizgi API aracılığıyla CSV (veya XLS/XLSX) dosyalarını yüklerken kullanılır. İlk satırın içe aktarılmasının gerekip gerekmediğini veya sütun üstbilgilerini içerip içermeyeceğini tanımlar. Değer içermeyebilir.
scheme sadece CSV ve XLS/XLSX dosyaları
zorunlu
dizgi Not: Veri sütunları eşlemesini tanımlamak için sadece CSV (veya XLS / XLSX) dosyasını yüklerken kullanılır.
Kabul edilebilir değer aşağıdaki sabitlerin birleşimidir:
  • "identifier" — Sütun dizgi tanımlayıcısı içerir.
  • "source_phrase" — Sütun sadece kaynak dizgi içerir (sonuçta dizgi aynı dizgiyi içerecektir).
  • "source_or_translation" — Sütun kaynak dizgi içerir, ancak aynı sütunu dışa aktarırken çeviri içermelidir (varolan çevirileri yüklerken de bu sütundan gelen değer çevrilmiş bir dizgi olarak kullanılacaktır).
  • "translation" — Sütun çevrilmiş dizgi içerir (içe aktarılan dosya zaten çeviriler içerdiğinde).
  • "context" — Sütun, kaynak dizgide bazı yorumlar içerir. Bağlam bilgileri.
  • "max_length" — Sütun, bu dizgi için en fazla çeviri uzunluğunu içerir.
  • "none" — Sütunu içe aktarma.
Eklemek zorunda olacağınız örnek parametre: &scheme=identifier,source_or_translation

Not: tüm hedef dillere çeviriler içerecek şekilde dışa aktarılan dosya için scheme içinde dil kodları belirtin (örn. &scheme=identifier,source_phrase,uk,ru,tr).
update_option isteğe bağlı dizgi Değere bağlı olarak, "update_option" seçeneği çevirileri korumak ve dosya güncelleme sırasında değiştirilen dizgilerini doğrulamalarını korumak/kaldırmak için kullanılır. Değerler:
  • "update_as_unapproved" — Değişen dizgilerin çevirilerini korur ve varsa bu çevirilerin doğrulamalarını kaldırır.
  • "update_without_changes" — Çevirileri ve değişen dizgilerin doğrulamalarını korur.
Not: Eğer ayarlanmazsa, değiştirilen dizgiler için çeviriler dosya güncellemesinden sonra kaybolacaktır. Yazım hataları düzeltmeleri ve kaynak dizgilerdeki küçük değişiklikler için yararlıdır.
branch isteğe bağlı dizgi İlgili sürüm dalının adı (Sürümler Yönetimi).
json isteğe bağlı dizgi Değer içermeyebilir. Yanıtın JSON biçiminde olması gerektiğini tanımlar.
jsonp isteğe bağlı dizgi Geri çağırma işlev adı. Yanıtın JSONP biçiminde olması gerektiğini tanımlar.
escape_quotes sadece properties dosyaları
isteğe bağlı
tamsayı Dışa aktarılan çevirilerde tek tırnağın başka bir tek tırnak tarafından yoksa ters eğik çizgi tarafından atlatılması gerektiğini tanımlar. Kabul edilebilir değerler: 0, 1, 2, 3. Varsayılan 3.

0 — Tek tırnağı atlatma;
1 — Başka bir tek tırnak ile tek tırnağı atlat;
2 — Ters eğik çizgi ile tek tırnağı atlat;
3 — Sadece değişkenler ( {0} ) içeren dizgilerde başka bir tek tırnak ile tek tırnağı atlat
Değişkenler
project-identifier dizgi Proje tanımlayıcısı.
project-key dizgi Proje API anahtarı. Ya project-key ya da login ve account-key birleşimi gerekir.
login dizgi Crowdin’deki kullanıcı adınız. Ya project-key ya da login ve account-key birleşimi gerekir.
account-key dizgi Hesap API anahtarınız. Ya project-key ya da login ve account-key birleşimi gerekir.

Yanıt

Eğer başarılıysa, bu yöntem aşağıda gösterildiği gibi bir XML yapısı döndürür.
<?xml version="1.0" encoding="UTF-8"?>
<success>
</success>
Başarısız yanıt örneği:
<?xml version="1.0" encoding="UTF-8"?>
<error>
  <code>3</code>
  <message>API anahtarı geçerli değil</message>
</error>

Örnekler

curl \
  -F "files[/directory/strings.xml]=@strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-key}
curl \
  -F "files[/directory/android.xml]=@strings.xml" \
  -F "new_names[/directory/android.xml]=strings.xml" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-key}
curl \
  -F "files[directory/multilingual.csv]=@ornek.csv" \
  -F "export_patterns[directory/multilingual.csv]=/translations/%original_file_name%" \
  -F "titles[directory/multilingual.csv]=Crowdin Projesindeki Başlık" \
  -F "scheme=identifier,source_phrase,translation" \
  -F "first_line_contains_header=true" \
  https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-key}
<?php
$post_params = array();
$request_url = 'https://api.crowdin.com/api/project/{project-identifier}/update-file?key={project-key}';

if (function_exists('curl_file_create')) {
$post_params['files[test.txt]'] = curl_file_create('/home/user/test.txt');
} else {
$post_params['files[test.txt]'] = '@/home/user/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}/update-file?key={project-key}';

if (function_exists('curl_file_create')) {
$post_params['files[/directory/android.xml]'] = curl_file_create('/home/user/strings.xml');
} else {
$post_params['files[/directory/android.xml]'] = '@/home/user/strings.xml';
}

$post_params['new_names[/directory/android.xml]'] = 'strings.xml';

$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}/update-file?key={project-key}';

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

Bu makale yararlı oldu mu?