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:
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ı. |
Bu yöntemin kullanıldığı şu anki sayfaya bağlı olarak yük, farklı bir bağlam bilgisi kümesi içerebilir.
Yük örneği:
{
"project_id": "12",
"organization_id": "200000000",
"editor": {
"mode": "translate",
"theme": "dark",
"source_language_id": "en",
"target_language_id": "tr",
"file": 12345,
"workflow_step": {
"id": 7777,
"title": "Çeviri",
"type": "Translate"
}
}
}
Özellikler:
project_id | Tür: Açıklama: Crowdin projesinin tanımlayıcısı. |
organization_id | Tür: Açıklama: Sadece Crowdin Enterprise. Crowdin Enterprise’daki kuruluşun tanımlayıcısı. |
editor | Tür: Açıklama: Düzenleyici için ayarları ve bağlamı içerir. |
editor.mode | Tür: Açıklama: Düzenleyicinin etkin kipi. |
editor.theme | Tür: Açıklama: Düzenleyicinin etkin teması. |
editor.source_language_id | Tür: Açıklama: Kaynak dilin tanımlayıcısı. |
editor.target_language_id | Tür: Açıklama: Hedef dilin tanımlayıcısı. |
editor.file | Tür: Açıklama: Crowdin projesindeki Düzenleyicide açık olan bir dosyanın sayısal tanımlayıcısı. |
editor.workflow_step | Tür: Açıklama: Sadece Crowdin Enterprise. Düzenleyicideki şu anki iş akışı adımının ayrıntıları. |
editor.workflow_step.id | Tür: Açıklama: İş akışı adımının sayısal tanımlayıcısı. |
editor.workflow_step.title | Tür: Açıklama: İş akışı adımının başlığı. |
editor.workflow_step.type | Tür: Açıklama: İş akışı adımının tü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ı. |
Yöntem, şu anda seçilmiş olan tema hakkında bilgileri alır.
Örnek:
AP.getTheme(function(theme) {
light | dark
});
Ö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();
Yöntem, bildirim iletisi metnini Düzenleyicide görüntüler.
Örnek:
AP.editor.noticeMessage("İleti metni");
Özellikler:
text | Tür: Açıklama: Görüntülenmekte olan bildirim iletisi metni. |
Yöntem, başarı iletisi metnini Düzenleyicide görüntüler.
Örnek:
AP.editor.successMessage("İleti metni");
Özellikler:
text | Tür: Açıklama: Görüntülenmekte olan başarı iletisi metni. |
Yöntem, hata iletisi metnini Düzenleyicide görüntüler.
Örnek:
AP.editor.errorMessage("İleti metni");
Özellikler:
text | Tür: Açıklama: Görüntülenmekte olan hata iletisi metni. |
Yöntem, Düzenleyicideki sağ panelde uygulama simgesinin yanında bir bildirim sayısı ayarlar.
Örnek:
AP.editor.setApplicationNotification(1);
Özellikler:
count | Tür: Açıklama: Bildirim sayısı numarası. |
Yöntem, Düzenleyicideki sağ panelde uygulama simgesinin yanında bir bildirim sayısını temizler.
Örnek:
AP.editor.clearApplicationNotification();
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. |
theme.changed |
| Bir kullanıcı bir temadan diğerine geçtiğinde yayılan olay. |