Crowdin Uygulamaları JS, Crowdin ile daha kolay etkileşim için oluşturulmuş bir kütüphanedir. Bütünleştirme, iframe’leri kullandığından bu yana, pencereler arasındaki etkileşimde belirli sınırlamalar vardır: ortamlar saklanır ve sayfa içeriğine, koda, stillere ve sayfayla ilgili diğer bilgilere erişimi olmaz.
Crowdin Uygulamaları JS kütüphanesi, pencereler arası mesajlaşma teknolojisine dayanır ve birden çok pencere arasında etkileşim kurmak için postMessage () kullanır.
Bu kütüphaneyi kullanmak için aşağıdaki kodu sayfa üstbilgisine ekleyerek modül sayfasına bağlayın:
<script src="https://cdn.crowdin.com/apps/dist/iframe.js"></script>
Yukarıda bahsedilen kodu ekledikten sonra, genel AP değişkenini kullanabileceksiniz.
iframe.js
dosyasını indirmeyin ve bunu doğrudan uygulama sunucunuzdan sunmayın. Etki alanları arası mesajlaşma köprüsünün oluşturulması için iframe.js
dosyası Crowdin tarafından sunulmak zorundadır. iframe.js
dosyası sadece Crowdin içindeki bir iframe’de kullanılmak üzere tasarlanmıştır ve tek başına web sayfalarında çalışmaz.Genel eylemler, tüm modül sayfalarında bulunan eylemlerdir.
Yöntem, şu anki sayfayla ilgili bağlam bilgisini alır ve geri çağırmaya koyar. Örneğin, modülün açıldığı proje kimliği veya sayfada kullanılan yerel ayar.
Örnek:
AP.getContext(function(contextData) {
console.log("Nesne: bağlam", contextData);
});
Özellikler:
callback | Tür: Açıklama: Yanıt nesnesini işleyen geri çağrı. |
Yöntem bir JWT belirteç dizgisi alır. Şu anki bir belirteci almak için kullanılır. Eğer önceki belirtecin bir dakikadan kısa bir geçerlilik süresi varsa, yöntem yeni bir belirteç oluşturacak ve döndürecek.
Örnek:
AP.getJwtToken(function(jwtToken) {
console.log("Dizgi: JWT belirteci", jwtToken);
});
Özellikler:
callback | Tür: Açıklama: Yanıt dizgisini işleyen geri çağrı. |
Düzenleyici modülü eylemleri, Düzenleyici kullanıcı arayüzünden bilgi alma imkanı sağlar. Bu eylemler, sadece Düzenleyici-panelleri modülünde bir iframe’e yüklenen sayfalarda kullanılabilir.
Yöntem, Düzenleyicide seçilen dizgiyle ilgili bilgileri alır.
Örnek:
AP.editor.getString(function(stringData) {
console.log("Nesne: kaynak dizgi", stringData);
});
Özellikler:
callback | Tür: Açıklama: Yanıt nesnesini işleyen geri çağrı. |
Yöntem, Düzenleyicide şu anda seçilen dizgiye önerilen çevirilerin bir listesini alır. Ek olarak yanıt, çeviri yazarı, oy sayısı ve şu anki iş akışı adımındaki onay hakkında bilgiler içerir.
Örnek:
AP.editor.getTranslations(function(translationsData) {
console.log("Dizilim: çeviri nesneleri", translationsData);
});
Özellikler:
callback | Tür: Açıklama: Yanıt dizilimini işleyen geri çağrı. |
Yöntem, Düzenleyicide şu anda seçilen kaynak dizgi için en iyi çeviriyi (en yüksek önceliğe sahip çeviri) alır.
Örnek:
AP.editor.getTopTranslation(function(topTranslationData) {
console.log("Nesne: en iyi çeviri", topTranslationData);
});
Özellikler:
callback | Tür: Açıklama: Yanıt nesnesini işleyen geri çağrı. |
Yöntem, Düzenleyicide şu anda seçilen kaynak dizgi için çeviri metnini ayarlar.
Örnek:
AP.editor.setTranslation("Merhaba,");
Özellikler:
text | Tür: Açıklama: Şu anda seçilen kaynak dizgi için ayarlanan çeviri metni. |
Yöntem, çeviri metnini Düzenleyicide şu anda seçilen kaynak dizgi için imlecin yanına ekler.
Örnek:
AP.editor.appendTranslation(" {user},");
Özellikler:
text | Tür: Açıklama: Şu anda seçilen kaynak dizgi için imlecin yanına eklenen çeviri metni. |
Yöntem, Düzenleyicide şu anda seçilen kaynak dizgi için çeviri metnini temizler.
Örnek:
AP.editor.clearTranslation();
Yöntem, Düzenleyicideki çeviri alanına odaklanmayı ayarlar.
Örnek:
AP.editor.setFocus();
Olay modülü eylemleri, olaylarla çalışma, Crowdin uygulamasının Crowdin kullanıcı arayüzünde meydana gelen olaylara yanıt vermesini ve kendi olaylarını tetiklemesini sağlar. Desteklenen olaylar hakkında daha fazlasını okuyun.
Yöntem, belirli bir ada sahip olayları algılamak için tek seferlik bir dinleyiciye abone olur. İlk olay işlenir işlenmez dinleyici abonelikten çıkar.
Örnek:
AP.events.once("event", function(eventData) {
console.log("Olay verileri", eventData);
});
Özellikler:
event | Tür: Açıklama: İşlevin geri çağrısının tepki vermesi gereken olayın adı. |
callback | Tür: Açıklama: Olayı işleyen geri çağrı. Olayın türüne bağlı olarak, geri çağrıda ya bir ya da birkaç bağımsız değişken olabilir. |
Yöntem, belirli bir ada sahip tüm olaylara bir dinleyiciyi abone yapar.
Örnek:
AP.events.on("event", function(eventData) {
console.log("Olay verileri", eventData);
});
Özellikler:
event | Tür: Açıklama: İşlevin geri çağrısının tepki vermesi gereken olayın adı. |
callback | Tür: Açıklama: Olayı işleyen geri çağrı. Olayın türüne bağlı olarak, geri çağrıda ya bir ya da birkaç bağımsız değişken olabilir. |
Yöntem, belirli bir ada sahip bir olay için bir dinleyicinin aboneliğini kaldırır.
Örnek:
function callback(eventData) {
console.log("Olay verileri", eventData);
};
AP.events.on("event", callback);
AP.events.off("event", callback);
Özellikler:
event | Tür: Açıklama: İşlevin geri çağrısının aboneliğinin kaldırılması gereken olayın adı. |
callback | Tür: Açıklama: Olaya daha önce abone olan geri çağrı. |
Yöntem, önceden abone olan tüm dinleyicilerin aboneliğini belirtilen olaydan kaldırır.
Örnek:
AP.events.offAll("event");
event | Tür: Açıklama: Tüm dinleyicilerin aboneliğinin kaldırılması gereken olayın adı. |
Yöntem, Crowdin kullanıcı arayüzünden gelen tüm olaylara abone olur.
Örnek:
AP.events.onAny(function(event, data) {
console.log("Olay adı dizgisi", event);
console.log("Olay verileri", data);
});
Özellikler:
callback | Tür: Açıklama: Olayın adını ve olaya aktarılan tüm verileri alan geri çağırma. |
Yöntem, bir dinleyicinin tüm olaylardan aboneliğini kaldırır.
Örnek:
function callback(event, data) {
console.log("Olay adı dizgisi", event);
console.log("Olay verileri", data);
};
AP.events.onAny(callback);
AP.events.offAny(callback);
Özellikler:
callback | Tür: Açıklama: Tüm olaylara abone olan geri çağrı. |
Aşağıdaki tabloda Crowdin Apps JS kütüphanesine aktarılabilecek desteklenen olayların listesine göz atın:
Olay | Örnek | Açıklama |
---|---|---|
string.change |
| Bir kullanıcı bir dizgiden diğerine geçtiğinde yayılan olay. |
textarea.edited |
| Bir kullanıcı çeviri alanında herhangi bir değişiklik yaptığında yayılan olay. |
translation.added |
| Bir kullanıcı şu anki dizgi için bir çeviriyi kaydettiğinde yayılan olay. |
translation.deleted |
| Bir kullanıcı bir çeviriyi sildiğinde yayılan olay. |
translation.restored |
| Bir kullanıcı silinmiş bir çeviriyi geri yüklediğinde yayılan olay. |
translation.vote |
| Bir kullanıcı bir çeviri için oy verdiğinde yayılan olay. |
translation.approve |
| Kullanıcı bir çeviriyi onayladığında yayılan olay. |
translation.disapprove |
| Kullanıcı bir çeviri onayını kaldırdığında yayılan olay. |
language.change |
| Bir kullanıcı Düzenleyicide bir hedef dili değiştirdiğinde yayılan olay. |
file.change |
| Bir kullanıcı Düzenleyicide bir dosyayı değiştirdiğinde yayılan olay. |