Dosya Dışa Aktarma Sonrası İşleme Modülü

Dışa aktarma sonrası modülü, dosyalarınızı Crowdin’den dışa aktardıktan sonra değiştirmenizi sağlar. Dışa aktarma sonrası modülü ile seçilen dosyalara otomatikleştirilmiş değişiklikler uygulayabilirsiniz. Bu modül, içeriklerini özelleştirmek için TXT, XML, JSON ve çok daha fazlası gibi çok çeşitli dosya biçimleriyle çalışabilir.

Crowdin uygulamanızdaki dışa aktarma sonrası modülünü kullanarak dosya biçimini, yapısını ve içeriğini ayarlayabilirsiniz. Modül, Crowdin dosyayı dışa aktardıktan sonra çalıştırıldığından dosya, sistem tarafından işlendikten sonra içerikte ince ayar yapabilirsiniz.

Bu modüle aşağıdaki kullanıcı kategorilerinden biri için erişim verebilirsiniz:

Crowdin için:

  • Sadece ben (yani proje sahibi)
  • Tüm proje üyeleri
  • Seçilen kullanıcılar

Crowdin Enterprise için:

  • Sadece kuruluş üst yöneticileri
  • Kuruluş projelerindeki tüm kullanıcılar
  • Seçilen kullanıcılar

Yapı

{
  "file-post-export": [
    {
      "key": "dışa-aktarma-sonrası-modül-anahtarınız",
      "url": "/dışa-aktarma-dosyası",
      "signaturePatterns": {
        "fileName": "^.+\\.xml$",
        "fileContent": "<properties>\\s*<property\\s+name=.*value=.*/>"
      }
    }
  ]
}

Özellikler

key

Tür: dizgi

Zorunlu: evet

Açıklama: Crowdin uygulaması içindeki modül tanımlayıcısı.

url

Tür: dizgi

Zorunlu: evet

Açıklama: Dosya dışa aktarımında tetiklenen göreceli URL.

signaturePatterns

Tür: nesne

Açıklama: Bir çeviri dosyasını dışa aktarırken dosya türünü algılamak için kullanılan fileName ve/veya fileContent normal ifadelerini içerir.

Not: fileContent düzenli ifadesi, dosya içeriğinin sadece ilk 64 KB’ını denetler.

Dosya İşleme Uygulaması ve Crowdin arasındaki İletişim

Bir dosyayı dışa aktarırken Crowdin, signaturePatterns parametresini kullanarak uygun bir modül algılar ve daha fazla işleme için uygulamanın URL’sine ($baseUrl . $url) bir HTTP isteğinde bulunur.

İlave olarak, dosyayı dışa aktarma sırasında Crowdin, uygun dosya işleme uygulaması modülleriyle eşleştiğinden emin olmak için dosya adını ve içeriğini de doğrulayacaktır. Bu süreç, dışa aktarmadan önce dizgileri değiştirmek için dışa aktarma öncesi işleme modülünü ve dışa aktarıldıktan sonra dosyanın içeriğini değiştirmek için dışa aktarma sonrası işleme modülünü içerebilir.

Dosya içeriğini değiştirmek için sistem önce uygun dışa aktarma sonrası modülünü bulur ve dosya içeriğini ona gönderir. Modül daha sonra dosya biçimi değişikliklerini, yapıyı ve içerik güncellemelerini içerebilen önceden belirlenmiş değişiklikleri gerçekleştirir.

Dışa aktarma sonrası modülü dosya değişikliklerini tamamladıktan sonra, Crowdin yeni bir dosya adı veya varsa uzantısının yanı sıra değiştirilen dosya içeriğini döndürür.

Dosya İşleme Uygulamasına İstek

İstek yükü örneği:

// en fazla istek yükü - 5 MB
// bekleme zaman aşımı - 2 dakika
{
    "jobType": "file-post-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ış dışa aktarılan dosya içeriği
        "contentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/dosya.xml?aws-signature=...", // dışa aktarılan dosya ortak URL’si
        "rawContent": "VGhpcyBpcyBmaWxlIGNvbnRlbnQ=", // base64 kodlanmış kaynak dosya içeriği
        "rawContentUrl": "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
        }
    ]
}

Özellikler:

jobType

Tür: dizgi

Değer: file-post-export

Açıklama: Dosyanın dışa aktarma sonrası modülünün eylemini belirtir.

file.content, file.contentUrl

Tür: dizgi

Açıklama: Base64 kodlanmış dışa aktarılan dosya içeriğini (file.content) veya bir dışa aktarılan dosya ortak URL’sini (file.contentUrl) geçirmek için kullanılan parametreler.
Bu iki parametreden biri kullanılabilir (Not: En fazla istek yükü sınırı 5 MB’tır).

file.rawContent, file.rawContentUrl

Tür: dizgi

Açıklama: Base64 kodlanmış kaynak dosya içeriğini (file.rawContent) veya bir kaynak dosya ortak URL’sini (file.rawContentUrl) geçirmek için kullanılan parametreler.
Bu iki parametreden biri kullanılabilir (Not: En fazla istek yükü sınırı 5 MB’tır).

file-post-export İş Türü için Uygulamadan Beklenen Yanıt

Yanıt yükü örneği:

// en fazla yanıt yükü - 5 MB
// bekleme zaman aşımı - 2 dakika
{
    "data": {
        "content": "VGhpcyBpcyBmaWxlIGNvbnRlbnQ=", // base64 kodlanmış değiştirilmiş dosya içeriği
        "contentUrl": "https://crowdin-tmp.downloads.crowdin.com/1/file.xml?aws-signature=...", // değiştirilmiş dosya ortak URL’si
        "exportPattern": "dosya.html" // isteğe bağlı, ortaya çıkan bir dosya için yeni dışa aktarma şekli
    },
    "error": {
        "message": "Hata iletiniz"
    }
}

Özellikler:

data.content, data.contentUrl

Tür(data.content) dizgi

Tür(data.contentUrl) dizgi

Açıklama: Base64 kodlanmış değiştirilmiş dosya içeriğini (data.content) veya bir değiştirilmiş dosya ortak URL’sini (data.contentUrl) geçirmek için kullanılan parametreler.
Bu iki parametreden biri kullanılabilir (Not: En fazla yanıt yükü sınırı 5 MB’tır).

exportPattern

Tür: dizgi

Açıklama: Ortaya çıkan bir dosya için dışa aktarma şeklinin üzerine yazmak için kullanılan isteğe bağlı parametre.

error.message

Tür: dizgi

Açıklama: Uygulamadan Crowdin’e geçirilebilen ve kullanıcı arayüzündeki bir kullanıcı tarafından görülebilecek bir hata iletisi.

Bu makale yararlı oldu mu?