Weblate ile bütünleştirmek

Weblate temelleri

Proje ve bileşen yapısı

Weblate üzerinde çeviriler, projeler ve bileşenler olarak düzenlenir. Bir projede çok sayıda bileşen bulunabilir ve bunlar ayrı dillerin çevirilerini içerebilir. Bileşen çevrilebilir bir dosyaya karşılık gelir GNU gettext PO (Portable Object) ya da Android dizge kaynakları). Projeler, bileşeni mantıksal kümeler halinde düzenlemenize yardımcı olmak için düşünülmüştür (tek bir uygulamada kullanılan tüm çevirileri gruplamak gibi).

Ek olarak, projelerdeki bileşenler kategoriler kullanılarak düzenlenebilir. Bileşenler bir kategoride bulunabilir ve kategoriler iç içe olabilir.

İçeride, her projenin varsayılan olarak içindeki diğer bileşenlere yayılan ortak dizge çevirileri vardır. Bu özellik, yinelenen ve çok sürümlü çeviri yükünü hafifletir. Çevirilerin farklılaşması durumunda Bileşen yapılandırması için Çeviriler yayılabilsin seçeneği kullanılarak çevirilerin yayılması kullanımdan kaldırılabilir.

Depo bütünleştirmesi

Weblate, yukarı akış sürüm denetimi deposuyla bütünleşik olarak çalışmak üzere oluşturulmuştur. Kesintisiz yerelleştirme belgesinde yapı taşları ve değişikliklerin bunlar arasında nasıl aktığı açıklanmıştır.

Ayrıca bakınız

Mimari özeti belgesinde Weblate içeride nasıl işliyor anlatılmıştır.

Kullanıcı ilişkilendirmesi

Weblate, çevirmenler tarafından düzgünce yazılan çevirileri ad ve e-posta kullanarak sürüm kontrol deposunda tutar. İşlemeye gerçek bir e-postanın eklenmesi, dağıtılmış sürüm denetimi ruhuna uygundur ve GitHub gibi hizmetlerin Weblate üzerinde yaptığınız katkıları GitHub profilinizle ilişkilendirmesini sağlar.

Bu özellik aynı zamanda sürüm denetimi işlemelerinde yayınlanan e-posta adresinin kötüye kullanılması riskini de beraberinde getirir. Dahası, böyle bir işleme, herkese açık barındırma üzerinde (GitHub gibi) yayınlandıktan sonra onu düzenlemenin herhangi bir yolu yoktur. Weblate, bunu önlemek için Hesap içinden özel bir işleme e-posta adresi seçmenize izin verir.

Bu nedenle yöneticiler Weblate yapılandırması sırasında buna dikkat etmelidir:

  • Böyle bir belgeye gerek duyulması durumunda, bu tür bir e-posta adresinin kullanıldığı hizmet koşullarında açıkça belirtilmelidir. Yasal belgesi bu konuda yardımcı olabilir.

  • PRIVATE_COMMIT_EMAIL_OPT_IN e-postaları varsayılan olarak gizli yapabilir.

Bir yerelleştirme projesini Weblate içine aktarmak

Weblate, temel bir özelliği olarak sürüm denetimi sistemi bütünleştirmesi göz önünde bulundurularak geliştirilmiştir. Bu nedenle en kolay yol, deponuza Weblate tarafından erişilmesine izin vermektir. İçe aktarma işlemi, çevirilerinizi Weblate bileşenlerine yapılandırmak konusunda size yol gösterir.

Alternatif olarak, bütünleştirme olmadan Weblate tarafından tüm çevirilerin bulunduğu bir yerel depo kurulmasını seçebilirsiniz.

Weblate üzerinden güncellenmiş çevirileri almak

Weblate, güncellenen dizgeleri bir veri tabanında tutar ve bunları yerel bir sürüm denetimi deposuna işler. Bir Weblate deposunu ( Git dışa aktarıcı açıkken) ek bir uzak depo olarak ekleyebilir ve çeviri güncellemelerini oradan alabilirsiniz.

Bundan önce, bekleyen değişiklikleri işlemek isteyebilirsiniz (ayrıntılı bilgi almak için: Lazy commit işlemeleri). Bunu kullanıcı arayüzünde (Depo bakımı bölümünde) ya da komut satırında Weblate istemcisi komutu ile yapabilirsiniz.

Deponuza Weblate tarafından itme erişimi izni verir ve Bileşen yapılandırması içinde Depo itme adresi seçeneğini yapılandırırsanız, değişiklikleri itme işlemi kendiliğinden yapılabilir. Ayrıntılı bilgi almak için: Weblate üzerindeki değişiklikleri itmek.

Alternatif olarak, çevirileri uzak sürüm denetimi sistemi deponuzdaki son sürümle eşleşecek şekilde güncellemek için Weblate REST API uygulaması komutunu kullanabilirsiniz.

Uzak değişiklikleri Weblate üzerine almak

Uzak sürüm denetimi sisteminizin deposında yeni güncellenen dizgeleri Weblate üzerine almak için, Weblate kopyanıza yukarı akış deposundan çekme izni verin. Bu işlem, kullanıcı arayüzünde (Depo ‘bakımı bölümünden) ya da komut satırından Weblate istemcisi komutu ile yapılabilir.

Yeni bir işleme olduğunda Weblate uygulamasının tetiklenmesi için deponuzda bir İnternet kancası ayarlayarak bu işlemin kendiliğinden yapılmasını sağlayabilirsiniz. Ayrıntılı bilgi almak için: Depoları güncellemek.

Sürüm denetimi sistemi bütünleştirmesi kullanmıyorsanız, çevirileri kod tabanınızla eşleşecek şekilde güncellemek için kullanıcı arayüzü ya da Weblate REST API uygulaması kullanabilirsiniz.

Yeni dizgeler eklemek

Çeviri dosyalarınız kodla birlikte bir uzak sürüm denetimi sisteminde bulunuyorsa, büyük olasılıkla geliştiricilerin yeni dizgeler eklemesi için kullanılan bir iş akışınız vardır. Dizge eklemenin herhangi bir yolu seçilir. Ancak hatalara neden olmamak için Kaynak dizgeler için kalite aracısı kullanmayı değerlendirin.

Çeviri dosyaları koddan ayrılmış olduğunda, şu yöntemlerle Weblate üzerine yeni dizgeler eklenebilir.

  • El ile, kaynak dildeki Araçlar menüsünden Yeni çeviri dizgesi ekle seçeneği ile. Form üzerinde Tekil ya da Çoğul düğmeleri ile seçim yapabilirsiniz. Eklenecek yeni çeviri dizgesine uygun biçimi seçin.

  • Programlamada API kullanılarak: POST /api/translations/(string:project)/(string:component)/(string:language)/units/.

  • Kaynak dosyayı Var olan çeviri dosyasını değiştir (var olan dizgelerin üzerine yazar, bu nedenle dosyada hem eski hem de yeni dizgelerin bulunduğundan emin olun) ya da Yeni dizgeler ekle seçeneği ile yükleyerek. Ayrıntılı bilgi almak için: İçe aktarma yöntemleri.

Not

Weblate üzerine dizge eklenebilmesi için Dizge yönetimi gereklidir.

Hedef dil dosyalarını güncellemek

Tek dilli dosyalar için (ayrıntılı bilgi almak için: Yerelleştirme dosyası biçimleri) Weblate, gerçek çevirilerde değil, Tek dilli temel dil dosyası içinde bulunmayan yeni çeviri dizgeleri ekleyebilir. Bununla birlikte, beklenmeyen sonuçları olabileceğinden, eski dizgeleri kendiliğinden temizlemez. Bunu yapmak istiyorsanız, lütfen gereksinimlerinize göre temizleme işlemini yapacak olan Çeviri dosyalarını temizleme eklentisini kurun.

Weblate ayrıca kaynak değiştiğinde iki dilli dosyaları güncellemeye çalışmaz. Bu nedenle pot dosyaları ile güncellenen po dosyaları kullanmanız gerekiyorsa, Kaynak dizgeleri güncelle İçe aktarma yöntemleri ya da PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge) eklentisini kullanarak kendiniz yapmalısınız.

İpucu

xgettext ya da lupdate gibi kaynak dizge ayıklama araçlarının Weblate dışında çalıştırılması gerekir.

Yeni dizgeler sunmak

Dizge yönetimi açıkken Weblate üzerine yeni dizgeler ekleyebilirsiniz. Ancak genellikle yeni dizgeleri onları tanıtan kod değişiklikleriyle birlikte sunmak daha iyidir.

Yeni dizgelerin Tek dilli temel dil dosyası içine eklenmesi için tek dilli biçimlerin yapılandırılması gerekir. Bu işlem genellikle kodun geliştirilmesi sırasında geliştiriciler tarafından yapılır. Kaynak dizgeler için kalite aracısı kullanarak bu dizgeler için onay sürecini kullanmak isteyebilirsiniz.

İki dilli biçimlerde dizgeler tipik olarak bazı araçlar kullanılarak kaynak koddan çıkarılır (xgettext ya da intltool-update gibi). Bunun nasıl yapılacağı ile ilgili yönerge için yerelleştirme çatısı belgelerinize bakabilirsiniz. Dizgeler ayıklandıktan sonra, var olan çevirileri güncellemek için bir ek adım gerekebilir. Ayrıntılı bilgi almak için: Hedef dil dosyalarını güncellemek.

İpucu

Weblate şu anda dizge ayıklamanın kendiliğinden yapılması ile ilgilenmiyor. Bunun için genellikle güvenilmeyen bir kodun çalıştırılması gerekir. Bu durum yerelleştirmeye özgü bir platformdan yerine genel bir kesintisiz bütünleştirme için daha uygundur.

Yeni dizgelerin kendiliğinden çeviri olarak görünmesini sağlamak için bunu kesintisiz bütünleştirme altyapınızla birleştirmek isteyebilirsiniz. Bu altyapıda Birleştirme çakışmalarından kaçınmak seçeneği de kapsanmalıdır.

Yerel sürüm denetimi deposunu yönetmek

Weblate, tüm çevirileri altta yatan sürüm denetimi deposunda tutar. Bir uzak depoya bağlanmanız önerilir ancak yalnızca içeride bulunacak bir kurulum da olabilir. Depo bakımı bölümünden depoyu denetleyebilirsiniz.

İpucu

Kesintisiz yerelleştirme ile değişiklikler depodan kendiliğinden itilir ve genellikle işlemi el ile yönetmek gerekmez.

../_images/component-repository.webp