Bağlam-İçi Kurulumu

Genel Bakış

Crowdin Bağlam-İçi, tek satırlık bir Javascript kod parçacığı ve sözde dil paketi yardımıyla çalışır. Bu, ek bir yerelleştirme dili olarak daha sonra uygulamanıza bütünleştirilecek olan projenize yüklenen yerelleştirme dosyalarına dayanan bir sözde dil paketini oluşturur.

Bütünleşik sözde dil, orijinal metinlerin yerine özel tanımlayıcılar içerir. Böylece uygulamanızı bu dile geçirirken, tüm etiketler özel tanımlayıcılara dönüştürülür. Javascript bu tanımlayıcıları arar ve bunları düzenlenebilir etiketlerle değiştirir. Bu nedenle, web uygulamanızın Bağlam-içi sayfası, çevrilebilir dizgilerin düzenlenebilir olacağı tek farkla uygulamanızla aynı görünecektir.

Bağlam-İçi Görünüm

Çeviriler, Düzenleyiciyi açmaya gerek kalmadan doğrudan uygulamada yapılır. Crowdin Düzenleyicinin basitleştirilmiş bir sürümü, tüm işlevselliği (ÇB, makine çevirisi, onay/oy seçeneği, yorumlar, terimler) ile birlikte görüntülenecektir. Böylece, çevirmenler gerçek bir bağlamda önizleyebildiklerinden çeviri yapmak ve gözden geçirmek daha kolaydır.

Bağlam-İçi Düzenleyici

Hızlı Tanıtım

Bütünleştirme

Crowdin Bağlam-İçi’yi uygulamanızla bütünleştirmek için iki genel yaklaşım vardır:

  • Aşamalandırma veya çeviri ortamı
    Eğer son kullanıcılarınızı çevirilere yardımcı olmaya davet etmeyi planlamıyorsanız veya üretim uygulamanızda bir “çeviri kipi” kullanmayı düşünmüyorsanız, Crowdin Bağlam-İçi’yi aşamalandırmanıza veya adanmış çeviri uygulaması ortamınıza bütünleştirmek iyi bir çözüm olacaktır.

  • Üretim ortamı
    Crowdin Bağlam-İçi, uygulamanızda herhangi bir kod değişikliği gerektirmez, böylece üretimde bile kullanabilirsiniz. Nasıl açacağınıza ve kullanıcıların hangi bölümünün bunu kullanacağına siz karar verirsiniz. En yaygın kullanım durumları şunlardır:

    • Uygulamanızın tam bir kopyası olan ancak farklı bir URL altında (örneğin, crowdin.com yerine translate.crowdin.com olabilir) çevirmenlerin gerçek uygulamanızmış gibi çeviriler yapacağı bir yansıtma web sitesi oluşturabilirsiniz.
    • Bağlam-içi’ni ek bir dil olarak da ekleyebilirsiniz. Bu nedenle, çevirmenler uygulamanızı açtıklarında, kendileri için Bağlam-içi’ni açacak olan listeden bu ek dili seçecekler.

Bağlam-içi’ni ayarlamak için Crowdin projenizdeki bütünleştirme kurulum kılavuzunu takip edin. Kılavuz, projenizdeki sol panelde Araçlar > Bağlam-İçi altında bulunabilir.

Bağlam-İçi Sekmesi Bağlam-İçi Sekmesi

Not: Eğer CSP kullanıyorsanız, ilkeye şu kuralları eklediğinizden emin olun: Bağlam-İçi kaynak dosyalarını yüklemek için, <organization_domain>.crowdin.com tarafından istenen CORS istekleri için

Bütünleştirme başarılı olarak ayarlandıktan ve uygulamanızı yenilemenizden sonra, davet ileti kutusu ve Crowdin oturum açma kutusunu görmeniz gerekir.

Oturum Açma Penceresi

Bağlama Dizgi URL’leri Ekleme

Web siteniz için Bağlam-İçi’ni bütünleştirirken, web sitesinde kullanılan her dizginin bağlam bölümüne URL’leri toplabilen ve ekleyebilen isteğe bağlı bir betik ekleyebilirsiniz.

Sonuç olarak, çevirmenler belirli bir dizginin URL’sine tıklayabilir ve bu dizginin kullanıldığı web sitesi sayfasına yönlendirilebilir ve doğru çeviri için ek bağlam elde edebilir.

Bağlama dizgi URL’leri eklemek için şu adımları izleyin:

  1. Aşağıdaki JavaScript kod parçacığını kopyalayın ve birincil Bağlam-İçi JavaScript kod parçacığından (Crowdin projenizin Araçlar sekmesinde bulunabilir) hemen sonra yerelleştirilebilir metin içeren her sayfadaki <head> bölümüne yapıştırın.

     <script type="text/javascript">
           var _jipt = [];
           _jipt.push(['project', 'proje_tanımlayıcınız']);
           _jipt.push(['preload_texts', false]);
           _jipt.push(['edit_strings_context', function(context) {
             var separator = "\n";
             var lineStart = "* ";
             var contextParts = context.split(separator);
             var linkCount = 0;
    
             for(var i in contextParts) {
               var line = contextParts[i];
               if(lineStart + window.location.href === line) {
                 return context;
               }
    
               if(line.indexOf(lineStart) === 0) {
                 linkCount++;
               }
    
               if(line === 'Ve dahası...') {
                 return context;
               }
             }
    
             if(linkCount < 5) {
               return context + separator + lineStart + window.location.href;
             }
    
             return context + separator + 'Ve dahası...';
           }]);
         </script>
    

    Tamamlandıktan sonra, Bağlam-İçi aracılığıyla çevirmek istediğiniz her web sitesinin sayfası iki JavaScript kod parçacığı içermelidir:

    • Bağlam-İçi özelliğini başlatan birincil JavaScript kod parçacığı.
    • URL’leri toplayan ve kaynak dizgi bağlamına ekleyen ek JavaScript kod parçacığı.
  2. JavaScript kod parçacıklarını ekledikten sonra, Bağlam-İçi’nin bütünleştirildiği her web sitesi sayfasını açmalısınız. Bu, ek JavaScript kod parçacığının dizgi URL’leri toplamasını ve Crowdin projenize eklemesini sağlayacak.

Web sitenize yeni bir sayfa eklediğinizde ilgili kaynak dosyaları Crowdin projenize yükleyin. Sonrasında, yeni sayfadan dizgilerin URL’lerini toplamak ve eklemek için yukarıdaki adımları tekrarlayın.

Eğer bazı web sitesi sayfalarının URL’si değişirse, başlangıçta toplanan dizgi URL’lerini yenilemek için bunu Bağlam-İçi olarak açın.

İsteğe Bağlı Parametreler

Yapılandırma kod parçacığındaki bu parametreleri _jipt dizilimine ekleyebilirsiniz.

Metin Önyükleme

_jipt.push(['preload_texts', true]);

Tüm kaynak dizgileri önyükleyerek Bağlam-İçi araç içinde görüntülenen değişken içeriği hızlandırır. Büyük projeler (5000+ dizgi) için otomatik olarak etkisizleştirilir. Kabul edilebilir değerler: true, false.

Çeviri Düğmesi Her Zaman Görünür

_jipt.push(['touch_optimized', true]);

Bu seçenek, dokunmatik ekranlarda varsayılan olarak etkindir ve fareyle üzerine gelince göstermek yerine, çevrilebilir her dizginin yanındaki çeviri düğmesini kalıcı olarak görünür hale getirir. Kabul edilebilir değerler: true, false.

Before Commit Geri Çağırma

_jipt.push(['before_commit', function(source, translation, context, language_code) { return status_obj; }]);

İşlemeden önce öneriyi doğrulama işlevi.

Parametreler
sourceSource text
çeviriÇeviri metni
bağlamKaynak dizgi bağlamı
language_codeHedef dil kodu (dil kodları)
Dönüş Değerleri
status_obj Nesne. status_obj.status, "ok", "error" veya "corrected" olabilir. Hata olması durumunda, status_obj.message hata açıklaması içerir. Durum "corrected" olduğunda, status_obj.correction düzeltilmiş çeviriyi içerir

Before DOM Insert Geri Çağırma

_jipt.push(['before_dom_insert', function(text, node, attribute) { return 'text'; }]);

Dizgi DOM içine eklenmeden önce dönüştürme işlevi.

Parametreler
metinEkleme için dizgi
node
isteğe bağlı
Metnin eklenmek zorunda olduğu DOM öğesi. Metnin hedef öğesi (tarayıcının açılır pencerelerindeki metin) yoksa atlanabilir
attribute
isteğe bağlı
Metin, öznitelliğin bir parçasıysa DOM öğesinin öznitelliğidir
Dönüş Değerleri
textEkleme için dizgi
falseEğer işlev false döndürürse, DOM güncellenmeyecektir

Bağlam-İçi Üstyüzeyi Geri Çağırmayı Kapatın

_jipt.push(['escape', function() { window.location.href = "http://app_domain.com"; }]);

Eğer tanımlandıysa, kullanıcılar çevirmek istemezlerse Bağlam-İçi üstyüzeyi kapatabilir. Bu özelliği kendi tarafınıza uygulayın. Bağlam-İçi bütünleştirmesi yaklaşımına bağlı olarak, uygulamanın dilini değiştirmek veya çeviri ortamından üretim uygulamasına yönlendirmek zorundadır.

Oturum Açma Penceresini Kapatın

Bağlam-İçi aracılığıyla Ekran Görüntüleri Ekleme

Bu özellik, açılan web sitesi sayfasının ekran görüntüsünü almanızı, Crowdin projesine yüklemenizi ve sayfada kullanılan tüm dizgileri otomatik olarak etiketlemenizi sağlar.

Not: Bu özellik, yönetici izinlerine (veya daha yüksek) sahip proje üyeleri tarafından kullanılabilir.

Ekran Görüntüleri hakkında daha fazlasını okuyun.

Ekran Görüntüsü Ekleyin

Sorun Giderme ve SSS

  • Hata: Crowdin Bağlam-İçi çevrilebilir metinleri tanımlayamadı (Çevirilecek bir şey yok)

    Bu hata, Crowdin projesinde bazı dizgiler güncellendiyse ancak bu metinler web sitenizde eksikse ortaya çıkabilir. Bu durumda, Araçlar > Bağlam-İçi’ndeki projenizden sözde dilin en son sürümünü indirin ve web sitenizdeki sözde dili güncelleyin.

  • Bağlam-İçi’ni Reactjs uygulamasıyla kullanabilir miyim?

    Bağlam-İçi teknolojiden bağımsızdır. Kullanıcılar bunu sadece <script> etiketini kullanarak normal talimatlara göre yapılandırabilirler.

  • Üretimde birden çok paket tek bir uygulama oluşturuyorsa Bağlam-İçi’ni kullanabilir miyim?

    Kaç paketin ve veri havuzunun dahil olduğu önemli değil. Bir Crowdin projesine birden çok veri havuzu bağlayabilirsiniz. Eğer aynı web uygulamasıyla ilgiliyse sorunsuz bir şekilde çalışmalıdır.

  • Sadece bir Crowdin projesinde Bağlam-İçi kullanım sınırlaması

    Web sitesi sayfasında görüntülenen metinler bir Crowdin projesinden geldiği sürece, Bağlam-İçi bunları gayet iyi işleyecektir. Önemli olan web sitenizdeki metinlerin gölge DOM’da değil normal DOM’da olması zorunluluğudur.

  • Gölge DOM’dan Bağlam-İçi dizgileri çıkarma yeteneği

    Bu teknik olarak imkansızdır. Gölge DOM, komut kodlarımızda görünmez. Sadece Gölge DOM’u oluşturan kod tarafından değiştirilebilir.

  • Kaynak dosya güncellemelerinin otomatik olarak sözde dil paketine ve ardından web sitesine ekleyen yapılandırma yeteneği

    Bu, Crowdin API kullanılarak yapılabilir. Sözde dilin dil kodunu içeren inContextPseudoLanguage nesnesini çıkarmak için Get Project API yöntemini kullanın. Bu dil kodu ile sözde dili ayrı ayrı oluşturabilir, indirebilir ve web sitenize bütünleştirebilirsiniz. Diğer tüm yöntemler normaldir - dosyayı yükleyin/güncelleyin, Get Project API yöntemi ile hedef dillerin listesini alın ve hedef dilleri oluşturun. Alternatif olarak, sözde dili de içeren Crowdin proje arşivinin tamamını tek seferde oluşturabilir ve indirebilirsiniz.

  • Web sitesine yakın zamanda eklenen yeni kaynak dizgiler “tanınmayan metin” olarak görüntülenir

    Crowdin projesinde dizgiler silinmişse veya kaynak dosyalardaki dizgi anahtarları değiştirilmişse web sitesinde “Tanınmayan metin” etiketi görüntülenir, ancak aynı dizgiler web sitesine bütünleştirilen sözde dilde hala mevcuttur. Bunu düzeltmek için Crowdin projesindeki kaynak dosyaları tekrar güncellemeniz, sözde dili indirmeniz ve web sitesinde güncellemeniz yeterlidir.

Bu makale yararlı oldu mu?