Dışa aktarma öncesi modülü, dosyayı dışa aktarmadan önce dizgileri değiştirmenizi sağlar. Bu modül hem kaynak dizgilerle hem de bunların ilgili çevirileriyle çalışır. Dışa aktarma öncesi modülü, özellikle orijinal dosya yapısını korumak ve olduğu gibi dışa aktarmak, ancak çevrilmiş dizgilerde bazı değişiklikler yapmak istiyorsanız kullanışlıdır.
Dışa aktarma öncesi modülün yardımıyla, dışa aktarma için dosya içeriği ve dizgileri içeren bir yük alacaksınız. Dışa aktarma öncesi modülünü kullanarak, çevrilmiş dizgileri değiştirebilir ve dışa aktarma için geri gönderebilirsiniz. Bu, dosya içeriğini doğrudan değiştirmeden dizgileri özelleştirmenizi sağlar.
Bu modüle aşağıdaki kullanıcı kategorilerinden biri için erişim verebilirsiniz:
Crowdin için:
Crowdin Enterprise için:
{
"file-pre-export": [
{
"key": "dışa-aktarma-öncesi-modül-anahtarınız",
"url": "/dışa-aktarma-dizgileri",
"signaturePatterns": {
"fileName": "^.+\\.xml$",
"fileContent": "<properties>\\s*<property\\s+name=.*value=.*/>"
}
}
]
}
key | Tür: Zorunlu: evet Açıklama: Crowdin uygulaması içindeki modül tanımlayıcısı. |
url | Tür: Zorunlu: evet Açıklama: Dosya dışa aktarımında tetiklenen göreceli URL. |
signaturePatterns | Tür: Açıklama: Bir çeviri dosyasını dışa aktarırken dosya türünü algılamak için kullanılan Not: fileContent düzenli ifadesi, dosya içeriğinin sadece ilk 64 KB’ını denetler. |
Bir dosyayı dışa aktarırken, sistem signaturePatterns
parametresini kullanarak uygun bir dışa aktarma öncesi modülünü algılar ve kaynak dizgileri ve bunların ilgili çevirilerini içeren daha fazla işlem için uygulamanın URL’sine ($baseUrl . $url
) bir HTTP isteğinde bulunur.
Dosya işleme uygulaması, dizgi çevirilerini ihtiyaçlarınıza göre değiştirecektir. Başarılı bir çeviri dışa aktarımı sağlamak için dışa aktarma öncesi modülünün orijinal dizgi miktarını dizgi uniqId’si ile birlikte döndürdüğünden emin olun. Değiştirilmiş dizgiler, dışa aktarma öncesi modülden döndürüldükten sonra, bir çeviri dosyası oluşturmak için kullanılır.
İstek yükü örneği:
// en fazla istek yükü - 5 MB
// bekleme zaman aşımı - 2 dakika
{
"jobType": "file-pre-export",
"organization": {
"id": 1,
"domain": "{etki_alanı}",
"baseUrl": "https://{etki_alanı}.crowdin.com",
"apiBaseUrl": "https://{etki_alanı}.api.crowdin.com"
},
"project": {
"id": 1,
"identifier": "proje-tanımlayıcınız",
"name": "Proje Adınız"
},
"file": {
"id": 1,
"name": "dosya.xml",
"content": "VGhpcyBpcyBmaWxlIGNvbnRlbnQ=", // base64 kodlanmış kaynak dosya içeriği
"contentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/dosya.xml?aws-signature=..." // kaynak dosya ortak URL’si
},
"sourceLanguage": {
"id": "tr",
"name": "Turkish",
"editorCode": "tr",
"twoLettersCode": "tr",
"threeLettersCode": "tur",
"locale": "tr-TR",
"androidCode": "tr-rTR",
"osxCode": "tr.lproj",
"osxLocale": "tr",
"pluralCategoryNames": ["one"],
"pluralRules": "(n != 1)"
},
"targetLanguages": [{
// sourceLanguage ile aynı yapı, dışa aktarma için bir öğe, çokdilli dosyalar için daha fazla olabilir
}],
"strings": [...],
"stringsUrl": "https://tmp.downloads.crowdin.com/strings.ndjson",
}
Özellikler:
jobType | Tür: Değer: Açıklama: Dosyanın dışa aktarma öncesi modülünün eylemini belirtir. |
file.content , file.contentUrl | Tür: Açıklama: Base64 kodlanmış kaynak dosya içeriğini ( |
strings , stringsUrl | Tür(strings): Tür(stringsUrl) Açıklama: Dosya dışa aktarımından önce kaynak dizgiler ve ilgili çevirileri için kullanılan parametreler. |
Yanıt yükü örneği:
// en fazla yanıt yükü - 5 MB
// bekleme zaman aşımı - 2 dakika
{
"data": {
"strings": [...], // değiştirilmiş dizgiler dizilimi
"stringsUrl": "https://app.example.com/jKe8ujs7a-segments.ndjson", // değiştirilmiş dizgileri olan yeni satırla ayrılmış json dosyası
},
"error": {
"message": "Hata iletiniz"
}
}
Özellikler:
data.strings , data.stringsUrl | Tür(data.strings): Tür(data.stringsUrl) Açıklama: Değiştirilmiş dizgilerin içeriğini geçirmek için kullanılan parametreler. |
error.message | Tür: Açıklama: Uygulamadan Crowdin’e geçirilebilen ve kullanıcı arayüzündeki bir kullanıcı tarafından görülebilecek bir hata iletisi. |
Aşağıda, dışa aktarma işleminden önce uygulamanın alacağı dizgilerin bir örneğini görebilirsiniz. Aynı yapı, uygulama yanıtındaki değiştirilen dizgiler için kullanılır.
Yük örneği:
// dizgiler, URL ile geçirildiyse "yeni satırla ayrılmış json" biçiminde olmalıdır
[
{ // çoğul olmayan dizgi
"uniqId": "9cdfb439c7876e703e307864c9167a15::1", // zorunlu, benzersiz kimlik
"identifier": "dizgi-anahtarı-1", // zorunlu
"context": "Bazı bağlamlar", // isteğe bağlı
"maxLength": 10, // isteğe bağlı, varsayılan null
"isHidden": false, // isteğe bağlı, varsayılan null
"hasPlurals": false, // isteğe bağlı, varsayılan false
"labels": ["etiket-bir", "etiket-iki"], // isteğe bağlı, varsayılan []
"text": "Dizgi kaynak metni", // zorunlu
"translations": { // isteğe bağlı
"tr": { // targetLanguage.id
"text": "Metnin çevirisi", // zorunlu
"status": "untranslated | translated | approved" // isteğe bağlı, varsayılan "translated"
}
// çok dilli için diğer diller olabilir, istek yükünde "targetLanguages" seçeneğini işaretleyin
}
},
{ // çoğul dizgi
"uniqId": "9cdfb439c7876e703e307864c9167a15::2", // zorunlu, benzersiz kimlik
"identifier": "dizgi-anahtarı-2",
"context": "Bazı isteğe bağlı bağlamlar",
"maxLength": 15,
"isHidden": false,
"hasPlurals": true,
"labels": [],
"text": { // sourceLanguage.pluralCategoryNames’ten gelen anahtarlar
"one": "One file",
"other": "%d files"
},
"translations": {
"tr": {
"text": { // targetLanguage.pluralCategoryNames’ten gelen anahtarlar
"one": "Bir dosya",
"few": "%d dosya",
"many": "%d dosya"
},
"status": {
"one": "untranslated",
"few": "translated",
"many": "approved"
}
}
}
}
]
Özellikler:
uniqId | Tür: Açıklama: Dosya içinde benzersiz tanımlayıcı. |
identifier | Tür: Açıklama: Görünür dizgi anahtarı. |