Sık sorulan sorular¶
Yapılandırma¶
Kendiliğinden çalışan bir iş akışı nasıl oluşturulur?¶
Weblate, tüm çeviri işlerini sizin için yarı kendiliğinden yapabilir. Deponuza itme erişimi izni verirseniz, bazı birleştirme çelişkileri oluşmadığı sürece çeviriler etkileşim olmadan yapılabilir.
Git deponuzu Weblate üzerinde herhangi bir değişiklik olduğunda bildirecek şekilde ayarlayın. Bunun nasıl yapılacağı ile ilgili bilgi almak için Bildirim kancaları bölümüne bakabilirsiniz.
Weblate içindeki Bileşen yapılandırması üzerinde bir itme adresi ayarlayın. Böylece Weblate değişiklikleri deponuza itebilir.
Weblate içindeki Bileşen yapılandırması üzerinde İşleme ile itme seçeneğini açın. Böylece Weblate üzerinde yapılan değişiklikler deponuza itilir.
Ayrıca bakınız
Depolara SSH üzerinden nasıl erişilir?¶
SSH anahtarlarını ayarlamak ile ilgili bilgi almak için Depolara erişmek bölümüne bakabilirsiniz.
Çevirilerdeki birleştirme çelişkileri nasıl düzeltilir?¶
Birleştirme çelişkileri, çeviri dosyası hem Weblate üzerinde hem de yukarı akış deposunda değiştirildiğinde ortaya çıkar. Bu sorunu genellikle çeviri dosyalarında değişiklik yapmadan önce Weblate çevirilerini birleştirerek (örneğin, msgmerge çalıştırmadan önce) önleyebilirsiniz. Weblate üzerinde bekleyen tüm çevirilerin işlenmesini isteyin (İşlemler menüsündeki Depo bakımı bölümünden yapabilirsiniz) ve depoyu birleştirin (kendiliğinden itme açık değilse).
Zaten bir birleştirme çelişkisiyle karşılaştıysanız, makinenizdeki tüm çelişkileri yerel olarak çözmenin en kolay yolu, Weblate kurulumunu bir uzak depo olarak eklemek, yukarı akışta birleştirmek ve çelişkileri düzeltmektir. Değişiklikleri geri ittiğinizde, Weblate birleştirilmiş sürümü başka herhangi bir özel işlem yapmadan kullanabilir.
Not
Weblate, çoğaltma süresini ve disk kullanımını azaltmak için varsayılan olarak sığ kopyalar kullanır. Bu nedenle, aşağıdaki iş akışı, yukarı akış deposunun güncel bir çıkışından başladığınızda en iyi şekilde çalışır. Doğrudan dışa aktarılan Weblate deposundan çoğaltırsanız veya yukarı akış çıkışınızda son işlemeler eksikse, git remote update weblate işlemi uyarı: ortak işleme yok, kötü sürüm veya eksik nesneler gibi hatalarla başarısız olabilir. Bu durum, Weblate ve yukarı akış deposunda çelişkili değişiklikler bulunduğu anlamına gelmez. Bu iş akışını daha güvenilir yapmak isteyen yöneticiler VCS_CLONE_DEPTH seçeneğini ayarlayabilir.
Not
Kurulumunuza bağlı olarak, Weblate deposuna erişim için kimlik doğrulaması gerektirebilir. Weblate üzerinde yerleşik Git dışa aktarıcı özelliğini kullanırken, kimliğinizi kullanıcı adınız ve API anahtarınızla doğrularsınız.
Not
Weblate, Git deposunun kendisine hizmet eder, ancak Git LFS nesnelerine hizmet etmez. Git LFS kullanan depolar için, yukarı akış deposundan çoğaltın ve başka bir uzak hizmet olarak Weblate ekleyin. Yalnızca Git ile izlenen dosyalara gerek duyuyorsanız, Git LFS nesnelerini indirmeyi atlamak için Weblate üzerinde GIT_LFS_SKIP_SMUDGE=1 ile çoğaltabilirsiniz.
İş akışı, yukarı akış deposunun güncel bir çıkışından başladığınızda genellikle şöyle görünür:
# Open an existing up-to-date checkout of the upstream repository or perform
# a fresh one:
git clone UPSTREAM_REPOSITORY_URL
cd REPO
# Commit all pending changes in Weblate, you can do this in the UI as well:
wlc commit
# Lock the translation in Weblate, again this can be done in the UI as well:
wlc lock
# Add Weblate as remote:
git remote add weblate https://hosted.weblate.org/git/project/component/
# You might need to include credentials in some cases:
git remote add weblate https://username:APIKEY@hosted.weblate.org/git/project/component/
# Update weblate remote:
git remote update weblate
# Merge Weblate changes:
git merge weblate/main
# Resolve conflicts:
edit …
git add …
…
git commit
# Rebase changes (if Weblate is configured to do rebases)
git rebase origin/main
# Push changes to upstream repository, Weblate will fetch merge from there:
git push
# Open Weblate for translation:
wlc unlock
Weblate üzerinde birden fazla dal kullanıyorsanız, hepsine aynı şeyi yapabilirsiniz:
# Add and update Weblate remotes
git remote add weblate-one https://hosted.weblate.org/git/project/one/
git remote add weblate-second https://hosted.weblate.org/git/project/second/
git remote update weblate-one weblate-second
# Merge QA_4_7 branch:
git checkout QA_4_7
git merge weblate-one/QA_4_7
... # Resolve conflicts
git commit
# Merge main branch:
git checkout main
git merge weblates-second/main
... # Resolve conflicts
git commit
# Push changes to the upstream repository, Weblate will fetch the merge from there:
git push
Gettext PO dosyaları söz konusu olduğunda, çelişkileri yarı kendiliğinden birleştirmenin bir yolu vardır:
Weblate Git deposunun yerel bir kopyasını alın ve tutun. Ayrıca, yukarı akış Git deposunun ikinci bir yeni yerel kopyasını da alın (yani, yukarı akış Git deposunun iki kopyası olmalıdır: Bozulmamış ve çalışan bir kopya):
# Add remote:
git remote add weblate /path/to/weblate/snapshot/
# Update Weblate remote:
git remote update weblate
# Merge Weblate changes:
git merge weblate/main
# Resolve conflicts in the PO files:
for PO in `find . -name '*.po'` ; do
msgcat --use-first /path/to/weblate/snapshot/$PO\
/path/to/upstream/snapshot/$PO -o $PO.merge
msgmerge --previous --lang=${PO%.po} $PO.merge domain.pot -o $PO
rm $PO.merge
git add $PO
done
git commit
# Push changes to the upstream repository, Weblate will fetch merge from there:
git push
Aynı anda birkaç dalı nasıl çevirebilirim?¶
Weblate, çeviri değişikliklerinin tek bir Proje yapılandırması içine itilmesini destekler. Açık olan her Bileşen yapılandırması için (varsayılan davranış), yapılan değişiklik kendiliğinden diğerlerine yayılır. Böylece, dalların kendileri zaten oldukça fazla farklılaşmış olsa bile çeviriler eşitlenmiş olarak tutulur ve çeviri değişiklikleri aralarında birleştirilemez.
Weblate üzerindeki değişiklikleri birleştirdikten sonra, farklılıkları atarak bu dalları birleştirmeniz gerekebilir (geliştirme iş akışınıza bağlı olarak):
git merge -s ours origin/maintenance
Ayrıca bakınız
Çok platformlu projeler nasıl çevrilir?¶
Weblate çok çeşitli dosya biçimlerini destekler (ayrıntılı bilgi almak için: Yerelleştirme dosyası biçimleri) ve en kolay yaklaşım her platformun yerel biçimini kullanmaktır.
Tüm platform çeviri dosyalarını tek bir projeye bileşen olarak ekledikten sonra (ayrıntılı bilgi almak için: Çeviri projelerini ve bileşenleri eklemek), tüm platformlar için dizgeleri aynı anda çevirmek üzere çeviri yayma özelliğini (varsayılan olarak açıktır ve Bileşen yapılandırması içinden kapatılabilir) kullanabilirsiniz.
Ayrıca bakınız
Weblate tarafından kullanılan Git deposu nasıl dışa aktarılır?¶
Depo ile ilgili özel bir şey yoktur, DATA_DIR klasörü altında bulunur ve vcs/<project>/<component> olarak adlandırılır. Bu makineye SSH erişiminiz varsa, depoyu doğrudan kullanabilirsiniz.
Anonim erişim için bir Git sunucusu işletmek ve depoyu dış dünyaya sunmasına izin vermek isteyebilirsiniz.
Alternatif olarak, bu işlemin kendiliğinden yapılabilmesi için Weblate içindeki Git dışa aktarıcı komutunu kullanabilirsiniz.
Değişiklikleri yukarı akışa geri itme seçenekleri nelerdir?¶
Bunlar büyük ölçüde kurulumunuza bağlıdır. Weblate bu alanda oldukça esnektir. Burada Weblate ile kullanılan bazı iş akışı örneklerini bulabilirsiniz:
Weblate, değişiklikleri kendiliğinden iter ve birleştirir (ayrıntılı bilgi almak için: Kendiliğinden çalışan bir iş akışı nasıl oluşturulur?).
El ile Weblate tarafından itilmesini söylersiniz (yukarı akış deposuna itme erişimi olmalıdır).
Birisi Weblate Git deposundaki değişiklikleri yukarı akış deposuyla el ile birleştirir.
Birisi Weblate tarafından üretilen geçmişi yeniden yazar (örneğin, birleştirme işlemlerini ortadan kaldırarak), değişiklikleri birleştirir ve Weblate’e yukarı akış deposundaki içeriği sıfırlamasını söyler.
Tabii ki tüm bunları istediğiniz gibi bir arada kullanabilirsiniz.
Weblate erişimini, kaynak kodunu açığa çıkarmadan nasıl yalnızca çevirilerle sınırlayabilirim?¶
Çevirileri sürüm denetimi altında tutarken kaynak kodundan ayırmak için git submodule kullanabilirsiniz.
Çeviri dosyalarınızla bir depo oluşturun.
Bunu kodunuza bir alt modül olarak ekleyin:
git submodule add git@example.com:project-translations.git path/to/translations
Weblate ile bu depoyu bağlayın. Artık Weblate tarafından kaynak kodunuzun bulunduğu depoya erişilmesi gerekmez.
Ana depoyu Weblate üzerindeki çevirilerle güncelleyebilirsiniz:
git submodule update --remote path/to/translations
Ayrıntılı bilgi almak için git submodule belgelerine bakabilirsiniz.
Weblate kurulumumun doğru olup olmadığını nasıl denetleyebilirim?¶
Weblate içinde, yönetim arayüzünde görebileceğiniz bir dizi yapılandırma denetimi bulunur. Yönetim arayüzündeki Başarım raporu bağlantısını izleyin ya da doğrudan /manage/performance/ adresini açın.
Ayrıca bakınız
Neden tüm işlemeler Weblate <noreply@weblate.org> tarafından yapılıyor?¶
Weblate, DEFAULT_COMMITER_EMAIL ve DEFAULT_COMMITER_NAME tarafından yapılandırılmış tüm işlemeler için varsayılan işleme olarak Weblate <noreply@weblate.org> kullanır. Bu, işlemenin Weblate ile yapıldığını gösteren bir teknik kimliktir.
Bununla birlikte, her bir işlemenin yazarı, çeviriyi yapan bireysel kullanıcı olarak doğru bir şekilde kaydedilir (Git kullanırken). Bu, işleme yazarı alanını inceleyerek her dizgeyi gerçekte kimin çevirdiğini görebilirsiniz. Aynısı Mercurial için de geçerlidir; yalnızca Subversion üzerinde bu özellik bulunmaz.
Not
Git üzerinde, işleyen (işleme nesnesini oluşturan) ve yazar (değişiklikleri yapan) arasında bir ayrım vardır. Weblate, yazarlar olarak bireysel çevirmen bağlantısını korurken kendisini işleyen olarak tanımlar.
Yazarlığın belirlenemediği işlemeler için (anonim önerilerden veya makine çevirisi sonuçlarından kendiliğinden değişiklikler gibi), yazar anonim kullanıcı olarak ayarlanır. Anonim kullanıcının adını ve e-posta adresini ANONYMOUS_USER_NAME seçeneği ile yapılandırabilirsiniz.
Ayrıca bakınız
Weblate üzerindeki geçmişi kaybetmeden depodaki dosyalar nasıl taşınır?¶
Dosya konumunu değiştirdikten sonra dizgelere bağlı geçmişi, yorumları ya da ekran görüntülerini tutmak için, bu dizgelerin Weblate üzerinde hiçbir zaman silinmeyeceğinden emin olmanız gerekir. Bu kaldırma işlemleri, Weblate deposunun güncellenmesi durumunda gerçekleşebilir. Ancak bileşen yapılandırması hala eski dosyaları gösterir. Bu durumda, Weblate tüm çevirileri silmesi gerektiğini varsayar.
Bunun çözümü, işlemi Weblate ile eşitleyerek yapmaktır:
Weblate üzerinde etkilenen bileşeni kilitleyin.
Bekleyen değişiklikleri işleyin ve depo yukarı akışına birleştirin.
İnternet kancalarını almayı kullanımdan kaldırın: Proje yapılandırması. Böylece Weblate depodaki değişiklikleri hemen görmez.
Depoda gerekli değişiklikleri yapın (örneğin git mv kullanarak) ve bunları yukarı akış deposuna itin.
Bileşen yapılandırması ögesini yeni kurulumla eşleşecek şekilde değiştirin. Yapılandırmayı değiştirdikten sonra, Weblate güncellenmiş depoyu alır ve var olan dizgeleri korurken değiştirilen konumları fark eder.
Bileşenin kilidini açın ve proje yapılandırmasındaki kancaları yeniden kullanıma alın.
İpucu
Bu türde bozulmaya yol açabilecek değişikliklerden önce Proje düzeyinde yedekler yapmak yararlı olabilir.
Kullanım¶
Başkalarının çevirilerini nasıl onaylarım?¶
Weblate üzerinde kullanılabilen birkaç onaylama tabanlı iş akışı bulunur. Ayrıntılı bilgi almak için: Çeviri iş akışları.
Bildirimler içinde yapılan herhangi bir değişikliğe abone olabilir ve ardından e-posta ile gelen diğer katkıları gözden geçirebilirsiniz.
Çeviri görünümünün alt bölümünde, belirli bir tarihten sonra başkaları tarafından yapılan çevirileri görebileceğiniz bir onaylama aracı bulunur.
Ayrıca bakınız
Bir kaynak dizge ile ilgili nasıl geri bildirim sağlayabilirim?¶
Çevirinin altındaki bağlam bölümünde, bir kaynak dizge ile ilgili geri bildirim vermek ya da diğer çevirmenlerle tartışmak için Yorumlar sekmesini kullanabilirsiniz.
Ayrıca bakınız
Çeviri yaparken var olan çevirileri nasıl kullanabilirim?¶
Paylaşılan çeviri belleği ile, Weblate içindeki tüm çeviriler kullanılabilir.
Var olan çeviri belleği dosyalarını Weblate üzerine aktarabilirsiniz.
Özetleri çeviriler, öneriler ya da düzenlenmesi gereken çeviriler olarak yüklemek için içe aktarma özelliğini kullanın. Bu, bir özet ya da benzer bir çeviri veri tabanı kullanan tek seferlik bir çeviri için en iyi yaklaşımdır.
Kullandığınız tüm veri tabanlarına tmserver kurabilir ve Weblate tarafından kullanmasını sağlayabilirsiniz. Bu yöntem, çeviri sırasında birkaç kez kullanmak istediğinizde daha iyidir.
Başka bir yöntem, ilgili tüm projeleri tek bir Weblate kopyasında çevirmektir. Bu da diğer projelerdeki çevirilerin de kendiliğinden alınmasını sağlar.
Ayrıca bakınız
Weblate, çevirilerin yanında çeviri dosyalarını da günceller mi?¶
Weblate, çeviri dosyalarındaki değişiklikleri en aza indirmeye çalışır. Ne yazık ki bazı dosya biçimlerini yeniden biçimlendirebilir. Dosyanın biçimlendirmesini istediğiniz gibi korumak istiyorsanız, bir işleme öncesi kancası kullanın.
Ayrıca bakınız
Güncellenmiş POT dosyasını PO çevirileriyle nasıl birleştiririm?¶
POT kalıbı değiştiğinde PO dosyalarının güncellenmesi ile ilgili ayrıntılı bilgi almak için: Hedef dil dosyalarını güncellemek.
Dil tanımları nereden gelir ve kendi dil tanımımı nasıl ekleyebilirim?¶
Temel dil tanımları kümesi Weblate ve Translate-toolkit içine eklenmiştir. Bu tanımlarda 150 üzerinde dil bulunur ve çoğul biçimler ya da metin yazma yönü ile ilgili bilgiler bulunur.
Yönetim arayüzünde kendi dillerinizi tanımlamakta özgürsünüz. Yalnızca bu konuda bilgi vermeniz gerekiyor.
Ayrıca bakınız
Weblate, belirsiz bir dizgedeki değişiklikleri vurgulayabilir mi?¶
Weblate bunu destekler, ancak farkı göstermek için verilere gerek duyar.
Gettext PO dosyaları için, PO dosyalarını güncellerken msgmerge komutuna —previous parametresini eklemeniz gerekir. Örneğin:
msgmerge --previous -U po/cs.po po/phpmyadmin.pot
Tek dilli çeviriler için, Weblate önceki dizgeyi kimliğine göre bulabilir. Böylece farklılıkları kendiliğinden gösterir.
Kalıbı güncellediğimde Weblate neden hala eski çeviri dizgelerini gösteriyor?¶
Weblate, çeviri dosyalarını, çevirmenlerin çeviri yapmasına izin vermek dışında hiçbir şekilde değiştirmeye çalışmaz. Bu nedenle, kalıp ya da kaynak kodu değiştirildiğinde çevrilebilir dosyaları da güncellemez. Bunu el ile yapmanız ve değişiklikleri depoya itmeniz yeterlidir. Daha sonra Weblate değişiklikleri kendiliğinden alır.
Not
Çeviri dosyalarını güncellemeden önce Weblate üzerinde yapılan değişiklikleri birleştirmek genellikle iyi bir fikirdir. Yoksa genellikle bazı birleştirilmesi gereken bazı çelişkilerle karşılaşırsınız.
Çeviri dosyaları nasıl yeniden adlandırılır?¶
Depodaki dosyaları yeniden adlandırırken, Weblate bunu dosyaların kaldırılması ve eklenmesi olarak görür. Bu işlem, dizge geçmişinin, yorumların ve önerilerin kaybedilmesine neden olabilir.
Bundan kaçınmak için, yeniden adlandırmayı şu şekilde yapın:
Yerel sürüm denetimi deposunu yönetmek içinden çeviri bileşenini kilitleyin.
Yerel sürüm denetimi deposunu yönetmek içinde bekleyen değişiklikleri işleyin.
Weblate değişikliklerini yukarı akış deposuna aktarın.
Kancalar kullanılsın ile kancalar üzerinden güncellemelerin alınmasını kullanımdan kaldırın.
Depodaki dosyaları yeniden adlandırın.
Bileşen yapılandırmasını yeni dosya adlarıyla eşleşecek şekilde güncelleyin.
Güncelleme kancalarını kullanıma alın ve bileşenin kilidini açın.
İpucu
Bu türde bozulmaya yol açabilecek değişikliklerden önce Proje düzeyinde yedekler yapmak yararlı olabilir.
Sorun çözme¶
İstekler bazen``çok fazla dosya açık`` hatasıyla başarısız olur¶
Bu bazen Git deponuz çok fazla büyüdüğünde ve bu depolardan çok sayıda olduğunda olur. Git depolarının sıkıştırılması bu durumu iyileştirir.
Bunu yapmanın en kolay yolu şunu çalıştırmaktır:
# Go to DATA_DIR directory
cd data/vcs
# Compress all Git repositories
for d in */* ; do
pushd $d
git gc
popd
done
Ayrıca bakınız
Siteye erişirken “İstek hatalı (400)” hatasıyla karşılaşıyorum¶
Bunun nedeni büyük olasılıkla yanlış yapılandırılmış bir ALLOWED_HOSTS seçeneğidir. Weblate kopyanızdan erişmek istediğiniz tüm sunucu adlarının yazılmış olması gerekir. Örneğin:
ALLOWED_HOSTS = ["weblate.example.com", "weblate", "localhost"]
Ayrıca bakınız
“Tek dil (en) için daha fazla dosya var” ne anlama geliyor?¶
Bu genellikle kaynak dil için çeviri dosyanız olduğunda olur. Weblate, kaynak dizgeleri izler ve bunun için kaynak dili ayırır. Aynı dil için ek dosya işlenmez.
Kaynak dil için çeviri isteniyorsa, lütfen bileşen ayarlarındaki Kaynak dil seçeneğini değiştirin. Kaynak dili İngilizce (Geliştirici) olarak seçmek ya da Kaynak dizgeler için kalite aracısı kullanmak isteyebilirsiniz.
Kaynak dil için çeviri dosyasına gerek yoksa, lütfen depodan kaldırın.
Kaynak dil için çeviri dosyasına gerek duyulduğu, ancak Weblate tarafından yok sayılmasının gerektiği durumlarda, katılmaması için Dil süzgeci seçeneğini ayarlayın.
İpucu
Benzer hata iletisini diğer diller için de görebilirsiniz. Bu durumda en olası neden, birkaç dosyanın Weblate üzerinde tek bir dil ile eşleştirilmesidir.
Bu durum, kullanılmayan dil kodlarının yenisiyle birlikte kullanılmasından (Japonca için ja ve jp) ya da hem ülkeye özgü hem de genel kodların (fr ve fr_FR) kullanılmasından kaynaklanabilir. Ayrıntılı bilgi almak için: Dil kodlarını işlemek.
Özellikler¶
Weblate, Git ve Mercurial dışındaki diğer sürüm denetimi sistemilerini destekliyor mu?¶
Weblate currently does not have native support for anything other than Git (with extended support for GitHub çekme istekleri, Gerrit review requests, and Subversion) and Mercurial, but it is possible to write backends for other VCSes.
Weblate ayrıca sürüm denetimi sistemi olmadan çalışmayı da destekler. Ayrıntılı bilgi almak için: Yerel dosyalar.
Not
Diğer sürüm denetimi sistemlerinin yerleşik desteği için, Weblate dağıtılmış sürüm denetimi sistemi kullanmalıdır ve büyük olasılıkla Git ve Mercurial dışındaki herhangi bir şeyle çalışacak şekilde ayarlanabilir. Ancak birisinin bu desteği eklemesi gerekir.
Ayrıca bakınız
Weblate çevirmenlerin hesabını nasıl tutar?¶
Weblate üzerinde yapılan her değişiklik, çevirmenin adıyla sürüm denetimi sistemine işlenir. Böylece, her bir değişikliğin bir yazarı olur ve kod geliştirmek için kullandığınız standart sürüm denetimi sistemi araçlarını kullanarak bunu izleyebilirsiniz.
Ek olarak, çeviri dosyası biçimi tarafından desteklendiğinde, dosya üst bilgilerine çevirmenin adı eklenir.
Ayrıca bakınız
Weblate neden tüm PO dosyalarını tek bir ağaçta göstermeyi dayatıyor?¶
Weblate, her PO dosyasının tek bir bileşen olarak görüntüleneceği şekilde tasarlanmıştır. Bu özellik, çevirmenler için yararlıdır. Böylece gerçekte neyi çevirdiklerini bilebilirler.
4.2 sürümünde değişti: Çevirmenler, bir projenin tüm bileşenlerini bir bütün olarak belirli bir dile çevirebilir.
Weblate neden sr_Latn ya da zh_Hant gibi dil kodlarını kullanıyor?¶
Bunlar, daha önce yanlış kullanılan değiştiriciler (@latin çeşitleri için) ya da ülke kodları (Çince için) yerine gerçekten farklı diller olduklarını daha iyi belirtmek için RFC 5646 tarafından tanımlanmış dil kodlarıdır.
Weblate eski dil kodlarını anlamayı sürdürüyor ve bunları var olanlarla eşleştiriyor. Örneğin sr@latin sr_Latn ya da zh@CN zh_Hans olarak işlenir.
Not
Weblate varsayılan olarak alt çizgili POSIX biçemi dil kodlarını kullanır. Ayrıntılı bilgi almak için: Dil tanımları.
Ayrıca bakınız