Qt Linguist ile Çeviri
Pardus 2011 çıktı çoğunuzun bildiği üzere. Harika bir sürüm. Ben de hem severek kullanıyorum hem de paketlerimi 2011'e aktarmaya çalışıyorum yavaştan.
Paketlerle ilgilenirken hem işin teknik kısmı oluyor hem de çeviri, belge yazımı başta olmak üzere diğer bir kısım. Tüm bunlarla tek bir kişinin ilgilenmesi mümkün değil. Bu yüzden kullanıcıların da yapabildikleri yardımlarını sunması çok önemli.
Geçenlerde üzerinde çalışmaya başladığım Luminance HDR'nin de Türkçe çevirisinin güncellenmesi gerekiyordu ve bunu Luminance HDR'nin Pardus 2011'e taşınmasıyla ilgili kayıtta belirttim. Bunu yazdıktan hemen sonra paketin 2011'e taşınmasını isteyen Tayfun Bey bana mesaj attı ve eğer yapabilirse çeviri için yardımcı olabileceğini söyledi. Ben de Qt Linguist ile ts (translation source) biçimli dosyaların nasıl çevrilebileceği için kısa bir belge yazmanın iyi olacağını düşündüm, hem bu örnek hem de sonraki örnekler için.
Çeviri Süreci
Bir uygulamadaki hemen hemen her mesaj çevrilebilir, bir kelime ve yarım sayfalık bir cümle olması fark etmez :) Bu çevrilmiş mesajlar da pencere başlıklarının, menü seçeneklerinin, açılır yardım ekranlarının, etiketlerin, düğmelerin, işaretleme kutucuklarının vb.'nin her kullanıcının kendi dilinde görüntülenmesini sağlar.
Geliştiriciler tarafından kaynak kod içine yazılan mesajlar basit ama özel bir sözdizim kuralına sahiptir, böylece bunların çevrilmeye ihtiyaç duyulduğu herkesçe (insanlar ve makineler) bilinir. Geliştirici ilgili uygulama (lupdate, lrelease) ile kaynak koddan çeşitli çeviri dosyaları üretir otomatik olarak, çevirmenler de bu dosyalardan kendi dillerine ait olanı açarak çevirme işlemine başlar. Çeviri işlemi tamamlanan dosyalar geliştiriciye gönderilir ve geliştirici tarafından uygulama tarafından kullanılabilecek derlenmiş sürümlere çevrilir. Qt kendi araçları için tüm bu süreçleri kolaylaştırıcı çözümler sunar.
Çeviri sürecinin geliştiriciyi, çevirmeni ve kullanıcıyı ilgilendiren bölümleri vardır. Biz şimdilik sadece çevirmenleri ilgilendiren kısma bakacağız.
Qt Linguist'in Kullanımı
Qt Linguist, Qt uygulamalarını çevirmek için basit bir araçtır. Bir alternatifi olup olmadığına kısaca baktım ama göremedim. Zemberek desteği olmayışı beni epey üzse de, çeviri yapılan kısmın uygulama üzerinde nerede nasıl yer aldığını gösterebilmesiyle taktirimi kazandı.
Qt Linguist'i kullandığınız dağıtımın paket depolarından indirebilirsiniz. Pardus 2011 kullanıcıları qt-linguist ve qt-docs (yardım belgeleri için) paketlerini kurarak Qt Linguist'i kullanmaya başlayabilir. Diğer dağıtımlarda da bu veya benzeri isimlerde Qt Linguist'i bulabilirsiniz.
Uygulamayı açtığınızda birkaç temel parçaya bölünmüş ana ekranla karşılaşacaksınız. İçerik, mesajlar, kaynaklar ve formlar, sözcük grupları ve tahminler, uyarılar...
Sol sütundaki İçerik (Context) bölümünde çevirisini yaptığınız uygulamadaki tüm çevrilebilir kısımlar kategoriler halinde listelenir. Burası üç sütundur, en başta kategorinin çeviri durumu hakkında bir simge, devamında kategorinin ismi ve en sonda da toplam ve çevrilmiş mesaj sayıları yer alır.
Bir kategoriyi seçtiğiniz zaman, içerik penceresi bu kategorinin mesajlarını göstermeye başlar. Buradan mesajları tek tek seçerek çevirmeye başlayabilirsiniz.
Bir mesajı çevirdikten sonra doğrudan diğer mesaja geçmek yerine o mesajın doğru olduğunu onaylayıp sonraki mesaja geçmelisiniz. Bunu araç çubuğundaki veya Çeviri menüsü altındaki Bitir Sonrakine Geç (Mark item as done and move to the next unfinished item) seçeneğine basarak yapabilirsiniz.
Bunun için Ctrl + Enter kısayolunu da kullanabilirsiniz. Her ne kadar şu an bende sebebini bilmediğim nedenlerle çalışmıyor olsa da siz kullanabilirsiniz. Sizde de benzer bir durum varsa bana veya geliştiricilerine bildirebilirseniz sevinirim. Yazıdan sonra en azından nedenini anlamaya çalışacağım.
Çeviri işlemini bitirdiğiniz zaman da dosyayı kaydederek, geliştiricisine gönderebilirsiniz. Çeviri dosyasını nasıl elde edebileceğinizi belirtmedim ama bunu uygulamanın arşivini indirerek, uygulamanın kullandığı sürüm kontrol sisteminden çekerek, hiç bir yerde bulamazsanız geliştiricisinden isteyerek kolayca elde edebilirsiniz. Ben doğrudan kayda ekledim bu adımı daha da kolaylaştırmak için :)
Şimdi pencereleri biraz daha yakından tanıyalım.
İçerik Penceresi
Normalde sol panelde yer almasına rağmen istediğiniz bir yere de taşıyabilirsiniz. Sütunlara göre de öğelerin sıralamasını değiştirebilirsiniz.
En başta bulunan simge sütünunundaki simgelerin anlamları şöyledir:
Bu pencereyi kapattığınızda F6 ile veya Göster > Göster > Context (İçerik) menü seçeneği ile tekrar açabilirsiniz. Sütunların öntanımlı şekilde sıralanması için de Göster > Reset Sorting (Sıralamayı Sıfırla)
yolunu takip edebilirsiniz.
Mesaj Penceresi
Üzerinde işlem yapılan mesajı ve durumunu gösterir. Buradaki simgelerin anlamları şöyledir:
Buradaki durumlar arasında geçişler arayüz üzerinden simgeler tıklanarak yapılabilir.
Çeviri Alanı
Diğer pencerelerin aksine bu pencere taşınabilir ve ayrılabilir değildir. Bu yüzden yerini değiştiremezsiniz ama diğer pencerelerin yerine değiştirerek istediğiniz görünümü elde edebilirsiniz.
Mesajın çevirisinin eklenmesi dışında çeviri için yorum yazmak, fazladan çeviri satırları eklemek ve birden fazla dil için çeviri yapmak gibi seçenekler sunar.
Sözcük Grupları ve Tahminler Penceresi
Burada çevirisini yapmakta olduğunuz mesajla ilgili tahminleri görebilir ve bunları tıklayarak veya kısayol tuşunu kullanarak kolayca çeviriye ekleyebilirsiniz. Söz dizimi kitapları ve önceki çevirileriniz tahminlerin kaynağıdır.
Kaynaklar ve Formlar Penceresi
Çevrilebilir mesajları içeren kaynaklar Qt Linguist tarafından erişilebilir bir konumdaysa bu pencere o anki mesajın ilgili olduğu bölümü gösterir.
Qt Linguist ile çeviri yapmaya başlayabilecek kadar bilgiyi elimden geldiğince özetlemeye çalıştım. Henüz bu uygulama ile herhangi bir çeviri projesi gerçekleştirmediğim için fazla detay veremedim. Bundan sonrasında çeviri yaptıkça ihtiyaç duyduğunuz ek bilgileri kendiniz edinebilirsiniz. Çevirideki klavye kısayollarını değiştirmek, aynı anda birden fazla dil için çeviri yapmak, sıralı değişkenler ve çoğullar gibi konular için kaynaklar bölümündeki yazılardan yararlanabilirsiniz.
Çeviri yapmak güzeldir, özgür yazılım kullanan herkese bir veya birkaç uygulamanın çevirmenliğini sürdürmelerini tavsiye ederim. İyi çeviriler :)
Kaynaklar
Qt Linguist Manual
Özgür Yazılımları Türkçe’ye çevirmek (Yerelleştirme)
PyQt Dersleri - 2
Paketlerle ilgilenirken hem işin teknik kısmı oluyor hem de çeviri, belge yazımı başta olmak üzere diğer bir kısım. Tüm bunlarla tek bir kişinin ilgilenmesi mümkün değil. Bu yüzden kullanıcıların da yapabildikleri yardımlarını sunması çok önemli.
Geçenlerde üzerinde çalışmaya başladığım Luminance HDR'nin de Türkçe çevirisinin güncellenmesi gerekiyordu ve bunu Luminance HDR'nin Pardus 2011'e taşınmasıyla ilgili kayıtta belirttim. Bunu yazdıktan hemen sonra paketin 2011'e taşınmasını isteyen Tayfun Bey bana mesaj attı ve eğer yapabilirse çeviri için yardımcı olabileceğini söyledi. Ben de Qt Linguist ile ts (translation source) biçimli dosyaların nasıl çevrilebileceği için kısa bir belge yazmanın iyi olacağını düşündüm, hem bu örnek hem de sonraki örnekler için.
Çeviri Süreci
Bir uygulamadaki hemen hemen her mesaj çevrilebilir, bir kelime ve yarım sayfalık bir cümle olması fark etmez :) Bu çevrilmiş mesajlar da pencere başlıklarının, menü seçeneklerinin, açılır yardım ekranlarının, etiketlerin, düğmelerin, işaretleme kutucuklarının vb.'nin her kullanıcının kendi dilinde görüntülenmesini sağlar.
Geliştiriciler tarafından kaynak kod içine yazılan mesajlar basit ama özel bir sözdizim kuralına sahiptir, böylece bunların çevrilmeye ihtiyaç duyulduğu herkesçe (insanlar ve makineler) bilinir. Geliştirici ilgili uygulama (lupdate, lrelease) ile kaynak koddan çeşitli çeviri dosyaları üretir otomatik olarak, çevirmenler de bu dosyalardan kendi dillerine ait olanı açarak çevirme işlemine başlar. Çeviri işlemi tamamlanan dosyalar geliştiriciye gönderilir ve geliştirici tarafından uygulama tarafından kullanılabilecek derlenmiş sürümlere çevrilir. Qt kendi araçları için tüm bu süreçleri kolaylaştırıcı çözümler sunar.
Çeviri sürecinin geliştiriciyi, çevirmeni ve kullanıcıyı ilgilendiren bölümleri vardır. Biz şimdilik sadece çevirmenleri ilgilendiren kısma bakacağız.
Qt Linguist'in Kullanımı
Qt Linguist, Qt uygulamalarını çevirmek için basit bir araçtır. Bir alternatifi olup olmadığına kısaca baktım ama göremedim. Zemberek desteği olmayışı beni epey üzse de, çeviri yapılan kısmın uygulama üzerinde nerede nasıl yer aldığını gösterebilmesiyle taktirimi kazandı.
Qt Linguist'i kullandığınız dağıtımın paket depolarından indirebilirsiniz. Pardus 2011 kullanıcıları qt-linguist ve qt-docs (yardım belgeleri için) paketlerini kurarak Qt Linguist'i kullanmaya başlayabilir. Diğer dağıtımlarda da bu veya benzeri isimlerde Qt Linguist'i bulabilirsiniz.
Uygulamayı açtığınızda birkaç temel parçaya bölünmüş ana ekranla karşılaşacaksınız. İçerik, mesajlar, kaynaklar ve formlar, sözcük grupları ve tahminler, uyarılar...
Sol sütundaki İçerik (Context) bölümünde çevirisini yaptığınız uygulamadaki tüm çevrilebilir kısımlar kategoriler halinde listelenir. Burası üç sütundur, en başta kategorinin çeviri durumu hakkında bir simge, devamında kategorinin ismi ve en sonda da toplam ve çevrilmiş mesaj sayıları yer alır.
Bir kategoriyi seçtiğiniz zaman, içerik penceresi bu kategorinin mesajlarını göstermeye başlar. Buradan mesajları tek tek seçerek çevirmeye başlayabilirsiniz.
Bir mesajı çevirdikten sonra doğrudan diğer mesaja geçmek yerine o mesajın doğru olduğunu onaylayıp sonraki mesaja geçmelisiniz. Bunu araç çubuğundaki veya Çeviri menüsü altındaki Bitir Sonrakine Geç (Mark item as done and move to the next unfinished item) seçeneğine basarak yapabilirsiniz.
Bunun için Ctrl + Enter kısayolunu da kullanabilirsiniz. Her ne kadar şu an bende sebebini bilmediğim nedenlerle çalışmıyor olsa da siz kullanabilirsiniz. Sizde de benzer bir durum varsa bana veya geliştiricilerine bildirebilirseniz sevinirim. Yazıdan sonra en azından nedenini anlamaya çalışacağım.
Çeviri işlemini bitirdiğiniz zaman da dosyayı kaydederek, geliştiricisine gönderebilirsiniz. Çeviri dosyasını nasıl elde edebileceğinizi belirtmedim ama bunu uygulamanın arşivini indirerek, uygulamanın kullandığı sürüm kontrol sisteminden çekerek, hiç bir yerde bulamazsanız geliştiricisinden isteyerek kolayca elde edebilirsiniz. Ben doğrudan kayda ekledim bu adımı daha da kolaylaştırmak için :)
Şimdi pencereleri biraz daha yakından tanıyalım.
İçerik Penceresi
Normalde sol panelde yer almasına rağmen istediğiniz bir yere de taşıyabilirsiniz. Sütunlara göre de öğelerin sıralamasını değiştirebilirsiniz.
En başta bulunan simge sütünunundaki simgelerin anlamları şöyledir:
- yeşil işaret: kategorideki tüm çeviriler yapılı ve geçerlik testleri sağlam
- sarı işaret: Tüm çeviriler yapılmış veya yapılmış olarak işaretlenmiş ama geçerlik testleri bozuk çeviriler var
- soru işareti: En azından bir çeviri eksik veya çevrilmiş olarak işaretlenmemiş
- siyah beyaz işaret: Çevrilmiş mesajlardan hiçbiri kategoride bulunmuyor. Büyük ihtimalle uygulamanın yeni sürümlerinde bu kategori artık bulunmuyor
Bu pencereyi kapattığınızda F6 ile veya Göster > Göster > Context (İçerik) menü seçeneği ile tekrar açabilirsiniz. Sütunların öntanımlı şekilde sıralanması için de Göster > Reset Sorting (Sıralamayı Sıfırla)
yolunu takip edebilirsiniz.
Mesaj Penceresi
Üzerinde işlem yapılan mesajı ve durumunu gösterir. Buradaki simgelerin anlamları şöyledir:
- yeşil işaret: Çeviri var ve tüm geçirlik testlerini sağlıyor.
- sarı işaret: Çevirmen çeviriyi onaylamış ama çevirinin geçerlik testleri sorunlu. Sorunun detayları uyarılar penceresinde görülebilir.
- sarı soru işareti: Mesaj geçerlik testlerini sağlayan boş olmayan bir çeviriye sahip ama çevirmen çeviriyi onaylamamış.
- mavi soru işareti: Mesaj çeviriye sahip değil.
- kırmızı ünlem: Mesaj çeviriye sahip ama geçerlik testlerini sağlamıyor.
- siyah beyaz işaret: Mesajın kendisi artık uygulamada yok.
Buradaki durumlar arasında geçişler arayüz üzerinden simgeler tıklanarak yapılabilir.
Çeviri Alanı
Diğer pencerelerin aksine bu pencere taşınabilir ve ayrılabilir değildir. Bu yüzden yerini değiştiremezsiniz ama diğer pencerelerin yerine değiştirerek istediğiniz görünümü elde edebilirsiniz.
Mesajın çevirisinin eklenmesi dışında çeviri için yorum yazmak, fazladan çeviri satırları eklemek ve birden fazla dil için çeviri yapmak gibi seçenekler sunar.
Sözcük Grupları ve Tahminler Penceresi
Burada çevirisini yapmakta olduğunuz mesajla ilgili tahminleri görebilir ve bunları tıklayarak veya kısayol tuşunu kullanarak kolayca çeviriye ekleyebilirsiniz. Söz dizimi kitapları ve önceki çevirileriniz tahminlerin kaynağıdır.
Kaynaklar ve Formlar Penceresi
Çevrilebilir mesajları içeren kaynaklar Qt Linguist tarafından erişilebilir bir konumdaysa bu pencere o anki mesajın ilgili olduğu bölümü gösterir.
Qt Linguist ile çeviri yapmaya başlayabilecek kadar bilgiyi elimden geldiğince özetlemeye çalıştım. Henüz bu uygulama ile herhangi bir çeviri projesi gerçekleştirmediğim için fazla detay veremedim. Bundan sonrasında çeviri yaptıkça ihtiyaç duyduğunuz ek bilgileri kendiniz edinebilirsiniz. Çevirideki klavye kısayollarını değiştirmek, aynı anda birden fazla dil için çeviri yapmak, sıralı değişkenler ve çoğullar gibi konular için kaynaklar bölümündeki yazılardan yararlanabilirsiniz.
Çeviri yapmak güzeldir, özgür yazılım kullanan herkese bir veya birkaç uygulamanın çevirmenliğini sürdürmelerini tavsiye ederim. İyi çeviriler :)
Kaynaklar
Qt Linguist Manual
Özgür Yazılımları Türkçe’ye çevirmek (Yerelleştirme)
PyQt Dersleri - 2
Kendimi övüyorum, evet. Bu kullanıcıları çeviri yapmak için davet etmenin en güzel yollarından biri ve bunu ben yaptığım için mutluyum.
YanıtlaSilHocam bu güzel rehber için teşekkürler.
YanıtlaSilBen de bir programı çevireceğim ve dil dosyası QT Linguist ile açılıyor. Anladığım kadarıyla QT Nokia'nın ve nokia'nın developer sitesindede sdk'sı var yaklaşık 1 küsür gb boyutunda. Ama ben bir çevirme işlemi için o kadar şey indirmek istemiyorum eğer elinizde QT Linguist 4.7.x varsa bana bir şekilde atabilir veya linkini söyleyebilirmisiniz?
Merhaba,
YanıtlaSilEğer bir GNU/Linux dağıtımı kuruyorsanız. Depodan yükleyebilirsiniz, paketler parça parça olduğu için fazla büyük olmayacaktır. Örneğin Pardus'ta yüklemek için:
$ sudo pisi it qt-linguist
komutunu kullanabilirsiniz. Eğer Windows kullanıyorsanız işiniz bir parça daha zor. Çünkü dediğiniz gibi Qt tek ve büyük bir kurulum dosyasına sahip görebildiğim kadarıyla.
Bunu aşmak için şu iki adresteki tek Qt Linguist'e ait kurulum dosyalarından yararlanmayı deneyebilirsiniz. Kolay gelsin.
* Qt-Apss.org - Qt Linguist Download
* Google Code - qtlinguistdownload
Merhaba, ben Python ile PyQt5 ortamında GUI uygulaması geliştiriyorum. Elimdeki dizayn dosyasından Qt Linguistte çeviri yapabilmem için .ts dosya formatına nasıl dönüştürmeliym?
YanıtlaSilAynı durumu bende yaşadım.Visual Studio Code 'da tasarladaığınız Qt Designerla olan kısmını .py uzantılı dönüştürdükden sonra dizayn ile ilgili sayfaya gelip mouse ile sağ tıklayıp en altta update Qt Linguist Translation File tıklayıp çevirebilirsiniz.
YanıtlaSil