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ı otomatik olarak yapabilir. Deponuza anında erişim izni verirseniz, bazı birleştirme çakışmaları oluşmadığı sürece çeviriler etkileşim olmadan yapılabilir.

  1. 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.

  2. Weblate içindeki Bileşen yapılandırması üzerinde bir itme adresi ayarlayın. Böylece Weblate değişiklikleri deponuza gönderebilir.

  3. 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.

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 çakışmaları nasıl düzeltilir?

Birleştirme çakışmaları, ç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 (Yönetim 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 çakışmasıyla karşılaştıysanız, makinenizdeki tüm çakışmaları yerel olarak çözmenin en kolay yolu, Weblate kurulumunu bir uzak depo olarak eklemek, yukarı akışta birleştirmek ve çakışmaları düzeltmektir. Değişiklikleri geri ittiğinizde, Weblate birleştirilmiş sürümü başka herhangi bir özel işlem yapmadan kullanabilir.

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.

# Open an existing 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, çakışmaları yarı otomatik bir şekilde 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

Çok platformlu projeler nasıl çevrilir?

Weblate çok çeşitli dosya biçimlerini destekler (ayrıntılı bilgi almak için: Desteklenen dosya 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.

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 gönderir ve birleştirir (ayrıntılı bilgi almak için: Kendiliğinden çalışan bir iş akışı nasıl oluşturulur?).

  • Eli ile Weblate tarafından gönderilmesini 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.

  1. Çeviri dosyalarınızla bir depo oluşturun.

  2. Bunu kodunuza bir alt modül olarak ekleyin:

    git submodule add git@example.com:project-translations.git path/to/translations
    
  3. Weblate ile bu depoyu bağlayın. Artık Weblate tarafından kaynak kodunuzu içeren depoya erişilmesi gerekmez.

  4. 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 düzgün 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.

Neden tüm işlemeler Weblate <noreply@weblate.org> tarafından yapılıyor?

DEFAULT_COMMITER_EMAIL ve DEFAULT_COMMITER_NAME seçenekleri ile yapılandırılan varsayılan gönderici adı.

Her işlemenin yazarı (kullanılan sürüm denetimi sistemi destekliyorsa), çeviriyi yapan kullanıcı olarak doğru kaydedilir.

Yazarı bilinmeyen işlemeler için (anonim öneriler ya da makine çevirisi sonuçları gibi), yazarın hesabı anonim kullanıcı olarak tutulur (ayrıntılı bilgi almak için: ANONYMOUS_USER_NAME). Ad ve e-posta bilgilerini yönetim arayüzünden değiştirebilirsiniz.

Ayrıca bakınız

Bileşen yapılandırması

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:

  1. Weblate üzerinde etkilenen bileşeni kilitleyin.

  2. Bekleyen değişiklikleri işleyin ve depo yukarı akışına birleştirin.

  3. İnternet kancalarını almayı kullanımdan kaldırın: ref:project. Böylece Weblate depodaki değişiklikleri hemen görmez.

  4. Depoda gerekli değişiklikleri yapın (örneğin git mv kullanarak) ve bunları yukarı akış deposuna itin.

  5. 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.

  6. Bileşenin kilidini açın ve proje yapılandırmasındaki kancaları yeniden kullanıma alın.

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

Çeviri iş akışları

Bir kaynak dizge hakkında nasıl geri bildirim sağlayabilirim?

Çevirinin altındaki bağlam bölümünde, bir kaynak dizge hakkında geri bildirim vermek ya da diğer çevirmenlerle tartışmak için Yorumlar sekmesini kullanabilirsiniz.

Ç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.

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.

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ü hakkında bilgileri içerir.

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

Dil tanımları

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 göndermeniz 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ı çakışmalarla 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:

  1. Sürüm denetim deposunu yönetmek içinden çeviri bileşenini kilitleyin.

  2. Sürüm denetim deposunu yönetmek içinde bekleyen değişiklikleri gönderin.

  3. Weblate değişikliklerini yukarı akış deposuna aktarın.

  4. Kancalar kullanılsın ile kancalar üzerinden güncellemelerin alınmasını kullanımdan kaldırın.

  5. Depodaki dosyaları yeniden adlandırın.

  6. Bileşen yapılandırmasını yeni dosya adlarıyla eşleşecek şekilde güncelleyin.

  7. Güncelleme kancalarını kullanıma alın ve bileşenin kilidini açın.

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

DATA_DIR

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

Allowed hosts kurulumu

“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, eski 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 şu anda Git (GitHub çekme istekleri, Gerrit ve Subversion için genişletilmiş destekle) ve Mercurial dışında hiçbir şey için yerleşik destek sağlamaz. Ancak diğer sürüm denetimi sistemleri için arka uçlar yazılabilir.

Diğer sürüm denetimi sistemlerine erişmek için Git üzerinde Git uzak yardımcıları komutunu da kullanabilirsiniz.

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.

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.

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ı.