
Weblate, 165 üzerinde ülkede 2500 üzerinde özgür proje ve kuruluş tarafından kullanılan bir özgür yazılım ve internet temelli sürekli yerelleştirme sistemidir.
Kurun ya da weblate.org adresindeki Hosted Weblate hizmetini kullanın.
Destek#
Weblate, isteğe bağlı olarak profesyonel destek ve bulut barındırma seçenekleri sunan özgür bir yazılımdır. Bilgi almak için https://weblate.org/hosting/ adresine bakabilirsiniz.
Belgeler#
Kaynak kodlarındaki docs
klasöründe bulunabilir ya da https://docs.weblate.org/ adresinden çevrim içi olarak görüntülenebilir
Kurulum#
Kurulum yönergeleri:
Hatalar#
Lütfen özellik isteklerinizi ve sorunları şuraya bildirin:
Canlı sohbet#
Libera.Chat IRC ağındaki #weblate
kanalında Weblate hakkında canlı sohbet edilebilir. Bu kanala https://web.libera.chat/#weblate adresinden ya da bilgisayarınızda kurulu bir IRC istemcisi üzerinden erişebilirsiniz.
Lisans#
Telif Hakkı © Michal Čihař michal@cihar.com
Bu yazılım özgürdür: Yeniden dağıtabilir ve/veya Özgür Yazılım Vakfı tarafından yayınlanan GNU Genel Kamu Lisansı koşulları altında, lisansın 3. sürümü ya da (seçiminize göre) daha sonraki bir sürümü koşullarına uygun olarak değiştirebilirsiniz.
Bu yazılım, yararlı olacağı umuduyla dağıtılır. Ancak HERHANGİ BİR GARANTİ VERİLMEZ; TİCARETE UYGUNLUK VEYA BELİRLİ BİR AMACA UYGUNLUK GARANTİSİ VERİLMEZ. Ayrıntılı bilgi almak için GNU Genel Kamu Lisansı koşullarına bakabilirsiniz.
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 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).
İç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 Çevirilerin yayılmasını sağlamak seçeneği kullanılarak çevirilerin yayılması devre dışı bırakılabilir.
Ayrıca bakınız
Hesap açmak ve kullanıcı profili#
Hesap açılışı#
Varsayılan olarak herkes projelere göz atabilir, çevirileri görüntüleyebilir ya da çeviri önerisinde bulunabilir. Yalnızca kayıtlı kullanıcıların değişiklikleri gerçekten kaydetmesine izin verilir ve çevirmen olarak yapılan her çevirinin hesabı tutulur.
Birkaç basit adımı izleyerek hesap açabilirsiniz:
Hesap açma formunu kimlik doğrulama bilgilerinizle doldurun.
Size gönderilen e-postadaki bağlantıyı izleyerek hesabınızı etkinleştirin.
İsteğe bağlı olarak, hangi dilleri bildiğinizi seçmek için profilinizi ayarlayın.
Pano#
Oturum açtığınızda, proje ve bileşen özetinin yanında ilgili çevirlerdeki ilerlemeleri görürsünüz.
Varsayılan olarak, izlediğiniz projelerin bileşenleri görüntülenir ve çeviri dilleriniz seçilir.
İpucu
Gezinme sekmelerini kullanarak farklı görünümlere geçebilirsiniz.

Menüde şu seçenekler bulunur:
Ana menüdeki Projeler > Tüm projelere göz at Weblate kopyasındaki tüm projenin çeviri durumunu görüntüler.
Ana menüden bir dil seçtiğinizde Diller, tüm projelerin çeviri durumunu, birincil dillerinizden birine göre süzülmüş olarak görüntüler.
İzlenen çeviriler panoda yalnızca izlemekte olduğunuz projelerin çeviri durumunu, birincil dillerinize göre süzülmüş olarak görüntüler.
Ek olarak, açılır menüde herhangi bir sayıda bileşen listesi , Weblate yöneticisi tarafından önceden yapılandırılmış proje bileşenleri kümelerini de görüntüleyebilir. Bilgi almak için: :ref:`componentlists’.
Kişisel varsayılan pano görünümünüzü, kullanıcı profili ayarlarınızın Ayarlar bölümünden yapılandırabilirsiniz.
Not
Weblate, settings.py
dosyasında :settings:`SINGLE_PROJECT` seçeneği ile tek bir proje için yapılandırıldığında (bilgi almak için: Yapılandırma), kullanıcı tek bir projeye veya bileşene yönlendirileceğinden pano görüntülenmez.
Kullanıcı profili#
Kullanıcı profiline, üst menünün sağ üst köşesindeki kullanıcı simgenize ve ardından menüden Ayarlar seçeneğine tıklayarak erişebilirsiniz.
Kullanıcı profilinizde ayarlarınız bulunur. Sürüm denetimi sistemi işlemelerinde adınız ve e-posta adresiniz kullanılır. Bu nedenle bu bilgilerin doğru olmasını sağlayın.
Not
Tüm dil seçimlerinde yalnızca şu anda çevirisi yapılan diller sunulur.
İpucu
Çevirmek istediğiniz diğer dilleri kullanılabilir kılmak için düğmeye tıklayarak dil isteğinde bulunan ya da ekleyin.
Diller#
Arayüz dili#
Kullanıcı arayüzünün görüntülenmesini istediğiniz dili seçin.
Çevrilen diller#
Hangi dilleri çevirmeyi yeğlediğinizi seçin. Bunlar izlenen projelerin ana sayfasında görüntülenir. Böylece bu dillerdeki çevirilere daha kolay erişebilirsiniz.

İkincil diller#
Çeviri sırasında size rehber olarak görüntülenecek ikincil dilleri belirtebilirsiniz. Aşağıdaki görselde, İbranice dilinin ikincil dil olarak kullanılma örneğini görebilirsiniz:

Ayarlar#
Tema#
Weblate temasını, sistem temasını izleyecek şekilde seçin ya da el ile koyu ya da açık olarak belirtin.
Varsayılan pano görünümü#
Ayarlar sekmesinde, var olan hangi pano görünümümün varsayılan olarak görüntüleneceğini seçebilirsiniz. Bileşen listesi görünümünü seçerseniz, Varsayılan bileşen listesi açılır menüsünden hangi bileşen listesinin görüntüleneceğini seçmeniz gerekir.
Ayrıca bakınız
Düzenleyici bağlantısı#
Varsayılan olarak Bileşen yapılandırması içinde yapılandırılmış tarayıcıda bir kaynak kodu bağlantısı görüntülenir.
İpucu
Düzenleyici bağlantısı ayarını yaparak, çevrilmiş dizgelerin sürüm denetimi sistemi kaynak kodu dosyasını açmak için yerel düzenleyicinizi kullanırsınız. Kalıp kodlaması kullanabilirsiniz.
Genellikle editor://open/?file={{filename}}&line={{line}}
gibi bir şey iyi bir seçenektir.
Ayrıca bakınız
Düzenleyici için özel adres iletişim kurallarının kaydedilmesi ile ilgili bilgi almak için: Nette belgeleri.
Özel karakterler#
Sanal klavye içine eklenecek ek özel karakterler.
Bildirimler#
Bildirimler sekmesinden abone olabileceğiniz bildirimleri seçebilirsiniz. İzlenen veya yönetilen projeler için seçtiğiniz bildirimler size e-posta ile gönderilir.
Bazı bildirimler yalnızca dillerinizdeki olaylar için gönderilir (çevrilecek yeni dizgeler olduğunda gibi), bazıları ise bileşen düzeyinde gönderilir (birleştirme hataları gibi). Bu iki bildirim grubu, ayarlarda görsel olarak ayrılmıştır.
İzlenen projeler ve yönetilen projeler için bildirimleri açıp kapatabilirsiniz. Her bir proje veya bileşen için başka ince ayarlar da yapılabilir (ya da sessize alınabilir). Bileşen özeti sayfasını açın ve İzleme menüsünden uygun seçeneği seçin.
Katkıda bulunan projeler kendiliğinden izlensin seçeneği etkinleştirilmişse, bir çeviri yaptığınız dizgelerin bulunduğu projeleri kendiliğinden izlemeye başlarsınız. Varsayılan değer DEFAULT_AUTO_WATCH
seçeneğine bağlıdır.
Not
Kendi işlemleriniz için bildirim almazsınız.
İpucu
Bildirim gönderimi sınırlıdır. Günde 1000 taneden fazla e-posta almazsınız. Bunu aşan bildirimler gönderilmez.

Hesap#
Hesap sekmesi, temel hesap bilgilerini ayarlamanızı, Weblate üzerinde oturum açmak için çeşitli hizmetleri bağlamanızı, hesabınızı tümüyle silmenizi ya da kullanıcı verilerinizi indirmenizi sağlar (bilgi almak için: Weblate kullanıcı verilerini dışa aktarma).
Not
Hizmetlerin listesi Weblate yapılandırmanıza bağlıdır. Ancak GitLab, GitHub, Google, Facebook veya Bitbucket ya da diğer OAuth 2.0 hizmeti sağlayıcıları gibi yaygın kullanılan siteleri içerecek şekilde yapılabilir.

Profil#
Bu sayfadaki tüm alanlar isteğe bağlıdır ve istediğiniz zaman silinebilir. Bu bilgileri yazarak, bu verileri kullanıcı profilinizin göründüğü her yerde paylaşmamıza izin vermiş olursunuz.
Sürüm denetimi işlemelerinde hesap e-posta adresiniz yerine özel işleme e-posta adresi kullanılır. Gerçek e-posta adresinizin sızmasını önlemek için bunu kullanın. Farklı e-posta adresi kullanmanın diğer sunucularda yaptığınız katkıların ilişkilendirilmesini engelleyebileceğini unutmayın (örneğin, katkılarınız artık GitHub profilinizle ilişkilendirilmez). Özel e-posta site genelinde, PRIVATE_COMMIT_EMAIL_OPT_IN
seçeneği kullanılarak açılabilir.
Avatar her kullanıcı için görüntülenebilir (ENABLE_AVATARS
seçeneğine bağlı olarak). Bu görseller https://gravatar.com/ üzerinden alınır.
Lisanslar#
API erişimi#
API erişim kodunuzu buradan alabilir ya da sıfırlayabilirsiniz.
Denetim günlüğü#
Denetim günlüğü, hesabınızla yapılan işlemlerin kaydını tutar. Hesabınızla ilgili her önemli işlem için IP adresini ve kullanılan tarayıcıyı kaydeder. Kritik işlemler ayrıca birincil e-posta adresine bir bildirim gönderilmesini tetikler.
Ayrıca bakınız
Weblate kullanarak çeviri yapmak#
Weblate kullanarak çeviri yapmaya ilgi gösterdiğiniz için teşekkür ederiz. Projeler doğrudan çeviri yapılabilecek ya da hesabı olmayan kullanıcılar tarafından yapılan önerileri kabul edecek şekilde ayarlanabilir.
Genel olarak, iki çeviri kipi vardır:
Proje doğrudan çevirileri kabul eder
Proje yalnızca belirli bir oy sayısına ulaşıldığında kendiliğinden onaylanan önerileri kabul eder
Çeviri iş akışı hakkında ayrıntılı bilgi almak için Çeviri iş akışları bölümüne bakabilirsiniz.
Çeviri projesi görünürlüğü seçenekleri:
Herkes tarafından görülebilir
Yalnızca belirli bir çevirmen grubu tarafından görülebilir
Ayrıca bakınız
Çeviri projeleri#
Çeviri projeleri ilgili bileşenleri içerir. Aynı yazılım, kitap veya proje için kaynaklar.

Çeviri bağlantıları#
Bir bileşene eriştikten sonra, bir dizi bağlantı ile çevirisine geçilebilir. Çeviri ayrıca Çevrilmemiş dizgeler ya da Tamamlanmamış dizgeler gibi bölümlere ayrılmıştır. Tüm proje hatasız bir şekilde çevrilmiş olsa bile, Tüm dizgeler seçeneği hala kullanılabilir. Alternatif olarak, belirli bir dizgeyi veya terimi bulmak için arama alanı kullanılabilir.

Öneriler#
Not
Güncel izinler Weblate yapılandırmanıza bağlı olarak değişebilir.
Anonim kullanıcılar yalnızca (varsayılan olarak) öneride bulunabilir. Ayrıca, çeviriyle ilgili belirsizliğin ortaya çıktığı ve diğer çevirmenlerin bunu onaylayacağı durumlarda, oturum açmış kullanıcılar da öneride bulunabilir.
Öneriler, geçerli çeviriyle eşleşen yinelenmeleri ve önerileri kaldırmak için günlük olarak taranır.
Çeşitler#
Çeşitler, dizgenin farklı uzunluktaki çeşitlerini gruplandırmak için kullanılır. Böylece projenizin ön yüzünde ekran ya da pencere boyutuna bağlı olarak farklı dizgeler kullanılabilir.
Ayrıca bakınız
Etiketler#
Etiketler, yerelleştirme iş akışını daha da özelleştirmek üzere (örneğin dizge grupları tanımlamak için) bir projedeki dizgeleri sınıflamak için kullanılır.
Weblate tarafından şu etiketler kullanılır:
- Kendiliğinden çevrilmiş
Dizge Kendiliğinden çeviri ile çevrilmiş.
- Kaynağın onaylanması gerekli
Dizge Kaynak dizge onayları ile onaylanmak üzere imlenmiş.
Ayrıca bakınız
Çeviri#
Çeviri sayfasında, kaynak dizge ve çevirisi için bir düzenleme alanı gösterilir. Çevirinin çoğul olması durumunda, her biri çeviri yapılan dildeki çoğul biçim sayısı kadar açıklanmış ve etiketlenmiş kaynak dizge ve düzenleme alanı görüntülenir.
Tüm özel boşluk karakterlerinin altı kırmızı renkle çizilir ve gri simgelerle görüntülenir. Çevirmeni olası bir biçimlendirme sorununa karşı uyarmak için birden fazla boşluğun altı kırmızı renkle çizilir.
Bu sayfada, çoğu proje kaynak kodundan (bağlam, yorumlar ya da iletinin kullanıldığı yer gibi) gelen çeşitli ek bilgiler görüntülenebilir. Çevirmenlerin ayarlarından seçtikleri ikincil diller için çeviri alanları, kaynak dizgenin üstünde görüntülenir (bilgi almak için: İkincil diller).
Çevirmenler, çevirinin altında başkaları tarafından yapılmış, kabul edilecek (✓), değişikliklerle kabul edilecek (✏️) ya da silinmiş (🗑) önerileri görebilir.
Çoğul biçimler#
Sayıları hesaba katmak için biçim değiştiren sözcüklere çoğul denir. Her dilin kendi çoğul tanımı vardır. Örneğin İngilizce, bir biçim destekler. Örneğin “araba” tekil tanımında, dolaylı olarak bir arabayı çağrıştırır. Çoğul biçimde “arabalar” iki veya daha fazla arabayı (ya da bir ad olarak araba kavramını) çağrıştırır. Örneğin Çekçe ya da Arapça gibi dillerde daha fazla çoğul biçim vardır ve çoğul biçim kuralları farklıdır.
Weblate, bu biçimlerin her biri için, ilgili her bir dilde (her çoğul biçimi ayrı çevirebilen) tam destek sunar. Alanların sayısı ve çevrilmiş uygulamada ya da projede nasıl kullanıldığı, yapılandırılmış çoğul biçim formülüne bağlıdır. Weblate temel bilgileri gösterir. Unicode Konsorsiyumu tarafından yayınlanmış Dil çoğul kuralları içinde ayrıntılı bilgi bulabilirsiniz.
Ayrıca bakınız

Alternatif çeviriler#
4.13 sürümünde geldi.
Not
Şu anda bu özellik yalnızca Çok değerli CSV dosyası için destekleniyor.
Bazı biçimlerde, tek bir dizge için birden fazla çeviri bulunabilir. Araçlar menüsünü kullanarak daha fazla alternatif çeviri ekleyebilirsiniz. Boş alternatif çeviriler kaydedildikten sonra kendiliğinden kaldırılır.
Klavye kısayolları#
Çeviri sırasında şu klavye kısayolları kullanılabilir:
Klavye kısayolu |
Açıklama |
---|---|
Alt+Home |
Geçerli aramada ilk çeviriye gider. |
Alt+End |
Geçerli aramada son çeviriye gider. |
Alt+PageUp ya da Ctrl+↑ ya da Alt+↑ ya da Cmd+↑ |
Geçerli aramada önceki çeviriye gider. |
Alt+PageDown ya da Ctrl+↓ ya da Alt+↓ ya da Cmd+↓ |
Geçerli aramada sonraki çeviriye gider. |
Ctrl+Enter ya da Cmd+Enter |
Geçerli formu gönderir. Bu seçenek, çeviriyi düzenlerken Kaydet ve ilerile düğmesine basmakla aynıdır. |
Ctrl+Shift+Enter ya da Cmd+Shift+Enter |
Düzenlenmesi gerekli imini kaldırır ve çeviriyi gönderir. |
Alt+Enter ya da Option+Enter |
Dizgeyi öneri olarak gönderir. Bu seçenek, çeviriyi düzenlerken Suggest düğmesine basmakla aynıdır. |
Ctrl+E ya da Cmd+E |
İmleci çeviri alanına taşır. |
Ctrl+U ya da Cmd+U |
İmleci yorum alanına taşır. |
Ctrl+M ya da Cmd+M |
Kendiliğinden öneriler sekmesini görüntüler. Bilgi almak için: Kendiliğinden öneriler. |
Ctrl+1 to Ctrl+9 ya da Cmd+1 to Cmd+9 |
Kaynak dizgeden belirtilen numaralı yerleştirilebilir ögeyi kopyalar. |
Ctrl+M ardından 1 ile 9 arası ya da Cmd+M ardından 1 ile 9 arası |
Belirtilen numaralı makine çevirisini geçerli çeviriye kopyalar. |
Ctrl+I ardından 1 ile 9 arası ya da Cmd+I ardından 1 ile 9 arası |
Denetim hataları listesindeki bir ögeyi yok sayar. |
Ctrl+J ya da Cmd+J |
Yakındaki dizgeler sekmesini görüntüler. |
Ctrl+S ya da Cmd+S |
İmleci arama alanına taşır. |
Ctrl+O ya da Cmd+O |
Kaynak dizgeyi kopyalar. |
Ctrl+Y ya da Cmd+Y |
Düzenlenmesi gerekli imini değiştirir. |
Sanal klavye#
Çeviri alanının hemen üstünde küçük bir görsel klavye satırı görüntülenir. Bu özellik, yerel noktalama işaretlerini (satır her dil için yerel olduğundan) ya da başka türlü yazılması zor karakterleri kullanmak için yararlı olabilir.
Görüntülenen simgeler üç gruba ayrılır:
Kullanıcı profili içinde kullanıcı tarafından yapılandırılmış Özel karakterler
Weblate tarafından sağlanan her dile özel karakterler (örneğin tırnak işaretleri ya da sağdan sola yazılan dillere özgü karakterler)
SPECIAL_CHARS
kullanılarak yapılandırılmış karakterler

Çeviri bağlamı#
Bu bağlamsal açıklama, geçerli dizge hakkında açıklayıcı bilgiler sağlar.
- Dizge öznitelikleri
İleti kimliği, bağlam (
msgctxt
) ya da kaynak kodundaki konum gibi ögeler.- Ekran görüntüleri
Çevirmenleri dizgenin nerede ve nasıl kullanıldığı konusunda daha iyi bilgilendirmek için Weblate üzerine ekran görüntüleri yüklenebilir. Bilgi almak için: Dizgeler için görsel bağlam.
- Yakındaki dizgeler
Çeviri dosyasındaki komşu iletileri görüntüler. Bunlar genellikle çevrilen dizgeye benzer bağlamda bulunur ve çevirinin tutarlı olmasında yararlıdır.
- Diğer kullanımlar
Bir iletinin birden fazla yerde (örneğin birden fazla bileşende) kullanılması durumunda, bunların tutarsız olduğu algılanırsa, bu sekmede tümü görüntülenir (bilgi almak için: Tutarsız). Kullanılacak çeviriyi buradan seçebilirsiniz.
- Çeviri belleği
Geçmişte çevrilmiş benzer dizgelere bakabilirsiniz. Bilgi almak için: Çeviri belleği.
- Sözlük
Geçerli iletideki sözcüklerin proje sözlüğündeki karşılıklarını görüntüler.
- Son değişiklikler
Weblate üzerinden yakın zamanda bu iletiyi değiştiren kişilerin listesi.
- Proje
Çevirmenler için proje bilgileri ya da dizgenin projenin kullandığı sürüm denetimi sistemi deposundaki klasörü ya da bağlantısı.
Doğrudan bağlantılar istiyorsanız, çeviri biçimi bunu desteklemelidir.
Çeviri geçmişi#
Her değişiklik varsayılan olarak (bileşen ayarlarından kapatılmadığı sürece) veri tabanına kaydedilir ve geri alınabilir. İsteğe bağlı olarak, temel sürüm denetimi sistemindeki herhangi bir işlemi geri alabilirsiniz.
Çevrilmiş dizgenin uzunluğu#
Weblate, çevrilen dizgenin çok uzun olmamasını sağlamak için çevirinin uzunluğunu birkaç şekilde sınırlayabilir:
Çeviri için varsayılan sınırlama, kaynak dizgeden on kat daha uzun olmasıdır. Bu özellik,
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH
seçeneği ile kapatılabilir. Bu sınırlamaya takılıyorsanız, yanlışlıkla iki dilli olarak ayarlanmış tek dilli bir çeviri kullanıyor olabilirsiniz ve Weblate gerçek kaynak dizgenin çeviri anahtarını yanlış anlıyor olabilir. Bilgi almak için İki dilli ve tek dilli biçimler.Çeviri dosyasından ya da im ile tanımlanan en fazla karakter uzunluğu. Bilgi almak için: Çevirinin en fazla uzunluğu.
Piksel cinsinden, imler ile tanımlanan en fazla görüntülenme boyutu. Bilgi almak için: Çevirinin en fazla uzunluğu.
Kendiliğinden öneriler#
Yapılandırmaya ve çevrilen dilinize bağlı olarak, Weblate çeşitli makine çevirisi hizmetlerinden ve Çeviri belleği üzerinden öneriler sunar. Tüm makine çevirileri, her çeviri sayfasındaki tek bir sekmede görülebilir.
Ayrıca bakınız
Desteklenen araçların listesini Kendiliğinden önerileri yapılandırmak bölümünde bulabilirsiniz.
Kendiliğinden çeviri#
Dış kaynakları kullanarak çeviriyi başlatmak için kendiliğinden çeviri özelliğini kullanabilirsiniz. Bu araca Kendiliğinden çeviri adı verilmiştir ve bir bileşen ve dil seçtikten sonra Araçlar menüsünden erişilebilir:

İki şekilde işlem yapılabilir:
Çeviriler için diğer Weblate bileşenleri kaynak olarak kullanılabilir.
Belirli bir kalite eşiğinin üzerindeki çevirilerle seçilen makine çevirisi hizmetleri kullanılabilir.
Hangi dizgelerin kendiliğinden çevrileceğini de seçebilirsiniz.
Uyarı
Bu işlemin, Tüm dizgeler gibi geniş kapsamlı süzgeçlerle kullanıldığında var olan çevirilerin üzerine yazacağını unutmayın.
Farklı bileşenler arasında çeviriyi birleştirmek (uygulama ile site gibi) ya da var olan çevirileri (çeviri belleği) kullanarak yeni bir bileşen için çevirileri önceden hazırlamak gibi çeşitli durumlarda kullanışlıdır.
Kendiliğinden çevrilmiş etiketinin görüntülenmesi sorunu düzeltildi.
Ayrıca bakınız
Hızı sınırlamak#
Arayüzün kötüye kullanılmasını önlemek için, arama yapma, iletişim formları gönderme ya da çeviri gibi çeşitli işlemlere hız sınırlaması uygulanır. Hız sınırlamasına takıldığınızda, işlemi yeniden yapabilmek için belirli bir süre beklemeniz gerekir.
Varsayılan sınırlar ve ince ayarlar yönetim rehberinde açıklanmıştır. Bilgi almak için: Hızı sınırlamak.
Arama ve değiştirme#
Terminolojiyi verimli şekilde değiştirin ya da Araçlar menüsündeki Arama ve değiştirme seçeneğini kullanarak dizgeleri toplu olarak düzeltin.
İpucu
Dizgeleri karıştırma konusunda endişelenmeyin. Bu işlem, asıl değişiklik onaylanmadan önce düzenlenen dizgelerin ön izlemesinin görüntülendiği iki adımda yapılır.
Toplu düzenleme#
Toplu düzenleme, belirli sayıda dizge üzerinde tek bir işlem yapılmasına izin verir. Dizgeleri arama ile tanımlarsınız ve eşleşen dizgelere uygulanacak bir değişiklik ayarlarsınız. Şu işlemleri yapabilirsiniz:
Dizge durumunu değiştirme (örneğin onaylanmamış tüm dizgeler onaylanabilir).
Çeviri imlerini ayarlama (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek)
Dizge etiketlerini ayarlama (bilgi almak için: Dizge etiketleri)
İpucu
Bu araca Toplu düzenleme adı verilmiştir ve her projenin, bileşenin ya da çevirinin Araçlar menüsünden erişilebilir.
Ayrıca bakınız
Matris görünümü#
Farklı dilleri verimli bir şekilde karşılaştırmak için matris görünümünü kullanabilirsiniz. Her bileşen sayfasında Araçlar menüsü altından erişilebilir. Öncelikle karşılaştırmak istediğiniz tüm dilleri seçin ve seçiminizi onaylayın. Ardından hızlı bir şekilde açıp düzenlemek için herhangi bir çeviriye tıklayabilirsiniz.
Matris görünümü, farklı dillerdeki eksik çevirileri bulmak ve bunları tek bir görünümden hızlı bir şekilde eklemek için de çok iyi bir başlangıç noktasıdır.
Zen kipi#
Zen kipine, bir bileşeni çevirirken sağ üstteki Zen düğmesine tıklanarak geçilebilir. Çalışma görünümünü basitleştirerek kullanıcı arayüzündeki Yakındaki dizgeler ya da Sözlük gibi ek ögelerini kaldırır. Çeviri ve onaylama işlemlerinin hızlıca yapılmasını sağlar.
Zen düzenleyiciyi, Kullanıcı profili içindeki Ayarlar sekmesini kullanarak varsayılan düzenleyiciniz olarak ayarlayabilirsiniz. Kişisel tercihinize göre çevirileri Yukarıdan aşağıya ya da Yan yana görüntülenecek şekilde ayarlayabilirsiniz.
Çevirileri indirmek ve yüklemek#
Bir çevirinin dosyalarını dışa aktarabilir, değişiklikler yapabilir ve bunları yeniden içe aktarabilirsiniz. Böylece, çevrimdışı çalışabilir ve yapılan değişiklikleri var olan çeviriyle yeniden birleştirebilirsiniz. Bu yöntem, bu arada kaynak değiştirilmiş olsa bile işe yarar.
Not
Kullanılabilecek seçenekler access control ayarlarıyla sınırlı olabilir.
Çevirileri indirmek#
Çevrilebilecek dosyalar proje ya da bileşen panosundaki Dosyalar menüsünden indirilebilir.
İlk seçenek, dosyayı depoda bulunan özgün biçiminde indirmektir. Bu durumda, çeviride bekleyen değişiklikler işlenir ve güncel dosya herhangi bir dönüştürme yapılmadan oluşturulur.
Çeviriyi ayrıca, yaygın olarak kullanılan yerelleştirme biçimlerinden birine dönüştürülmüş olarak da indirebilirsiniz. Dönüştürülmüş dosyalar, ek bağlam, yorumlar veya imler gibi Weblate tarafından sağlanan verilerle zenginleştirilir. Dosyalar ↓ İndirmeyi özelleştir menüsünden çeşitli dosya biçimlerini seçebilirsiniz:
Gettext PO (
po
)Gettext uzantılı XLIFF (
xliff
)XLIFF 1.1 (
xliff11
)TermBase eXchange (
tbx
)Çeviri belleği takası (
tmx
)Gettext MO (yalnızca çeviri Gettext PO kullanıyorsa kullanılabilir) (
mo
)CSV (
csv
)Excel Open XML (
xlsx
)JSON (yalnızca tek dilli çeviriler için kullanılabilir) (
json
)Android dizge kaynağı (yalnızca tek dilli çeviriler için kullanılabilir) (
aresource
)iOS dizgeleri (yalnızca tek dilli çeviriler için kullanılabilir) (
strings
)
İpucu
Dönüştürülen dosyalarda bulunan içerik, dosya biçimi özelliklerine göre farklılık gösterir. Çeviri türü yetenekleri içinde özet bilgiler bulabilirsiniz.

Çevirileri yüklemek#
Değişikliklerinizi yaptıktan sonra, Dosyalar menüsünden Çeviriyi yükle seçeneğini kullanın.

Desteklenen dosya biçimleri#
Desteklenen biçimdeki herhangi bir dosya karşıya yüklenebilir. Ancak yine de çeviri için kullanılan ile aynı dosya biçiminin kullanılması önerilir. Yoksa bazı özellikler düzgün çevrilemeyebilir.
Ayrıca bakınız
Desteklenen dosya biçimleri, Çevirileri indirmek ve yüklemek
İçe aktarma yöntemleri#
Çeviri dosyaları yüklenirken şu seçenekler sunulur:
- Çeviri olarak eklensin (
translate
) İçe aktarılan dizgeler, var olan dizgelere çeviri olarak eklenir. En yaygın kullanım örneği ve varsayılan davranış budur.
Yalnızca yüklenen dosyadaki çeviriler kullanılır ve ek içerikler kullanılmaz.
- Öneri olarak eklensin (
suggest
) İçe aktarılan dizgeler öneri olarak eklenir. Yüklenen dizgelerinizin onaylanmasını istediğinizde bunu kullanın.
Yalnızca yüklenen dosyadaki çeviriler kullanılır ve ek içerikler kullanılmaz.
- Düzenlenmesi gerekli çeviri olarak eklensin (
fuzzy
) İçe aktarılan dizgeler, düzenlenmesi gerekli çeviriler olarak eklenir. Bu seçenek, çevirilerin kullanılmasını ve aynı zamanda onaylanmasını istediğinizde yararlı olabilir.
Yalnızca yüklenen dosyadaki çeviriler kullanılır ve ek içerikler kullanılmaz.
- Var olan çeviri dosyası değiştirilsin (
replace
) Var olan dosya yeni içerikle değiştirilir. Bu seçenek var olan çevirilerin kaybına neden olabileceğinden dikkatli kullanın.
- Kaynak dizgeler güncellensin (
source
) İki dilli çeviri dosyasındaki kaynak dizgeleri günceller. Bu seçenek, PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge) eklentisi gibi işler.
Bu seçenek yalnızca bazı dosya biçimleri için kullanılabilir.
- Yeni dizgeler eklensin (
add
) Çeviriye yalnızca yeni dizgeleri ekler. Var olan dizgeleri atlar.
Hem yeni dizgeleri eklemek hem de var olan çevirileri güncellemek istiyorsanız, dosyayı Çeviri olarak eklensin seçeneği ile ikinci kez yükleyin.
Bu seçenek yalnızca Dizge yönetimi seçeneği açıkken kullanılabilir.
Yüklenen dosyadan yalnızca kaynak, çeviri ve anahtar (bağlam) kullanılır.
Çakışmaları işlemek#
Yüklenen dizgelerden önceden çevrilmiş olanların nasıl işleneceğini belirler.
Düzenlenmesi gerekli dizgeler#
İçe aktarılan dosyadaki düzenlenmesi gereken dizgelerin nasıl işleneceği ile ilgili bir seçenek de vardır. Bu tür dizgeler şu üç yöntemden biriyle işlenebilir: İçe aktarılmasın
, Düzenlenmesi gerekli olarak içe aktarılsın
ya da Çevrilmiş olarak içe aktarılsın
.
Sözlük#
Her projede, terminolojiyi tutmak için kolay erişilen bir veya daha fazla sözlük bulunabilir. Sözlük, çevirilerin tutarlılığının korunmasını kolaylaştırır.
Her dilin bağımsız olarak yönetilebilen bir sözlüğü vardır. Ancak proje yöneticilerinin ve farklı dillerdeki çevirmenlerin de diller arası tutarlılığı korumalarına yardımcı olan tek bir bileşen biçiminde tutulurlar. Çevrilmekte olan dizge içindeki sözcüklere karşılık gelen sözlük terimleri, çeviri düzenleyicisinin yan çubuğunda görüntülenir.
İpucu
Siz etkinleştirmediğiniz sürece kalite denetimlerinde sözlük terimleri kullanılmaz. Bilgi almak için Sözlük ile uyumlu değil.
Sözlükleri yönetmek#
4.5 sürümünde değişti: Sözlükler artık normal çeviri bileşenleridir ve yorum yapmak, uzak bir depoda tutmak veya açıklama eklemek gibi tüm Weblate özellikleri kullanılabilir.
Sözlük olarak kullanılsın seçeneğini açarak herhangi bir bileşeni sözlük olarak kullanabilirsiniz. Bir proje için birden çok sözlük oluşturabilirsiniz.
Belirli bir projen için boş bir sözlük, projeyle birlikte kendiliğinden oluşturulur. Sözlükler, aynı projenin tüm bileşenleri arasında ve isteğe bağlı olarak ilgili sözlük bileşeninden Projelerde paylaşım ile diğer projelerle paylaşılır.
Sözlük bileşeni, Weblate üzerindeki renkli etiket eklenmiş diğer bileşenlere benzer:

Tüm sözlük terimlerine göz atın:

ya da bunları herhangi bir çeviri olarak düzenleyin.
Sözlük terimleri#
Sözlük terimleri, normal dizgelerle aynı şekilde çevrilir. Her terim için Araçlar menüsünü kullanarak ek özellikleri değiştirebilirsiniz.

Çevrilemez terimler#
4.5 sürümünde geldi.
Belirli sözlük terimi çevirilerini, toplu olarak düzenleyerek, imine yazarak ya da Araçlar ↓ Çevrilemez olarak imle seçeneğini kullanarak salt okunur
olarak imlemek, çevrilemeyecekleri anlamına gelir. Bu seçeneği, diğer dillerde değiştirilmemesi gereken marka adları veya diğer terimler için kullanabilirsiniz. Salt okunur terimler sözlük yan çubuğunda görsel olarak vurgulanır.
Ayrıca bakınız
Yasaklı çeviriler#
4.5 sürümünde geldi.
Belirli sözlük terimi çevirilerini, toplu olarak düzenleyerek, imine yazarak ya da Araçlar ↓ Yasak çeviri olarak imle seçeneğini kullanarak yasak
olarak imlemek, kullanılmayacakları anlamına gelir. Bu seçeneği, anlamı belirsiz ya da beklenmedik olan sözcükleri açıklığa kavuşturmak için kullanabilirsiniz.
Ayrıca bakınız
Terminoloji#
4.5 sürümünde geldi.
Belirli sözlük terimlerini, toplu olarak düzenleyerek, imine yazarak ya da Araçlar ↓ Terminoloji olarak imle seçeneğini kullanarak terminoloji
olarak imlemek, kayıtların tüm dillerdeki sözlüklere ekleneceği anlamına gelir. Bu seçeneği, tüm dillerde anlamının tutarlı olması ve iyi düşünülmesi gereken önemli terimler için kullanabilirsiniz.
Ayrıca bakınız
Çeşitler#
Çeşitler, dizgeleri birlikte gruplandırmak için genel bir yol sağlar. Tüm terim çeşitleri, çeviri sırasında sözlük kenar çubuğunda listelenir.
İpucu
Bir terim için kısaltmalar ya da daha kısa ifadeler eklemek için bunu kullanabilirsiniz.
Ayrıca bakınız
Denetimler ve düzeltmeler#
Kalite denetimleri, yaygın çevirmen hatalarını yakalamaya yardımcı olarak çevirinin iyi durumda olmasını sağlar. Yanlış pozitif sonuçlarda denetimler yok sayılabilir.
Denetimi başarısız olan bir çeviri gönderildikten hemen sonra kullanıcıya görüntülenir:

Kendiliğinden düzeltmeler#
Kalite denetimleri yanında, Weblate çevrilmiş dizgelerdeki bazı yaygın hataları kendiliğinden düzeltebilir. Hatalı çeviriler eklememesi için dikkatli kullanın.
Ayrıca bakınız
Sondaki üç nokta değiştirici#
Kaynak dizge ile tutarlı olması için sondaki üç ayrı noktayı (...
) bir üç nokta karakteri (…
) ile değiştirir.
Sıfır genişlikli boşluk kaldırma#
Çeviride genellikle sıfır genişlikli boşluklar istenmez. Bu düzeltme, kaynak dizgede de bulunmadığı sürece bunları kaldırır.
Denetim karakterlerini kaldırma#
Çevirideki tüm denetim karakterlerini kaldırır.
Devanagari danda#
Devanagari’deki yanlış cümle sonunu Devanagari danda (।
) ile değiştirir.
Güvenli olmayan HTML temizleme#
“Güvenli html” imi ile açıldığında, HTML markup kodunu temizler.
Ayrıca bakınız
Başta ve sonraki beyaz boşlukları düzeltme#
Başta ve sondaki boşlukları kaynak dizgeyle tutarlı hale getirir. Dizgenin işlenecek bölümlerini atlamak için ignore-begin-space
ve ignore-end-space
imleri ile ince ayar yapılabilir.
Kalite denetimleri#
Weblate, dizgeler üzerinde çok çeşitli kalite denetimleri yapar. Aşağıdaki bölümde bunlar daha ayrıntılı olarak açıklanmaktadır. Ayrıca dile özgü denetimler de vardır. Hatalı çalışan bir denetim varsa lütfen bir hata bildiriminde bulunun.
Ayrıca bakınız
CHECK_LIST
, Parametreleri kullanarak davranışı özelleştirmek
Çeviri denetimleri#
Her çeviri değişikliğinde yapılır ve çevirmenlerin çeviri kalitesini korumasına yardımcı olur.
BBCode kodlaması#
- Özet:
Çevirideki BBCode kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.BBCodeCheck
- Belirteci denetle:
bbcode
- Yok sayılacak im:
ignore-bbcode
BBCode, bir iletinin önemli bölümlerini koyu veya italik olarak vurgulamak gibi basit kod imlerini ele alır.
Bu denetim, kaynaktaki kod imlerinin çeviride de bulunmasını sağlar.
Not
BBCode algılama yöntemi şu anda oldukça basittir. Bu nedenle bu denetim yanlış pozitif sonuçlar verebilir.
Art arda yinelenen sözcükler var#
4.1 sürümünde geldi.
- Özet:
Metinde aynı sözcük üst üste iki kez geçiyor:
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.duplicate.DuplicateCheck
- Belirteci denetle:
duplicate
- Yok sayılacak im:
ignore-duplicate
Bir çeviride ardışık yinelenen sözcüklerin olup olmadığını denetler. Bu durum genellikle çeviride bir hata olduğunu gösterir.
İpucu
Bu denetim, yanlış pozitif sonuçları önlemek için dile özgü kuralları kullanır. Sizin durumunuzda yanlış bir şekilde tetiklenirse, bize bildirin. Bilgi almak için: Weblate sorunlarını bildirmek.
Sözlük ile uyumlu değil#
4.5 sürümünde geldi.
- Özet:
Çeviri, bir sözlükte tanımlanmış terimlerle uyumlu değil.
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.glossary.GlossaryCheck
- Belirteci denetle:
check_glossary
- Etkinleştirilecek im:
check-glossary
- Yok sayılacak im:
ignore-check-glossary
Bu denetimin check-glossary
imi ile açılması gerekir (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek). Lütfen etkinleştirmeden önce şunları göz önüne alın:
Dizgenin çeviri ile tam olarak eşleşip eşlemediğine bakar. Sözlükte tüm çeşitlerdeki terimlerin bulunması beklenir.
Her dizgeyi sözlük ile karşılaştırarak denetlemek zorlayıcı olur. Weblate üzerinde dizgeleri içe aktarma ya da çevirme gibi denetimlerin çalıştırılması gereken tüm işlemleri yavaşlatır.
Ayrıca Çeviri değiştirilmemiş içinde çevrilemez sözlük terimlerini de değerlendirir.
Ayrıca bakınız
Sözlük, Parametreleri kullanarak davranışı özelleştirmek, Çeviri imleri
Çift boşluk#
- Özet:
Çeviride çift boşluk var
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.DoubleSpaceCheck
- Belirteci denetle:
double_space
- Yok sayılacak im:
ignore-double-space
Alanla ilgili diğer denetimlerde yanlış pozitif sonuçları önlemek için çeviride çift boşluk olup olmadığını denetler.
Kaynakta çift boşluk bulunduğunda bunun kasıtlı olduğu varsayılarak denetim yok sayılır.
Biçimlendirilmiş dizgeler#
Kaynak dizgelerdeki biçimlendirmenin çeviride de olup olmadığını denetler. Çeviride biçim dizgelerinin atlanması genellikle ciddi sorunlara neden olur. Bu nedenle dizgelerdeki biçimlendirme genellikle kaynakla aynı olmalıdır.
Weblate, biçim dizgelerinin çeşitli dillerde denetlenmesini destekler. Denetim, yalnızca bir dizge uygun şekilde imlenirse (C biçimi için c-format gibi) kendiliğinden etkinleştirilmez. Gettext bunu kendiliğinden ekler. Ancak büyük olasılıkla diğer dosya biçimleri için ya da PO dosyalarınız xgettext tarafından oluşturulmamışsa el ile eklemeniz gerekir.
Bu, her birim içinde (bilgi almak için Kaynak dizgeler ile ilgili ek bilgiler) ya da Bileşen yapılandırması içinde yapılabilir. Her bileşen için tanımlanması daha basittir. Bununla birlikte dizgenin bir biçimlendirme dizgesi olarak yorumlanmaması yanlış pozitif sonuçlara yol açabilir. Ancak biçim dizgesi söz dizimi kullanılır.
İpucu
Weblate üzerinde belirli bir biçim denetimi yoksa, genel Yer belirticiler seçeneğini kullanabilirsiniz.
Denetimin yanında, bu seçenek çeviri dizgelerine kolayca eklemek için biçimlendirme dizgelerini vurgular:

AngularJS değer ekleme dizgesi#
- Özet:
AngularJS değer ekleme dizgeleri kaynak ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.angularjs.AngularJSInterpolationCheck
- Belirteci denetle:
angularjs_format
- Etkinleştirilecek im:
angularjs-format
- Yok sayılacak im:
ignore-angularjs-format
- Adlandırılmış biçim dizgesi örneği:
Hesap bakiyeniz {{amount}} {{ currency }}
Ayrıca bakınız
C biçimi#
- Özet:
C biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.CFormatCheck
- Belirteci denetle:
c_format
- Etkinleştirilecek im:
c-format
- Yok sayılacak im:
ignore-c-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
- Konum biçim dizgesi örneği:
Hesap bakiyeniz %1$d %2$s
Ayrıca bakınız
C# biçimi#
- Özet:
C# biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.CSharpFormatCheck
- Belirteci denetle:
c_sharp_format
- Etkinleştirilecek im:
c-sharp-format
- Yok sayılacak im:
ignore-c-sharp-format
- Konum biçim dizgesi örneği:
Sepette {0} elma var
Ayrıca bakınız
ECMAScript kalıbı sabitleri#
- Özet:
ECMAScript kalıbı sabitleri kaynakla aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.ESTemplateLiteralsCheck
- Belirteci denetle:
es_format
- Etkinleştirilecek im:
es-format
- Yok sayılacak im:
ignore-es-format
- Değer ekleme örneği:
Sepette ${number} elma var
Ayrıca bakınız
i18next değer eklemesi#
4.0 sürümünde geldi.
- Özet:
I18next değer eklemesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.I18NextInterpolationCheck
- Belirteci denetle:
i18next_interpolation
- Etkinleştirilecek im:
i18next-interpolation
- Yok sayılacak im:
ignore-i18next-interpolation
- Değer ekleme örneği:
Sepette {{number}} elma var
- İç içe geçme örneği:
Sepette $t(number) elma var
Ayrıca bakınız
ICU MessageFormat#
4.9 sürümünde geldi.
- Özet:
ICU MessageFormat dizgelerinde söz dizimi hataları ve/veya yer belirtici uyuşmazlıkları var.
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.icu.ICUMessageFormatCheck
- Belirteci denetle:
icu_message_format
- Etkinleştirilecek im:
icu-message-format
- Yok sayılacak im:
ignore-icu-message-format
- Değer ekleme örneği:
Sepette {number, plural, one {bir elma} other {# elma var}}.
Bu denetim, hem saf ICU MessageFormat iletilerini hem de basit XML kod imleri olan ICU biçimini destekler. XML desteğini seçerek ya da belirli alt denetimleri devre dışı bırakarak icu-flags:*
seçeneği ile bu denetimin davranışını yapılandırabilirsiniz. Örneğin, aşağıdaki im çoğul alt iletilerin doğrulanmasını devre dışı bırakırken XML desteğini etkinleştirir:
icu-message-format, icu-flags:xml:-plural_selectors
|
Basit XML kod imleri desteğini etkinleştirir. Varsayılan olarak, XML kod imleri gevşek bir şekilde işlenir. Bir kod iminin mantıklı bir parçası olmadığında başıboş |
|
Katı XML kod imleri desteğini etkinleştirir. Bir kod iminin parçası değillerse tüm |
|
Düzenleyicide yer belirtici ögelerin vurgulanmasını kapatır. |
|
Alt iletilerde |
|
Alt ileti seçicilerin kaynakla eşleşip eşleşmediği denetimini atlar. |
|
Yer belirtici türlerinin kaynak ile uygunluğu denetimini atlar. |
|
Kaynak dizgede bulunmayan bir yer belirticinin çeviride bulunma denetimini atlar. |
|
Kaynak dizgede bulunan bir yer belirticinin çeviride bulunmama denetimini atlar. |
Ayrıca, strict-xml
etkinleştirilmemiş ancak xml
etkinleştirilmiş olduğunda, tüm XML kod imlerinin belirli bir dizgeyle başlamasını zorunlu kılmak için icu-tag-prefix:PREFIX
imini kullanabilirsiniz. Örneğin, aşağıdaki im, yalnızca <x:
ile başlayan XML kod imlerinin eşleştirilmesini sağlar:
icu-message-format, icu-flags:xml, icu-tag-prefix:"x:"
Bu, <x:link>buraya tıklayın</x:link>
ile eşleşir, ama <strong>bu</strong>
ile eşleşmez.
Java biçimi#
- Özet:
Java biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.JavaFormatCheck
- Belirteci denetle:
java_printf_format
- Etkinleştirilecek im:
java-printf-format
- Yok sayılacak im:
ignore-java-printf-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
- Konum biçim dizgesi örneği:
Hesap bakiyeniz %1$d %2$s
4.14 sürümünde değişti: Bu eskiden java-format
imi ile değiştirilirdi. GNU gettext ile tutarlılık için değiştirildi.
Ayrıca bakınız
Java MessageFormat#
- Özet:
Java MessageFormat dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.JavaMessageFormatCheck
- Belirteci denetle:
java_format
- Koşulsuz olarak etkinleştirilecek im:
java-format
- Kendiliğinden algılamayı etkinleştirecek im:
auto-java-messageformat
, yalnızca kaynakta bir biçim dizgesi varsa denetimi etkinleştirir- Yok sayılacak im:
ignore-java-format
- Konum biçim dizgesi örneği:
Sepette {0} elma var
4.14 sürümünde değişti: Bu eskiden java-messageformat
imi ile değiştiriliyordu. GNU gettext ile tutarlılık için değiştirildi.
Bu denetim, biçim dizgesinin Java MessageFormat sınıfı için geçerli olduğunu doğrular. Yaylı parantezlerdeki biçim dizgelerini eşleştirmenin yanında, özel bir anlamı olduğu için tek tırnakları da doğrular. Tek tırnak ‘’’ şeklinde yazılmalıdır. Eşleştirilmediğinde, alıntılamanın başlangıcı olarak kabul edilir ve dizge işlenirken gösterilmez.
Ayrıca bakınız
JavaScript biçimi#
- Özet:
JavaScript biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.JavaScriptFormatCheck
- Belirteci denetle:
javascript_format
- Etkinleştirilecek im:
javascript-format
- Yok sayılacak im:
ignore-javascript-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
Ayrıca bakınız
Lua biçimi#
- Özet:
Lua biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.LuaFormatCheck
- Belirteci denetle:
lua_format
- Etkinleştirilecek im:
lua-format
- Yok sayılacak im:
ignore-lua-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
Ayrıca bakınız
Object Pascal biçimi#
- Özet:
Object Pascal biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.ObjectPascalFormatCheck
- Belirteci denetle:
object_pascal_format
- Etkinleştirilecek im:
object-pascal-format
- Yok sayılacak im:
ignore-object-pascal-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
Yüzde yer belirticileri#
4.0 sürümünde geldi.
- Özet:
Yüzde yer belirticileri kaynakla aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.PercentPlaceholdersCheck
- Belirteci denetle:
percent_placeholders
- Etkinleştirilecek im:
percent-placeholders
- Yok sayılacak im:
ignore-percent-placeholders
- Basit biçim dizgesi örneği:
Burada %number% elma var
Ayrıca bakınız
Perl biçimi#
- Özet:
Perl biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.PerlFormatCheck
- Belirteci denetle:
perl_format
- Etkinleştirilecek im:
perl-format
- Yok sayılacak im:
ignore-perl-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
- Konum biçim dizgesi örneği:
Hesap bakiyeniz %1$d %2$s
Ayrıca bakınız
Biçimlendirilmiş dizgeler, Perl sprintf, Perl biçim dizgeleri
PHP biçimi#
- Özet:
PHP biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.PHPFormatCheck
- Belirteci denetle:
php_format
- Etkinleştirilecek im:
php-format
- Yok sayılacak im:
ignore-php-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
- Konum biçim dizgesi örneği:
Hesap bakiyeniz %1$d %2$s
Ayrıca bakınız
Biçimlendirilmiş dizgeler, PHP sprintf belgeleri, PHP biçim dizgeleri
Python parantez biçimi#
- Özet:
Python ayracı biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.PythonBraceFormatCheck
- Belirteci denetle:
python_brace_format
- Etkinleştirilecek im:
python-brace-format
- Yok sayılacak im:
ignore-python-brace-format
- Basit biçim dizgesi:
Burada {} elma var
- Adlandırılmış biçim dizgesi örneği:
Hesabınızda {amount} {currency} var
Ayrıca bakınız
Biçimlendirilmiş dizgeler, Python parantez biçimi, Python biçim dizgeleri
Python biçimi#
- Özet:
Python biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.PythonFormatCheck
- Belirteci denetle:
python_format
- Etkinleştirilecek im:
python-format
- Yok sayılacak im:
ignore-python-format
- Basit biçim dizgesi:
Sepette %d elma var
- Adlandırılmış biçim dizgesi örneği:
Hesabınızda %(amount)d %(currency)s var
Qt biçimi#
- Özet:
Qt biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.qt.QtFormatCheck
- Belirteci denetle:
qt_format
- Etkinleştirilecek im:
qt-format
- Yok sayılacak im:
ignore-qt-format
- Konum biçim dizgesi örneği:
Burada %1 elma var
Ayrıca bakınız
Qt çoğul biçimi#
- Özet:
Qt çoğul biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.qt.QtPluralCheck
- Belirteci denetle:
qt_plural_format
- Etkinleştirilecek im:
qt-plural-format
- Yok sayılacak im:
ignore-qt-plural-format
- Çoğul biçim dizgesi örneği:
Burada %Ln elma(lar) var
Ayrıca bakınız
Ruby biçimi#
- Özet:
Ruby biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.ruby.RubyFormatCheck
- Belirteci denetle:
ruby_format
- Etkinleştirilecek im:
ruby-format
- Yok sayılacak im:
ignore-ruby-format
- Basit biçim dizgesi örneği:
Sepette %d elma var
- Konum biçim dizgesi örneği:
Hesabınızda %1$f %2$s var
- Adlandırılmış biçim dizgesi örneği:
Hesabınızda %+.2<amount>f %<currency>s var
- Adlandırılmış kalıp dizgesi:
Hesabınızda %{amount} %{currency} var
Ayrıca bakınız
Şema biçimi#
- Özet:
Şema biçim dizgesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.SchemeFormatCheck
- Belirteci denetle:
scheme_format
- Etkinleştirilecek im:
scheme-format
- Yok sayılacak im:
ignore-scheme-format
- Basit biçim dizgesi örneği:
Burada ~d elma var
Ayrıca bakınız
Biçimlendirilmiş dizgeler, Srfi 28, Chicken şeması biçimi, Guile şeması biçiminde çıktı
Vue I18n biçimlendirmesi#
- Özet:
Vue I18n biçimlendirmesi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.format.VueFormattingCheck
- Belirteci denetle:
vue_format
- Etkinleştirilecek im:
vue-format
- Yok sayılacak im:
ignore-vue-format
- Adlandırılmış biçimlendirme:
Burada {count} elma var
- Rails i18n biçimlendirmesi:
Burada %{count} elma var
- Bağlantılı yerel iletiler:
@:message.dio @:message.the_world!
Ayrıca bakınız
Biçimlendirilmiş dizgeler, Vue I18n biçimi, Vue I18n bağlantılı yerel iletiler
Çevrilmiş#
- Özet:
Bu dizge geçmişte çevrilmiş
- Kapsam:
tüm dizgeler
- Denetim sınıfı:
weblate.checks.consistency.TranslatedCheck
- Belirteci denetle:
translated
- Yok sayılacak im:
ignore-translated
Bir dizgenin zaten çevrilmiş olduğu anlamına gelir. Bu durum, çeviriler sürüm denetimi sisteminden geri alındığında ya da başka bir şekilde kaybolduğunda ortaya çıkabilir.
Tutarsız#
- Özet:
Bu dizge bu projede farklı şekillerde çevrilmiş ya da bazı bileşenlerde çevrilmemiş.
- Kapsam:
tüm dizgeler
- Denetim sınıfı:
weblate.checks.consistency.ConsistencyCheck
- Belirteci denetle:
inconsistent
- Yok sayılacak im:
ignore-inconsistent
Weblate, çeviri tutarlılığını korumanıza yardımcı olmak için bir projedeki tüm çevirilerde aynı dizgenin çevirilerini denetler.
Bir proje içindeki bir dizgenin çevirileri farklıysa hata ortaya çıkar. Bu durum, görüntülenen denetimlerde de tutarsızlıklara yol açabilir. Bu dizgenin diğer çevirilerini Diğer kullanımlar sekmesinde bulabilirsiniz.
Bu denetim, bir projede Çevirilerin yayılmasını sağlamak seçeneği açık olan tüm bileşenlere uygulanır.
İpucu
Başarımı olumsuz etkileyeceğinden, denetim eşleşme sayısını sınırlar ve tüm tutarsızlıkları bulamayabilir.
Not
Bu denetim, dizgenin bir bileşene çevrilip başka bir bileşene çevrilmemesi durumunda da tetiklenir. Bazı bileşenlerde çevrilmemiş dizgeleri el ile hızlı bir şekilde çevirebilmek için, Diğer kullanımlar sekmesindeki her satırda görüntülenen Bu çeviri kullanılsın düğmesine tıklanabilir.
Yeni eklenen ancak başka bir bileşende zaten çevrilmiş olan dizgelerin kendiliğinden çevrilmesi için Kendiliğinden çeviri eklentisini kullanabilirsiniz.
Ayrıca bakınız
Kashida harfi kullanılmış#
3.5 sürümünde geldi.
- Özet:
Dekoratif kashida harfleri kullanılmamalıdır
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.KashidaCheck
- Belirteci denetle:
kashida
- Yok sayılacak im:
ignore-kashida
Dekoratif Kashida harfleri çeviride kullanılmamalıdır. Bunlar Tatweel olarak da bilinir.
Ayrıca bakınız
Markdown bağlantıları#
3.5 sürümünde geldi.
- Özet:
Markdown bağlantıları kaynakla aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.MarkdownLinkCheck
- Belirteci denetle:
md-link
- Etkinleştirilecek im:
md-text
- Yok sayılacak im:
ignore-md-link
Markdown bağlantıları kaynak ile aynı değil.
Ayrıca bakınız
Markdown başvuruları#
3.5 sürümünde geldi.
- Özet:
Markdown bağlantı başvuruları kaynakla aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.MarkdownRefLinkCheck
- Belirteci denetle:
md-reflink
- Etkinleştirilecek im:
md-text
- Yok sayılacak im:
ignore-md-reflink
Markdown bağlantı başvuruları kaynakla aynı değil.
Ayrıca bakınız
Markdown söz dizimi#
3.5 sürümünde geldi.
- Özet:
Markdown söz dizimi kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.MarkdownSyntaxCheck
- Belirteci denetle:
md-syntax
- Etkinleştirilecek im:
md-text
- Yok sayılacak im:
ignore-md-syntax
Markdown söz dizimi kaynaktaki ile aynı değil
Ayrıca bakınız
Çevirinin en fazla uzunluğu#
- Özet:
Çeviri belirtilen uzunluğu aşmamalı
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.MaxLengthCheck
- Belirteci denetle:
max-length
- Etkinleştirilecek im:
max-length
- Yok sayılacak im:
ignore-max-length
Çevirilerin kullanılabilecek alana sığacak şekilde kabul edilebilir uzunlukta olup olmadığını denetler. Bu denetim yalnızca çeviri karakterlerinin uzunluğuna bakar.
Diğer denetimlerden farklı olarak, im max-length:100
gibi bir anahtar:değer
çifti olarak ayarlanmalıdır.
İpucu
Bu denetim, metni işlemek için orantılı yazı tipleri kullanırken en iyi ölçünün ne olmayabileceği hakkında karakter sayısına bakar. Çevirinin en fazla uzunluğu denetimi, metnin gerçek görünümünü denetler.
replacements:
imi, dizgeyi denetlemeden önce yerleştirilebilir ögeleri genişletmek için de yararlı olabilir.
xml-text
imi de kullanıldığında, uzunluk hesaplamasında XML kod imleri yok sayılır.
Çevirinin en fazla uzunluğu#
- Özet:
Çevrilmiş metin belirtilen boyutu aşmamalıdır
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.render.MaxSizeCheck
- Belirteci denetle:
max-size
- Etkinleştirilecek im:
max-size
- Yok sayılacak im:
ignore-max-size
3.7 sürümünde geldi.
Çeviri yapılan metin belirtilen boyuttan uzun olmamalıdır. Metni satır kaydırma ile oluşturur ve belirtilen sınırlara uyup uymadığını denetler.
Bu denetim için bir ya da iki parametre gereklidir. En fazla genişlik ve en fazla satır sayısı. Satır sayısının belirtilmemesi durumunda metin bir satır olarak kabul edilir.
Kullanılan yazı tipini font-*
komutlarıyla da yapılandırabilirsiniz (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek). Örneğin aşağıdaki çeviri imleri, ubuntu yazı tipi boyutu 22 ile oluşturulan metnin iki satıra ve 500 piksele sığması gerektiğini belirtir:
max-size:500:2, font-family:ubuntu, font-size:22
İpucu
Bir bileşendeki tüm dizgelerde aynı yazı tipini yapılandırmak için Bileşen yapılandırması içindeki font-*
komutlarını ayarlamak isteyebilirsiniz. Her dizgeyi ayrı özelleştirmeniz gerekirse bu değerleri her dizgeye özel olarak değiştirebilirsiniz.
replacements:
imi, dizgeyi denetlemeden önce yerleştirilebilir ögeleri genişletmek için de yararlı olabilir.
xml-text
imi de kullanıldığında, uzunluk hesaplamasında XML kod imleri yok sayılır.
\n aynı değil#
- Özet:
Çevirideki\n sabit yeni satır sayısı kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EscapedNewlineCountingCheck
- Belirteci denetle:
escaped_newline
- Yok sayılacak im:
ignore-escaped-newline
Kaçışlı yeni satır kodları genellikle program çıktısını biçimlendirmek için önemlidir. Çevirideki \n
kodlarının sayısı kaynakla aynı değilse denetim hatası oluşur.
İki nokta üst üste farklı#
- Özet:
Kaynağın ve çevirinin ikisi de iki nokta üst üste ile bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndColonCheck
- Belirteci denetle:
end_colon
- Yok sayılacak im:
ignore-end-colon
Kaynaktaki iki nokta üst üste işaretlerinin çeviri ile aynı olup olmadığını denetler. İki nokta üst üste işaretlerinin varlığı, kullanılmadıkları çeşitli dillerde de denetlenir (Çince ya da Japonca gibi).
Ayrıca bakınız
Üç nokta karakteri farklı#
- Özet:
Kaynağın ve çevirinin ikisi de üç nokta karakteri ile bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndEllipsisCheck
- Belirteci denetle:
end_ellipsis
- Yok sayılacak im:
ignore-end-ellipsis
Kaynağın sonundaki üç nokta karakterinin çeviri ile aynı olup olmadığını denetler. Bu denetim yalnızca gerçek üç nokta karakterine (…
) bakar. Üç ayrı nokta karakterini (...
) denetlemez.
Üç nokta karakteri çıktıda genellikle üç ayrı nokta karakterinden daha güzel görüntülenir ve metinden konuşmaya dönüştürme uygulamalarında daha iyi bir ses çıkarır.
Ayrıca bakınız
Ünlem işareti farklı#
- Özet:
Kaynağın ve çevirinin ikisi de ünlem işareti ile bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndExclamationCheck
- Belirteci denetle:
end_exclamation
- Yok sayılacak im:
ignore-end-exclamation
Kaynaktaki ünlem işaretlerinin çeviri ile aynı olup olmadığını denetler. Ünlem işaretlerinin varlığı, kullanılmadıkları çeşitli diller için de denetlenir (Çince, Japonca, Korece, Ermenice, Limbu, Myanmar ya da Nko).
Ayrıca bakınız
Nokta işareti farklı#
- Özet:
Kaynağın ve çevirinin ikisi de nokta ile bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndStopCheck
- Belirteci denetle:
end_stop
- Yok sayılacak im:
ignore-end-stop
Kaynaktaki nokta işaretlerinin çeviri ile aynı olup olmadığını denetler. Nokta işaretlerinin varlığı, kullanılmadıkları çeşitli diller için de denetlenir (Çince, Japonca, Devanagari ya da Urduca).
Ayrıca bakınız
Soru işareti farklı#
- Özet:
Kaynağın ve çevirinin ikisi de soru işareti ile bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndQuestionCheck
- Belirteci denetle:
end_question
- Yok sayılacak im:
ignore-end-question
Kaynaktaki soru işaretlerinin çeviri ile aynı olup olmadığını denetler. Soru işaretlerinin varlığı, kullanılmadıkları çeşitli diller için de denetlenir (Ermenice, Arapça, Çince, Korece, Japonca, Etiyopyaca, Vai ya da Kıpti).
Ayrıca bakınız
Noktalı virgül farklı#
- Özet:
Kaynağın ve çevirinin ikisi de noktalı virgül ile bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndSemicolonCheck
- Belirteci denetle:
end_semicolon
- Yok sayılacak im:
ignore-end-semicolon
Kaynak cümlelerin sonundaki noktalı virgül işaretlerinin çeviri ile aynı olup olmadığını denetler.
Ayrıca bakınız
Satır sonları farklı#
- Özet:
Çevirideki yeni satır sayısı kaynaktaki ile aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.NewLineCountCheck
- Belirteci denetle:
newline-count
- Yok sayılacak im:
ignore-newline-count
Yeni satırlar genellikle program çıktısını biçimlendirmek için önemlidir. Çevirideki yeni satır sayısı kaynakla aynı değilse denetim hatası oluşur.
Çoğul biçim eksik#
- Özet:
Bazı çoğul biçimler çevrilmemiş
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.consistency.PluralsCheck
- Belirteci denetle:
plurals
- Yok sayılacak im:
ignore-plurals
Bir kaynak dizgenin tüm çoğul biçimlerinin çevrilip çevrilmediğini denetler. Her çoğul biçimin nasıl kullanıldığının ayrıntıları dizge tanımında bulunabilir.
Çoğul biçimlerin doldurulmaması, bazı durumlarda çoğul biçim kullanımdayken hiçbir şeyin görüntülenmemesine yol açar.
Yer belirticiler#
3.9 sürümünde geldi.
- Özet:
Çeviride bazı yer belirticiler eksik
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.placeholders.PlaceholderCheck
- Belirteci denetle:
placeholders
- Etkinleştirilecek im:
placeholders
- Yok sayılacak im:
ignore-placeholders
4.3 sürümünde değişti: Kurallı ifadeyi yer belirtici olarak kullanabilirsiniz.
4.13 sürümünde değişti: case-insensitive
imi kullanıldığında, yer belirticiler büyük/küçük harfe duyarsız olarak işlenir.
Çeviride bazı yer belirticiler eksik. Bunlar ya çeviri dosyasından çıkarılır ya da el ile placeholders
imi kullanılarak tanımlanır. Fazlası iki nokta üst üste işaretiyle ayrılabilir, boşluk olan dizgeler alıntılanabilir:
placeholders:$URL$:$TARGET$:"some long text"
Yer belirticiler için belirli söz dizimleriniz varsa, bir kurallı ifade kullanabilirsiniz:
placeholders:r"%[^% ]%"
Büyük/küçük harfe duyarlı olmayan yer belirticileriniz de olabilir:
placeholders:$URL$:$TARGET$,case-insensitive
Ayrıca bakınız
Noktalama aralığı#
3.9 sürümünde geldi.
- Özet:
Çift noktalama işaretinin önündeki birleşik boşluk eksik
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.PunctuationSpacingCheck
- Belirteci denetle:
punctuation_spacing
- Yok sayılacak im:
ignore-punctuation-spacing
Çift noktalama işaretinden önce bölünemeyen boşluk olup olmadığını denetler (ünlem işareti, soru işareti, noktalı virgül ve iki nokta). Bu kural yalnızca Fransızca ya da Breton gibi belirli birkaç dilde kullanılır. Burada çift noktalama işaretinden önce boşluk olması bir yazım kuralıdır.
Ayrıca bakınız
Kurallı ifade#
3.9 sürümünde geldi.
- Özet:
Çevirideki kurallı ifade aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.placeholders.RegexCheck
- Belirteci denetle:
regex
- Etkinleştirilecek im:
regex
- Yok sayılacak im:
ignore-regex
Çeviri kurallı ifadeyle eşleşmiyor. İfade çeviri dosyasından çıkarılır ya da el ile regex
imi kullanılarak tanımlanır:
regex:^foo|bar$
Yeniden kullanılan çeviri#
4.18 sürümünde geldi.
- Özet:
Farklı dizgelerin çevirileri aynı.
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.consistency.ReusedCheck
- Belirteci denetle:
reused
- Yok sayılacak im:
ignore-reused
Farklı kaynak dizgelerde aynı çeviri kullanılmışsa denetim başarısız olur. Bu çeviriler kasıtlı olarak aynı olabilir ancak kullanıcıların kafasını karıştırabilir.
Tekil ile çoğul biçim aynı#
- Özet:
Bazı çoğul biçimler tekil biçimler ile aynı
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.consistency.SamePluralsCheck
- Belirteci denetle:
same-plurals
- Yok sayılacak im:
ignore-same-plurals
Bazı çoğul biçimlerin çeviride aynı olup olmadığını denetler. Çoğu dilde farklı olmaları gerekir.
Başta yeni satır var#
- Özet:
Kaynağın ve çevirinin ikisi de yeni satırla başlamıyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.BeginNewlineCheck
- Belirteci denetle:
begin_newline
- Yok sayılacak im:
ignore-begin-newline
Yeni satırlar genellikle iyi bir nedenden dolayı kaynak dizgelerde görünür. Eksik ya da fazla olması, çevrilmiş metin kullanıma sunulduğunda biçimlendirme sorunlarına yol açabilir.
Ayrıca bakınız
Baştaki boşluk#
- Özet:
Kaynağın ve çevirinin ikisi de aynı sayıda boşlukla başlamıyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.BeginSpaceCheck
- Belirteci denetle:
begin_space
- Yok sayılacak im:
ignore-begin-space
Bir dizgenin başındaki boşluk genellikle arayüzde girinti sağlamak için kullanılır ve bu nedenle korunması önemlidir.
Sondaki yeni satır#
- Özet:
Kaynağın ve çevirinin ikisi de yeni satırla bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndNewlineCheck
- Belirteci denetle:
end_newline
- Yok sayılacak im:
ignore-end-newline
Yeni satırlar genellikle iyi bir nedenden dolayı kaynak dizgelerde görünür. Eksik ya da fazla olması, çevrilmiş metin kullanıma sunulduğunda biçimlendirme sorunlarına yol açabilir.
Ayrıca bakınız
Sondaki boşluk#
- Özet:
Kaynağın ve çevirinin ikisi de boşlukla bitmiyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.EndSpaceCheck
- Belirteci denetle:
end_space
- Yok sayılacak im:
ignore-end-space
Kaynağın sonundaki boşlukların çeviri ile aynı olup olmadığını denetler.
Sondaki boşluk genellikle arkadan gelen ögeleri ayırmak için kullanılır. Bu nedenle kaldırılması görünümü bozabilir.
Çeviri değiştirilmemiş#
- Özet:
Kaynak ile çeviri aynı
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.same.SameCheck
- Belirteci denetle:
same
- Yok sayılacak im:
ignore-same
Kaynak ve karşılık gelen çeviri dizgeleri, çoğul biçimlerden en az birine kadar aynıysa gerçekleşir. Tüm dillerde yaygın olarak bulunan bazı dizgeler yok sayılır ve çeşitli markup kodları ayıklanır. Bu, yanlış pozitif sonuçların sayısını azaltır.
Bu denetim, yanlışlıkla çevrilmemiş dizgelerin bulunmasına yardımcı olabilir.
Bu denetimin varsayılan davranışı, yerleşik kara listeden sözcüklerin denetime katılmamasıdır. Bunlar sıklıkla çevrilmeyen sözcüklerdir. Bu, yalnızca birkaç dilde aynı olan tek bir sözcükten oluşan kısa dizgelerde yanlış pozitif sonuçlardan kaçınmak için yararlıdır. Bu kara liste, dizgeye veya bileşene strict-same
imi eklenerek devre dışı bırakılabilir.
4.17 sürümünde değişti: check-glossary
imiyle (bilgi almak için: Sözlük ile uyumlu değil), çevrilemeyecek sözlük terimleri denetime katılmaması sağlanır.
Güvenli olmayan HTML#
3.9 sürümünde geldi.
- Özet:
Çeviride güvenli olmayan HTML kodlaması var
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.SafeHTMLCheck
- Belirteci denetle:
safe-html
- Etkinleştirilecek im:
safe-html
- Yok sayılacak im:
ignore-safe-html
Çeviride, güvenli olmayan HTML biçimlendirmesi kullanılmış. Bu denetimin safe-html
imiyle etkinleştirilmesi gerekir (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek). İmlemeyi kendiliğinden yapabilen bir kendiliğinden düzeltici de vardır.
İpucu
md-text
imi de kullanıldığında, Markdown biçemindeki bağlantılar da kullanılabilir.
Ayrıca bakınız
HTML denetimi Ammonia kitaplığı kullanılarak yapılır.
Adres#
3.5 sürümünde geldi.
- Özet:
Çeviride bir adres bulunmuyor
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.URLCheck
- Belirteci denetle:
url
- Etkinleştirilecek im:
url
- Yok sayılacak im:
ignore-url
Çeviride bir adres yok. Bu denetim, yalnızca birimin adres içeriyor olarak imlenmesi durumunda tetiklenir. Bu durumda çeviride geçerli bir adres bulunması gerekir.
XML kodlaması#
- Özet:
Çevirideki XML kod imleri kaynakla aynı değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.XMLTagsCheck
- Belirteci denetle:
xml-tags
- Yok sayılacak im:
ignore-xml-tags
Bu durum genellikle sonuçtaki çıktının farklı görüneceği anlamına gelir. Çoğu durumda bu, çevirinin değiştirilmesinden istenen bir sonuç değildir, ancak bazen de öyledir.
Kaynaktaki XML kod imlerinin çeviri ile aynı olup olmadığını denetler.
Denetim, XML benzeri dizgeler için kendiliğinden etkinleştirilir. Açmaya zorlamak için bazı durumlarda xml-text
imini eklemeniz gerekebilir.
Not
safe-html
imi bu denetimi devre dışı bırakır çünkü yaptığı HTML temizliği geçerli bir XML olmayan HTML markup kodu üretebilir.
XML söz dizimi#
- Özet:
Çeviri geçerli bir XML kodu değil
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.markup.XMLValidityCheck
- Belirteci denetle:
xml-invalid
- Yok sayılacak im:
ignore-xml-invalid
XML kod imi geçersiz.
Denetim, XML benzeri dizgeler için kendiliğinden etkinleştirilir. Açmaya zorlamak için bazı durumlarda xml-text
imini eklemeniz gerekebilir.
Not
safe-html
imi bu denetimi devre dışı bırakır çünkü yaptığı HTML temizliği geçerli bir XML olmayan HTML markup kodu üretebilir.
Sıfır genişlikli boşluk#
- Özet:
Çeviride fazladan sıfır genişlikli boşluk karakteri var
- Kapsam:
çevrilmiş dizgeler
- Denetim sınıfı:
weblate.checks.chars.ZeroWidthSpaceCheck
- Belirteci denetle:
zero-width-space
- Yok sayılacak im:
ignore-zero-width-space
Sıfır genişlikli boşluk (<U+200B>) karakterleri, sözcüklerin içindeki iletileri bölmek için kullanılır (sözcük kaydırma için).
Genellikle yanlışlıkla eklendiklerinden, çeviride bulunduklarında bu denetim tetiklenir. Bazı programlarda bu karakter kullanıldığında sorunlar olabilir.
Ayrıca bakınız
Kaynak denetimleri#
Kaynak denetimleri, geliştiricilerin kaynak dizgelerin kalitesini artırmasına yardımcı olabilir.
Üç nokta#
- Özet:
Dizge, üç nokta karakteri (…) yerine üç ayrı nokta (…) kullanıyor
- Kapsam:
kaynak dizgeler
- Denetim sınıfı:
weblate.checks.source.EllipsisCheck
- Belirteci denetle:
ellipsis
- Yok sayılacak im:
ignore-ellipsis
Bu denetim hatası dizgede üç nokta (…
) karakteri kullanılması gerekiyorken üç ayrı nokta (...
) kullanıldığında görülür.
Çoğu durumda Unikod karakterini kullanmak daha iyi bir yaklaşımdır ve daha iyi işlenir. Metinden konuşmaya çevirme uygulamarında da daha iyi bir ses çıkarabilir.
Ayrıca bakınız
ICU MessageFormat söz dizimi#
4.9 sürümünde geldi.
- Özet:
ICU MessageFormat dizgelerinde söz dizimi hataları var.
- Kapsam:
kaynak dizgeler
- Denetim sınıfı:
weblate.checks.icu.ICUSourceCheck
- Belirteci denetle:
icu_message_format_syntax
- Etkinleştirilecek im:
icu-message-format
- Yok sayılacak im:
ignore-icu-message-format
Ayrıca bakınız
Uzun süredir çevrilmemiş#
4.1 sürümünde geldi.
- Özet:
Dizge uzun zamandır çevrilmemiş
- Kapsam:
kaynak dizgeler
- Denetim sınıfı:
weblate.checks.source.LongUntranslatedCheck
- Belirteci denetle:
long_untranslated
- Yok sayılacak im:
ignore-long-untranslated
Dizgenin uzun süredir çevrilmemiş olması, kaynak dizgede çeviri yapmayı zorlaştıran bir sorun olduğunu gösterebilir.
Birden çok denetim hatası#
- Özet:
Birkaç dildeki çevirilerde denetim hataları var
- Kapsam:
kaynak dizgeler
- Denetim sınıfı:
weblate.checks.source.MultipleFailingCheck
- Belirteci denetle:
multiple_failures
- Yok sayılacak im:
ignore-multiple-failures
Bu dizgenin çevirisinde çok sayıda kalite denetimi hatası vardır. Bu durum genellikle kaynak dizgeyi geliştirmek için bir şeyler yapılabileceğini gösterir.
Bu denetim hatası genellikle bir cümlenin sonundaki eksik bir noktadan ya da çevirmenlerin çeviride düzeltme eğiliminde oldukları benzer küçük sorunlardan kaynaklanabilir ve kaynak dizgede düzeltmek daha iyi olacaktır.
Birden çok değişken adlandırılmamış#
4.1 sürümünde geldi.
- Özet:
Dizgede birden çok adlandırılmamış değişken var. Çevirmenler istese de bunların sıralamasını değiştiremez
- Kapsam:
kaynak dizgeler
- Denetim sınıfı:
weblate.checks.format.MultipleUnnamedFormatsCheck
- Belirteci denetle:
unnamed_format
- Yok sayılacak im:
ignore-unnamed-format
Dizgede birden çok adlandırılmamış değişken var. Çevirmenler istese de bunların sıralamasını değiştiremez.
Çevirmenlerin bunların sıralamasını değiştirebilmesi için adlandırılmış değişkenler kullanmayı değerlendirin.
Çoğul değil#
- Özet:
Dizge çoğul olarak kullanılmış. Ancak çoğul biçimler kullanılmamış
- Kapsam:
kaynak dizgeler
- Denetim sınıfı:
weblate.checks.source.OptionalPluralCheck
- Belirteci denetle:
optional_plural
- Yok sayılacak im:
ignore-optional-plural
Dizge çoğul olarak kullanılmış, ancak çoğul biçimleri kullanmıyor. Çeviri sisteminizin bunu desteklemesi durumunda, çoğul farkındalığı olan çeşidini kullanmalısınız.
Örneğin, Python üzerindeki gettext ile şöyle olabilir:
from gettext import ngettext
print(ngettext("Selected %d file", "Selected %d files", files) % files)
Arama#
Dizge arama#
3.9 sürümünde geldi.
İstediğiniz dizgeleri bulmak için boole işlemleri, parantezler veya alana özgü arama kullanan gelişmiş sorgular kullanılabilir.
Herhangi bir alan belirtilmediğinde, arama kaynak, hedef ve bağlam dizgelerinde yapılır.

Basit arama#
Arama kutusuna yazılan herhangi bir ifade sözcüklere ayrılır. Bunlardan herhangi birini içeren dizgeler görüntülenir. İfadenin tümüne uyan dizgeleri aramak için, “arama ifadesini” tırnak arasına alın (tek (’) ya da çift (”) tırnak kullanabilirsiniz): ”Alıntılanmış bir dizge”
ya da 'başka bir alıntılanmış dizge'
gibi.
Alanlar#
source:METİN
Büyük/küçük harfe duyarsız kaynak dizge arama.
target:METİN
Hedef dizgede büyük/küçük harfe duyarsız arama.
context:METİN
Bağlam dizgesinde büyük/küçük harfe duyarsız arama.
key:METİN
Anahtar dizgesinde büyük/küçük harfe duyarsız arama.
note:METİN
Büyük/küçük harfe duyarsız kaynak dizge açıklaması arama.
location:METİN
Konum dizgesinde büyük/küçük harfe duyarsız arama.
priority:SAYI
Dizge önceliği.
id:NUMBER
Eşsiz dizge belirteci.
position:NUMBER
Dizgenin çeviri dosyasındaki konumu.
added:TARİHSAAT
Dizgenin Weblate üzerine ne zaman eklendiğini belirten zaman damgası.
state:METİN
Dizge durumuna göre arama (
approved
,translated
,needs-editing
,empty
,read-only
), Alan işlemleri desteklenir.pending:BOOLEAN
Sürüm denetimi sistemine boşaltılmak üzere bekleyen dizgeler.
has:METİN
Öznitelikleri olan dizgelerde arama -
plural
,context
,suggestion
,comment
,check
,dismissed-check
,translation
,variant
,screenshot
,flags
,explanation
,glossary
,note
,label
.is:METİN
Bekleyen çevirilerde arama (
pending
). Ayrıca tüm dizge durumları da aranabilir (approved
,translated
,untranslated
,needs-editing
,read-only
).language:METİN
Hedef dizge dili.
component:METİN
Bileşen kısaltması ya da adına göre büyük/küçük harfe duyarsız arama. Bilgi almak için: Bileşen kısaltması ve Bileşen adı.
project:METİN
Proje kısaltmasına göre arama. Bilgi almak için: :ref:`project-slug’.
changed_by:METİN
Belirtilen kullanıcı adlı yazar tarafından değiştirilmiş dizgeleri arama.
changed:TARİHSAAT
Belirtilen tarihte içeriği değiştirilmiş dizgeleri arama. Alan işlemleri desteklenir.
change_time:TARİHSAAT
Belirtilen tarihte değiştirilmiş dizgeleri arama. Alan işlemleri desteklenir.
changed
seçeneğinden farklı olarak içerik değiştirilmese dechange_action
için özel işlemlerin süzülmesini sağlar.change_action:METİN
Değişiklik işlemiyle ilgili süzgeçler,
change_time
ile birlikte kullanışlı olur. Değişiklik işleminin İngilizce adını, boşluklar ile tırnak arasında ya da boşluklar yerine tire ile küçük harflerle yazabilirsiniz. Örnekler için Değişiklik arama bölümüne bakabilirsiniz.check:METİN
Denetim hatası olan dizgelerde arama. Denetim belirteçleri için Denetimler ve düzeltmeler bölümüne bakabilirsiniz.
dismissed_check:METİN
Denetim hatası yok sayılan dizgelerde arama. Denetim belirteçleri için Denetimler ve düzeltmeler bölümüne bakabilirsiniz.
comment:METİN
Kullanıcı yorumlarında arama.
resolved_comment:METİN
Çözümlenmiş yorumlarda arama.
comment_author:METİN
Yorum yazarına göre süzme.
suggestion:METİN
Önerilerde arama.
suggestion_author:METİN
Öneri yazarına göre süzme.
explanation:METİN
Açıklamalarda arama.
label:METİN
Etiketlerde arama.
screenshot:METİN
Ekran görüntülerinde arama.
Boole işlemleri#
Karmaşık sorgular oluşturmak için aramaları AND
, OR
, NOT
ve parantez kullanarak birleştirebilirsiniz. Örneğin: state:translated AND (source:hello OR source:bar)
Alan işlemleri#
Tarih veya sayısal aramalar için işlemler, aralıklar veya parçalı aramalar belirtebilirsiniz:
state:>=translated
Durumu
translated
ya da daha iyisi (approved
) olanlar.changed:2019
2019 yılında değiştirilmişler.
changed:[2019-03-01 to 2019-04-01]
Belirtilen iki tarih arasında değiştirilmişler.
position:[10 to 100]
Konumu 10 ile 100 arasında olan dizgeler (10 ve 100 dahil).
Kesin işlemler#
=
işlemini kullanarak farklı dizge alanlarında tam eşleşme sorgusu yapabilirsiniz. Örneğin, merhaba dünya
ile tam olarak eşleşen tüm kaynak dizgeleri aramak için şunu kullanın: source:="hello world”
. Tek sözcüklü ifadeleri aramak için tırnak işaretlerini kullanmayabilirsiniz. Örneğin, merhaba
ile eşleşen tüm kaynak dizgelerini aramak için şunu kullanabilirsiniz: source:=hello
.
Değişiklik arama#
4.4 sürümünde geldi.
Geçmiş kayıtları change_action
ve change_time
ölçütleri kullanılarak aranabilir.
Örneğin, 2018 yılında, düzenlenecek olarak imlenmiş dizgeleri aramak için change_time:2018 AND change_action:marked”-for-edit
ya da change_time:2018 AND change_action:``Marked for edit
kullanılabilir.
Kurallı ifadeler#
Ayrıca metin kabul edilen her yerde, bir kurallı ifadeyi r"kurallıifade"
olarak belirtebilirsiniz.
Örneğin, 2 ile 5 arasında basamağı olan tüm kaynak dizgeleri aramak için source:r"[2-5]"
kullanın.
Hazır sorgular#
Arama sayfasında hazır sorgulardan seçim yapabilirsiniz. Böylece sık yapılan aramaları hızlı bir şekilde kullanabilirsiniz:

Sonuçları sıralamak#
Dizgeleri gerek duyduğunuz biçimde sıralayabileceğiniz birçok seçenek bulunur:

Kullanıcıları aramak#
4.18 sürümünde geldi.
Kullanıcı aramasında benzer arama yetenekleri vardır:
username:METİN
Kullanıcı adlarında arama.
full_name:METİN
Tam adlarda arama.
language:METİN
Kullanıcı tarafından yapılandırılmış çeviri dili (bilgi almak için: Çevrilen diller).
joined:DATETIME
Belirtilen tarihte içeriği değiştirilmiş dizgeleri arama. Alan işlemleri desteklenir.
translates:METİN
Kullanıcının geçen ay belirli bir dile katkıda bulunması.
contributes:METİN
Kullanıcının geçen ay belirli bir projeye veya bileşene katkıda bulunması.
Yönetim arayüzü içinde ek aramalar bulunur:
is:bot
Botları arar (proje kapsamındaki kodlar için kullanılır).
is:active
Etkin kullanıcıları arar.
email:METİN
E-postaya göre arar.
Çeviri iş akışları#
Weblate kullanmak, sizi çevirmenlerinize ve kullanıcılarınıza yaklaştıran bir süreçtir. Hangi özellikleri kullanmak istediğinize siz karar verirsiniz.
Aşağıda, farklı Weblate yapılandırmalarının tümü bulunmuyor. Farklı iş akışlarını burada listelenen yaygın uygulamalara göre yapılandırabilirsiniz.
Çeviri erişimi#
Erişim denetimi, seçeneklerinin çoğu herhangi bir iş akışına uygulanabileceğinden, iş akışlarında tüm ayrıntılarına girilmemiştir. Çevirilere erişimin nasıl yönetileceği ile ilgili bilgi almak için ilgili belgelere bakın.
İzleyen bölümlerde, tüm kullanıcılar, çeviriye erişimi olan bir kullanıcı anlamına gelir. Proje herkese açıksa, kimliği doğrulanmış herhangi bir kullanıcı veya projede Çevirme izni olan bir kullanıcı olabilir.
Çeviri durumları#
Çevrilmiş her dizge şu durumlardan birinde olabilir:
- Çevrilmemiş
Çeviri yapılmamıştır ve boştur. Dosya biçimine bağlı olarak dosyada bulunabilir ya da bulunmayabilir.
- Düzenlenmesi gerekli
Çevirinin düzenlenmesi gereklidir. Genellikle bir kaynak dizge değişikliğinden, belirsiz eşleşmeden veya çevirmen işleminden kaynaklanır. Çeviri, dosya biçimine bağlı olarak dosyada bulunabilir ve düzenlenmesi gerekli şeklinde imlenebilir (örneğin, gettext dosyasında
fuzzy
olarak imlenir).- Onaylanmayı bekliyor
Çeviri yapılmış, ancak onaylanmamıştır. Dosyada geçerli bir çeviri olarak bulunur.
- Onaylanmış
Çeviri onaylanmıştır. Artık çevirmenler tarafından değiştirilemez. Yalnızca onaylayanlar değiştirebilir. Çevirmenler yalnızca öneri ekleyebilir.
Bu durum yalnızca onaylama özelliği etkinleştirildiğinde kullanılabilir.
- Öneriler
Öneriler yalnızca Weblate üzerinde bulunur. Çeviri dosyasında bulunmaz.
Durumlar, çeviri dosyalarında olabildiğince belirtilir.
İpucu
Kullandığınız dosya biçimi durumların kaydedilmesini desteklemiyorsa, değiştirilmemiş dizgeleri düzenlenmesi gerekli olarak imlemek için Değiştirilmemiş çevirileri “Düzenlenmesi gerekli” olarak imleme eklentisini kullanmak isteyebilirsiniz.
Ayrıca bakınız
Doğrudan çeviri#
Bu seçenek küçük takımlar için en yaygın kullanılan kurulumdur. Herkes doğrudan çeviri yapabilir. Varsayılan Weblate kurulumudur.
Tüm kullanıcılar çevirileri düzenleyebilir.
Öneriler, çevirmenlerin çeviride bir değişiklik yapmaktan emin olmadığı durumlarda isteğe bağlı bir değişiklik önerisinde bulunmalarını sağlar.
Ayar |
Değer |
Not |
---|---|---|
Onaylama kullanılsın |
kapalı |
Proje düzeyinde yapılandırılır. |
Öneriler kullanılsın |
açık |
Kullanıcıların emin olmadıkları durumlarda öneri yapabilmeleri açısından yararlıdır. |
Öneriler oylanabilsin |
kapalı |
|
Öneriler kendiliğinden kabul edilsin |
0 |
|
Çevirmenler grubu |
Kullanıcılar |
Ya da per-project access control ile Çevirmek. |
Onaylayıcılar grubu |
Kullanılamaz |
Kullanılmıyor. |
Akran değerlendirmesi#
Bu iş akışında, herkes öneri ekleyebilir. Önerilerin onaylanmış olarak kabul edilmesi için başka üyelerin onaylaması gerekir.
Tüm kullanıcılar öneri ekleyebilir.
Tüm kullanıcılar önerilere oy verebilir.
Önerilerin onaylanmış olarak kabul edilmesi için önceden belirlenmiş sayıda oy alması gerekir.
Ayar |
Değer |
Not |
---|---|---|
Onaylama kullanılsın |
kapalı |
Proje düzeyinde yapılandırılır. |
Öneriler kullanılsın |
açık |
|
Öneriler oylanabilsin |
kapalı |
|
Öneriler kendiliğinden kabul edilsin |
1 |
Daha fazla akran değerlendirmesi gerekmesi için yüksek bir değer ayarlayabilirsiniz. |
Çevirmenler grubu |
Kullanıcılar |
Ya da per-project access control ile Çevirmek. |
Onaylayıcılar grubu |
Kullanılamaz |
Kullanılmadığında, tüm çevirmenler onaylayabilir. |
Özel onaylayanlar#
Özel onaylayanlar kullanıldığında, biri çeviri yapan, diğeri de çevirilerin tutarlılığı ve kalitesini sağlamak için bunları gözden geçirip onaylayan iki kullanıcı grubu bulunur.
Tüm kullanıcılar onaylanmamış çevirileri düzenleyebilir.
Onaylayan dizgeleri onaylayabilir ve onayı kaldırabilir.
Onaylayan tüm çevirileri düzenleyebilir (onaylanmışlar ile birlikte).
Öneriler, onaylanmış dizgelerde değişiklik önermek amacıyla da kullanılabilir.
Ayar |
Değer |
Not |
---|---|---|
Onaylama kullanılsın |
açık |
Proje düzeyinde yapılandırılır. |
Öneriler kullanılsın |
kapalı |
Kullanıcıların emin olmadıkları durumlarda öneri yapabilmeleri açısından yararlıdır. |
Öneriler oylanabilsin |
kapalı |
|
Öneriler kendiliğinden kabul edilsin |
0 |
|
Çevirmenler grubu |
Kullanıcılar |
Ya da per-project access control ile Çevirmek. |
Onaylayıcılar grubu |
Onaylayanlar |
Ya da per-project access control ile Onayla kullanılabilir. |
Onaylama özelliğini açmak#
Onaylama özelliği, proje yapılandırmasında, proje ayarlarındaki İş akışı bölümünden açılabilir (Yönetim → Ayarlar yoluyla bulabilirsiniz):

Kaynak dizgeler için kalite aracısı#
Çoğu durumda, özgün kaynak dil dizgeleri geliştiricilerden gelir. Çünkü kodu yazma ve ilk dizgeleri sağlama işini onlar yapar. Bununla birlikte, geliştiricilerin ana dili genellikle kaynak dil değildir ve kaynak dizgeler için istenilen kaliteyi sağlayamazlar. Ara çeviri bu sorunu çözmenize yardımcı olabilir. Geliştiriciler, çevirmenler ve kullanıcılar arasındaki dizgeler için kullanılabilecek bir ek kalite aracısı vardır.
Ara dil dosyası ayarlandığında, bu dosya dizgeler için kaynak olarak kullanılır. Ancak güzelleştirmek için kaynak dile göre düzenlenir. Dizge kaynak dilde hazır olduğunda, çevirmenlerin diğer dillere çevirmesi için de kullanılabilir.
Ayrıca bakınız
Ara dil dosyası, Tek dilli temel dil dosyası, İki dilli ve tek dilli biçimler
Kaynak dizge onayları#
Kaynak onaylama kullanılsın seçeneği etkinleştirildiğinde, onaylama işlemi kaynak dizgelere de uygulanabilir. Bu seçenek etkinleştirildikten sonra, kullanıcılar kaynak dizgelerdeki sorunları bildirebilir. Gerçek süreç, iki dilli ya da tek dilli biçimleri kullanıp kullanmadığınıza göre değişir.
Tek dilli biçimlerde, kaynak dizge incelemesi Özel onaylayanlar ile benzer şekilde davranır. Kaynak dizge için bir sorun bildirildiğinde dizge Düzenlenmesi gerekli olarak imlenir.
İki dilli biçimlerde, kaynak dizgelerin doğrudan düzenlenmesine izin verilmez (bunlar genellikle doğrudan kaynak kodundan ayıklanır). Bu durumda çevirmenler tarafından bildirilen dizgelere Kaynağın incelenmesi gerekli etiketi eklenir. Bu dizgeleri gözden geçirerek kaynağı düzenlemeniz ya da etiketi kaldırmanız gerekir.
Ayrıca bakınız
İki dilli ve tek dilli biçimler, Özel onaylayanlar, Dizge etiketleri, Yorumlar
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.
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 gönderebilir.
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 ç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.
# 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
Ayrıca bakınız
Çok platformlu projeler nasıl çevrilir?#
Weblate çok çeşitli dosya biçimlerini destekler (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 (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 gönderir ve birleştirir (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.
Ç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 kodunuzu içeren 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 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.
Ayrıca bakınız
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 (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
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ı devre dışı bırakın: ref:project. 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 etkinleştirin.
Kullanım#
Başkalarının çevirilerini nasıl onaylarım?#
Weblate üzerinde kullanılabilen birkaç onaylama tabanlı iş akışı bulunur. 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 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.
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
Kendiliğinden önerileri yapılandırmak, Kendiliğinden öneriler, Çeviri belleği
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
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
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:
Sürüm denetim deposunu yönetmek içinden çeviri bileşenini kilitleyin.
Sürüm denetim deposunu yönetmek içinde bekleyen değişiklikleri gönderin.
Weblate değişikliklerini yukarı akış deposuna aktarın.
Kancalar kullanılsın ile kancalar üzerinden güncellemelerin alınmasını devre dışı bırakı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ı etkinleştirin 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
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, 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. 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. 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. Bilgi almak için: Dil tanımları.
Ayrıca bakınız
Desteklenen dosya biçimleri#
Weblate, çok çeşitli çeviri biçimlerini destekler. Her biçimin farklı yetenekler sağlayan farklı özellikleri vardır.
İpucu
Uygulamanız için bir dosya biçimi seçerken, kullandığınız araç takımında/platformda iyi çalışan bir biçime bağlı kalmak daha iyidir. Böylece, çevirmenleriniz alışkın oldukları araçları kullanabilir ve projenize katkıda bulunulma olasılığı yükselir.
Android dizge kaynakları#
Uygulamaları çevirmek için özel Android dosya biçimi.
Android dizge kaynakları tek dillidir, Tek dilli temel dil dosyası diğer dosyalardan farklı bir konumda tutulur – res/values/strings.xml
.
Not
Android string-array yapıları şu anda desteklenmiyor. Bu soruna çözmek için, dizge dizilerinizi birbirinden ayırabilirsiniz:
<string-array name="several_strings">
<item>First string</item>
<item>Second string</item>
</string-array>
şuna dönüşür:
<string-array name="several_strings">
<item>@string/several_strings_0</item>
<item>@string/several_strings_1</item>
</string-array>
<string name="several_strings_0">First string</string>
<string name="several_strings_1">Second string</string>
String bileşenlerini gösteren string-array farklı bir dosyada tutulmalı ve çevrilecek olarak sunulmamalıdır.
Bu betik, var olan dizgeler.xml dosyalarınızı ve çevirilerinizi önceden işlemenize yardımcı olabilir: https://gist.github.com/paour/11291062
İpucu
Bazı dizgelerin çevrilmesini önlemek için, bunlar çevrilemez olarak imlenebilir. Bu seçenek özellikle dizge başvuruları için kullanışlı olabilir:
<string name="foobar" translatable="false">@string/foo</string>
Ayrıca bakınız
Android dizge kaynakları belgeleri, Android string resources
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Android dizgesi kaynağı |
Apple iOS dizgeleri#
Dosya biçimi genellikle Apple:index:iOS <pair: iOS; translation> uygulamalarını çevirmek için kullanılır. Ancak PWG 5100.13 ile standartlaştırılır ve NeXTSTEP/OpenSTEP üzerinde kullanılır.
Apple iOS dizgeleri genellikle tek dilli çeviriler olarak kullanılır.
Ayrıca bakınız
Stringsdict biçimi, Apple “dizge dosyaları” belgeleri, ` PWG 5100.13 İleti Kataloğu Dosya Biçimi <http://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf#page=66>`_, Mac OSX strings
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
iOS dizgeleri (UTF-8) |
Uygulama mağazası üst veri dosyaları#
3.5 sürümünde geldi.
Çeşitli uygulama mağazalarında uygulama yayınlamak için kullanılan üst veriler çevrilebilir. Şu anda şu araçlar uyumludur:
Üst veriler, Weblate tarafından çevrilmek üzere ayrı dizgeler olarak sunulacak birkaç metin dosyasından oluşur.
İpucu
Belirli dizgeleri (örneğin değişiklik günlükleri) çevirmek istemiyorsanız, bunları salt okunur olarak işaretleyin (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek). Bu işlem, Toplu düzenleme ile kendiliğinden yapılabilir.
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
App store üst veri dosyaları |
ARB dosyası#
4.1 sürümünde geldi.
ARB çevirileri tek dillidir. Bu nedenle (en sık kullanılan) İngilizce dizgeleri bulunan bir temel dosya belirtmeniz önerilir.
Ayrıca bakınız
JSON, Application Resource Bundle Specification, Internationalizing Flutter apps, Hedef dil dosyalarını güncellemek, JSON çıktısını özelleştirme, Çeviri dosyalarını temizleme
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
ARB dosyası |
CSV dosyaları#
CSV dosyaları basit bir kaynak ve çeviri listesi içerebilir. Weblate şu dosyaları destekler:
Üst bilgi olarak tanımlayıcı alanları bulunan dosyalar (
location
,source
,target
,ID
,fuzzy
,context
,translator_comments
,developer_comments
). En az hataya eğilimli olduğundan bu yaklaşım önerilir. Dosya biçimi olarak CSV dosyası seçin.İki alanı olan dosyalar: Kaynak ve çeviri (bu sırayla). Dosya biçimi olarak :guilabel:`Basit CSV dosyası seçin.
Translate-toolkit tarafından sıralaması şöyle tanımlanmış alanlarla üst bilgileri olmayan dosyalar:
location
,source
,target
,ID
,fuzzy
,context
,translator_comments
,developer_comments
. Dosya biçimi olarak CSV dosyası seçin.Dosyalarınız tek dilli olduğunda Tek dilli temel dil dosyası tanımlamayı unutmayın (bilgi almak için: İki dilli ve tek dilli biçimler).
İpucu
Varsayılan olarak, CSV biçimi dosya kodlamasının kendiliğinden algılanmasını sağlar. Bu davranış, bazı uç durumlarda güvenilmez olabilir ve başarımın düşmesine yol açabilir. Bunu önlemek için lütfen kodlamalı dosya biçimi çeşidini seçin (CSV dosyası (UTF-8) gibi).
Uyarı
CSV biçimi şu anda CSV dosyasının lehçesini otomatik olarak algılar. Bazı durumlarda kendiliğinden algılama yapılamayabilir ve karışık sonuçlar alırsınız. Bu, özellikle değerlerde yeni satırlar bulunan CSV dosyaları için geçerlidir. Geçici bir çözüm olarak, alıntı karakterlerini atlamanız önerilir.
Ayrıca bakınız
Çok değerli CSV dosyası#
4.13 sürümünde geldi.
CSV dosyalarının bu çeşidi, bir dizge için birden çok çevirinin tutulmasını sağlar.
Örnek dosyalar#
Örnek dosya:
Thank you for using Weblate.,Děkujeme za použití Weblate.
Weblate yapılandırması#
İki dilli CSV için tipik Weblate Bileşen yapılandırması dosyası |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
Boş |
Yeni çeviriler kalıbı |
|
Dosya biçimi |
CSV dosyası |
Tek dilli CSV için tipik Weblate Bileşen yapılandırması dosyası |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
Basit CSV dosyası |
DTD dosyaları#
Ayrıca bakınız
Örnek DTD dosyası:
<!ENTITY hello "">
<!ENTITY orangutan "">
<!ENTITY try "">
<!ENTITY thanks "">
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
DTD dosyası |
Excel Open XML#
3.2 sürümünde geldi.
Excel Açık XML (.xlsx) dosyaları içe ve dışa aktarılabilir.
XLSX dosyalarını çeviri için yüklerken, yalnızca etkin çalışma sayfasının dikkate alındığını ve en azından source
adlı bir sütun (kaynak dizgenin bulunduğu) ve target
adlı bir sütun (çevirinin bulunduğu) olması gerektiğini unutmayın. Ek olarak, context
adlı bir sütun (çeviri dizgesinin bağlam yolunun bulunduğu) olmalıdır. Çevirileri bir Excel çalışma kitabı olarak dışa aktarmak için XLSX indirmesini kullanırsanız, doğru biçimde bir dosya alırsınız.
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
Excel Open XML |
Düz XML dosyaları#
3.9 sürümünde geldi.
Ayrıca bakınız
Düz XML dosyası örneği:
<?xml version='1.0' encoding='UTF-8'?>
<root>
<str key="hello_world">Hello World!</str>
<str key="resource_key">Translated value.</str>
</root>
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Düz XML dosyası |
Fluent biçimi#
4.8 sürümünde geldi.
Not
Bu biçimin desteği şu anda geliştirme aşamasında. Bazı özellikler henüz kullanılamıyor olabilir ve davranışları sürümler arasında değişiklik gösterebilir. Denemelerinizle ilgili geri bildirimlerinizi bekliyoruz.
Fluent, asimetrik yerelleştirmeye odaklanmış tek dilli bir metin biçimidir: Bir dildeki basit bir dizge, başka bir dildeki karmaşık bir çok değişkenli çeviriyle eşleştirilebilir.
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Fluent dosyası |
GNU gettext#
Özgür yazılımları çevirmek için en yaygın olarak kullanılan biçim.
Dosyada depolanan bağlamsal bilgiler, üst bilgileri ayarlanarak veya ilgili kaynak dosyalarla bağlantı kurularak sağlanabilir.
Ayrıca bakınız
GNU gettext ile yazılım çevirisi, Sphinx kullanarak belgeleri çevirmek, Vikipedi üzerinde Gettext, PO Files, “configure” dosyasındaki ALL_LINGUAS değişkeni güncelleme, Gettext çıktısını özelleştirme, LINGUAS dosyasını güncelleme, MO dosyaları üretme, PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge)
Tek dilli gettext#
Bazı projeler tek dilli biçimler için gettext kullanmaya karar verir. Yalnızca kaynak kodlarındaki kimlikleri kodlarlar ve dizgenin İngilizce ile birlikte tüm dillere çevrilmesi gerekir. Bu yöntem desteklenir, ancak bileşenleri Weblate içine aktarırken açıkça bu dosya biçimini seçmeniz gerekir.
Örnek dosyalar#
İki dilli Gettext PO dosyası genellikle şöyle görünür:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"
#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"
Tek dilli Gettext PO dosyası genellikle şöyle görünür:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"
#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"
Temel dil dosyası şöyle olacaktır:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"
#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"
Weblate yapılandırması#
İki dilli gettext için tipik Weblate Bileşen yapılandırması dosyası |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
Boş |
Yeni çeviriler kalıbı |
|
Dosya biçimi |
Gettext PO dosyası |
Tek dilli gettext için tipik Weblate Bileşen yapılandırması dosyası |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
Gettext PO dosyası (tek dilli) |
go-i18n JSON dosyaları#
4.1 sürümünde geldi.
4.16 sürümünde değişti: Bu biçimin 2. sürümü için destek eklendi.
go-i18n çevirileri tek dillidir. Bu nedenle (en sık kullanılan) İngilizce dizgeleri bulunan bir temel dosya belirtmeniz önerilir.
Not
Weblate, go-i18n JSON 1. ve 2. sürümlerini destekler. Lütfen ortamınıza uyan doğru dosya biçimini seçin.
Ayrıca bakınız
JSON, go-i18n, Hedef dil dosyalarını güncellemek, JSON çıktısını özelleştirme, Çeviri dosyalarını temizleme,
Weblate yapılandırması#
V1 için tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
go-i18n v1 JSON dosyası |
V2 için tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
go-i18n v2 JSON dosyası |
gotext JSON dosyaları#
4.15.1 sürümünde geldi.
gotext çevirileri tek dillidir. Bu nedenle (en sık kullanılan) İngilizce dizgeleri bulunan bir temel dosya belirtmeniz önerilir.
Ayrıca bakınız
JSON, Go ile I18n: Çeviri yönetimi, Hedef dil dosyalarını güncellemek, JSON çıktısını özelleştirme, Çeviri dosyalarını temizleme,
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
gotext JSON dosyası |
GWT özellikleri#
Çeviriler için yerel GWT biçimi.
GWT özellikleri genellikle tek dilli çeviriler olarak kullanılır.
Ayrıca bakınız
GWT yerelleştirme rehberi, GWT yerelleştirme eğitimi, Mozilla and Java properties files, Hedef dil dosyalarını güncellemek, Java özellikleri dosyasını biçimlendirme, Çeviri dosyalarını temizleme
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
GWT özellikleri |
HTML dosyaları#
4.1 sürümünde geldi.
Çevrilebilir içerik HTML dosyalarından ayıklanır ve çevrilmek üzere sunulur.
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
HTML dosyası |
i18next JSON dosyaları#
4.15.1 sürümünde değişti: Bu biçimin 4. sürümü için destek eklendi.
İpucu
Çoğul biçimleri kullanıyorsanız, CLDR ile uyumlu olarak işlenmesi için 4. sürümü kullanmanız önerilir. Eski sürümlerde, bazı diller için doğru olmayan farklı çoğul kuralları var.
i18next, JavaScript ile ve JavaScript için yazılmış bir yerelleştirme çatısıdır. Weblate, bu yerelleştirme dosyalarını çoğul biçimler gibi özelliklerle destekler.
i18next çevirileri tek dillidir. Bu nedenle (en sık kullanılan) İngilizce dizgeleri olan bir temel dosya belirtmeniz önerilir.
Not
Weblate, i18next JSON 3. ve 4. sürümlerini destekler. Lütfen ortamınıza uyan doğru dosya biçimini seçin.
The v2 and v1 variants are mostly compatible with v3, with exception of how plurals are handled.
Ayrıca bakınız
JSON, i18next JSON biçimi, Hedef dil dosyalarını güncellemek, JSON çıktısını özelleştirme, Çeviri dosyalarını temizleme
Örnek dosya:
{
"hello": "Hello",
"apple": "I have an apple",
"apple_plural": "I have {{count}} apples",
"apple_negative": "I have no apples"
}
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
i18next JSON dosyası v3 |
IDML biçimi#
4.1 sürümünde geldi.
Çevrilebilir içerik, Adobe InDesign markup dili dosyalarından ayıklanır ve çevrilmek üzere sunulur.
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
IDML dosyası |
INI çevirileri#
4.1 sürümünde geldi.
Çeviriler için INI dosya biçimi. Weblate şu anda JSON çevirilerinin birkaç çeşidini destekler:
Tek dilli INI dosyaları
INI çevirileri genellikle tek dilli çeviriler olarak kullanılır.
Not
Weblate, yalnızca bir INI dosyasındaki bölümlerden anahtarları ayıklar. INI dosyanızda bölümler yoksa, bunun yerine Joomla! çevirileri ya da Java özellikleri kullanmak isteyebilirsiniz.
Ayrıca bakınız
INI Files, Java özellikleri, Joomla! çevirileri, Inno Setup INI çevirileri
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
INI dosyası |
Inno Setup INI çevirileri#
4.1 sürümünde geldi.
Çeviriler için Inno Setup INI dosya biçimi.
Inno Setup INI çevirileri genellikle tek dilli çeviriler olarak kullanılır.
Not
INI çevirileri ile arasındaki dikkate değer tek fark, satır sonu için %n
ve sekme için %t
kodlarının desteklenmesidir.
Not
Şu anda yalnızca Unicode dosyaları (.islu
) destekleniyor. ANSI çeşidi (.isl
) şu anda desteklenmiyor.
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Inno Setup INI dosyası |
Java özellikleri#
Çeviriler için doğal Java biçimi.
Java özellikleri genellikle tek dilli çeviriler olarak kullanılır.
Weblate, bu biçimin ISO-8859-1, UTF-8 ve UTF-16 çeşitlerini destekler. Hepsi tüm Unicode karakterlerinin tutulmasını destekler, yalnızca farklı şekilde kodlanmıştır. ISO-8859-1 içinde, Unicode kaçış dizileri kullanılır (zkou\u0161ka
gibi), diğerlerinde karakterler doğrudan UTF-8 ya da UTF-16 olarak kodlanır.
Not
Kaçış dizilerinin yüklenmesi UTF-8 kipinde de çalışır. Bu nedenle lütfen uygulama gereksinimlerinize uygun doğru kodlama kümesini seçerken dikkatli olun.
Ayrıca bakınız
Vikipedi üzerinde Java özellikleri, Mozilla and Java properties files, mi18n lang dosyaları, GWT özellikleri, Hedef dil dosyalarını güncellemek, Java özellikleri dosyasını biçimlendirme, Çeviri dosyalarını temizleme
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Java Properties (ISO-8859-1) |
Joomla! çevirileri#
Çeviriler için doğal Joomla! biçimi.
Joomla çevirileri genellikle tek dilli çeviriler olarak kullanılır.
Ayrıca bakınız
Mozilla and Java properties files, INI çevirileri, Inno Setup INI çevirileri
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Joomla dil dosyası |
JSON dosyaları#
4.3 sürümünde değişti: JSON dosyasının yapısı, önceki sürümlerde bozulmaya yol açan karmaşık durumlar için bile uygun şekilde korunur.
JSON biçimi çoğunlukla JavaScript içine eklenmiş uygulamaları çevirmek için kullanılır.
Weblate şu anda JSON çevirilerinin birkaç çeşidini destekler:
vue-i18n ya da react-intl gibi basit anahtar / değer dosyaları tarafından kullanılır.
İç içe anahtarları olan dosyalar.
JSON çevirileri genellikle tek dillidir. Bu nedenle (en sık kullanılan) İngilizce dizgeleri bulunan bir temel dosya belirtmeniz önerilir.
İpucu
JSON dosyası ve JSON iç içe geçmiş yapı dosyası aynı tür dosyaları işleyebilir. İkisi de çeviri yaparken var olan JSON yapısını korur.
Aralarındaki tek fark, Weblate kullanarak yeni dizgeler eklerken. İç içe geçmiş yapı biçimi yeni eklenen anahtarı ayrıştırır ve yeni dizgeyi eşleşen yapıya ekler. Örneğin app.name
anahtarı şöyle eklenir:
{
"app": {
"name": "Weblate"
}
}
Ayrıca bakınız
JSON, Hedef dil dosyalarını güncellemek, JSON çıktısını özelleştirme, Çeviri dosyalarını temizleme,
Örnek dosyalar#
Örnek dosya:
{
"Hello, world!\n": "Ahoj světe!\n",
"Orangutan has %d banana.\n": "",
"Try Weblate at https://demo.weblate.org/!\n": "",
"Thank you for using Weblate.": ""
}
İç içe geçmiş dosyalar da desteklenir (gereksinimler için yukarıya bakın). Böyle bir dosya şöyle görünebilir:
{
"weblate": {
"hello": "Ahoj světe!\n",
"orangutan": "",
"try": "",
"thanks": ""
}
}
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
`JSON iç içe geçmiş yapı dosyası’ |
Laravel PHP dizgeleri#
4.1 sürümünde değişti.
Laravel PHP yerelleştirme dosyaları çoğul biçimler ile desteklenir:
<?php
return [
'welcome' => 'Welcome to our application',
'apples' => 'There is one apple|There are many apples',
];
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
`Laravel PHP dizgeleri |
mi18n lang dosyaları#
4.7 sürümünde geldi.
JavaScript yerelleştirmesi için kullanılan dosya biçimi mi18n. Sözdizimsel olarak Java özellikleri ile eşleşir.
Ayrıca bakınız
mi18n, Mozilla and Java properties files, Java özellikleri, Hedef dil dosyalarını güncellemek, Java özellikleri dosyasını biçimlendirme, Çeviri dosyalarını temizleme
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
mi18n lang dosyası |
OpenDocument biçimi#
4.1 sürümünde geldi.
Çevrilebilir içerik OpenDocument dosyalarından ayıklanır ve çevrilmek üzere sunulur.
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
OpenDocument dosyası |
PHP dizgeleri#
PHP çevirileri genellikle tek dillidir. Bu nedenle (en sık kullanılan) İngilizce dizgeleri bulunan bir temel dosya belirtmeniz önerilir.
Weblate şu anda PHP çevirilerinin birkaç çeşidini destekler:
Çeşitli söz dizimlerinde tek dilli PHP dizgeleri
Örnek dosya:
<?php
$LANG['foo'] = 'bar';
$LANG['foo1'] = 'foo bar';
$LANG['foo2'] = 'foo bar baz';
$LANG['foo3'] = 'foo bar baz bag';
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
PHP dizgeleri |
Qt Linguist .ts#
Qt temelli uygulamalarda kullanılan çeviri biçimi.
Qt Linguist dosyaları iki dilde ve tek dilde çeviriler için kullanılabilir.
Ayrıca bakınız
Qt Linguist rehberi, Qt .ts, İki dilli ve tek dilli biçimler
Weblate yapılandırması#
İki dilli olarak kullanıldığında tipik Weblate bileşeni |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
Boş |
Yeni çeviriler kalıbı |
|
Dosya biçimi |
Qt Linguist çeviri dosyası |
Tek dilli olarak kullanıldığında tipik Weblate bileşeni |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
Qt Linguist çeviri dosyası |
ResourceDictionary dosyaları#
4.13 sürümünde geldi.
ResourceDictionary, Windows Presentation Foundation (WPF) uygulamaları için yerelleştirilebilir dizge kaynaklarını paketlemek için kullanılan tek dilli bir XML dosya biçimidir.
Ayrıca bakınız
Flat XML, Düz XML dosyaları, Hedef dil dosyalarını güncellemek, Çeviri dosyalarını temizleme
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
ResourceDictionary dosyası |
RESX .NET kaynak dosyaları#
.XML kaynağı (.resx) dosyası, Microsoft .NET uygulamalarında kullanılan tek dilli XML dosya biçimini kullanır. `.resx <https://lingohub.com/developers/resource-files/resw-resx-localization> ile aynı söz dizimini kullanırken .resw ile değiştirilebilir`_.
Ayrıca bakınız
.NET Resource files (.resx), Hedef dil dosyalarını güncellemek, Çeviri dosyalarını temizleme
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
.NET kaynak dosyası |
Ruby YAML dosyaları#
Kök düğüm olarak dil ile Ruby i18n YAML dosyaları.
Ayrıca bakınız
Ruby i18n YAML dosyası örneği:
cs:
weblate:
hello: ""
orangutan: ""
try: ""
thanks: ""
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Ruby YAML dosyası |
Stringsdict biçimi#
4.8 sürümünde geldi.
Apple tarafından kullanılan ve bir dizgenin çoğul biçimlerini tutabilen XML tabanlı biçim.
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
Stringsdict dosyası |
Alt yazı dosyaları#
3.7 sürümünde geldi.
Weblate çeşitli altyazı dosyalarını çevirebilir:
SubRip alt yazı dosyası (
*.srt
)MicroDVD alt yazı dosyası (
*.sub
)Advanced Substation Alpha alt yazı dosyası (
*.ass
)Substation Alpha alt yazı dosyası (
*.ssa
)
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
SubRip alt yazı dosyası |
TermBase eXchange biçimi#
Kaynak dizge açıklaması |
4.5 sürümünde geldi.
TBX, terminoloji verilerinin alış verişinde kullanılan bir XML biçimidir.
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
Boş |
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
TermBase eXchange dosyası |
Metin dosyaları#
4.6 sürümünde geldi.
Çevrilebilir içerik düz metin dosyalarından ayıklanır ve çevrilmek üzere sunulur. Her paragraf ayrı bir dizge olarak çevrilir.
Bu biçimin üç çeşidi vardır:
Düz metin dosyası
DokuWiki metin dosyası
MediaWiki metin dosyası
Ayrıca bakınız
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
`Düz metin dosyası |
WebExtension JSON#
Mozilla Firefox ya da Google Chromium uzantılarını çevirirken kullanılan dosya biçimi.
Not
Bu biçim JSON olarak adlandırılsa da, teknik özellikleri JSON teknik özelliklerinin dışında kalan yorumların kullanılmasını da sağlar. Weblate şu anda yorumların bulunduğu dosya türünü desteklemiyor.
Ayrıca bakınız
Örnek dosya:
{
"hello": {
"message": "Ahoj světe!\n",
"description": "Description",
"placeholders": {
"url": {
"content": "$1",
"example": "https://developer.mozilla.org"
}
}
},
"orangutan": {
"message": "Orangutan has $coUnT$ bananas",
"description": "Description",
"placeholders": {
"count": {
"content": "$1",
"example": "5"
}
}
},
"try": {
"message": "",
"description": "Description"
},
"thanks": {
"message": "",
"description": "Description"
}
}
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
WebExtension JSON dosyası |
Windows RC dosyaları#
4.1 sürümünde değişti: Windows RC dosyaları desteği yeniden yazıldı.
Not
Bu biçimin desteği şu anda geliştirme aşamasında. Bazı özellikler henüz kullanılamıyor olabilir ve davranışları sürümler arasında değişiklik gösterebilir. Denemelerinizle ilgili geri bildirimlerinizi bekliyoruz.
RC dosyaları, Windows uygulamaları için çevrilebilir metinleri, iletişim pencerelerini ve menüleri yerelleştirmek için kullanılan dil dosyalarıdır.
Ayrıca bakınız
Örnek dosyalar#
Windows RC dosyası örneği:
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_MSG1 "Hello, world!\n"
IDS_MSG2 "Orangutan has %d banana.\n"
IDS_MSG3 "Try Weblate at http://demo.weblate.org/!\n"
IDS_MSG4 "Thank you for using Weblate."
END
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
RC dosyası |
XLIFF#
XML temelli biçim, çeviri dosyalarını standartlaştırmak için oluşturulmuştur. Ancak sonuçta bu alandaki <https://xkcd.com/927/> birçok standarttan biridir.
XML yerelleştirme değişim dosyası biçimi (XLIFF) genellikle iki dilli olarak kullanılır. Ancak Weblate bunun tek dilli olarak kullanılmasını da destekler.
Weblate, birkaç çeşitte XLIFF desteği sunar:
- XLIFF çeviri dosyası
Bileşenlerin içeriğinin düz metin olarak tutulduğu basit XLIFF dosyası (tüm XML bileşenlerinden kaçış).
- `Yerleştirilebilir destekli XLIFF’
Yerleştirilebilir ögeleri ve diğer XML ögelerini destekleyen standart XLIFF.
- gettext uzantılı XLIFF
XLIFF, çoğul biçimleri desteklemek için Gettext PO için XLIFF 1.2 Gösterim Rehberi ile zenginleştirilmiştir.
Ayrıca bakınız
XML yerelleştirme değişim dosyası biçimi (XLIFF) teknik özellikleri, Gettext PO için XLIFF 1.2 gösterim rehberi, Vikipedi üzerinde XLIFF, XLIFF,
Çeviri durumları#
3.3 sürümünde değişti: Weblate, 3.3 sürümünden önce state
özniteliğini yok sayıyordu.
Dosyadaki state
özniteliği kısmen işlenir ve Weblate üzerindeki Düzenlenmesi gerekli
durumuyla eşleştirilir (şu durumlar, bir hedef varsa dizgeyi düzenlenmesi gerekli olarak imlemek için kullanılır: new
, needs-translation
, needs-adaptation
, needs-l10n
). state
özniteliği eksikse, bir dizge bir <target>
bileşeni var olur olmaz çevrilmiş olarak değerlendirilir.
Çeviri dizgesinde approved="yes”
varsa, Onaylanmış
olarak Weblate içine aktarılır. Diğer her şey Onaylanmayı bekliyor` (XLIFF teknik özellikleriyle eşleşen) olarak içe aktarılır.
Kaydedilirken, Weblate gerekli olmadıkça bu öznitelikleri eklemez:
state
özniteliği yalnızca dizgenin düzenlenmesi gerekli olarak imlenmesi durumunda eklenir.Onaylanmı
özniteliği yalnızca dizgenin onaylanması durumunda eklenir.Diğer durumlarda öznitelikler eklenmez. Ancak var olmaları durumunda güncellenirler.
XLIFF biçimini kullanırken, dizgelerin onaylanmış durumunu görmek ve değiştirmek için Weblate onaylama özelliğini açmanız önemle önerilir.
Benzer şekilde, bu tür dosyaları içe aktarırken (yükleme formunda), Düzenlenmesi gerekli dizgelere yapılacak işlem olarak Çeviri olarak eklensin seçeneğini seçmelisiniz.
Ayrıca bakınız
XLIFF dosyasında boşluk ve yeni satırlar#
XML biçimleri arasında boşluk türleri ya da miktarları genellikle ayırt edilmez. Korumak istiyorsanız, dizgeye xml:space="preserve”
imini eklemeniz gerekir.
Örnek:
<trans-unit id="10" approved="yes">
<source xml:space="preserve">hello</source>
<target xml:space="preserve">Hello, world!
</target>
</trans-unit>
Çeviri imlerini belirtmek#
weblate-flags
özniteliğini kullanarak ek çeviri imleri belirtebilirsiniz (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek). Weblate ayrıca XLIFF Taknik özelliklerindeki maxwidth
ve font
özniteliklerini de anlar:
<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
<source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
<source>Hello %s</source>
</trans-unit>
font
özniteliği yazı tipi ailesi, boyutu ve ağırlığı için işlenir. Yukarıdaki örnekte bunların tümünü görebilirsiniz. Ancak yalnızca yazı tipi ailesi gereklidir. Yazı tipi ailesindeki herhangi bir boşluk alt çizgiye dönüştürülür. Bu nedenle Source Sans Pro
, Source_Sans_Pro
olur. Lütfen yazı tipi grubunu adlandırırken bunu aklınızda bulundurun (bilgi almak için: Yazı tiplerini yönetmek).
Ayrıca bakınız
Dizge anahtarları#
Weblate, XLIFF dosyasındaki birimleri, var olması durumunda resname
özniteliğiyle tanımlar ve id
kullanmaya döner (varsa file
kod imi ile birlikte).
resname
özniteliğinin, birimin insan dostu belirteci olması ve Weblate üzerinde id
yerine görüntülenmesini daha uygun biçime getirmesi beklenir. resname
, tüm XLIFF dosyasında benzersiz olmalıdır. Bu durum Weblate için gereklidir ve XLIFF standardı kapsamında değildir. Özniteliğe herhangi bir benzersizlik kısıtlaması getirmez.
Weblate yapılandırması#
İki dilli XLIFF için tipik Weblate bileşeni |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
Boş |
Yeni çeviriler kalıbı |
|
Dosya biçimi |
XLIFF çeviri dosyası |
Tek dilli XLIFF için tipik Weblate bileşeni |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
XLIFF çeviri dosyası |
YAML dosyaları#
Dizge anahtarları ve değerleri bulunan düz YAML dosyaları. Weblate ayrıca listelerden ya da sözlüklerden dizgeleri ayıklar.
Weblate şu anda YAML çevirilerinin birkaç çeşidini destekler:
İç içe anahtarları olan dosyalar.
Ayrıca bakınız
YAML dosyası örneği:
weblate:
hello: ""
orangutan": ""
try": ""
thanks": ""
Weblate yapılandırması#
Tipik Weblate Bileşen yapılandırması |
|
---|---|
Dosya maskesi |
|
Tek dilli temel dil dosyası |
|
Yeni çeviriler kalıbı |
Boş |
Dosya biçimi |
YAML dosyası |
Ayrıca bakınız
Kendiliğinden algılama#
Weblate, Çeviri projelerini ve bileşenleri eklemek sırasında dosya biçimini algılamaya çalışır. Aynı serileştirme biçiminin (JSON, YAML, özellikler) ya da dosya kodlamasının farklı çeşitleri yanlış algılanabilir. Bu nedenle lütfen bileşeni oluşturmadan önce Dosya biçimi değerinin doğru olduğundan emin olun.
Çeviri türü yetenekleri#
Biçim |
Dil bilgisi [1] |
Çoğullar [2] |
Açıklamalar [3] |
Bağlam [4] |
Konum [5] |
İmler [8] |
Ek durumlar [6] |
---|---|---|---|---|---|---|---|
iki dilde |
evet |
evet |
evet |
evet |
evet [9] |
düzenlenmesi gerekli |
|
tek |
evet |
evet |
evet |
evet |
evet [9] |
düzenlenmesi gerekli |
|
ikisi de |
evet |
evet |
evet |
evet |
evet |
düzenlenmesi gerekli, onaylanmış |
|
ikisi de |
hayır |
evet |
hayır |
hayır |
hayır |
||
tek |
hayır |
evet |
hayır |
hayır |
hayır |
||
tek |
evet |
evet |
hayır |
hayır |
hayır |
||
tek |
hayır |
evet |
hayır |
evet |
hayır |
||
ikisi de |
evet |
evet |
hayır |
evet |
evet |
düzenlenmesi gerekli |
|
tek |
evet |
evet [7] |
hayır |
hayır |
evet |
||
ikisi de |
hayır |
evet |
hayır |
hayır |
hayır |
||
tek |
hayır [10] |
evet |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
evet |
hayır |
hayır |
hayır |
hayır |
||
tek |
evet |
evet |
hayır |
hayır |
hayır |
||
tek |
evet |
evet |
hayır |
evet |
hayır |
||
tek |
evet |
evet |
hayır |
hayır |
hayır |
||
tek |
evet |
evet |
hayır |
hayır |
hayır |
||
tek |
hayır |
evet |
hayır |
hayır |
evet |
||
tek |
hayır |
hayır |
hayır |
hayır |
evet |
||
ikisi de |
hayır |
evet |
evet |
evet |
hayır |
düzenlenmesi gerekli |
|
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
evet |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
evet |
||
tek |
hayır |
evet |
hayır |
hayır |
hayır |
||
tek |
hayır |
evet |
evet |
evet |
hayır |
düzenlenmesi gerekli |
|
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
evet |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
iki dilde |
hayır |
evet |
hayır |
hayır |
evet |
||
tek |
hayır |
hayır |
hayır |
hayır |
hayır |
||
tek |
evet |
hayır |
hayır |
hayır |
hayır |
||
tek |
hayır [11] |
evet |
hayır |
hayır |
hayır |
İki dilli ve tek dilli biçimler#
Hem tek dilli hem de iki dilli biçimler desteklenir. İki dilli biçimler iki dili tek bir dosyada tutar. Kaynak ve çeviri (tipik örnekler GNU gettext, XLIFF ya da Apple iOS dizgeleri). Diğer taraftan, tek dilli biçimler dizgeyi kimliğine göre tanımlar ve her dil dosyasında yalnızca bunların belirli bir dille eşleşmesi bulunur (genellikle Android dizge kaynakları). Bazı dosya biçimleri her iki çeşit için de kullanılır. Aşağıda ayrıntılı açıklamayı bulabilirsiniz.
Tek dilli dosyaların doğru kullanımı için Weblate, kaynaklarıyla çevrilecek dizgelerin tam listesinin bulunduğu bir dosyaya erişmelidir. Bu dosyaya Weblate içinde Tek dilli temel dil dosyası adı verilir. Ancak adlandırma yapınızda bu ad değişebilir.
Ayrıca, bu iş akışı, geliştiriciler tarafından sağlanan dizgeleri kapsayacak şekilde Ara dil dosyası kullanılarak genişletilebilir. Ancak son dizgelerde olduğu gibi kullanılmamalıdır.
Dizge durumları#
Çoğu dosya biçimi yalnızca “Çevrilmemiş” ve “Çevrilmiş” dizgeleri birbirinden ayırır. Bazı biçimlerde, “Düzenlenmesi gerekli” ya da “Onaylanmış” gibi daha ayrıntılı durum bilgileri tutulabilir.
Kaynak dizge açıklaması#
Kaynak dizge açıklamaları, çevrilecek dizge ile ilgili ek bilgiler vermek için kullanılabilir.
Çeşitli biçimler çevirmenlere ek bilgi sağlamak için yerel destek sağlar (XLIFF, GNU gettext, WebExtension JSON, CSV dosyaları, Excel Open XML, : ref:qtling, go-i18n JSON dosyaları, gotext JSON dosyaları, ARB dosyası, RESX .NET kaynak dosyaları gibi). Diğer birçok biçim, kaynak dizge açıklaması olarak en yakın yorumu işler.
Açıklama#
Dizgelerdeki Açıklama birkaç dosya biçiminde tutulabilir ve işlenebilir.
Şu anda yalnızca TermBase eXchange biçimi ile destekleniyor.
Kaynak dizge konumu#
Bir dizgenin kaynak kodundaki konumu, yetkin çevirmenlerin dizgenin nasıl kullanıldığını anlamalarına yardımcı olabilir.
Bu bilgiler genellikle dizgelerin araçlar kullanılarak kaynak koddan ayıklandığı iki dilli biçimlerde bulunur. Örneğin GNU gettext ve Qt Linguist .ts.
Çeviri imleri#
Çeviri imleri, Weblate davranışının özelleştirilmesini sağlar. Bazı biçimler, imlerin çeviri dosyasında tanımlanmasını destekler (Weblate arayüzünden her zaman tanımlayabilirsiniz. Bilgi almak için: :ref:`custom-checks’).
Bu özellik, GNU gettext içindeki imlerde modellenmiştir.
İmler, tüm XML tabanlı biçimler için standart olmayan weblate-flags
özniteliğinden ayıklanır. Ek olarak, max-length:N
, XLIFF standardında tanımlandığı gibi maxwidth
özniteliği ile desteklenir. Bilgi almak için: Çeviri imlerini belirtmek.
Bağlam#
Bağlam, farklı kapsamlarda kullanılan özdeş dizgeleri ayırt etmek için kullanılır (örneğin, İngilizce Sun, “Pazar” gününün kısaltılmış biçimi olarak ya da bize en yakın yıldızın adı olarak kullanılabilir).
Tek dilli biçimler için dizge belirteci (genellikle anahtar olarak adlandırılır) aynı amaca hizmet edebilir ve ek bağlam gerekli değildir.
Çoğul biçimli dizgeler#
Çoğul biçimler, değişken sayısı olan dizgeleri doğru yerelleştirmek için gereklidir. Kurallar hedef dile bağlıdır ve birçok biçim bunun için CLDR teknik özelliklerini kullanılır.
İpucu
Çoğul biçimli dizgeler uygulama çatısı tarafından da desteklenmelidir. Platformunuza uygun GNU gettext, :ref:`aresource’ ya da :ref:’stringsdict’ yerel biçimini seçin.
Salt okunur dizgeler#
3.10 sürümünde geldi.
Çeviri dosyalarındaki salt okunur dizgeler de alınır. Ancak Weblate üzerinde düzenlenemez. Bu özellik yerel olarak birkaç biçim (XLIFF ve Android dizge kaynakları) tarafından desteklenir. Ancak salt okunur
imi eklenerek diğerlerinde taklit edilebilir. Bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek.
Diğer biçimlerin desteği#
Serileştirmeyi destekleyen translate-toolkit tarafından desteklenen çoğu biçim kolayca desteklenebilir. Ancak (henüz) herhangi bir deneme yapılmamıştır. Çoğu durumda, farklı translate-toolkit depolarının davranış farklılıklarını gizlemek için Weblate üzerinde bazı ince katmanlar gereklidir.
Yeni bir biçim desteği eklemek için yeğlenen yaklaşım, önce translate-toolkit içine bu biçim için desteği eklemektir.
Ayrıca bakınız
Sürüm denetimi bütünleştirmesi#
Weblate şu anda Git (gelişmiş destek ile GitHub çekme istekleri, GitLab birleştirme istekleri, Gitea çekme isteği, Gerrit, Subversion ve Bitbucket sunucusu çekme isteği) ve Mercurial sürüm denetimi sistemlerini destekliyor.
Depolara erişmek#
Kullanmak istediğiniz sürüm denetimi deposuna Weblate üzerinden erişilebiliyor olması gerekir. Herkese açık olan bir depoda doğru adresi yazmanız yeterlidir (https://github.com/WeblateOrg/weblate.git
gibi). Ancak gizli depolar ya da itme adresleri için kurulum daha karmaşıktır ve kimlik doğrulaması gerekir.
Hosted Weblate üzerinden depolara erişmek#
Hosted Weblate için GitHub, Bitbucket, Codeberg ve GitLab üzerinde kayıtlı özel bir itme kullanıcısı bulunur (kullanıcı adı weblate, e-posta adresi hosted@weblate.org
ve adı Weblate push user olan). Bu kullanıcıyı katılımcı olarak eklemeniz ve deponuza uygun izni vermeniz gerekir (kopyalama için salt okunur izni uygundur, itme için yazma izni gereklidir). Hizmete ve kuruluş ayarlarınıza bağlı olarak, bu işlem hemen yapılır ya da Weblate tarafında onay gerekir.
GitHub üzerindeki weblate kullanıcısı davetleri beş dakika içinde kendiliğinden kabul eder. Diğer hizmetlerde işlemi el ile yapmak gerekebilir, bu nedenle lütfen sabırlı olun.
weblate kullanıcısı eklendikten sonra, SSH iletişim kuralını kullanarak Kaynak kod deposu ve Depo itme adresi değerlerini yapılandırabilirsiniz (örneğin git@github.com:WeblateOrg/weblate.git
).
SSH depoları#
Gizli depolara erişmek için en sık kullanılan yöntem SSH kullanmaktır. Herkese açık Weblate SSH anahtarını (bilgi almak için: Weblate SSH anahtarı) yukarı akış deposuna bu şekilde erişmesi için yetkilendirin.
Uyarı
GitHub üzerinde her anahtar yalnızca bir kez kullanılabilir. Bilgi almak için: GitHub depoları ve Hosted Weblate üzerinden depolara erişmek.
Weblate ayrıca ilk bağlantıda sunucu anahtarının parmak izini saklar ve daha sonra değişmesi durumunda sunucu ile bağlantı kuramaz (bilgi almak için: SSH sunucu anahtarlarını doğrulamak).
Ayarlama yapılması gerektiğinde, bunu Weblate yönetim arayüzünden yapın:

Weblate SSH anahtarı#
4.17 sürümünde değişti: Weblate artık hem RSA hem de Ed25519 SSH anahtarları üretebiliyor. Yeni kurulumlar için Ed25519 kullanılması önerilir.
Tüm kullanıcılar herkese açık Weblate anahtarını, Hakkında sayfasında görebilir.
Yöneticiler, yönetim arayüzü açılış sayfasında (SSH anahtarları bölümünden) Weblate tarafından bağlantıda kullanılmakta olan herkese açık anahtarı oluşturabilir veya görüntüleyebilir.
Not
İlgili kişisel SSH anahtarının şu anda bir parolası olamaz. Bu nedenle iyi korunduğundan emin olun.
İpucu
Oluşturulan kişisel Weblate SSH anahtarının yedeğini alın.
SSH sunucu anahtarlarını doğrulamak#
Weblate, SSH sunucu anahtarlarını ilk kez eriştiğinde kendiliğinden depolar ve sonraki kullanımlar için hatırlar.
Depoya bağlanmadan önce anahtar parmak izini doğrulamak isterseniz, erişeceğiniz sunucuların SSH sunucu anahtarlarını yönetim arayüzünün aynı bölümünden Sunucu anahtarı ekle ile ekleyin. Erişeceğiniz sunucu adını yazın (gitlab.com
gibi) ve Gönder üzerine basın. Parmak izinin eklediğiniz sunucuyla eşleştiğini doğrulayın.
Parmak izli eklenen anahtarlar onay iletisinde görüntülenir:

GitHub depoları#
SSH üzerinden erişilebilir (bilgi almak için: SSH depoları). Ancak birden fazla depoya erişmeniz gerekirse, izin verilen SSH anahtarı kullanımında uyarısı ile bir GitHub sınırlamasıyla karşılaşırsınız (her anahtar yalnızca bir kez kullanılabilir).
İtme işleminin yapılacağı dal ayarlanmamışsa, proje dallanır ve değişiklikler bir daldan itilir. Ayarlanmış ise, değişiklikler yukarı akış deposuna ve seçilen dala itilir.
Daha küçük dağıtımlar için, kişisel erişim belirteci ve GitHub hesabınızla HTTPS kimlik doğrulaması kullanın. Bilgi almak için: Komut satırı kullanımı için erişim belirteci oluşturmak.
Daha büyük kurulumlar için, Weblate için özel bir kullanıcı oluşturmak, Weblate üzerinde oluşturulan genel SSH anahtarını atamak (bilgi almak için: Weblate SSH anahtarı) ve çevirmek istediğiniz tüm depolara erişim izni vermek genellikle daha iyidir. Bu yaklaşım Hosted Weblate için de kullanılır. Bunun için özel bir weblate kullanıcısı vardır.
Ayrıca bakınız
İç Weblate adresleri#
Bir depo kurulumunu, diğer (bağlantılı) bileşenlerde weblate://project/component
olarak konumlandırılmasına atıfta bulunarak farklı bileşenler arasında paylaşın. Bu şekilde bağlantılı bileşenler, ana (başvurulan) bileşenin sürüm denetimi sistemi deposu yapılandırmasını kullanır.
Uyarı
Ana bileşenin kaldırılması, bağlantılı bileşenleri de kaldırır.
Weblate, eşleşen bir depo kurulumu olan bir bileşen bulursa, bileşen oluştururken depo adresini kendiliğinden ayarlar. Bileşen yapılandırmasının son adımında bunu değiştirebilirsiniz.
Bunun kullanılma nedenleri:
Sunucuda daha az disk alanı kullanır, depo yalnızca bir kez kaydedilir.
Güncellemelerin daha hızlı yapılmasını sağlar, yalnızca bir depo güncellenir.
Weblate çevirilerinin bulunduğu yalnızca tek bir depo dışa aktarılır (bilgi almak için: Git dışa aktarıcı).
Bazı eklentiler bir depoyu paylaşan birden fazla bileşen üzerinde çalışabilir. Örneğin Git işlemelerini bir araya toplar.
HTTPS depoları#
Korunmuş HTTPS depolarına erişmek için adrese kullanıcı adını ve parolayı ekleyin. Endişelenmeyin, Weblate, adresi kullanıcılara görüntülerken (depo adresinin görülmesine izin verilse bile) bu bilgileri çıkarır.
Örneğin, kimlik doğrulaması eklenmiş GitHub adresi şöyle görünebilir: https://kullanıcı:erişim_kodunuz@github.com/WeblateOrg/weblate.git
.
Not
Kullanıcı adınızda ya da parolanızda özel karakterler varsa, bunların URL olarak kodlanması gerekir. Örneğin ``https://kullanıcı%40örnek.com:%24parola%23@bitbucket.org/…’’.
Vekil sunucu kullanmak#
Bir vekil sunucu kullanarak HTTP/HTTPS sürüm denetimi sistemi depolarına erişmeniz gerekiyorsa, sürüm denetimi sistemini bunu kullanacak şekilde yapılandırın.
Bunun için, http_proxy
, https_proxy
ve all_proxy
ortam değişkenlerini kullanın (bilgi almak için: cURL belgeleri) ya da sürüm denetimi sistemi yapılandırmasından dayatın. Örneğin:
git config --global http.proxy http://user:password@proxy.example.com:80
Not
Vekil sunucu yapılandırmasının Weblate çalıştıran kullanıcı ile (ayrıca bilgi almak için: Dosya sistemi izinleri) ve HOME=$DATA_DIR/home
(bilgi almak için: DATA_DIR
) yolunda yapılması gerekir. Yoksa Weblate tarafından yürütülen Git bunu kullanmaz.
Ayrıca bakınız
Git#
İpucu
Weblate için Git 2.12 ya da daha yeni sürümü gereklidir.
Ayrıca bakınız
Farklı türde depolara nasıl erişileceği ile ilgili bilgi almak için: Depolara erişmek.
Git (itme dayatması ile)#
Bu tam olarak Git gibi davranır. Tek fark her zaman itmenin dayatılmasıdır. Yalnızca çeviriler için ayrı bir depo kullanılması durumunda seçilmesi amaçlanmıştır.
Uyarı
Dikkatli kullanın, çünkü kolayca yukarı akış deponuzda eksik işlemelere yol açar.
Git yapılandırmasını özelleştirmek#
Weblate, tüm sürüm denetimi sistemi komutlarını HOME=$DATA_DIR/home
ile çağırır (bilgi almak için DATA_DIR
). Bu nedenle kullanıcı yapılandırması DATA_DIR/home/.git
içinde düzenlenmelidir.
Git uzak yardımcıları#
Ek olarak diğer sürüm denetim sistemlerini desteklemek için Git remote helpers kullanabilirsiniz. Ancak bunun yol açabileceği sorunları çözmeye hazır olmalısınız.
Şu anda, Bazaar ve Mercurial yardımcıları GitHub üzerindeki ayrı depolarda bulunabilir: git-remote-hg ve git-remote-bzr. Bunları el ile indirin ve arama yolunuzda bir yere koyun (~/bin
gibi). İlgili sürüm denetim sistemlerinin kurulmuş olduğundan emin olun.
Kurduktan sonra, bu uzak yardımcılar Weblate üzerinde bir depo belirtmek için kullanılabilir.
Bazaar kullanarak Launchpad üzerindeki gnuselam
projesini kopyalamak için:
bzr::lp:gnuhello
Mercurial kullanarak selenic.com üzerindeki selam
deposu için:
hg::http://selenic.com/repo/hello
Uyarı
Git uzak yardımcılarını kullanmanın zorluğu, örneğin Mercurial üzerinde, uzak yardımcının değişiklikleri geri iterken yeni bir ipucu oluşturmasıdır.
GitHub çekme istekleri#
Bu yöntem, Git üzerine çeviri değişikliklerini doğrudan depoya itmek yerine GitHub API ile çekme istekleri olarak itmeyi sağlayan ince bir katman ekler.
Git değişiklikleri doğrudan bir depoya iterken, GitHub çekme istekleri çekme istekleri oluşturur. İkincisi, yalnızca Git depolarına erişmek için gerekmez.
Bunun çalışması için Weblate ayarlarında API kimlik doğrulama bilgilerini (GITHUB_CREDENTIALS
) yapılandırmanız gerekir. Yapılandırdığınızda, Sürüm denetimi sistemi seçerken GitHub seçeneğini göreceksiniz.
Ayrıca bakınız
GitLab birleştirme istekleri#
3.9 sürümünde geldi.
Bu yöntem, Git üzerine çeviri değişikliklerini doğrudan depoya itmek yerine, GitLab API ile birleştirme istekleri olarak itmeyi sağlayan ince bir katman ekler.
Git depolarına erişmek için bunu kullanmak gerekmez. Sıradan Git aynı şekilde çalışır. Tek fark bir depoya itme işleminin nasıl yapıldığıdır. Git ile değişiklikler doğrudan depoya itilirken, GitLab birleştirme istekleri birleştirme isteği oluşturur.
Bunun çalışması için Weblate ayarlarından API kimlik doğrulama bilgilerini (GITLAB_CREDENTIALS
) yapılandırmanız gerekir. Yapılandırdığınızda sonra, Sürüm denetimi sistemi seçerken GitLab seçeneğini göreceksiniz.
Ayrıca bakınız
Gitea çekme isteği#
4.12 sürümünde geldi.
Bu yöntem, Git üzerine çeviri değişikliklerini doğrudan depoya itmek yerine Gitea API ile çekme istekleri olarak itmeyi sağlayan ince bir katman ekler.
Git depolarına erişmek için bunu kullanmak gerekmez. Sıradan Git aynı şekilde çalışır. Tek fark bir depoya itme işleminin nasıl yapıldığıdır. Git ile değişiklikler doğrudan depoya itilirken, Gitea çekme isteği birleştirme isteği oluşturur.
Bunun çalışması için Weblate ayarlarında API kimlik doğrulama bilgilerini (GITEA_CREDENTIALS
) yapılandırmanız gerekir. Yapılandırdığınızda, Sürüm denetimi sistemi seçerken Gitea seçeneğini göreceksiniz.
Ayrıca bakınız
Bitbucket sunucusu çekme isteği#
4.16 sürümünde geldi.
Bu yöntem, Git üzerine çeviri değişikliklerini doğrudan depoya itmek yerine Bitbucket sunucu API ile çekme istekleri olarak itmeyi sağlayan ince bir katman ekler.
Uyarı
Bu yöntemde, Bitbucket Cloud API desteği yoktur.
Git depolarına erişmek için bunu kullanmak gerekmez. Sıradan Git aynı şekilde çalışır. Tek fark bir depoya itme işleminin nasıl yapıldığıdır. Git ile değişiklikler doğrudan depoya itilirken, Bitbucket sunucusu çekme isteği birleştirme isteği oluşturur.
Bunun çalışması için Weblate ayarlarında API kimlik doğrulama bilgilerini (BITBUCKETSERVER_CREDENTIALS
) yapılandırmanız gerekir. Yapılandırdığınızda, Sürüm denetimi sistemi seçerken Bitbucket sunucusu seçeneğini göreceksiniz.
Ayrıca bakınız
Weblate üzerindeki değişiklikleri itmek,
BITBUCKETSERVER_CREDENTIALS
Pagure birleştirme istekleri#
4.3.2 sürümünde geldi.
Bu yöntem, Git üzerine çeviri değişikliklerini doğrudan depoya itmek yerine, Pagure API ile birleştirme istekleri olarak itmeyi sağlayan ince bir katman ekler.
Git depolarına erişmek için bunu kullanmak gerekmez. Sıradan Git aynı şekilde çalışır. Tek fark bir depoya itme işleminin nasıl yapıldığıdır. Git ile değişiklikler doğrudan depoya itilirken, Pagure birleştirme istekleri birleştirme isteği oluşturur.
Bunun çalışması için Weblate ayarlarında API kimlik doğrulama bilgilerini (PAGURE_CREDENTIALS
) yapılandırmanız gerekir. Yapılandırdığınızda, Sürüm denetimi sistemi seçerken Pagure seçeneğini göreceksiniz.
Ayrıca bakınız
Gerrit#
Bu yöntem git-review aracını kullanarak, Git üzerine çeviri değişikliklerini doğrudan depoya itmek yerine Gerrit onaylama istekleri olarak itmeyi sağlayan ince bir katman ekler.
Gerrit belgelerinde, bu tür depoları kurmak için gerekli yapılandırma bilgilerini bulabilirsiniz.
Mercurial#
Mercurial, doğrudan Weblate içinden kullanabileceğiniz başka bir sürüm denetimi sistemidir.
Not
Herhangi bir Mercurial sürümüyle çalışmalıdır. Ancak bazen komut satırı arayüzünde Weblate bütünleştirmesini bozan uyumsuz değişiklikler olabilir.
Ayrıca bakınız
Farklı türde depolara nasıl erişileceği ile ilgili bilgi almak için: Depolara erişmek.
Subversion#
Weblate, subversion depolarıyla etkileşim kurmak için git-svn kullanır. Subversion depolarının bir Git istemcisi tarafından kullanılması ve kullanıcıların iç deponun tam bir kopyasını alarak yerelde işleme yapabilmesi bir Perl betiği tarafından sağlanır.
Not
Weblate, Subversion depo düzenini kendiliğinden algılamayı dener. Hem dal için doğrudan adresleri hem de standart düzendeki depoları (branches/ , tags/ ve trunk/) destekler. Bu konuda bilgi almak için git-svn belgeleri bölümüne bakabilirsiniz. Deponuzun düzeni standart değilse ve hatalarla karşılaşırsanız, dal adını depo adresine eklemeyi ve dalı boş bırakmayı deneyin.
Subversion kimlik doğrulama bilgileri#
Weblate, sertifikayı (ve gerekirse kimlik doğrulama bilgilerinizi) önceden onaylamış olmanızı bekler. Bunları DATA_DIR
klasörüne eklemeye çalışır. $HOME ortam değişkeninin DATA_DIR
olarak ayarlanmış olduğunu denetleyin ve svn kullanarak sertifikayı onaylayın:
# Use DATA_DIR as configured in Weblate settings.py, it is /app/data in the Docker
HOME=${DATA_DIR}/home svn co https://svn.example.com/example
Ayrıca bakınız
Yerel dosyalar#
İpucu
Bunun altında Git kullanılır. Git kurulu olmalıdır. Tüm geçmişleriyle birlikte çevirileriniz için doğal biçimde Git kullanmaya geçmenizi sağlar.
3.8 sürümünde geldi.
Weblate, uzak sürüm denetimi sistemi olmadan da çalışabilir. İlk çeviriler yüklenerek içe aktarılır. Daha sonra tek tek dosyalar dosya yükleme ile değiştirebilir ya da doğrudan Weblate üzerinden çeviri dizgeleri eklenebilir (şu anda yalnızca tek dilli çeviriler için kullanılabilir).
Arka planda Weblate sizin için bir Git deposu oluşturur ve tüm değişiklikler izlenir. Daha sonra çevirileri depolamak için bir sürüm denetimi sistemi kullanmaya karar verirseniz, Bütünleştirmenizde kullanabileceğiniz deponuz Weblate içinde hazır olur.
Weblate REST API uygulaması#
API erişimi için /api/
adresi kullanılabilir. API Django REST framework üzerine geliştirilmiştir. Doğrudan ya da :ref:`wlc’ ile kullanabilirsiniz.
Kimlik doğrulama ve genel parametreler#
Herkese açık proje API uygulaması kimlik doğrulaması olmadan kullanılabilir. Ancak kimliği doğrulanmamış istekler yoğun şekilde kısıtlanır (varsayılan olarak günde 100 istek). Bu nedenle kimlik doğrulamasının kullanılması önerilir. Kimlik doğrulamasında, profilinizden alabileceğiniz bir kod kullanılır. Bunu Yetkilendirme
üst bilgisinde kullanın:
- ANY /#
API için genel istek davranışı, buradaki üst bilgiler, durum kodları ve parametreler tüm uç noktalara da uygulanır.
- Sorgu parametreleri:
format – Yanıt biçimi (Accept değiştirir). Olası değerler REST çatısının kurulumuna bağlıdır. Varsayılan olarak
json
veapi
desteklenir. İkincisi, API için tarayıcı arayüzünü sağlar.page – Sayfalanmış sonuçların belirtilen sayfasını görüntüler (gezinmeyi otomatikleştirmek için yanıtta next ve previous alanlarını kullanın).
- İstek üst bilgileri:
Authorization – Kimlik doğrulaması için
Authorization: Token BELIRTECİNİZ
olarak isteğe bağlı belirteç
- Yanıt üst bilgileri:
Content-Type – bu parametre, isteğin Accept üst bilgisine bağlıdır
Allow – Nesne için izin verilen HTTP yöntemlerinin listesi
- Yanıt JSON nesnesi:
detail (string) – Sonucun ayrıntılı açıklaması (200 OK dışındaki HTTP durum kodları için)
count (int) – Nesne listelerindeki toplam öge sayısı
next (string) – Nesne listeleri için sonraki sayfa adresi
previous (string) – Nesne listeleri için önceki sayfa adresi
results (array) – Nesne listelerinin sonuçları
url (string) – API ile bu kaynağa erişme adresi
web_url (string) – Tarayıcı ile bu kaynağa erişme adresi
- Durum kodları:
200 OK – istek düzgün olarak işlendiğinde
201 Created – yeni bir nesne sorunsuz oluşturulduğunda
204 No Content – bir nesne sorunsuz silindiğinde
400 Bad Request – form parametreleri eksik olduğunda
403 Forbidden – erişim reddedildiğinde
429 Too Many Requests – hız sınırlaması uygulandığında
Kimlik doğrulama kodları#
4.10 sürümünde değişti: Proje kapsamlı kodlar 4.10 sürümünde tanıtıldı.
Her kullanıcı için, kullanıcı profilinden öğrenilebilecek bir kendi kişisel erişim kodu bulunur. Yeni oluşturulan kullanıcı kodları wlu_
ön ekini taşır.
Yalnızca belirli bir projeye API erişimi sağlamak için proje kapsamlı kodlar oluşturulabilir. Bu belirteçler wlp_
ön ekiyle anlaşılabilir.
Kimlik doğrulama örnekleri#
Örnek istek:
GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN
Örnek yanıt:
HTTP/1.0 200 OK
Date: Fri, 25 Mar 2016 09:46:12 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, HEAD, OPTIONS
{
"projects":"http://example.com/api/projects/",
"components":"http://example.com/api/components/",
"translations":"http://example.com/api/translations/",
"languages":"http://example.com/api/languages/"
}
CURL örneği:
curl \
-H "Authorization: Token TOKEN" \
https://example.com/api/
Parametre aktarma örnekleri#
POST yöntemi için parametreler form gönderimi (application/x-www-form-urlencoded) ya da JSON (application/json) olarak belirtilebilir.
Form isteği örneği:
POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Token TOKEN
operation=pull
JSON isteği örneği:
POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20
{"operation":"pull"}
CURL örneği:
curl \
-d operation=pull \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
CURL JSON örneği:
curl \
--data-binary '{"operation":"pull"}' \
-H "Content-Type: application/json" \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
API hız sınırlaması#
API isteklerinin hızı sınırlanmıştır; Varsayılan yapılandırmada anonim kullanıcılar için günde 100 istek ve kimliği doğrulanmış kullanıcılar için saatte 5000 istek sınırı bulunur.
Hız sınırlaması settings.py
dosyasından ayarlanabilir. Nasıl yapılandırılacağı ile ilgili ayrıntılı bilgi almak için Throttling in Django REST framework documentation bölümüne bakabilirsiniz.
Docker kapsayıcısında hız sınırlaması WEBLATE_API_RATELIMIT_ANON
ve WEBLATE_API_RATELIMIT_USER
seçenekleri kullanılarak yapılandırılabilir.
Hız sınırlamasının durumu şu üst bilgiler ile bildirilir:
|
Yapılacak isteklerin hız sınırlama sınırı |
|
Kalan istek sınırı |
|
Saniye olarak hız sınırlama penceresinin sıfırlanma süresi |
4.1 sürümünde değişti: Eklenen hız sınırlaması durumu üst bilgileri.
Ayrıca bakınız
Hızı sınırlamak,
Hızı sınırlamak,
WEBLATE_API_RATELIMIT_ANON
,
WEBLATE_API_RATELIMIT_USER
API giriş noktası#
- GET /api/#
API kök giriş noktası.
Örnek istek:
GET /api/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript Authorization: Token YOUR-TOKEN
Örnek yanıt:
HTTP/1.0 200 OK Date: Fri, 25 Mar 2016 09:46:12 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, HEAD, OPTIONS { "projects":"http://example.com/api/projects/", "components":"http://example.com/api/components/", "translations":"http://example.com/api/translations/", "languages":"http://example.com/api/languages/" }
Kullanıcılar#
4.0 sürümünde geldi.
- GET /api/users/#
Kullanıcıları yönetme izniniz varsa kullanıcı listesini görüntüler. Yoksa, yalnızca kendi bilgilerinizi görüntüler.
Ayrıca bakınız
Kullanıcı nesnesi öznitelikleri
GET /api/users/(str:username)/
bölümünde bulunabilir.
- POST /api/users/#
Yeni bir kullanıcı oluşturur.
- Parametreler:
username (string) – Kullanıcı adı
full_name (string) – Kullanıcının tam adı
email (string) – Kullanıcının e-posta adresi
is_superuser (boolean) – Kullanıcı süper kullanıcı mı? (isteğe bağlı)
is_active (boolean) – Kullanıcı etkin mi? (isteğe bağlı)
is_bot (boolean) – Kullanıcı bot mu? (isteğe bağlı) (proje kapsamındaki belirteçler için kullanılır)
- GET /api/users/(str: username)/#
Kullanıcılar hakkındaki bilgileri görüntüler.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- Yanıt JSON nesnesi:
username (string) – bir kullanıcının kullanıcı adı
full_name (string) – bir kullanıcının tam adı
email (string) – bir kullanıcının e-posta adresi
is_superuser (boolean) – kullanıcının süper kullanıcı olup olmadığı
is_active (boolean) – kullanıcının etkin olup olmadığı
is_bot (boolean) – kullanıcının bot olup olmadığı (proje kapsamındaki belirteçler için kullanılır)
date_joined (string) – kullanıcının oluşturulduğu tarih
groups (array) – ilişkili grup bağlantıları. Bilgi almak için:
GET /api/groups/(int:id)/
Örnek JSON verileri:
{ "email": "user@example.com", "full_name": "Example User", "username": "exampleusername", "groups": [ "http://example.com/api/groups/2/", "http://example.com/api/groups/3/" ], "is_superuser": true, "is_active": true, "is_bot": false, "date_joined": "2020-03-29T18:42:42.617681Z", "url": "http://example.com/api/users/exampleusername/", "statistics_url": "http://example.com/api/users/exampleusername/statistics/" }
- PUT /api/users/(str: username)/#
Kullanıcı parametrelerini değiştirir.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- Yanıt JSON nesnesi:
username (string) – bir kullanıcının kullanıcı adı
full_name (string) – bir kullanıcının tam adı
email (string) – bir kullanıcının e-posta adresi
is_superuser (boolean) – kullanıcının süper kullanıcı olup olmadığı
is_active (boolean) – kullanıcının etkin olup olmadığı
is_bot (boolean) – kullanıcının bot olup olmadığı (proje kapsamındaki belirteçler için kullanılır)
date_joined (string) – kullanıcının oluşturulduğu tarih
- PATCH /api/users/(str: username)/#
Kullanıcı parametrelerini değiştirir.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- Yanıt JSON nesnesi:
username (string) – bir kullanıcının kullanıcı adı
full_name (string) – bir kullanıcının tam adı
email (string) – bir kullanıcının e-posta adresi
is_superuser (boolean) – kullanıcının süper kullanıcı olup olmadığı
is_active (boolean) – kullanıcının etkin olup olmadığı
is_bot (boolean) – kullanıcının bot olup olmadığı (proje kapsamındaki belirteçler için kullanılır)
date_joined (string) – kullanıcının oluşturulduğu tarih
- DELETE /api/users/(str: username)/#
Tüm kullanıcı bilgilerini siler ve kullanıcıyı etkin değil olarak imler.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- POST /api/users/(str: username)/groups/#
Grupları bir kullanıcı ile ilişkilendirir.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- Form parametreleri:
string group_id – Benzersiz grup kimliği
- DELETE /api/users/(str: username)/groups/#
4.13.1 sürümünde geldi.
Kullanıcıyı bir gruptan kaldır.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- Form parametreleri:
string group_id – Benzersiz grup kimliği
- GET /api/users/(str: username)/statistics/#
Bir kullanıcının istatistiklerini görüntüle.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- Yanıt JSON nesnesi:
translated (int) – Kullanıcının yaptığı çeviri sayısı
suggested (int) – Kullanıcının yaptığı öneri sayısı
uploaded (int) – Kullanıcının yaptığı yükleme sayısı
commented (int) – Kullanıcının yaptığı yorum sayısı
languages (int) – Kullanıcının çevirebileceği dil sayısı
- GET /api/users/(str: username)/notifications/#
Bir kullanıcının aboneliklerini listeler.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- POST /api/users/(str: username)/notifications/#
Abonelikleri bir kullanıcıyla ilişkilendirir.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
- JSON nesnesi ister:
notification (string) – Kayıtlı bildirimin adı
scope (int) – Var olan seçeneklerden bildirim kapsamı
frequency (int) – Bildirimler için sıklık seçenekleri
- GET /api/users/(str: username)/notifications/(int: subscription_id)/#
Bir kullanıcıyla ilişkilendirilmiş bir aboneliği alır.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
subscription_id (int) – Kayıtlı bildirim kimliği
- PUT /api/users/(str: username)/notifications/(int: subscription_id)/#
Bir kullanıcıyla ilişkili aboneliği düzenler.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
subscription_id (int) – Kayıtlı bildirim kimliği
- JSON nesnesi ister:
notification (string) – Kayıtlı bildirimin adı
scope (int) – Var olan seçeneklerden bildirim kapsamı
frequency (int) – Bildirimler için sıklık seçenekleri
- PATCH /api/users/(str: username)/notifications/(int: subscription_id)/#
Bir kullanıcıyla ilişkili aboneliği düzenler.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
subscription_id (int) – Kayıtlı bildirim kimliği
- JSON nesnesi ister:
notification (string) – Kayıtlı bildirimin adı
scope (int) – Var olan seçeneklerden bildirim kapsamı
frequency (int) – Bildirimler için sıklık seçenekleri
- DELETE /api/users/(str: username)/notifications/(int: subscription_id)/#
Bir kullanıcıyla ilişkili aboneliği siler.
- Parametreler:
username (string) – Kullanıcının kullanıcı adı
subscription_id – Kayıtlı bildirimin adı
subscription_id – tamsayı
Gruplar#
4.0 sürümünde geldi.
- GET /api/groups/#
Grupları yönetme izniniz varsa grupların listesini görüntüler. Yoksa, yalnızca kullanıcının parçası olduğu grupları görüntüler.
Ayrıca bakınız
Grup nesnesi öznitelikleri
GET /api/groups/(int:id)/
bölümünde bulunabilir.
- POST /api/groups/#
Yeni bir grup oluşturur.
- Parametreler:
name (string) – Grup adı
project_selection (int) – Belirtilen seçeneklerden proje seçimi grubu
language_selection (int) – Belirtilen seçeneklerden seçilmiş dil grubu
defining_project (str) – Her proje için erişim denetimi yönetimi için kullanılan tanımlayıcı proje bağlantısı. Bilgi almak için:
GET /api/projects/(string:project)/
- GET /api/groups/(int: id)/#
Grup hakkındaki bilgileri görüntüler.
- Parametreler:
id (int) – Grubun kimliği
- Yanıt JSON nesnesi:
name (string) – bir grubun adı
project_selection (int) – proje grubuna karşılık gelen tamsayı
language_selection (int) – dil grubuna karşılık gelen tamsayı
roles (array) – ilişkili rollerin bağlantısı. Bilgi almak için:
GET /api/roles/(int:id)/
projects (array) – ilişkili projelerin bağlantısı. Bilgi almak için:
GET /api/projects/(string:project)/
components (array) – ilişkili bileşenlerin bağlantısı. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/
componentlists (array) – ilişkili bileşen listelerinin bağlantısı. Bilgi almak için:
GET /api/component-lists/(str:slug)/
defining_project (str) – Her proje için erişim denetimi yönetimi için kullanılan tanımlayıcı proje bağlantısı. Bilgi almak için:
GET /api/projects/(string:project)/
Örnek JSON verileri:
{ "name": "Guests", "defining_project": null, "project_selection": 3, "language_selection": 1, "url": "http://example.com/api/groups/1/", "roles": [ "http://example.com/api/roles/1/", "http://example.com/api/roles/2/" ], "languages": [ "http://example.com/api/languages/en/", "http://example.com/api/languages/cs/", ], "projects": [ "http://example.com/api/projects/demo1/", "http://example.com/api/projects/demo/" ], "componentlist": "http://example.com/api/component-lists/new/", "components": [ "http://example.com/api/components/demo/weblate/" ] }
- PUT /api/groups/(int: id)/#
Grup parametrelerini değiştirir.
- Parametreler:
id (int) – Grubun kimliği
- Yanıt JSON nesnesi:
name (string) – bir grubun adı
project_selection (int) – proje grubuna karşılık gelen tamsayı
language_selection (int) – dil grubuna karşılık gelen tamsayı
- PATCH /api/groups/(int: id)/#
Grup parametrelerini değiştirir.
- Parametreler:
id (int) – Grubun kimliği
- Yanıt JSON nesnesi:
name (string) – bir grubun adı
project_selection (int) – proje grubuna karşılık gelen tamsayı
language_selection (int) – dil grubuna karşılık gelen tamsayı
- DELETE /api/groups/(int: id)/#
Grubu siler.
- Parametreler:
id (int) – Grubun kimliği
- POST /api/groups/(int: id)/roles/#
Rolleri bir grupla ilişkilendirir.
- Parametreler:
id (int) – Grubun kimliği
- Form parametreleri:
string role_id – Benzersiz rol kimliği
- POST /api/groups/(int: id)/components/#
Bileşenleri bir grupla ilişkilendirir.
- Parametreler:
id (int) – Grubun kimliği
- Form parametreleri:
string component_id – Benzersiz bileşen kimliği
- DELETE /api/groups/(int: id)/components/(int: component_id)#
Bileşeni bir gruptan siler.
- Parametreler:
id (int) – Grubun kimliği
component_id (int) – Benzersiz bileşen kimliği
- POST /api/groups/(int: id)/projects/#
Projeleri bir grupla ilişkilendirir.
- Parametreler:
id (int) – Grubun kimliği
- Form parametreleri:
string project_id – Benzersiz proje kimliği
- DELETE /api/groups/(int: id)/projects/(int: project_id)#
Projeyi bir gruptan siler.
- Parametreler:
id (int) – Grubun kimliği
project_id (int) – Benzersiz proje kimliği
- POST /api/groups/(int: id)/languages/#
Dilleri bir grupla ilişkilendirir.
- Parametreler:
id (int) – Grubun kimliği
- Form parametreleri:
string language_code – Benzersiz dil kodu
- DELETE /api/groups/(int: id)/languages/(string: language_code)#
Dili bir gruptan siler.
- Parametreler:
id (int) – Grubun kimliği
language_code (string) – Benzersiz dil kodu
- POST /api/groups/(int: id)/componentlists/#
Bileşen listelerini bir grupla ilişkilendirir.
- Parametreler:
id (int) – Grubun kimliği
- Form parametreleri:
string component_list_id – Benzersiz bileşen listesi kimliği
- DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)#
Bileşen listesini bir gruptan siler.
- Parametreler:
id (int) – Grubun kimliği
component_list_id (int) – Benzersiz bileşen listesi kimliği
Roller#
- GET /api/roles/#
Kullanıcıyla ilişkili tüm rollerin listesini görüntüler. Kullanıcı süper kullanıcıysa, var olan tüm rollerin listesini görüntüler.
Ayrıca bakınız
Roller nesnesi öznitelikleri
GET /api/roles/(int:id)/
bölümünde bulunabilir.
- POST /api/roles/#
Yeni bir rol oluşturur.
- Parametreler:
name (string) – Rol adı
permissions (array) – İzinlerin kod adı listesi
- GET /api/roles/(int: id)/#
Bir rol hakkındaki bilgileri görüntüler.
- Parametreler:
id (int) – Rol kimliği
- Yanıt JSON nesnesi:
name (string) – Rol adı
permissions (array) – izinlerin kod adı listesi
Örnek JSON verileri:
{ "name": "Access repository", "permissions": [ "vcs.access", "vcs.view" ], "url": "http://example.com/api/roles/1/", }
- PUT /api/roles/(int: id)/#
Rol parametrelerini değiştirir.
- Parametreler:
id (int) – Rolün kimliği
- Yanıt JSON nesnesi:
name (string) – Rol adı
permissions (array) – izinlerin kod adı listesi
- PATCH /api/roles/(int: id)/#
Rol parametrelerini değiştirir.
- Parametreler:
id (int) – Rolün kimliği
- Yanıt JSON nesnesi:
name (string) – Rol adı
permissions (array) – izinlerin kod adı listesi
- DELETE /api/roles/(int: id)/#
Rolü siler.
- Parametreler:
id (int) – Rolün kimliği
Diller#
- GET /api/languages/#
Tüm dillerin listesini görüntüler.
Ayrıca bakınız
Dil nesnesi öznitelikleri
GET /api/languages/(string:language)/
bölümünde bulunabilir.
- POST /api/languages/#
Yeni bir dil oluşturur.
- Parametreler:
code (string) – Dil adı
name (string) – Dil adı
direction (string) – Metin yönü
population (int) – Konuşan sayısı
plural (object) – Dil çoğul formülü ve sayısı
- GET /api/languages/(string: language)/#
Bir dil hakkındaki bilgileri görüntüler.
- Parametreler:
language (string) – Dil kodu
- Yanıt JSON nesnesi:
code (string) – Dil kodu
direction (string) – Metin yönü
plural (object) – Dil çoğul bilgisinin nesnesi
aliases (array) – Dil için takma adlar dizisi
- JSON nesnesi ister:
population (int) – Konuşan sayısı
Örnek JSON verileri:
{ "code": "en", "direction": "ltr", "name": "English", "population": 159034349015, "plural": { "id": 75, "source": 0, "number": 2, "formula": "n != 1", "type": 1 }, "aliases": [ "english", "en_en", "base", "source", "eng" ], "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/", "statistics_url": "http://example.com/api/languages/en/statistics/" }
- PUT /api/languages/(string: language)/#
Dil parametrelerini değiştirir.
- Parametreler:
language (string) – Dilin kodu
- JSON nesnesi ister:
name (string) – Dil adı
direction (string) – Metin yönü
population (int) – Konuşan sayısı
plural (object) – Dil çoğul ayrıntıları
- PATCH /api/languages/(string: language)/#
Dil parametrelerini değiştirir.
- Parametreler:
language (string) – Dilin kodu
- JSON nesnesi ister:
name (string) – Dil adı
direction (string) – Metin yönü
population (int) – Konuşan sayısı
plural (object) – Dil çoğul ayrıntıları
- DELETE /api/languages/(string: language)/#
Dili siler.
- Parametreler:
language (string) – Dilin kodu
- GET /api/languages/(string: language)/statistics/#
Bir dilin istatistiklerini görüntüler.
- Parametreler:
language (string) – Dil kodu
Ayrıca bakınız
Geri dönen öznitelikler İstatistikler bölümünde açıklanmıştır.
Projeler#
- GET /api/projects/#
Tüm projelerin listesini görüntüler.
Ayrıca bakınız
Proje nesnesi öznitelikleri
GET /api/projects/(string:project)/
bölümünde bulunabilir.
- POST /api/projects/#
3.9 sürümünde geldi.
Yeni bir proje oluşturur.
- Parametreler:
name (string) – Proje adı
slug (string) – Proje kısaltması
web (string) – Proje sitesi
- GET /api/projects/(string: project)/#
Bir proje hakkındaki bilgileri görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
- Yanıt JSON nesnesi:
name (string) – proje adı
slug (string) – proje kısaltması
web (string) – proje sitesi
components_list_url (string) – Bileşen listesi adresi. Bilgi almak için:
GET /api/projects/(string:project)/components/
repository_url (string) – Depo durumu adresi. Bilgi almak için:
GET /api/projects/(string:project)/repository/
changes_list_url (string) – Değişiklikler listesi adresi. Bilgi almak için:
GET /api/projects/(string:project)/changes/
translation_review (boolean) – Onaylama kullanılsın
source_review (boolean) – Kaynak onaylama kullanılsın
set_language_team (boolean) – “Language-Team” üst bilgisi ayarlansın
enable_hooks (boolean) – Kancalar kullanılsın
instructions (string) – Çeviri yönergeleri
language_aliases (string) – Dil kod adları
Örnek JSON verileri:
{ "name": "Hello", "slug": "hello", "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }
- PATCH /api/projects/(string: project)/#
4.3 sürümünde geldi.
Bir projeyi PATCH isteğiyle düzenler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- PUT /api/projects/(string: project)/#
4.3 sürümünde geldi.
Bir projeyi PUT isteğiyle düzenler.
- Parametreler:
project (string) – Proje adresi kısaltması
- DELETE /api/projects/(string: project)/#
3.9 sürümünde geldi.
Bir projeyi siler.
- Parametreler:
project (string) – Proje adresi kısaltması
- GET /api/projects/(string: project)/changes/#
Proje değişikliklerinin listesini görüntüler. Temelde
GET /api/changes/
kapsamıyla aynı parametreleri kabul eden bir projedir.- Parametreler:
project (string) – Proje adresi kısaltması
- Yanıt JSON nesnesi:
results (array) – bileşen nesnelerinin dizisi. Bilgi almak için:
GET /api/changes/(int:id)/
- GET /api/projects/(string: project)/repository/#
Sürüm denetimi sistemi deposunun durumu ile ilgili bilgileri görüntüler. Bu noktada, projenin tüm depoları için yalnızca genel bir özet bulunur. Daha ayrıntılı durum bilgileri almak için
GET /api/components/(string:project)/(string:component)/repository/
kullanın.- Parametreler:
project (string) – Proje adresi kısaltması
- Yanıt JSON nesnesi:
needs_commit (boolean) – işlenebilecek bekleyen değişikliklerin olup olmadığı
needs_merge (boolean) – aktarılabilecek herhangi bir yukarı akış değişikliğinin olup olmadığı
needs_push (boolean) – itilecek herhangi bir yerel değişikliğin olup olmadığı
Örnek JSON verileri:
{ "needs_commit": true, "needs_merge": false, "needs_push": true }
- POST /api/projects/(string: project)/repository/#
Sürüm denetimi sistemi deposunda belirtilen işlemi gerçekleştirir.
- Parametreler:
project (string) – Proje adresi kısaltması
- JSON nesnesi ister:
operation (string) – Yürütülecek işlem:
push
,pull
,commit
,reset
,cleanup
,file-sync
ya dafile-scan
olabilir
- Yanıt JSON nesnesi:
result (boolean) – işlemin sonucu
CURL örneği:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/repository/
JSON isteği örneği:
POST /api/projects/hello/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
JSON yanıtı örneği:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"result":true}
- GET /api/projects/(string: project)/components/#
Belirtilen projedeki çeviri bileşenlerinin listesini görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
- Yanıt JSON nesnesi:
results (array) – bileşen nesneleri dizisi. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/
- POST /api/projects/(string: project)/components/#
3.9 sürümünde geldi.
4.3 sürümünde değişti: Sürüm denetimi sistemi kullanmayan bileşenler için de
zipfile
vedocfile
parametreleri kabul edilir. Bilgi almak için: Yerel dosyalar.4.6 sürümünde değişti: Kopyalanan depolar İç Weblate adresleri kullanılarak kendiliğinden bir proje içinde paylaşılabilir. Bu özelliği kapatmak için
disable_autoshare
seçeneğini kullanın.Belirtilen projede çeviri bileşenleri oluşturur.
İpucu
Tek bir sürüm denetimi sistemi deposundan birden fazla bileşen oluştururken İç Weblate adresleri seçeneğini kullanın.
Not
Bileşen oluşturma işleminin çoğu arka planda yapılır. Oluşturulan bileşenin
task_url
özniteliğini denetleyin ve oradaki ilerlemeyi izleyin.- Parametreler:
project (string) – Proje adresi kısaltması
- Form parametreleri:
file zipfile – Çevirilerin başlatılması için Weblate üzerine yüklenecek ZIP dosyası
file docfile – Çevrilecek belge
boolean disable_autoshare – İç Weblate adresleri seçeneği ile kendiliğinden depo paylaşımını devre dışı bırakır.
- JSON nesnesi ister:
object – Bileşen parametreleri. Ayrıntılı bilgi almak için
GET /api/components/(string:project)/(string:component)/
- Yanıt JSON nesnesi:
result (object) – Oluşturulan bileşen nesnesi. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/
Dosyalar
zipfile
vedocfile
parametreleri kullanılarak yüklenirken JSON kullanılamaz. Veriler multipart/form-data olarak yüklenmelidir.CURL form isteği örneği:
curl \ --form docfile=@strings.html \ --form name=Weblate \ --form slug=weblate \ --form file_format=html \ --form new_lang=add \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
CURL JSON isteği örneği:
curl \ --data-binary '{ "branch": "main", "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
Git üzerinden yeni bir bileşen oluşturan JSON isteği:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "branch": "main", "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }
Başka bir bileşenden yeni bir bileşen oluşturan JSON isteği:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "weblate://weblate/hello", "template": "", "new_base": "po/hello.pot", "vcs": "git" }
JSON yanıtı örneği:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- GET /api/projects/(string: project)/languages/#
Bir projedeki tüm diller için sayfalanmış istatistikleri görüntüler.
3.8 sürümünde geldi.
- Parametreler:
project (string) – Proje adresi kısaltması
- Yanıt JSON nesnesi:
results (array) – çeviri istatistiği nesneleri dizisi
language (string) – dil adı
code (string) – dil kodu
total (int) – toplam dizge sayısı
translated (int) – çevrilmiş dizge sayısı
translated_percent (float) – çevrilmiş dizge yüzdesi
total_words (int) – toplam sözcük sayısı
translated_words (int) – çevrilmiş sözcük sayısı
words_percent (float) – çevrilmiş sözcük yüzdesi
- GET /api/projects/(string: project)/statistics/#
Bir projenin istatistiklerini görüntüler.
3.8 sürümünde geldi.
- Parametreler:
project (string) – Proje adresi kısaltması
Ayrıca bakınız
Geri dönen öznitelikler İstatistikler bölümünde açıklanmıştır.
Bileşenler#
İpucu
Yeni bileşenler oluşturmak için POST /api/projects/(string:project)/components/
kullanın.
- GET /api/components/#
Çeviri bileşenlerinin listesini görüntüler.
Ayrıca bakınız
Bileşen nesnesi özenitelikleri
GET /api/components/(string:project)/(string:component)/
bölümünde bulunabilir.
- GET /api/components/(string: project)/(string: component)/#
Çeviri bileşeni hakkındaki bilgileri görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Yanıt JSON nesnesi:
project (object) – çeviri projesi. Bilgi almak için
GET /api/projects/(string:project)/
name (string) – Bileşen adı
slug (string) – Bileşen kısaltması
vcs (string) – Sürüm denetimi sistemi
repo (string) – Kaynak kod deposu
git_export (string) – Dışa aktarılmış depo adresi
branch (string) – Depo dalı
push_branch (string) – İtme işleminin yapılacağı dal
filemask (string) – Dosya maskesi
template (string) – Tek dilli temel dil dosyası
edit_template (string) – Temel dosyayı düzenle
intermediate (string) – Ara dil dosyası
new_base (string) – Yeni çeviriler kalıbı
file_format (string) – Dosya biçimi
license (string) – Çeviri lisansı
agreement (string) – Katılımcı anlaşması
new_lang (string) – Yeni çeviri ekleme
language_code_style (string) – Dil kodu biçemi
source_language (object) – kaynak dil nesnesi. Ayrıntılı bilgi alın
GET /api/languages/(string:language)/
push (string) – Depo itme adresi
check_flags (string) – Çeviri imleri
priority (string) – Öncelik
enforced_checks (string) – Zorunlu denetimler
restricted (string) – Kısıtlı erişim
repoweb (string) – Depo tarayıcısı
report_source_bugs (string) – Kaynak dizge hata bildirme adresi
merge_style (string) – Birleştirme biçemi
commit_message (string) – İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri
add_message (string) – İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri
delete_message (string) – İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri
merge_message (string) – İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri
addon_message (string) – İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri
pull_message (string) – İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri
allow_translation_propagation (string) – Çevirilerin yayılmasını sağlamak
enable_suggestions (string) – Öneriler kullanılsın
suggestion_voting (string) – Öneriler oylanabilsin
suggestion_autoaccept (string) – Öneriler kendiliğinden kabul edilsin
push_on_commit (string) – İşleme ile itme
commit_pending_age (string) – İşlenecek değişikliklerin yaşı
auto_lock_error (string) – Hata durumunda kilitlenme
language_regex (string) – Dil süzgeci
variant_regex (string) – Çeşitler kurallı ifadesi
is_glossary (bool) – Sözlük olarak kullanılsın
glossary_color (string) – Sözlük rengi
repository_url (string) – Depo durumu adresi. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/repository/
translations_url (string) – Çeviri listesi adresi. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/translations/
lock_url (string) – Kilit durumu adresi. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/lock/
changes_list_url (string) – Değişiklik listesi adresi. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/changes/
task_url (string) – Arka plan görevi (varsa) adresi. Bilgi almak için:
GET /api/tasks/(str:uuid)/
Örnek JSON verileri:
{ "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- PATCH /api/components/(string: project)/(string: component)/#
Bir bileşeni PATCH isteği ile düzenleme.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
source_language (string) – Proje kaynak dili kodu (isteğe bağlı)
- JSON nesnesi ister:
name (string) – bileşen adı
slug (string) – bileşen kısaltması
repo (string) – Sürüm denetimi sistemi deposunun adresi
CURL örneği:
curl \ --data-binary '{"name": "new name"}' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ PATCH http://example.com/api/projects/hello/components/
JSON isteği örneği:
PATCH /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "name": "new name" }
JSON yanıtı örneği:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "new name", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- PUT /api/components/(string: project)/(string: component)/#
Bir bileşeni PUT isteği ile düzenleme.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- JSON nesnesi ister:
branch (string) – Sürüm denetimi sistemi deposunun dalı
file_format (string) – çevirilerin dosya biçimi
filemask (string) – depodaki çeviri dosyalarının modeli
name (string) – bileşen adı
slug (string) – bileşen kısaltması
repo (string) – Sürüm denetimi sistemi deposunun adresi
template (string) – tek dilli çeviriler için temel dosya
new_base (string) – yeni çeviriler eklemek için temel dosya
vcs (string) – sürüm denetimi sistemi
- DELETE /api/components/(string: project)/(string: component)/#
3.9 sürümünde geldi.
Bir bileşeni siler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- GET /api/components/(string: project)/(string: component)/changes/#
Bileşen değişikliklerinin listesini görüntüler. Temelde
GET /api/changes/
kapsamında bir bileşendir ve aynı parametreleri kabul eder.- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Yanıt JSON nesnesi:
results (array) – bileşen nesnelerinin dizisi. Bilgi almak için:
GET /api/changes/(int:id)/
- GET /api/components/(string: project)/(string: component)/file/#
4.9 sürümünde geldi.
Bileşenle ilişkili tüm kullanılabilir çevirileri istenilen biçimdeki arşiv dosyası olarak indirir.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Sorgu parametreleri:
format (string) – Kullanılacak arşiv biçimi belirtilmemişse varsayılan olarak
zip
biçimi kullanılır. Desteklenen biçimler:zip
- GET /api/components/(string: project)/(string: component)/screenshots/#
Bileşen ekran görüntülerinin listesini görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Yanıt JSON nesnesi:
results (array) – bileşen ekran görüntüleri dizisi. Bilgi almak için:
GET /api/screenshots/(int:id)/
- GET /api/components/(string: project)/(string: component)/lock/#
Bileşenin kilit durumunu görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Yanıt JSON nesnesi:
locked (boolean) – bileşenin güncellemeler için kilitlenip kilitlenmediği
Örnek JSON verileri:
{ "locked": false }
- POST /api/components/(string: project)/(string: component)/lock/#
Bileşenin kilit durumunu ayarlar.
Yanıt
GET /api/components/(string:project)/(string:component)/lock/
ile aynıdır.- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- JSON nesnesi ister:
lock – Kilitli olduğunu ya da olmadığını belirten ikili değer.
CURL örneği:
curl \ -d lock=true \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
JSON isteği örneği:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"lock": true}
JSON yanıtı örneği:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"locked":true}
- GET /api/components/(string: project)/(string: component)/repository/#
Sürüm denetimi sitemi deposunun durumu hakkındaki bilgileri görüntüler.
Yanıt
GET /api/projects/(string:project)/repository/
ile aynıdır.- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Yanıt JSON nesnesi:
needs_commit (boolean) – işlenebilecek bekleyen değişikliklerin olup olmadığı
needs_merge (boolean) – aktarılabilecek herhangi bir yukarı akış değişikliğinin olup olmadığı
needs_push (boolean) – itilecek herhangi bir yerel değişikliğin olup olmadığı
remote_commit (string) – Uzaktan işleme bilgileri
status (string) – Sürüm denetimi sistemi tarafından bildirilen sürüm denetimi sistemi deposunun durumu
merge_failure – Varsa aktarım hatasını açıklayan metin, yoksa null
- POST /api/components/(string: project)/(string: component)/repository/#
Sürüm denetimi sistemi deposunda belirtilen işlemi gerçekleştirir.
Belgeler için
POST /api/projects/(string:project)/repository/
adresine bakabilirsiniz.- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- JSON nesnesi ister:
operation (string) – Yapılacak işlem:
push
,pull
,commit
,reset
ya dacleanup
- Yanıt JSON nesnesi:
result (boolean) – işlemin sonucu
CURL örneği:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
JSON isteği örneği:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
JSON yanıtı örneği:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"result":true}
- GET /api/components/(string: project)/(string: component)/monolingual_base/#
Tek dilli çeviriler için temel dosyayı indirir.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- GET /api/components/(string: project)/(string: component)/new_template/#
Yeni çeviriler için kalıp dosyasını indirir.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- GET /api/components/(string: project)/(string: component)/translations/#
Belirtilen bileşendeki çeviri nesnelerinin listesini görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Yanıt JSON nesnesi:
results (array) – çeviri nesneleri dizisi. Bilgi almak için:
GET /api/translations/(string:project)/(string:component)/(string:language)/
- POST /api/components/(string: project)/(string: component)/translations/#
Belirtilen bileşende yeni çeviri oluşturur.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- JSON nesnesi ister:
language_code (string) – çeviri dili kodu. Bilgi almak için:
GET /api/languages/(string:language)/
- Yanıt JSON nesnesi:
result (object) – oluşturulan yeni çeviri nesnesi
CURL örneği:
curl \ -d language_code=cs \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
JSON isteği örneği:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"language_code": "cs"}
JSON yanıtı örneği:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "failing_checks": 0, "failing_checks_percent": 0, "failing_checks_words": 0, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "is_source": false, "language": { "code": "cs", "direction": "ltr", "population": 1303174280 "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "id": 125, "last_author": null, "last_change": null, "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 0, "translated_percent": 0.0, "translated_words": 0, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
- GET /api/components/(string: project)/(string: component)/statistics/#
Bileşen içindeki tüm çevirilerin sayfalandırılmış istatistiklerini görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
Ayrıca bakınız
Geri dönen öznitelikler İstatistikler bölümünde açıklanmıştır.
- GET /api/components/(string: project)/(string: component)/links/#
Bir bileşenle ilişkili projeleri görüntüler.
4.5 sürümünde geldi.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Yanıt JSON nesnesi:
projects (array) – ilişkili projeler. Bilgi almak için:
GET /api/projects/(string:project)/
- POST /api/components/(string: project)/(string: component)/links/#
Projeyi bir bileşenle ilişkilendirir.
4.5 sürümünde geldi.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
- Form parametreleri:
string project_slug – Proje kısaltması
- DELETE /api/components/(string: project)/(string: component)/links/(string: project_slug)/#
Bir projenin bir bileşenle ilişkisini kaldırır.
4.5 sürümünde geldi.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
project_slug (string) – Kaldırılacak projenin kısaltması
Çeviriler#
- GET /api/translations/#
Çevirilerin listesini görüntüler.
Ayrıca bakınız
Çeviri nesnesi öznitelikleri
GET /api/translations/(string:project)/(string:component)/(string:language)/
bölümünde bulunabilir.
- GET /api/translations/(string: project)/(string: component)/(string: language)/#
Bir çeviriyle ilgili bilgileri görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- Yanıt JSON nesnesi:
component (object) – bileşen nesnesi. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/
failing_checks (int) – denetim hatası olan dizge sayısı
failing_checks_percent (float) – denetim hatası olan dizge yüzdesi
failing_checks_words (int) – denetim hatası olan sözcük sayısı
filename (string) – çeviri dosyası adı
fuzzy (int) – belirsiz (düzenlenecek olarak imlenmiş) dizge sayısı
fuzzy_percent (float) – belirsiz (düzenlenecek olarak imlenmiş) dizge yüzdesi
fuzzy_words (int) – belirsiz (düzenlenecek olarak imlenmiş) dizge sayısı
have_comment (int) – belirsiz (düzenlenecek olarak imlenmiş) dizge yüzdesi
have_suggestion (int) – önerileri olan dizge sayısı
is_template (boolean) – çeviri tabanının tek dilli olup olmadığı
language (object) – kaynak dil nesnesi. Ayrıntılı bilgi alın
GET /api/languages/(string:language)/
language_code (string) – depoda kullanılan dil kodu. Dil nesnesindeki dil kodundan farklı olabilir
last_author (string) – son yazarın adı
last_change (timestamp) – son değişiklik zaman damgası
revision (string) – dosyanın sürüm karması
share_url (string) – Etkileşim sayfasına yönlendiren paylaşım adresi
total (int) – toplam dizge sayısı
total_words (int) – toplam sözcük sayısı
translate_url (string) – Çeviri adresi
translated (int) – çevrilmiş dizge sayısı
translated_percent (float) – çevrilmiş dizge yüzdesi
translated_words (int) – çevrilmiş sözcük sayısı
repository_url (string) – Depo durumu adresi: Bilgi almak için:
GET /api/translations/(string:project)/(string:component)/(string:language)/repository/
file_url (string) – Dosya nesnesi adresi. Bilgi almak için:
GET /api/translations/(string:project)/(string:component)/(string:language)/file/
changes_list_url (string) – Değişiklik listesi adresi. Bilgi almak için:
GET /api/translations/(string:project)/(string:component)/(string:language)/changes/
units_list_url (string) – Dizge listesi adresi. Bilgi almak için:
GET /api/translations/(string:project)/(string:component)/(string:language)/units/
Örnek JSON verileri:
{ "component": { "branch": "main", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "new_base": "", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "slug": "weblate", "template": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }, "failing_checks": 3, "failing_checks_percent": 75.0, "failing_checks_words": 11, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "language": { "code": "cs", "direction": "ltr", "population": 1303174280 "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "last_author": "Weblate Admin", "last_change": "2016-03-07T10:20:05.499", "revision": "7ddfafe6daaf57fc8654cc852ea6be212b015792", "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 4, "translated_percent": 100.0, "translated_words": 15, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
- DELETE /api/translations/(string: project)/(string: component)/(string: language)/#
3.9 sürümünde geldi.
Bir çeviriyi siler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- GET /api/translations/(string: project)/(string: component)/(string: language)/changes/#
Çeviri değişikliklerinin listesini görüntüler. Temelde aynı parametreleri kabul eden bir
GET /api/changes/
çeviri kapsamıdır.- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- Yanıt JSON nesnesi:
results (array) – bileşen nesnelerinin dizisi. Bilgi almak için:
GET /api/changes/(int:id)/
- GET /api/translations/(string: project)/(string: component)/(string: language)/units/#
Çeviri birimlerinin listesini görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
q (string) – Arama sorgusu dizgesi Arama (isteğe bağlı)
- Yanıt JSON nesnesi:
results (array) – bileşen nesneleri dizisi. Bilgi almak için:
GET /api/units/(int:id)/
- POST /api/translations/(string: project)/(string: component)/(string: language)/units/#
Yeni birim ekle.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- JSON nesnesi ister:
key (string) – Çeviri biriminin adı (anahtar veya bağlam olarak kullanılır)
value (array) – Kaynak dizgeler (çoğul oluşturmuyorsanız tekil dizge kullanın)
state (int) – Dizge durumu. Bilgi almak için:
GET /api/units/(int:id)/
- Yanıt JSON nesnesi:
unit (object) – yeni oluşturulmuş birim. Bilgi almak için:
GET /api/units/(int:id)/
Ayrıca bakınız
- POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/#
Kendiliğinden çeviriyi tetikler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- JSON nesnesi ister:
mode (string) – Kendiliğinden çeviri kipi
filter_type (string) – Kendiliğinden çeviri süzgeci türü
auto_source (string) – Kendiliğinden çeviri kaynağı -
mt
ya daothers
component (string) – Ek bileşenlere erişebilmesi için projenin paylaşılan çeviri belleğine katkıda bulunma özelliğini açar.
engines (array) – Makine çevirisi hizmetleri
threshold (string) – Skor eşiği
- GET /api/translations/(string: project)/(string: component)/(string: language)/file/#
Geçerli çeviri dosyasını sürüm denetimi sisteminde tutulduğu biçimde (
format
parametresini kullanmadan) ya da başka bir biçime dönüştürülmüş olarak indirir (bilgi almak için: Çevirileri indirmek).Not
Bu API noktası, veriler yerine tüm dosya üzerinde çalıştığından çıktı için geri kalan API işleyişinden farklı bir mantık kullanır. Kabul edilen
format
parametre kümesi farklıdır ve böyle bir parametre belirtilmediğinde sürüm denetimi sisteminde depolanmış çeviri dosyasını alır.- Sorgu parametreleri:
format – Kullanılacak dosya biçimi. Belirtilmemişse biçim dönüşümü yapılmaz. Desteklenen biçimlerle ilgili bilgi almak için: :ref:`download’
q (string) – İndirilen dizgeleri süzer. Bilgi almak için: Arama Sayfası. Yalnızca dönüşüm yapıldığında geçerlidir (
format
belirtildiğinde).
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- POST /api/translations/(string: project)/(string: component)/(string: language)/file/#
Çevirileri içeren yeni dosya yükler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- Form parametreleri:
string conflicts – Çakışmaların nasıl işleneceği (
ignore
,replace-translated
ya dareplace-approved
)file file – Yüklenen dosya
string email – İlgilinin e-posta adresi
string author – Katkıda bulunanın adı
string method – Yükleme yöntemi (
translate
,approve
,suggest
,fuzzy
,replace
,source
,add
). Bilgi almak için: İçe aktarma yöntemleristring fuzzy – Belirsiz (düzenlenecek olarak imlenmiş) dizgeleri işleme (empty,
process
,approve
)
CURL örneği:
curl -X POST \ -F file=@strings.xml \ -H "Authorization: Token TOKEN" \ http://example.com/api/translations/hello/android/cs/file/
- GET /api/translations/(string: project)/(string: component)/(string: language)/repository/#
Sürüm denetimi sitemi deposunun durumu hakkındaki bilgileri görüntüler.
Yanıt
GET /api/components/(string:project)/(string:component)/repository/
ile aynıdır.- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- POST /api/translations/(string: project)/(string: component)/(string: language)/repository/#
Sürüm denetimi sistemi deposunda belirtilen işlemi gerçekleştirir.
Belgeler için
POST /api/projects/(string:project)/repository/
adresine bakabilirsiniz.- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
- JSON nesnesi ister:
operation (string) – Yapılacak işlem:
push
,pull
,commit
,reset
ya dacleanup
- Yanıt JSON nesnesi:
result (boolean) – işlemin sonucu
- GET /api/translations/(string: project)/(string: component)/(string: language)/statistics/#
Ayrıntılı çeviri istatistiklerini görüntüler.
- Parametreler:
project (string) – Proje adresi kısaltması
component (string) – Bileşen adresinin kısaltması
language (string) – Çeviri dili kodu
Ayrıca bakınız
Geri dönen öznitelikler İstatistikler bölümünde açıklanmıştır.
Bellek#
4.14 sürümünde geldi.
- GET /api/memory/#
Bileşen listelerinin listesini görüntüler.
- DELETE /api/memory/(int: memory_object_id)/#
Bir çeviri belleği nesnesini siler
- Parametreler:
memory_object_id – Çeviri belleği nesnesi kimliği
Birimler#
Birim, bir kaynak dizgeyi karşılık gelen çevrilmiş bir dizgeyle eşleştiren ve ayrıca bazı ilgili üst verileri içeren tek bir çeviri parçasıdır. Terim, Translate Toolkit ve XLIFF kapsamından türetilmiştir.
- GET /api/units/#
Çeviri birimlerinin listesini görüntüler.
- Parametreler:
q (string) – Arama sorgusu dizgesi Arama (isteğe bağlı)
Ayrıca bakınız
Birim nesnesi öznitelikleri
GET /api/units/(int:id)/
bölümünde bulunabilir.
- GET /api/units/(int: id)/#
4.3 sürümünde değişti:
Hedef
vekaynak
çoğul dizgeleri doğru işlemek için diziye dönüştürülmüştür.Çeviri birimi hakkındaki bilgileri görüntüler.
- Parametreler:
id (int) – Birim kimliği
- Yanıt JSON nesnesi:
translation (string) – İlişkili çeviri nesnesinin adresi
source (array) – kaynak dizge
previous_source (string) – belirsiz eşleştirmesi için kullanılan önceki kaynak dizge
target (array) – hedef dizge
id_hash (string) – birimin benzersiz belirteci
content_hash (string) – kaynak dizgenin benzersiz belirteci
location (string) – birimin kaynak kodundaki konumu
context (string) – çeviri birimi bağlamı
note (string) – çeviri birimi notu
flags (string) – çeviri birimi imleri
labels (array) – çeviri birimi etiketleri, kaynak birimlerde kullanılabilir
state (int) – birim durumu, 0 - Çevrilmemiş, 10 - Düzenlenmesi gerekli, 20 - Çevrilmiş, 30 - Onaylanmış, 100 - Salt okunur
fuzzy (boolean) – birimin belirsiz ya da onaylanmayı bekliyor olarak imlenmiş olup olmadığı
translated (boolean) – birimin çevrilmiş olup olmadığı
approved (boolean) – çevirinin onaylanmış olup olmadığı
position (int) – birimin çeviri dosyasındaki konumu
has_suggestion (boolean) – birimin önerileri olup olmadığı
has_comment (boolean) – birimin yorumları olup olmadığı
has_failing_check (boolean) – birimde denetim hatası olup olmadığı
num_words (int) – kaynak sözcük sayısı
priority (int) – çeviri önceliği. Varsayılan değer: 100
id (int) – birim belirteci
explanation (string) – Dizge açıklaması. Kaynak birimlerde kullanılabilir. Bilgi almak için: Kaynak dizgeler ile ilgili ek bilgiler
extra_flags (string) – Ek dizge imleri. Kaynak birimlerde kullanılabilir. Bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek
web_url (string) – Birimin düzenlenebileceği adres
source_unit (string) – Kaynak birim bağlantısı. Bilgi almak için:
GET /api/units/(int:id)/
pending (boolean) – birimin belirsiz ya da onaylanmış olarak imlenmiş olup olmadığı
timestamp (timestamp) – dizge yaşı
- PATCH /api/units/(int: id)/#
4.3 sürümünde geldi.
Çeviri birimi üzerinde bazı güncellemeler yapar.
- Parametreler:
id (int) – Birim kimliği
- JSON nesnesi ister:
state (int) – birim durumu, 0 - Çevrilmemiş, 10 - Düzenlenmesi gerekli, 20 - Çevrilmiş, 30 - Onaylanmış (gözden geçirme iş akışı etkinleştirilmelidir. Bilgi almak için: :ref:`reviews’)
target (array) – hedef dizge
explanation (string) – Dizge açıklaması. Kaynak birimlerde kullanılabilir. Bilgi almak için: Kaynak dizgeler ile ilgili ek bilgiler
extra_flags (string) – Ek dizge imleri. Kaynak birimlerde kullanılabilir. Bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek
- Yanıt JSON nesnesi:
labels (array) – etiketler, kaynak birimlerde kullanılabilir
- PUT /api/units/(int: id)/#
4.3 sürümünde geldi.
Çeviri birimi üzerinde tüm güncellemeleri yapar.
- Parametreler:
id (int) – Birim kimliği
- JSON nesnesi ister:
state (int) – birim durumu, 0 - Çevrilmemiş, 10 - Düzenlenmesi gerekli, 20 - Çevrilmiş, 30 - Onaylanmış (gözden geçirme iş akışı etkinleştirilmelidir. Bilgi almak için: :ref:`reviews’)
target (array) – hedef dizge
explanation (string) – Dizge açıklaması. Kaynak birimlerde kullanılabilir. Bilgi almak için: Kaynak dizgeler ile ilgili ek bilgiler
extra_flags (string) – Ek dizge imleri. Kaynak birimlerde kullanılabilir. Bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek
- Yanıt JSON nesnesi:
labels (array) – etiketler, kaynak birimlerde kullanılabilir
- DELETE /api/units/(int: id)/#
4.3 sürümünde geldi.
Bir çeviri birimini siler.
- Parametreler:
id (int) – Birim kimliği
Değişiklikler#
- GET /api/changes/#
4.1 sürümünde değişti: Değişiklikleri süzme özelliği 4.1 sürümünde sunuldu.
Çeviri değişikliklerinin listesini görüntüler.
Ayrıca bakınız
Değişiklik nesnesi öznitelikleri
GET /api/changes/(int:id)/
bölümünde bulunabilir.- Sorgu parametreleri:
user (string) – Süzülecek kullanıcının kullanıcı adı
action (int) – Süzülecek işlem, birkaç kez kullanılabilir
timestamp_after (timestamp) – Sonraki değişiklikleri listelemek için ISO 8601 biçiminde zaman damgası
timestamp_before (timestamp) – Önceki değişiklikleri listelemek için ISO 8601 biçiminde zaman damgası
- GET /api/changes/(int: id)/#
Çeviri değişikliği hakkındaki bilgileri görüntüler.
- Parametreler:
id (int) – Değişiklik kimliği
- Yanıt JSON nesnesi:
unit (string) – İlişkili birim nesnesinin adresi
translation (string) – İlişkili çeviri nesnesinin adresi
component (string) – İlişkili bileşen nesnesinin adresi
user (string) – İlişkili kullanıcı nesnesinin adresi
author (string) – İlişkili yazar nesnesinin adresi
timestamp (timestamp) – etkinlik zaman damgası
action (int) – işlemin sayısal kimliği
action_name (string) – işlemin metin açıklaması
target (string) – metin ya da ayrıntı değişikliği etkinliği
id (int) – değişiklik belirteci
Ekran görüntüleri#
- GET /api/screenshots/#
Ekran görüntüsü dizgesi bilgilerinin listesini görüntüler.
Ayrıca bakınız
Ekran görüntüsü nesnesi öznitelikleri
GET /api/screenshots/(int:id)/
bölümünde bulunabilir.
- GET /api/screenshots/(int: id)/#
Ekran görüntüsü bilgileriyle ilgili bilgileri görüntüler.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
- Yanıt JSON nesnesi:
name (string) – ekran görüntüsünün adı
component (string) – İlişkili bileşen nesnesinin adresi
file_url (string) – Bir dosyayı indirme bağlantısı. Bilgi almak için:
GET /api/screenshots/(int:id)/file/
units (array) – ilişkili kaynak dizge bilgileri bağlantısı. Bilgi almak için:
GET /api/units/(int:id)/
- GET /api/screenshots/(int: id)/file/#
Ekran görüntüsünü indir.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
- POST /api/screenshots/(int: id)/file/#
Ekran görüntüsünü değiştir.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
- Form parametreleri:
file image – Yüklenen dosya
CURL örneği:
curl -X POST \ -F image=@image.png \ -H "Authorization: Token TOKEN" \ http://example.com/api/screenshots/1/file/
- POST /api/screenshots/(int: id)/units/#
Kaynak dizgeyi ekran görüntüsüyle ilişkilendir.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
- Form parametreleri:
string unit_id – Birim kimliği
- Yanıt JSON nesnesi:
name (string) – ekran görüntüsünün adı
translation (string) – İlişkili çeviri nesnesinin adresi
file_url (string) – Bir dosyayı indirme bağlantısı. Bilgi almak için:
GET /api/screenshots/(int:id)/file/
units (array) – ilişkili kaynak dizge bilgileri bağlantısı. Bilgi almak için:
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/units/(int: unit_id)#
Kaynak dizge ile ekran görüntüsünün ilişkilendirmesini kaldır.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
unit_id – Kaynak dizge birimi kimliği
- POST /api/screenshots/#
Yeni bir ekran görüntüsü oluşturur.
- Form parametreleri:
file image – Yüklenen dosya
string name – Ekran görüntüsü adı
string project_slug – Proje kısaltması
string component_slug – Bileşen kısaltması
string language_code – Dil kodu
- Yanıt JSON nesnesi:
name (string) – ekran görüntüsünün adı
component (string) – İlişkili bileşen nesnesinin adresi
file_url (string) – Bir dosyayı indirme bağlantısı. Bilgi almak için:
GET /api/screenshots/(int:id)/file/
units (array) – ilişkili kaynak dizge bilgileri bağlantısı. Bilgi almak için:
GET /api/units/(int:id)/
- PATCH /api/screenshots/(int: id)/#
Ekran görüntüsü ile ilgili bazı bilgileri düzenle.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
- Yanıt JSON nesnesi:
name (string) – ekran görüntüsünün adı
component (string) – İlişkili bileşen nesnesinin adresi
file_url (string) – Bir dosyayı indirme bağlantısı. Bilgi almak için:
GET /api/screenshots/(int:id)/file/
units (array) – ilişkili kaynak dizge bilgileri bağlantısı. Bilgi almak için:
GET /api/units/(int:id)/
- PUT /api/screenshots/(int: id)/#
Ekran görüntüsü ile ilgili tüm bilgileri düzenle.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
- Yanıt JSON nesnesi:
name (string) – ekran görüntüsünün adı
component (string) – İlişkili bileşen nesnesinin adresi
file_url (string) – Bir dosyayı indirme bağlantısı. Bilgi almak için:
GET /api/screenshots/(int:id)/file/
units (array) – ilişkili kaynak dizge bilgileri bağlantısı. Bilgi almak için:
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/#
Ekran görüntüsünü sil.
- Parametreler:
id (int) – Ekran görüntüsü kimliği
Eklentiler#
4.4.1 sürümünde geldi.
- GET /api/addons/#
Eklentilerin listesini görüntüler.
Ayrıca bakınız
Eklenti nesnesi öznitelikleri
GET /api/addons/(int:id)/
bölümünde bulunabilir.
- GET /api/addons/(int: id)/#
Eklentiyle ilgili bilgileri görüntüler.
- Parametreler:
id (int) – Eklenti kimliği
- Yanıt JSON nesnesi:
name (string) – bir eklentinin adı
component (string) – İlişkili bileşen nesnesinin adresi
configuration (object) – İsteğe bağlı eklenti yapılandırması
Ayrıca bakınız
- POST /api/components/(string: project)/(string: component)/addons/#
Yeni bir eklenti oluşturur.
- Parametreler:
project_slug (string) – Proje kısaltması
component_slug (string) – Bileşen kısaltması
- JSON nesnesi ister:
name (string) – bir eklentinin adı
configuration (object) – İsteğe bağlı eklenti yapılandırması
- PATCH /api/addons/(int: id)/#
Eklenti ile ilgili bazı bilgileri düzenle.
- Parametreler:
id (int) – Eklenti kimliği
- Yanıt JSON nesnesi:
configuration (object) – İsteğe bağlı eklenti yapılandırması
- PUT /api/addons/(int: id)/#
Eklenti ile ilgili tüm bilgileri düzenle.
- Parametreler:
id (int) – Eklenti kimliği
- Yanıt JSON nesnesi:
configuration (object) – İsteğe bağlı eklenti yapılandırması
- DELETE /api/addons/(int: id)/#
Eklentiyi sil.
- Parametreler:
id (int) – Eklenti kimliği
Bileşen listeleri#
4.0 sürümünde geldi.
- GET /api/component-lists/#
Bileşen listelerinin listesini görüntüler.
Ayrıca bakınız
Bileşen listesi nesnesi öznitelikleri
GET /api/component-lists/(str:slug)/
bölümünde bulunabilir.
- GET /api/component-lists/(str: slug)/#
Bileşen listesi hakkındaki bilgileri görüntüler.
- Parametreler:
slug (string) – Bileşen listesi kısaltması
- Yanıt JSON nesnesi:
name (string) – bir bileşen listesinin adı
slug (string) – bir bileşen listesinin kısaltması
show_dashboard (boolean) – bir panoda görüntülenip görüntülenmeyeceği
components (array) – ilişkili bileşenlerin bağlantısı. Bilgi almak için:
GET /api/components/(string:project)/(string:component)/
auto_assign (array) – kendiliğinden atama kuralları
- PUT /api/component-lists/(str: slug)/#
Bileşen listesi parametrelerini değiştirir.
- Parametreler:
slug (string) – Bileşen listesi kısaltması
- JSON nesnesi ister:
name (string) – bir bileşen listesinin adı
slug (string) – bir bileşen listesinin kısaltması
show_dashboard (boolean) – bir panoda görüntülenip görüntülenmeyeceği
- PATCH /api/component-lists/(str: slug)/#
Bileşen listesi parametrelerini değiştirir.
- Parametreler:
slug (string) – Bileşen listesi kısaltması
- JSON nesnesi ister:
name (string) – bir bileşen listesinin adı
slug (string) – bir bileşen listesinin kısaltması
show_dashboard (boolean) – bir panoda görüntülenip görüntülenmeyeceği
- DELETE /api/component-lists/(str: slug)/#
Bileşen listesini siler.
- Parametreler:
slug (string) – Bileşen listesi kısaltması
- POST /api/component-lists/(str: slug)/components/#
Bileşeni bir bileşen listesiyle ilişkilendirir.
- Parametreler:
slug (string) – Bileşen listesi kısaltması
- Form parametreleri:
string component_id – Bileşen kimliği
- DELETE /api/component-lists/(str: slug)/components/(str: component_slug)#
Bileşen listesinden bir bileşenin ilişkisini kaldırır.
- Parametreler:
slug (string) – Bileşen listesi kısaltması
component_slug (string) – Bileşen kısaltması
Sözlük#
4.5 sürümünde değişti: Sözlükler artık normal bileşenler, çeviriler ve dizgeler olarak kaydediliyor. Lütfen bunun yerine ilgili API uygulamasını kullanın.
Görevler#
4.4 sürümünde geldi.
- GET /api/tasks/#
Görevlerin listesi şu anda alınamıyor.
- GET /api/tasks/(str: uuid)/#
Bir görev hakkındaki bilgileri görüntüler
- Parametreler:
uuid (string) – Görev UUID
- Yanıt JSON nesnesi:
completed (boolean) – Görevin tamamlanıp tamamlanmadığı
progress (int) – Yüzde olarak görev ilerlemesi
result (object) – Görev sonucu veya ilerleme ayrıntıları
log (string) – Görev günlüğü
İstatistikler#
- GET /api/(str: object)/statistics/#
Nesneler için birkaç istatistik uç noktası vardır ve bunların tümünün yapısı aynıdır.
- Parametreler:
object (string) – Adres yolu
- Yanıt JSON nesnesi:
total (int) – toplam dizge sayısı
total_words (int) – toplam sözcük sayısı
total_chars (int) – toplam karakter sayısı
last_change (timestamp) – son değişiklik tarihi
translated (int) – çevrilmiş dizge sayısı
translated_percent (float) – çevrilmiş dizge yüzdesi
translated_words (int) – çevrilmiş sözcük sayısı
translated_words_percent (float) – çevrilmiş sözcük yüzdesi
translated_chars (int) – çevrilmiş karakter sayısı
translated_chars_percent (float) – çevrilmiş karakter yüzdesi
fuzzy (int) – belirsiz (düzenlenecek olarak imlenmiş) dizge sayısı
fuzzy_percent (float) – belirsiz (düzenlenecek olarak imlenmiş) dizge yüzdesi
failing (int) – denetim hataları sayısı
failing_percent (float) – denetim hataları yüzdesi
approved (int) – onaylanmış denetim sayısı
approved_percent (float) – onaylanmış dizgelerin yüzdesi
readonly (int) – salt okunur dizgelerin sayısı
readonly_percent (float) – salt okunur dizgelerin yüzdesi
suggestions (int) – önerileri olan dizgelerin sayısı
comments (int) – yorumları olan dizgelerin sayısı
name (string) – nesne adı
url (string) – Nesneye erişme adresi (uygulanabiliyorsa)
url_translate (string) – Çeviriye erişme adresi (uygulanabiliyorsa)
code (string) – dil kodu (uygulanabiliyorsa)
Ölçümler#
- GET /api/metrics/#
Sunucu ölçümlerini görüntüler.
- Yanıt JSON nesnesi:
units (int) – Birim sayısı
units_translated (int) – Çevrilmiş birim sayısı
users (int) – Kullanıcı sayısı
changes (int) – Değişiklik sayısı
projects (int) – Proje sayısı
components (int) – Bileşen sayısı
translations (int) – Çeviri sayısı
languages (int) – Kullanılan dil sayısı
checks (int) – Tetiklenmiş kalite denetimleri sayısı
configuration_errors (int) – Yapılandırma hataları sayısı
suggestions (int) – Bekleyen öneri sayısı
celery_queues (object) – Celery kuyruklarının uzunlukları. Bilgi almak için: Celery ile arka plan görevlerini kullanmak
name (string) – Yapılandırılmış sunucu adı
Arama#
- GET /api/search/#
4.18 sürümünde geldi.
Site genelinde arama sonuçlarını bir liste olarak döndürür. Sonuç kümesinde sayfalama yoktur. Her kategori için yalnızca ilk birkaç eşleşme döndürülür.
- Yanıt JSON nesnesi:
name (str) – Eşleşen ögenin adı.
url (str) – Eşleşen ögenin internet adresi.
category (str) – Eşleşen ögenin kategorisi.
Bildirim kancaları#
Bildirim kancaları, dış uygulamaların sürüm denetimi sistemi deposunun güncellendiğini Weblate tarafına bildirmesini sağlar.
Depoları ayrı ayrı güncellemek için proje, bileşen ve çeviri depo uç noktalarını kullanabilirsiniz. Bilgi almak için POST /api/projects/(string:project)/repository/
.
- GET /hooks/update/(string: project)/(string: component)/#
2.6 sürümünden beri kullanım dışı: Erişim denetimi listesi ile kısıtlanmış projeler için kimlik doğrulaması ile düzgün çalışan
POST /api/components/(string:project)/(string:component)/repository/
kullanın.Bir bileşenin güncellenmesini tetikler (sürüm denetimi sisteminden çekme ve çeviri değişikliklerini tarama).
- GET /hooks/update/(string: project)/#
2.6 sürümünden beri kullanım dışı: Erişim denetimi listesi ile kısıtlanmış projeler için kimlik doğrulaması ile düzgün çalışan
POST /api/projects/(string:project)/repository/
kullanın.Bir projedeki tüm bileşenlerin güncellenmesini tetikler (sürüm denetimi sisteminden çekme ve çeviri değişikliklerini tarama).
- POST /hooks/github/#
GitHub bildirimlerini işleyen ve eşleşen bileşenleri kendiliğinden güncelleyen özel kanca.
Not
GitHub, doğrudan Weblate bilgilendirmelerini destekler: Depo ayarlarından Weblate hizmet kancasını etkinleştirin ve adres olarak Weblate kurulumunuzun adresini yazın.
Ayrıca bakınız
- GitHub değişikliklerini kendiliğinden almak
GitHub bütünleştirmesini ayarlama yönergeleri için
- https://docs.github.com/en/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks
GitHub internet kancaları ile ilgili genel bilgiler
ENABLE_HOOKS
Kancaları Weblate genelinde etkinleştirmek için
- POST /hooks/gitlab/#
GitLab bildirimlerini işleyen ve eşleşen bileşenleri kendiliğinden güncelleyen özel kanca.
Ayrıca bakınız
- GitLab değişikliklerini kendiliğinden almak
GitLab bütünleştirmesini ayarlama yönergeleri için
- https://docs.gitlab.com/ee/user/project/integrations/webhooks.html
GitLab internet kancaları ile ilgili genel bilgiler
ENABLE_HOOKS
Kancaları Weblate genelinde etkinleştirmek için
- POST /hooks/bitbucket/#
Bitbucket bildirimlerini işleyen ve eşleşen bileşenleri kendiliğinden güncelleyen özel kanca.
Ayrıca bakınız
- Bitbucket değişikliklerini kendiliğinden almak
Bitbucket bütünleştirmesini ayarlama yönergeleri için
- https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/
Bitbucket internet kancaları ile ilgili genel bilgiler
ENABLE_HOOKS
Kancaları Weblate genelinde etkinleştirmek için
- POST /hooks/pagure/#
3.3 sürümünde geldi.
Pagure bildirimlerini işleyen ve eşleşen bileşenleri kendiliğinden güncelleyen özel kanca.
Ayrıca bakınız
- Pagure değişikliklerini kendiliğinden almak
Pagure bütünleştirmesini ayarlama yönergeleri için
- https://docs.pagure.org/pagure/usage/using_webhooks.html
Pagure internet kancaları ile ilgili genel bilgiler
ENABLE_HOOKS
Kancaları Weblate genelinde etkinleştirmek için
- POST /hooks/azure/#
3.8 sürümünde geldi.
Azure DevOps bildirimlerini işleyen ve eşleşen bileşenleri kendiliğinden güncelleyen özel kanca.
Not
Lütfen Gönderilecek kaynak ayrıntıları değerinin Tümü olarak ayarlandığından emin olun. Yoksa Weblate ile Azure deponuz eşleşemez.
Ayrıca bakınız
- Azure Repos değişikliklerini kendiliğinden almak
Azure bütünleştirmesini ayarlama yönergeleri için
- https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops
Azure DevOps internet kancaları ile ilgili genel bilgiler
ENABLE_HOOKS
Kancaları Weblate genelinde etkinleştirmek için
- POST /hooks/gitea/#
3.9 sürümünde geldi.
Gitea internet kancası bildirimlerini işleyen ve eşleşen bileşenleri kendiliğinden güncelleyen özel kanca.
Ayrıca bakınız
- Gitea depoları değişikliklerini kendiliğinden almak
Gitea bütünleştirmesini ayarlama yönergeleri için
- https://docs.gitea.io/en-us/webhooks/
Gitea internet kancaları ile ilgili genel bilgiler
ENABLE_HOOKS
Kancaları Weblate genelinde etkinleştirmek için
- POST /hooks/gitee/#
3.9 sürümünde geldi.
Gitee internet kancası bildirimlerini işleyen ve eşleşen bileşenleri kendiliğinden güncelleyen özel kanca.
Ayrıca bakınız
- Gitee depoları değişikliklerini kendiliğinden almak
Gitee bütünleştirmesini ayarlama yönergeleri için
- https://gitee.com/help/categories/40
Gitee internet kancaları ile ilgili genel bilgiler
ENABLE_HOOKS
Kancaları Weblate genelinde etkinleştirmek için
Dışa aktarmak#
Weblate, verileri farklı şekillerde işlemenizi sağlamak için çeşitli dışa aktarma seçenekleri sunar.
- GET /exports/stats/(string: project)/(string: component)/#
- Sorgu parametreleri:
format (string) – Çıktı biçimi:
json
ya dacsv
2.6 sürümünden beri kullanım dışı: Lütfen bunun yerine
GET /api/components/(string:project)/(string:component)/statistics/
veGET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
kullanın. Erişim denetim listesi kullanılan projelere de erişilmesini sağlar.Belirli bir bileşenin istatistiklerini belirtilen biçimde alır.
Örnek istek:
GET /exports/stats/weblate/main/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Örnek yanıt:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json [ { "code": "cs", "failing": 0, "failing_percent": 0.0, "fuzzy": 0, "fuzzy_percent": 0.0, "last_author": "Michal Čihař", "last_change": "2012-03-28T15:07:38+00:00", "name": "Czech", "total": 436, "total_words": 15271, "translated": 436, "translated_percent": 100.0, "translated_words": 3201, "url": "http://hosted.weblate.org/engage/weblate/cs/", "url_translate": "http://hosted.weblate.org/projects/weblate/main/cs/" }, { "code": "nl", "failing": 21, "failing_percent": 4.8, "fuzzy": 11, "fuzzy_percent": 2.5, "last_author": null, "last_change": null, "name": "Dutch", "total": 436, "total_words": 15271, "translated": 319, "translated_percent": 73.2, "translated_words": 3201, "url": "http://hosted.weblate.org/engage/weblate/nl/", "url_translate": "http://hosted.weblate.org/projects/weblate/main/nl/" }, { "code": "el", "failing": 11, "failing_percent": 2.5, "fuzzy": 21, "fuzzy_percent": 4.8, "last_author": null, "last_change": null, "name": "Greek", "total": 436, "total_words": 15271, "translated": 312, "translated_percent": 71.6, "translated_words": 3201, "url": "http://hosted.weblate.org/engage/weblate/el/", "url_translate": "http://hosted.weblate.org/projects/weblate/main/el/" } ]
RSS akışları#
Çevirilerdeki değişiklikler RSS akışlarında dışa aktarılır.
- GET /exports/rss/(string: project)/(string: component)/(string: language)/#
Bir çevirideki son değişikliklerin RSS akışını alır.
- GET /exports/rss/(string: project)/(string: component)/#
Bir bileşendeki son değişikliklerin RSS akışını alır.
- GET /exports/rss/(string: project)/#
Bir projedeki son değişikliklerin RSS bildirimini alır.
- GET /exports/rss/language/(string: language)/#
Bir dildeki son değişikliklerin RSS akışını alır.
- GET /exports/rss/#
Weblate kopyasındaki son değişikliklerin RSS akışını alır.
Ayrıca bakınız
Weblate istemcisi#
Kurulum#
Weblate istemcisi ayrıca alınır ve Python modülünü içerir. Şu komutları kullanabilmek için wlc
kurmanız gerekir:
pip install wlc
Docker kullanımı#
Weblate istemcisi, Docker kalıbı olarak da kullanılabilir.
Kalıp Docker Hub üzerinde bulunur: https://hub.docker.com/r/weblate/wlc
Kurulum:
docker pull weblate/wlc
Docker kapsayıcısı, varsayılan Weblate ayarlarını kullanır ve localhost ile dağıtılan API üzerine bağlanır. API URL ve API_KEY, Weblate tarafından kabul edilen bağımsız değişkenler kullanılarak yapılandırılabilir.
Kapsayıcıyı başlatma komutu şu söz dizimini kullanır:
docker run --rm weblate/wlc [WLC_ARGS]
Örnek:
docker run --rm weblate/wlc --url https://hosted.weblate.org/api/ list-projects
Yapılandırma dosyaları dosyanızı Docker kapsayıcısına aktarmak isteyebilirsiniz. En kolay yaklaşım geçerli klasörünüzü /home/weblate
birimi olarak eklemektir:
docker run --volume $PWD:/home/weblate --rm weblate/wlc show
Başlarken#
wlc yapılandırması ~/.config/weblate
klasöründe bulunur (diğer konumlar ile ilgili bilgi almak için: Yapılandırma dosyaları). Lütfen ortamınızla uygun şekilde ayarlayın:
[weblate]
url = https://hosted.weblate.org/api/
[keys]
https://hosted.weblate.org/api/ = APIKEY
Ardından varsayılan sunucuda komutları yürütebilirsiniz:
wlc ls
wlc commit sandbox/hello-world
Ayrıca bakınız
Özet#
wlc [arguments] <command> [options]
Komutlar aslında hangi işlemin yapılması gerektiğini belirtir.
Açıklama#
Weblate Client, Weblate yönetiminin Weblate REST API uygulaması üzerinden yapılmasını sağlayan bir Python kitaplığı ve komut satırı uygulamasıdır. Komut satırı uygulaması wlc komutu ile çağrılabilir ve wlc
modülü üzerinde bulunur.
Argümanlar#
Çıktı biçimini veya hangi Weblate kopyasının kullanılacağını tanımlamak için aşağıdaki bağımsız değişkenler kullanılabilir. Bunlar herhangi bir komuttan önce yazılmalıdır.
- --format {csv,json,text,html}#
Çıktı biçimini belirtin.
- --url URL#
API adresini belirtir. Yapılandırma dosyasındaki tüm değerlerin yerini alır. Bilgi almak için: Yapılandırma dosyaları. Adres
/api/
ile bitmelidir. Örnek: ``https://hosted.weblate.org/api/`.
- --key KEY#
Kullanılacak API kullanıcı anahtarını belirtir. Yapılandırma dosyasındaki tüm değerlerin yerini alır. Bilgi almak için: Yapılandırma dosyaları. Anahtarınızı Weblate profilinizde bulabilirsiniz.
- --config PATH#
Yapılandırma dosyası yolunu değiştirir. Bilgi almak için: Yapılandırma dosyaları.
- --config-section SECTION#
Kullanımdaki yapılandırma dosyası bölümünü değiştirir. Bilgi almak için: Yapılandırma dosyaları.
Komutlar#
Kullanılabilecek komutlar şunlardır:
- version#
Geçerli sürümü yazdırır.
- list-languages#
Weblate üzerinde kullanılan dilleri listeler.
- list-projects#
Weblate üzerindeki projeleri listeler.
- list-components#
Weblate üzerindeki bileşenleri listeler.
- list-translations#
Weblate üzerindeki çevirileri listeler.
- show#
Weblate nesnesini (çeviri, bileşen ya da proje) görüntüler.
- ls#
Weblate nesnesini (çeviri, bileşen ya da proje) listeler.
- commit#
Bir Weblate nesnesinde (çeviri, bileşen ya da proje) yapılan değişiklikleri işler.
- pull#
Uzak depo değişikliklerini Weblate nesnesine (çeviri, bileşen ya da proje) çeker.
- push#
Weblate nesnesindeki (çeviri, bileşen ya da proje) değişiklikleri uzak depoya gönderir.
- reset#
0.7 sürümünde geldi: wlc 0.7 sürümünden başlayarak destekleniyor.
Uzak depoyla eşleşmesi için Weblate nesnesindeki (çeviri, bileşen ya da proje) değişiklikleri sıfırlar.
- cleanup#
0.9 sürümünde geldi: wlc 0.9 sürümünden başlayarak destekleniyor.
Uzak depoyla eşleşmesi için bir Weblate nesnesindeki (çeviri, bileşen ya da proje) izlenmeyen değişiklikleri siler.
- repo#
Belirli bir Weblate nesnesi (çeviri, bileşen ya da proje) için depo durumunu görüntüler.
- stats#
Belirli bir Weblate nesnesi (çeviri, bileşen ya da proje) için ayrıntılı istatistikleri görüntüler.
- lock-status#
0.5 sürümünde geldi: wlc 0.5 sürümünden başlayarak destekleniyor.
Kilit durumunu görüntüler.
- lock#
0.5 sürümünde geldi: wlc 0.5 sürümünden başlayarak destekleniyor.
Weblate bileşenini kilitleyerek üzerinde daha fazla çeviri yapılmasını engeller.
- unlock#
0.5 sürümünde geldi: wlc 0.5 sürümünden başlayarak destekleniyor.
Weblate bileşeninin kilidini açarak çeviri yapılmasını sağlar.
- changes#
0.7 sürümünde geldi: wlc 0.7 ve Weblate 2.10 sürümünden başlayarak destekleniyor.
Belirli bir nesnenin değişikliklerini görüntüler.
- download#
0.7 sürümünde geldi: wlc 0.7 sürümünden başlayarak destekleniyor.
Bir çeviri dosyasını indirir.
- --convert#
Dosya biçimini dönüştürür. Belirtilmemişse sunucuda herhangi bir dönüştürme yapılmaz ve dosya depodan olduğu gibi indirilir.
- --output#
Çıktının kaydedileceği dosyayı belirtir. Belirtilmezse stdout çıkışına yazdırılır.
- upload#
0.9 sürümünde geldi: wlc 0.9 sürümünden başlayarak destekleniyor.
Bir çeviri dosyasını yükler.
- --overwrite#
Yükleme yapılırken var olan çevirilerin üzerine yazar.
- --input#
İçeriği okunacak dosya. Belirtilmemişse stdin girişinden okunur.
- --method#
Kullanılacak yükleme yöntemi. Bilgi almak için: İçe aktarma yöntemleri.
- --fuzzy#
Belirsiz (düzenlenecek olarak imlenmiş) dizgeleri işleme (empty,
process
,approve
)
- --author-name#
Geçerli kullanıcı yerine kullanılacak yazar adı
- --author-email#
Geçerli kullanıcı yerine kullanılacak yazar e-posta adresi
İpucu
Komutların kullanımı ile ilgili ayrıntılı bilgi almak için --help
seçeneğini kullanabilirsiniz. Örneğin: wlc ls --help
.
Yapılandırma dosyaları#
.weblate
,.weblate.ini
,weblate.ini
Projeye özel yapılandırma dosyası
C:\Users\NAME\AppData\weblate.ini
Windows üzerinde kullanıcı yapılandırma dosyası.
~/.config/weblate
Kullanıcı yapılandırma dosyası
/etc/xdg/weblate
Sistem geneli yapılandırma dosyası
Program XDG teknik özelliklerine uyar. Böylece XDG_CONFIG_HOME
ya da XDG_CONFIG_DIRS
ortam değişkenlerine göre yapılandırma dosyalarının konumunu ayarlayabilirsiniz. Windows üzerinde yapılandırma dosyası için yeğlenen konum APPDATA
klasörüdür.
[weblate]
bölümünde şu ayarlar yapılandırılabilir (bunu --config-section
ile özelleştirebilirsiniz):
- key
Weblate erişimi için kullanılacak API anahtarı.
- url
API sunucusunun adresi. Varsayılan değer:
http://127.0.0.1:8000/api/
.
- translation
Varsayılan çeviri yolu. Bileşen ya da proje.
Yapılandırma dosyası bir INI dosyasıdır. Örneğin:
[weblate]
url = https://hosted.weblate.org/api/
key = APIKEY
translation = weblate/application
Ek API anahtarları [keys]
bölümüne kaydedilebilir:
[keys]
https://hosted.weblate.org/api/ = APIKEY
Bu seçenek, sürüm denetimi sistemi deposundaki .weblate
yapılandırmasını kullanırken anahtarları kişisel ayarlarınızda tutmanızı sağlar. Böylece wlc hangi sunucuyla konuşması gerektiğini bilir.
Örnekler#
Geçerli program sürümünü yazdır:
$ wlc version
version: 0.1
Tüm projeleri listele:
$ wlc list-projects
name: Hello
slug: hello
url: http://example.com/api/projects/hello/
web: https://weblate.org/
web_url: http://example.com/projects/hello/
Çeviri dosyasını yükle:
$ wlc upload project/component/language --input /tmp/hello.po
Ayrıca wlc hangi proje üzerinde çalışacak onu da belirleyebilirsiniz:
$ cat .weblate
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application
$ wlc show
branch: main
file_format: po
source_language: en
filemask: weblate/locale/*/LC_MESSAGES/django.po
git_export: https://hosted.weblate.org/git/weblate/application/
license: GPL-3.0+
license_url: https://spdx.org/licenses/GPL-3.0+
name: Application
new_base: weblate/locale/django.pot
project: weblate
repo: git://github.com/WeblateOrg/weblate.git
slug: application
template:
url: https://hosted.weblate.org/api/components/weblate/application/
vcs: git
web_url: https://hosted.weblate.org/projects/weblate/application/
Bu kurulumla, geçerli projede bekleyen değişiklikler kolayca işlenebilir:
$ wlc commit
Weblate Python API#
Kurulum#
Python API ayrıca alınır. Alabilmek için Weblate istemcisi (wlc) kurmanız gerekir.
pip install wlc
wlc
#
WeblateException
#
- exception wlc.WeblateException#
Tüm özel durumlar için temel sınıf.
Weblate
#
- class wlc.Weblate(key='', url=None, config=None)#
- Parametreler:
key (str) – Kullanıcı anahtarı
url (str) – API sunucusu adresi, belirtilmemişse varsayılan adres kullanılır
config (wlc.config.WeblateConfig) – Yapılandırma nesnesi, diğer parametreleri değiştirir.
API erişim sınıfı. API anahtarını ve isteğe bağlı olarak API adresini tanımlar.
- get(path)#
- Parametreler:
path (str) – İstek yolu
- Dönüş türü:
object
Tek bir API GET çağrısı yapar.
- post(path, **kwargs)#
- Parametreler:
path (str) – İstek yolu
- Dönüş türü:
object
Tek bir API GET çağrısı yapar.
wlc.config
#
WeblateConfig
#
- class wlc.config.WeblateConfig(section='wlc')#
- Parametreler:
section (str) – Kullanılacak yapılandırma bölümü
XDG teknik özelliklerine uygun yapılandırma dosyası işleyici.
- load(path=None)#
- Parametreler:
path (str) – Yapılandırmanın yükleneceği yol.
Yapılandırmayı bir dosyadan yükler. None olarak belirtilirse, XDG yapılandırma yolunuzda (
/etc/xdg/wlc
) bulunan wlc yapılandırma dosyasından (~/.config/wlc
) yüklenir.
wlc.main
#
- wlc.main.main(settings=None, stdout=None, args=None)#
- Parametreler:
Komut satırı arayüzü için ana giriş noktası.
- @wlc.main.register_command(command)#
main()
tarafından kullanılan ana işleyicideCommand
sınıfını kaydeden dekoratör.
Command
#
- class wlc.main.Command(args, config, stdout=None)#
Komutları çağıran ana sınıf.
Yapılandırma yönergeleri#
Weblate kurulumu#
Docker ile kurmak#
Docker için hazırlanmış Weblate dağıtımını kullanarak kişisel Weblate bulut sunucunuzu saniyeler içinde çalışır duruma getirebilirsiniz. Tüm Weblate bağımlılıkları zaten katılmıştır. Varsayılan veri tabanı olarak PostgreSQL kurulmuştur.
Donanım gereksinimleri#
Weblate, herhangi bir çağdaş donanımda sorunsuz çalışmalıdır, Tek bir sunucuda Weblate bileşenlerini (Weblate, veri tabanı ve site sunucusu) çalıştırmak için gerekli en az yapılandırma şu şekildedir:
3 GB RAM bellek
2 işlemci çekirdeği
1 GB depolama alanı
Bellek ne kadar çok olursa o kadar iyidir. Tüm düzeylerde (dosya sistemi, veri tabanı ve Weblate) ön bellek için kullanılır.
Eşzamanlı bulunacak kullanıcı sayısı, gerekli işlemci çekirdeği sayısını artırır. Yüzlerce bileşenden oluşan çevirler için en az 4 GB RAM bellek bulunması önerilir.
Veri tabanı depolama alanı gereksinimi, barındırılacak 1 milyon sözcük için yaklaşık 300 MB olarak düşünebilir. Kopyalanmış depolar için gereken depolama alanı değişiklik gösterir. Ancak Weblate sığ kopyalama ile depo boyutlarını en az düzeyde tutmaya çalışır.
Not
Weblate kurulumunuz için gerçek gereksinimler, üzerinde bulunacak çevirilerin boyutuna bağlı olarak büyük ölçüde değişiklik gösterebilir.
Kurulum#
Aşağıdaki örneklerde, docker-compose-plugin
ile kurulumu yapılmış çalışan bir Docker ortamınız olduğu varsayılmaktadır. Yönergeler için Docker belgelerine bakabilirsiniz.
weblate-docker deposunu kopyalayın:
git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker cd weblate-docker
Ayarlarınızı yaptığınız bir
docker-compose.override.yml
dosyası oluşturun. Ortam değişkenlerinin tam listesi için Docker ortam değişkenleri bölümüne bakabilirsiniz.version: '3' services: weblate: ports: - 80:8080 environment: WEBLATE_EMAIL_HOST: smtp.example.com WEBLATE_EMAIL_HOST_USER: user WEBLATE_EMAIL_HOST_PASSWORD: pass WEBLATE_SERVER_EMAIL: weblate@example.com WEBLATE_DEFAULT_FROM_EMAIL: weblate@example.com WEBLATE_SITE_DOMAIN: weblate.example.com WEBLATE_ADMIN_PASSWORD: password for the admin user WEBLATE_ADMIN_EMAIL: weblate.admin@example.com
Not
WEBLATE_ADMIN_PASSWORD
değişkeni ayarlanmamışsa, yönetici kullanıcı başta belirtilen rastgele bir parolayla oluşturulur.Verilen örnekte, Weblate 80 numaralı bağlantı noktasını dinleyecek şekilde ayarlanmıştır.
docker-compose.override.yml
dosyasını düzenleyerek bağlantı noktasını değiştirebilirsiniz.Weblate kapsayıcılarını başlatın:
docker compose up
Weblate dağıtımınızın tadını çıkarın. weblate
kapsayıcısına 80 numaralı bağlantı noktasından erişilebilir.
3.7.1-6 sürümünde değişti: 2019 Temmuz ayında (3.7.1-6 sürümünden başlayarak), kapsayıcılar kök kullanıcı olarak çalışmayacak biçimde değiştirildi. Açık bağlantı noktası 80 yerine 8080 olarak değiştirildi.
Ayrıca bakınız
Docker kalıbı kayıt defterini seçmek#
Weblate kapsayıcıları şu kayıt defterlerinde yayınlanmıştır:
Docker Hub için https://hub.docker.com/r/weblate/weblate adresine bakın
GitHub paketleri kayıt defteri için https://github.com/WeblateOrg/docker/pkgs/container/weblate adresine bakın
Not
Tüm örneklerde kalıplar Docker Hub üzerinden alınıyor. Farklı bir kayıt defteri kullanmak için yapılandırmayı uygun şekilde ayarlayın.
Docker kalıp etiketini seçmek#
Lütfen ortamınıza ve beklentilerinize uygun bir etiket seçin:
Etiket adı |
Açıklama |
Kullanım amacı |
---|---|---|
|
Son etiketlenmiş sürümle eşleşen kararlı Weblate sürümü |
Üretim ortamında güncellemeleri yapmak |
|
Weblate kararlı sürümü |
Bir üretim ortamında ana sürüm güncellemeleri |
|
Weblate kararlı sürümü |
Bir üretim ortamında küçük sürüm güncellemeleri |
|
Weblate kararlı sürümü |
Üretim ortamında iyi tanımlanmış dağıtım |
|
Docker kapsayıcısındaki geliştirme değişiklikleriyle Weblate kararlı sürümü (güncelleştirilmiş bağımlılıklar gibi) |
Deneme ortamında güncellemeleri yapmak |
|
Docker kapsayıcısındaki geliştirme değişiklikleriyle Weblate kararlı sürümü (güncelleştirilmiş bağımlılıklar gibi) |
Hazırlama ortamında iyi tanımlanmış dağıtım |
|
Git üzerinden Weblate geliştirme sürümü |
Yakında eklencek Weblate özelliklerini denemel için güncelleme ekleri |
|
Git üzerinden Weblate geliştirme sürümü |
Yaklaşan Weblate özelliklerini denemek için iyi tanımlanmış dağıtım |
Her kalıp yayınlanmadan önce denenir. Bu nedenle bleeding sürümünün kullanımı bile oldukça güvenli olmalıdır.
Yayınlanmış etiketlerin tam listesi GitHub paketleri içinde bulunabilir
HTTPS desteği ile Docker kapsayıcısı#
Genel dağıtım yönergeleri için Kurulum bölümüne bakabilirsiniz. Bu bölümde yalnızca oradakinden farklı olan durumlar ele alınmıştır.
Kendi SSL sertifikalarınızı kullanmak#
3.8-3 sürümünde geldi.
Kullanmak istediğiniz bir SSL sertifikanız varsa, dosyaları Weblate veri birimine yerleştirmeniz yeterlidir (bilgi almak için: :ref:`docker-volume’):
ssl/fullchain.pem
dosyasında gerekli sertifika kuruluşunun sertifikaları ile birlikte kullanılacak sertifika bulunurssl/privkey.pem
dosyasında kişisel anahtar bulunur
Bu dosyaların ikisinin de sahibi, docker kapsayıcısını başlatan kullanıcı ile aynı olmalı ve dosya izinleri 600
olarak ayarlanmış olmalıdır (yalnızca sahibi olan kullanıcı tarafından okunabilir ve yazılabilir).
Ek olarak, Weblate kapsayıcısı SSL bağlantılarını artık 4443 numaralı bağlantı noktasından karşılar. Docker compose değişikliklerine HTTPS için bağlantı noktası yönlendirmeyi de katmak istersiniz:
version: '3'
services:
weblate:
ports:
- 80:8080
- 443:4443
Aynı sunucuda başka siteler barındırıyorsanız, büyük olasılıkla 80
ve 443
numaralı bağlantı noktaları NGINX gibi bir ters vekil sunucu tarafından kullanılmaktadır. HTTPS bağlantısını NGINX üzerinden docker kapsayıcısına geçirmek için şu yapılandırmayı kullanabilirsiniz:
server {
listen 443;
listen [::]:443;
server_name <SITE_URL>;
ssl_certificate /etc/letsencrypt/live/<SITE>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<SITE>/privkey.pem;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_pass https://127.0.0.1:<EXPOSED_DOCKER_PORT>;
}
}
<SITE_URL>
, <SITE>
ve <EXPOSED_DOCKER_PORT>
seçeneklerine ortamınızın gerçek değerlerini yazın.
Let’s Encrypt ile SSL sertifikası sağlamak#
Genel kurulumda kendiliğinden oluşturulan Let’s Encrypt SSL sertifikalarını kullanmak istiyorsanız, ters bir HTTPS vekil sunucusu eklemeniz gerekir. Bunun için ek bir Docker kapsayıcısı olan https-portal kullanılır. Bu, docker-compose-https.yml
dosyası kullanılarak yapılır. Ardından ayarlarınızla bir docker-compose-https.override.yml
dosyası oluşturun:
version: '3'
services:
weblate:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
WEBLATE_SITE_DOMAIN: weblate.example.com
WEBLATE_ADMIN_PASSWORD: password for admin user
https-portal:
environment:
DOMAINS: 'weblate.example.com -> http://weblate:8080'
docker-compose komutunu her çağırdığınızda, her iki dosyayı da belirtmeniz ve ardından şunları yapmanız gerekir:
docker compose -f docker-compose-https.yml -f docker-compose-https.override.yml build
docker compose -f docker-compose-https.yml -f docker-compose-https.override.yml up
Docker kapsayıcısını yükseltmek#
Genellikle yalnızca Weblate kapsayıcısını güncellemek ve PostgreSQL kapsayıcısını olduğu sürümde tutmak iyi bir fikirdir. Çünkü PostgreSQL yükseltmesi oldukça zorlu bir işlemdir ve çoğu durumda fazla bir yarar sağlamaz.
4.17-1 sürümünde değişti: Weblate 4.17-1 sürümünden bu yana, Docker kapsayıcısı PostgreSQL 12 ya da üzerindeki sürümlere gerek duyan Django 4.2 kullanır. Lütfen Weblate yükseltmesinden önce Docker sürümünü yükseltin. Bilgi almak için: PostgreSQL kapsayıcısını yükseltmek.
Bu işlemi, var olan docker-compose ögesine bağlı kalarak ve son kalıpları alıp yeniden başlatarak yapabilirsiniz:
# Fetch latest versions of the images
docker compose pull
# Stop and destroy the containers
docker compose down
# Spawn new containers in the background
docker compose up -d
# Follow the logs during upgrade
docker compose logs -f
Weblate veri tabanının başlangıçta kendiliğinden aktarılması ve el ile yapılacak ek işlemlere gerek kalmaması beklenir.
Not
Weblate ana sürümler arasında yükseltme işlemini desteklemez. Örneğin, 3.x serisini kullanıyor ve 4.x serisine yükseltmek istiyorsanız, önce son 4.0.x-y kalıbına (yazı hazırlandığında 4.0.4-5
sürümüydü) yükseltin. Bu kalıp önce aktarımı yapıp ardından yeni sürümlere yükseltmeyi sağlar.
docker-compose
deposunu da güncellemek isteyebilirsiniz. Ancak çoğu durumda buna gerek olmaz. PostgreSQL sunucusunu yükseltmek için PostgreSQL kapsayıcısını yükseltmek sayfasına bakabilirsiniz.
PostgreSQL kapsayıcısını yükseltmek#
PostgreSQL kapsayıcıları sürümler arasında kendiliğinden yükseltmeyi desteklemez. El ile yükseltmeniz gerekir. Aşağıdaki adımlarda, yükseltme seçeneklerinden biri gösterilmektedir.
Ayrıca bakınız
Weblate kapsayıcısını durdurun:
docker compose stop weblate cache
Veri tabanını yedekleyin:
docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
Veri tabanı kapsayıcısını durdurun:
docker compose stop database
PostgreSQL birimini kaldırın:
docker compose rm -v database docker volume remove weblate-docker_postgres-data
docker-compose.yml
dosyasını yeni PostgreSQL sürümünü kullanarak şekilde ayarlayın.Veri tabanı kapsayıcısını başlatın:
docker compose up -d database
Veri tabanını yedekten geri yükleyin:
cat backup.sql | docker compose exec -T database psql --username weblate --dbname weblate
İpucu
Veri tabanı adının
POSTGRES_DATABASE
ile aynı olduğundan emin olun.(İsteğe bağlı) Weblate kullanıcısının parolasını güncelleyin. Parolaları depolama yöntemi değiştirildiği için PostgreSQL 14 ya da 15 sürümüne geçiş yaparken bu işlemi yapmanız gerekebilir:
docker compose exec -T database psql --username weblate --dbname weblate -c "ALTER USER weblate WITH PASSWORD 'weblate'"
İpucu
Veri tabanı adının
POSTGRES_DATABASE
ile aynı olduğundan emin olun.Kalan tüm kapsayıcıları başlatın:
docker compose up -d
Yönetici olarak oturum açın#
Kapsayıcı kurulumundan sonra, WEBLATE_ADMIN_PASSWORD
içinde belirtilen parolayla ya da ayarlanmamışsa başlangıçta oluşturulan rastgele bir parolayla admin kullanıcısı ile oturum açabilirsiniz.
admin parolasını sıfırlamak için WEBLATE_ADMIN_PASSWORD
seçeneğine yeni parolayı ayarlayın ve kapsayıcıyı yeniden başlatın.
Ayrıca bakınız
WEBLATE_ADMIN_PASSWORD
,
WEBLATE_ADMIN_NAME
,
WEBLATE_ADMIN_EMAIL
İşlem sayısı ve bellek kullanımı#
Hem uWSGI hem de Celery için çalışan işlem sayısı, işlemci sayısına göre kendiliğinden belirlenir. Bu seçim, çoğu bulut sanal makinesi için iyi çalışır. Bu makinelerde genellikle az sayıda işlemci ve iyi miktarda bellek bulunur.
Çok fazla işlemci çekirdeğiniz varsa ve bellek sorunlarından kurtulursanız, işlem sayısını azaltmayı deneyin:
environment:
WEBLATE_WORKERS: 2
Ayrıca her işleyici kategorisi için ince ayar yapabilirsiniz:
environment:
WEB_WORKERS: 4
CELERY_MAIN_OPTIONS: --concurrency 2
CELERY_NOTIFY_OPTIONS: --concurrency 1
CELERY_TRANSLATE_OPTIONS: --concurrency 1
Yatay ölçeklendirme#
4.6 sürümünde geldi.
Hizmeti yatay olarak ölçeklemek için birden çok Weblate kapsayıcısı çalıştırabilirsiniz. /app/data
biriminin tüm kapsayıcılar tarafından paylaşılması gerekir. Bunun için GlusterFS gibi küme dosya sistemlerinin kullanılması önerilir. /app/cache
birimi her kapsayıcı için ayrı olmalıdır.
Her Weblate kapsayıcısı, WEBLATE_SERVICE
ortam değişkenini kullanarak rolü tanımlar. Bazı hizmetlerin kümede yalnızca bir kez çalışması gerektiğinden ve hizmetlerin sıralaması önemli olduğundan, belgelere dikkatle uyun.
Örnek kurulumu docker-compose
deposunda docker-compose-split.yml olarak bulabilirsiniz.
Docker ortam değişkenleri#
Weblate Yapılandırma ögelerinin çoğu, Docker kapsayıcısında aşağıda açıklanan ortam değişkenleri ile ayarlanabilir.
Docker ortam değişkenlerinde bulunmayan bir ayar yapmanız gerekiyorsa bilgi almak için Ortam değişkenlerinin yapılandırması.
Genel ayarlar#
- WEBLATE_DEBUG#
DEBUG
kullanarak Django hata ayıklama kipini yapılandırır.Örnek:
environment: WEBLATE_DEBUG: 1
Ayrıca bakınız
- WEBLATE_LOGLEVEL#
Günlük tutma düzeyini yapılandırır. Ayrıntılı günlük kayıtları tutmak için
DEBUG
olarak ayarlayın.WEBLATE_DEBUG
kapatıldığında varsayılan olarakINFO
olur. Hata ayıklama kipi açıldığındaDEBUG
kullanılır.
- WEBLATE_LOGLEVEL_DATABASE#
Veri tabanı sorguları günlük kayıtlarının ayrıntı düzeyini yapılandırır.
- WEBLATE_SITE_TITLE#
Tüm sayfaların üst bilgisi olarak görüntülenecek site başlığını değiştirir.
- WEBLATE_SITE_DOMAIN#
Site etki alanını yapılandırır. Bu parametre gereklidir.
Ayrıca bakınız
- WEBLATE_ADMIN_NAME#
- WEBLATE_ADMIN_EMAIL#
Site yöneticisinin adını ve e-posta adresini yapılandırır. Hem
ADMINS
ayarını hem de admin kullanıcısını oluşturmak için kullanılır (bilgi almak için:WEBLATE_ADMIN_PASSWORD
).Örnek:
environment: WEBLATE_ADMIN_NAME: Weblate admin WEBLATE_ADMIN_EMAIL: noreply@example.com
Ayrıca bakınız
Yönetici olarak oturum açın, Yöneticileri düzgün şekilde yapılandırın,
ADMINS
- WEBLATE_ADMIN_PASSWORD#
admin kullanıcısının parolasını ayarlar.
Ayarlanmamışsa ve admin kullanıcısı yoksa, kapsayıcı ilk kez başlatıldığında görüntülenen rastgele bir parola ile oluşturulur.
Ayarlanmamışsa ve admin kullanıcısı varsa, hiçbir işlem gerçekleştirilmez.
Ayarlanmışsa, admin kullanıcısı her kapsayıcı başlangıcında
WEBLATE_ADMIN_PASSWORD
,WEBLATE_ADMIN_NAME
veWEBLATE_ADMIN_EMAIL
seçeneklerine göre ayarlanır.
Uyarı
Parolayı yapılandırma dosyasında depolamak bir güvenlik riski oluşturabilir. Bu değişkeni yalnızca ilk kurulum için (ya da Weblate ilk kez başlatıldığında rastgele parola oluşturmasına izin verin) ya da parola kurtarma için kullanmayı değerlendirin.
- WEBLATE_ADMIN_PASSWORD_FILE#
Admin kullanıcısının parolasının bulunduğu bir dosyanın yolunu ayarlar.
Ayrıca bakınız
- WEBLATE_SERVER_EMAIL#
Hata iletilerinin gönderileceği e-posta adresi.
Ayrıca bakınız
- WEBLATE_DEFAULT_FROM_EMAIL#
Giden e-postaların adresini yapılandırır.
Ayrıca bakınız
- WEBLATE_CONTACT_FORM#
İletişim formu davranışını yapılandırır. Bilgi almak için:
CONTACT_FORM
.
- WEBLATE_ALLOWED_HOSTS#
ALLOWED_HOSTS
kullanarak izin verilen HTTP sunucu adlarını yapılandırır.Varsayılan değer:
*
. Tüm sunucu adlarına izin verir.Örnek:
environment: WEBLATE_ALLOWED_HOSTS: weblate.example.com,example.com
Ayrıca bakınız
ALLOWED_HOSTS
, Allowed hosts kurulumu, Doğru site etki alanını ayarlayın
- WEBLATE_REGISTRATION_OPEN#
REGISTRATION_OPEN
seçeneğini değiştirerek hesap açma özelliğini etkinleştirir.Örnek:
environment: WEBLATE_REGISTRATION_OPEN: 0
- WEBLATE_REGISTRATION_ALLOW_BACKENDS#
REGISTRATION_ALLOW_BACKENDS
seçeneği ile yeni hesap açmak için hangi kimlik doğrulama yöntemlerinin kullanılabileceğini yapılandırır.Örnek:
environment: WEBLATE_REGISTRATION_OPEN: 0 WEBLATE_REGISTRATION_ALLOW_BACKENDS: azuread-oauth2,azuread-tenant-oauth2
- WEBLATE_REGISTRATION_REBIND#
4.16 sürümünde geldi.
REGISTRATION_REBIND
seçeneğini yapılandırır.
- WEBLATE_TIME_ZONE#
Weblate üzerinde kullanılacak saat dilimini yapılandırır. Bilgi almak için:
TIME_ZONE
.Not
Docker kapsayıcısının saat dilimini değiştirmek için
TZ
ortam değişkenini kullanın.Örnek:
environment: WEBLATE_TIME_ZONE: Europe/Prague
- WEBLATE_ENABLE_HTTPS#
Weblate uygulamasının ters HTTPS vekil sunucu arkasında çalıştığını varsaymasını sağlar. Weblate e-posta ve API bağlantılarında HTTPS kullanılmasını sağlar ya da çerezler için güvenli imlerini ayarlar.
İpucu
Olası uyarılar için
ENABLE_HTTPS
belgelerine bakabilirsiniz.Not
Bu seçenek, Weblate kapsayıcısının HTTPS bağlantılarını kabul etmesini sağlamaz. Bunu da yapılandırmanız gerekir. Bilgi almak için: HTTPS desteği ile Docker kapsayıcısı.
Örnek:
environment: WEBLATE_ENABLE_HTTPS: 1
- WEBLATE_INTERLEDGER_PAYMENT_POINTERS#
4.12.1 sürümünde geldi.
Weblate belgelerinin başındaki meta[name=monetization] alanının ayarlanmasını sağlar. Birden çok seçenek belirtilmişse, rastgele olarak biri seçilir.
Ayrıca bakınız
- WEBLATE_IP_PROXY_HEADER#
IP adresinin Weblate tarafından herhangi bir HTTP üst bilgisinden alınmasını sağlar. Weblate kapsayıcısının önünde ters vekil sunucu varsa bunu kullanın.
IP_BEHIND_REVERSE_PROXY
özelliğini etkinleştirir veIP_PROXY_HEADER
ögesini ayarlar.Not
Biçim, Django beklentilerine uygun olmalıdır. Django ham HTTP üst bilgi adlarını şu biçimde dönüştürür :
tüm karakterleri büyük harfe dönüştürür
tire karakterini alt çizgi karakterine dönüştürür
başa
HTTP_
ön ekini ekler
Böylece
X-Forwarded-For
değeriHTTP_X_FORWARDED_FOR
ile eşleştirilir.Örnek:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
- WEBLATE_SECURE_PROXY_SSL_HEADER#
Bir isteği belirten HTTP üst bilgi/değer ikilisini temsil eden bir demet güvenlidir. Weblate, standart HTTPS üst bilgilerini geçirmeyen SSL sonlandırma işlemi yapan bir ters vekil sunucu arkasında ise bu gereklidir.
Örnek:
environment: WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
Ayrıca bakınız
- WEBLATE_REQUIRE_LOGIN#
Tüm Weblate üzerinde kimlik doğrulamasını zorunlu kılmak için
REQUIRE_LOGIN
seçeneğini etkinleştirir.Örnek:
environment: WEBLATE_REQUIRE_LOGIN: 1
- WEBLATE_LOGIN_REQUIRED_URLS_EXCEPTIONS#
- WEBLATE_ADD_LOGIN_REQUIRED_URLS_EXCEPTIONS#
- WEBLATE_REMOVE_LOGIN_REQUIRED_URLS_EXCEPTIONS#
LOGIN_REQUIRED_URLS_EXCEPTIONS
seçeneğini kullanarak tüm Weblate kurulumu için gereken kimlik doğrulama adresi istisnalarını ekler.Tüm ayarları değiştirebilir ya da
ADD
veREMOVE
seçeneklerini kullanarak varsayılan değeri değiştirebilirsiniz.
- WEBLATE_GOOGLE_ANALYTICS_ID#
GOOGLE_ANALYTICS_ID
seçeneğini değiştirerek Google Analytics kimliğini yapılandırır.
- WEBLATE_GITHUB_USERNAME#
- WEBLATE_GITHUB_TOKEN#
- WEBLATE_GITHUB_HOST#
GITHUB_CREDENTIALS
seçeneğini değiştirerek GitHub çekme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_GITLAB_USERNAME#
- WEBLATE_GITLAB_TOKEN#
- WEBLATE_GITLAB_HOST#
GITLAB_CREDENTIALS
seçeneğini değiştirerek GitLab birleştirme istekleri bütünleştirmesini yapılandırır.Örnek:
WEBLATE_GITLAB_USERNAME=weblate WEBLATE_GITLAB_HOST=gitlab.com WEBLATE_GITLAB_TOKEN=token
Ayrıca bakınız
- WEBLATE_GITEA_USERNAME#
- WEBLATE_GITEA_TOKEN#
- WEBLATE_GITEA_HOST#
GITEA_CREDENTIALS
seçeneğini değiştirerek Gitea çekme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_PAGURE_USERNAME#
- WEBLATE_PAGURE_TOKEN#
- WEBLATE_PAGURE_HOST#
PAGURE_CREDENTIALS
seçeneğini değiştirerek Pagure birleştirme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_BITBUCKETSERVER_USERNAME#
- WEBLATE_BITBUCKETSERVER_TOKEN#
- WEBLATE_BITBUCKETSERVER_HOST#
BITBUCKETSERVER_CREDENTIALS
seçeneğini değiştirerek Bitbucket sunucusu birleştirme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_DEFAULT_PULL_MESSAGE#
DEFAULT_PULL_MESSAGE
seçeneğini değiştirerek API ile yapılan çekme isteklerinin varsayılan başlığını ve iletiyi yapılandırırAyrıca bakınız
- WEBLATE_SIMPLIFY_LANGUAGES#
Dil basitleştirme ilkesini yapılandırır. Bilgi almak için: :setting:`SIMPLIFY_LANGUAGES’.
- WEBLATE_DEFAULT_ACCESS_CONTROL#
Yeni projeler için varsayılan Erişim denetimi ögesini yapılandırır. Bilgi almak için:
DEFAULT_ACCESS_CONTROL
.
- WEBLATE_DEFAULT_RESTRICTED_COMPONENT#
Yeni bileşenler için Kısıtlı erişim seçeneğinin varsayılan değerini yapılandırır. Bilgi almak için:
DEFAULT_RESTRICTED_COMPONENT
.
- WEBLATE_DEFAULT_TRANSLATION_PROPAGATION#
Yeni bileşenler için Çevirilerin yayılmasını sağlamak seçeneğinin varsayılan değerini yapılandırır. Bilgi almak için:
DEFAULT_TRANSLATION_PROPAGATION
.
- WEBLATE_DEFAULT_COMMITER_EMAIL#
DEFAULT_COMMITER_EMAIL
seçeneğini yapılandırır.
- WEBLATE_DEFAULT_COMMITER_NAME#
DEFAULT_COMMITER_NAME
seçeneğini yapılandırır.
- WEBLATE_DEFAULT_SHARED_TM#
DEFAULT_SHARED_TM
seçeneğini yapılandırır.
- WEBLATE_AKISMET_API_KEY#
Akismet API anahtarını yapılandırır. Bilgi almak için:
AKISMET_API_KEY
.
- WEBLATE_GPG_IDENTITY#
İşlemelerin GPG imzamalamasını yapılandırır. Bilgi almak için:
WEBLATE_GPG_IDENTITY
.Ayrıca bakınız
- WEBLATE_URL_PREFIX#
Weblate ortamının çalıştığı adres ön ekini yapılandırır. Bilgi almak için:
URL_PREFIX
.
- WEBLATE_SILENCED_SYSTEM_CHECKS#
Görüntülenmesini istemediğiniz denetimleri yapılandırır. Bilgi almak için:
SILENCED_SYSTEM_CHECKS
.
- WEBLATE_CSP_SCRIPT_SRC#
- WEBLATE_CSP_IMG_SRC#
- WEBLATE_CSP_CONNECT_SRC#
- WEBLATE_CSP_STYLE_SRC#
- WEBLATE_CSP_FONT_SRC#
Content-Security-Policy
HTTP üst bilgisinin özelleştirilmesini sağlar.Ayrıca bakınız
İçerik güvenliği ilkesi,
CSP_SCRIPT_SRC
,CSP_IMG_SRC
,CSP_CONNECT_SRC
,CSP_STYLE_SRC
,CSP_FONT_SRC
- WEBLATE_LICENSE_FILTER#
LICENSE_FILTER
seçeneğini yapılandırır.
- WEBLATE_LICENSE_REQUIRED#
LICENSE_REQUIRED
seçeneğini yapılandırır
- WEBLATE_WEBSITE_REQUIRED#
WEBSITE_REQUIRED
seçeneğini yapılandırır
- WEBLATE_HIDE_VERSION#
HIDE_VERSION
seçeneğini yapılandırır.
- WEBLATE_BASIC_LANGUAGES#
BASIC_LANGUAGES
seçeneğini yapılandırır.
- WEBLATE_DEFAULT_AUTO_WATCH#
DEFAULT_AUTO_WATCH
seçeneğini yapılandırır.
- WEBLATE_RATELIMIT_ATTEMPTS#
- WEBLATE_RATELIMIT_LOCKOUT#
- WEBLATE_RATELIMIT_WINDOW#
4.6 sürümünde geldi.
Hız sınırlayıcıyı yapılandırır.
İpucu
Yapılandırmayı herhangi bir hız sınırlayıcı kapsamı için ayarlayabilirsiniz. Bunu yapmak için, :ref:
rate-limit``içinde belirtilen ayarlardan herhangi birine ``WEBLATE_
ön ekini ekleyin.Ayrıca bakınız
Hızı sınırlamak,
RATELIMIT_ATTEMPTS
,RATELIMIT_WINDOW
,RATELIMIT_LOCKOUT
- WEBLATE_API_RATELIMIT_ANON#
- WEBLATE_API_RATELIMIT_USER#
4.11 sürümünde geldi.
API hız sınırlamasını yapılandırır. Varsayılan değer anonim kullanıcılar için
100/gün
ve kimliği doğrulanmış kullanıcılar için ``5000/saat` biçimindedir.Ayrıca bakınız
- WEBLATE_ENABLE_HOOKS#
4.13 sürümünde geldi.
ENABLE_HOOKS
seçeneğini yapılandırır.
- WEBLATE_ENABLE_AVATARS#
4.6.1 sürümünde geldi.
ENABLE_AVATARS
seçeneğini yapılandırır.
- WEBLATE_AVATAR_URL_PREFIX#
4.15 sürümünde geldi.
AVATAR_URL_PREFIX
seçeneğini yapılandırır.
- WEBLATE_LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH#
4.9 sürümünde geldi.
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH
seçeneğini yapılandırır.
- WEBLATE_SSH_EXTRA_ARGS#
4.9 sürümünde geldi.
SSH_EXTRA_ARGS
seçeneğini yapılandırır.
- WEBLATE_BORG_EXTRA_ARGS#
4.9 sürümünde geldi.
BORG_EXTRA_ARGS
seçeneğini yapılandırır.
- WEBLATE_ENABLE_SHARING#
4.14.1 sürümünde geldi.
ENABLE_SHARING
seçeneğini yapılandırır.
- WEBLATE_EXTRA_HTML_HEAD#
4.15 sürümünde geldi.
EXTRA_HTML_HEAD
seçeneğini yapılandırır.
- WEBLATE_PRIVATE_COMMIT_EMAIL_TEMPLATE#
4.15 sürümünde geldi.
PRIVATE_COMMIT_EMAIL_TEMPLATE
seçeneğini yapılandırır.
- WEBLATE_PRIVATE_COMMIT_EMAIL_OPT_IN#
4.15 sürümünde geldi.
PRIVATE_COMMIT_EMAIL_OPT_IN
seçeneğini yapılandırır.
- WEBLATE_UNUSED_ALERT_DAYS#
4.17 sürümünde geldi.
UNUSED_ALERT_DAYS
seçeneğini yapılandırır.
- WEBLATE_CORS_ALLOWED_ORIGINS#
4.16 sürümünde geldi.
Belirtilen kaynaklardan CORS istekleri yapılabilmesini sağlar.
Örnek:
environment: WEBLATE_CORS_ALLOWED_ORIGINS: https://example.com,https://weblate.org
- CLIENT_MAX_BODY_SIZE#
4.16.3 sürümünde geldi.
İç site sunucusu tarafından kabul edilecek en büyük gövde boyutu seçeneğini yapılandırır.
environment: CLIENT_MAX_BODY_SIZE: 200m
İpucu
Bu değişken, Let’s Encrypt ile SSL sertifikası sağlamak içinde kullanılan üçüncü taraf kapsayıcısıyla paylaşıldığı için kasıtlı olarak
WEBLATE_
ön ekini kullanmaz.
Kendiliğinden öneri ayarları#
4.13 sürümünde değişti: Kendiliğinden öneri hizmetleri artık kullanıcı arayüzünden yapılandırılıyor. Bilgi almak için: Kendiliğinden önerileri yapılandırmak.
Var olan ortam değişkenleri Weblate 4.13 sürümüne geçiş yapılırken içe aktarılır. Ancak bunların değiştirilmesinin başkaca bir etkisi olmaz.
Kimlik doğrulama ayarları#
LDAP#
- WEBLATE_AUTH_LDAP_SERVER_URI#
- WEBLATE_AUTH_LDAP_USER_DN_TEMPLATE#
- WEBLATE_AUTH_LDAP_USER_ATTR_MAP#
- WEBLATE_AUTH_LDAP_BIND_DN#
- WEBLATE_AUTH_LDAP_BIND_PASSWORD#
- WEBLATE_AUTH_LDAP_BIND_PASSWORD_FILE#
LDAP sunucusunun bind parolasını içeren dosyanın yolu.
Ayrıca bakınız
- WEBLATE_AUTH_LDAP_CONNECTION_OPTION_REFERRALS#
- WEBLATE_AUTH_LDAP_USER_SEARCH#
- WEBLATE_AUTH_LDAP_USER_SEARCH_FILTER#
- WEBLATE_AUTH_LDAP_USER_SEARCH_UNION#
- WEBLATE_AUTH_LDAP_USER_SEARCH_UNION_DELIMITER#
LDAP kimlik doğrulama yapılandırması.
Doğrudan bağlama örneği:
environment: WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_USER_DN_TEMPLATE: uid=%(user)s,ou=People,dc=example,dc=net # map weblate 'full_name' to ldap 'name' and weblate 'email' attribute to 'mail' ldap attribute. # another example that can be used with OpenLDAP: 'full_name:cn,email:mail' WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail
Arama ve bağlama örneği:
environment: WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_BIND_PASSWORD: password WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail WEBLATE_AUTH_LDAP_USER_SEARCH: CN=Users,DC=example,DC=com
Birleşik arama ve bağlama örneği:
environment: WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_BIND_PASSWORD: password WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail WEBLATE_AUTH_LDAP_USER_SEARCH_UNION: ou=users,dc=example,dc=com|ou=otherusers,dc=example,dc=com
Active Directory üzerinde arama ve bağlama örneği:
environment: WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_BIND_PASSWORD: password WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_CONNECTION_OPTION_REFERRALS: 0 WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail WEBLATE_AUTH_LDAP_USER_SEARCH: CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_USER_SEARCH_FILTER: (sAMAccountName=%(user)s)
Ayrıca bakınız
GitHub#
- WEBLATE_SOCIAL_AUTH_GITHUB_KEY#
- WEBLATE_SOCIAL_AUTH_GITHUB_SECRET#
- WEBLATE_SOCIAL_AUTH_GITHUB_ORG_KEY#
- WEBLATE_SOCIAL_AUTH_GITHUB_ORG_SECRET#
- WEBLATE_SOCIAL_AUTH_GITHUB_ORG_NAME#
- WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_KEY#
- WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_SECRET#
- WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_ID#
GitHub kimlik doğrulaması seçeneğini etkinleştirir.
GitHub Enterprise Edition#
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_KEY#
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SECRET#
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_URL#
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_API_URL#
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SCOPE#
GitHub EE kimlik doğrulaması seçeneğini etkinleştirir.
Bitbucket#
- WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY#
- WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET#
- WEBLATE_SOCIAL_AUTH_BITBUCKET_KEY#
- WEBLATE_SOCIAL_AUTH_BITBUCKET_SECRET#
Bitbucket kimlik doğrulaması seçeneğini etkinleştirir.
Facebook#
- WEBLATE_SOCIAL_AUTH_FACEBOOK_KEY#
- WEBLATE_SOCIAL_AUTH_FACEBOOK_SECRET#
Facebook OAuth 2 seçeneğini etkinleştirir.
Google#
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_KEY#
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET#
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS#
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_EMAILS#
Google OAuth 2 seçeneğini etkinleştirir.
GitLab#
- WEBLATE_SOCIAL_AUTH_GITLAB_KEY#
- WEBLATE_SOCIAL_AUTH_GITLAB_SECRET#
- WEBLATE_SOCIAL_AUTH_GITLAB_API_URL#
GitLab OAuth 2 seçeneğini etkinleştirir.
Gitea#
- WEBLATE_SOCIAL_AUTH_GITEA_API_URL#
- WEBLATE_SOCIAL_AUTH_GITEA_KEY#
- WEBLATE_SOCIAL_AUTH_GITEA_SECRET#
Gitea kimlik doğrulaması kullanılsın.
Azure Active Directory#
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY#
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET#
Azure Active Directory kimlik doğrulamasını etkinleştirir. Bilgi almak için: Microsoft Azure Active Directory.
Kiracı destekli Azure Active Directory#
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY#
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET#
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID#
Kiracı destekli Azure Active Directory kimlik doğrulamasını etkinleştirir. Bilgi almak için: Microsoft Azure Active Directory.
Keycloak#
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_KEY#
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_SECRET#
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_PUBLIC_KEY#
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_ALGORITHM#
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_AUTHORIZATION_URL#
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_ACCESS_TOKEN_URL#
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_TITLE#
Linux hizmet sağlayıcıları#
Şu değişkenleri bir değere ayarlayarak Linux üreticilerinin kimlik doğrulama hizmetleri ile kimlik doğrulamayı etkinleştirebilirsiniz.
- WEBLATE_SOCIAL_AUTH_FEDORA#
- WEBLATE_SOCIAL_AUTH_OPENSUSE#
- WEBLATE_SOCIAL_AUTH_OPENINFRA#
- WEBLATE_SOCIAL_AUTH_UBUNTU#
Slack#
- WEBLATE_SOCIAL_AUTH_SLACK_KEY#
OpenID Connect#
4.13-1 sürümünde geldi.
- WEBLATE_SOCIAL_AUTH_OIDC_OIDC_ENDPOINT#
- WEBLATE_SOCIAL_AUTH_OIDC_KEY#
- WEBLATE_SOCIAL_AUTH_OIDC_SECRET#
- WEBLATE_SOCIAL_AUTH_OIDC_USERNAME_KEY#
Genel OpenID Connect bütünleştirmesini yapılandırır.
Ayrıca bakınız
SAML#
Kendiliğinden imzalanan SAML anahtarları, ilk kapsayıcı başlatıldığında kendiliğinden oluşturulur. Kendi anahtarlarınızı kullanmak isterseniz, sertifikayı ve kişisel anahtarı /app/data/ssl/saml.crt
ve /app/data/ssl/saml.key
dosyalarına yerleştirin.
- WEBLATE_SAML_IDP_ENTITY_ID#
- WEBLATE_SAML_IDP_URL#
- WEBLATE_SAML_IDP_X509CERT#
- WEBLATE_SAML_IDP_IMAGE#
- WEBLATE_SAML_IDP_TITLE#
SAML kimlik hizmeti sağlayıcısı ayarları. Bilgi almak için: SAML kimlik doğrulaması.
- WEBLATE_SAML_ID_ATTR_NAME#
- WEBLATE_SAML_ID_ATTR_USERNAME#
- WEBLATE_SAML_ID_ATTR_EMAIL#
- WEBLATE_SAML_ID_ATTR_USER_PERMANENT_ID#
4.18 sürümünde geldi.
SAML attributes mapping.
Diğer kimlik doğrulama ayarları#
- WEBLATE_NO_EMAIL_AUTH#
Herhangi bir değere ayarlandığında e-posta kimlik doğrulamasını devre dışı bırakır. Bilgi almak için: Parola ile kimlik doğrulamayı kapatmak.
PostgreSQL veri tabanı kurulumu#
Veri tabanı docker-compose.yml
tarafından oluşturulur. Bu nedenle bu ayarlar hem Weblate hem de PostgreSQL kapsayıcılarını etkiler.
Ayrıca bakınız
- POSTGRES_PASSWORD#
PostgreSQL parolası.
- POSTGRES_PASSWORD_FILE#
PostgreSQL parolasının bulunduğu dosyanın yolu. POSTGRES_PASSWORD alternatif olarak kullanın.
- POSTGRES_USER#
PostgreSQL kullanıcı adı.
- POSTGRES_DATABASE#
PostgreSQL veri tabanı adı.
- POSTGRES_HOST#
PostgreSQL sunucusunun adı ya da IP adresi. Varsayılan değer:
database
.
- POSTGRES_PORT#
PostgreSQL sunucu bağlantı noktası. Varsayılan değer: Yok (varsayılan değeri kullanır).
- POSTGRES_SSL_MODE#
PostgreSQL sunucusunun SSL bağlantılarını nasıl işleyeceğini yapılandırın. Kullanılabilecek seçenekler için SSL kipi açıklamaları bölümüne bakabilirsiniz
- POSTGRES_ALTER_ROLE#
Aktarım sırasında değiştirilecek rol adını yapılandırır. Bilgi almak için: Weblate yapılandırmasını PostgreSQL kullanacak biçimde ayarlamak.
- POSTGRES_CONN_MAX_AGE#
4.8.1 sürümünde geldi.
Saniye ve tamsayı olarak veri tabanı bağlantısının yaşam süresi. Her isteğin sonunda veri tabanı bağlantılarını kapatılması için 0 yazın (varsayılan davranış).
Bağlantı kalıcılığını etkinleştirmek genellikle veri tabanına daha açık bir bağlantı kurulmasına neden olur. Lütfen bu seçeneği etkinleştirmeden önce veri tabanı yapılandırmanızı ayarlayın.
Örnek yapılandırma:
environment: POSTGRES_CONN_MAX_AGE: 3600
Ayrıca bakınız
- POSTGRES_DISABLE_SERVER_SIDE_CURSORS#
4.9.1 sürümünde geldi.
Veri tabanındaki sunucu tarafı imleçlerini devre dışı bırakın. Bu uygulama, bazı pgbouncer kurulumlarında gereklidir.
Örnek yapılandırma:
environment: POSTGRES_DISABLE_SERVER_SIDE_CURSORS: 1
Veri tabanı yedekleme ayarları#
Ayrıca bakınız
- WEBLATE_DATABASE_BACKUP#
DATABASE_BACKUP
kullanarak günlük veri tabanı dökümünü yapılandırır. Varsayılan değer:plain
.
Ön bellek sunucusu kurulumu#
Weblate, Redis kullanılmasını önemle önerir ve Weblate Docker üzerinde çalıştırılırken bir Redis kopyası sağlamanız gerekir.
Ayrıca bakınız
- REDIS_HOST#
Redis sunucusunun adı ya da IP adresi. Varsayılan değer:
cache
.
- REDIS_PORT#
Redis sunucusunun bağlantı noktası. Varsayılan değer:
6379
.
- REDIS_DB#
Redis veri tabanı numarası. Varsayılan değer:
1
.
- REDIS_PASSWORD#
Redis sunucusunun parolası. Varsayılan olarak kullanılmaz.
- REDIS_PASSWORD_FILE#
Redis sunucu parolasının bulunduğu dosyanın yolu.
Ayrıca bakınız
- REDIS_TLS#
Redis bağlantısı için SSL kullanımını etkinleştirir.
- REDIS_VERIFY_SSL#
Redis bağlantısı için SSL sertifikası doğrulamasını devre dışı bırakmak için kullanılabilir.
E-posta sunucusu kurulumu#
Giden e-postanın çalışmasını sağlamak için, bir e-posta sunucusu belirtmeniz gerekir.
Örnek TLS yapılandırması:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
Örnek SSL yapılandırması:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_PORT: 465
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
WEBLATE_EMAIL_USE_TLS: 0
WEBLATE_EMAIL_USE_SSL: 1
Ayrıca bakınız
- WEBLATE_EMAIL_HOST#
E-posta sunucusunun adı ya da IP adresi.
Ayrıca bakınız
WEBLATE_EMAIL_PORT
,WEBLATE_EMAIL_USE_SSL
,WEBLATE_EMAIL_USE_TLS
,EMAIL_HOST
- WEBLATE_EMAIL_PORT#
E-posta sunucusunun bağlantı noktası. Varsayılan değer: 25.
Ayrıca bakınız
- WEBLATE_EMAIL_HOST_USER#
E-posta ile kimlik doğrulama kullanıcısı.
Ayrıca bakınız
- WEBLATE_EMAIL_HOST_PASSWORD#
E-posta ile kimlik doğrulama parolası.
Ayrıca bakınız
- WEBLATE_EMAIL_HOST_PASSWORD_FILE#
E-posta ile kimlik doğrulama parolasını içeren dosyanın yolu.
Ayrıca bakınız
- WEBLATE_EMAIL_USE_SSL#
SMTP sunucusuyla iletişim için örtülü TLS (güvenli) bağlantısının kullanılıp kullanılmayacağını yapılandırır. Çoğu e-posta belgesinde, bu tür TLS bağlantısı SSL olarak adlandırılır. Genellikle 465 numaralı bağlantı noktasıyla kullanılır. Sorun yaşıyorsanız
WEBLATE_EMAIL_USE_TLS
açık TLS ayarına bakın.4.11 sürümünde değişti: SSL/TLS desteği
WEBLATE_EMAIL_PORT
seçeneğine göre kendiliğinden etkinleştirilir.Ayrıca bakınız
- WEBLATE_EMAIL_USE_TLS#
SMTP sunucusuyla iletişim için TLS (güvenli) bağlantısının kullanılıp kullanılmayacağını yapılandırır. Bu seçenek, genellikle 587 ya da 25 numaralı bağlantı noktalarında bulunan açık TLS bağlantıları için kullanılır. Bağlantıların askıda kalması sorunu yaşıyorsanız envvar:WEBLATE_EMAIL_USE_SSL seçeneğindeki örtülü TLS ayarına bakın.
4.11 sürümünde değişti: SSL/TLS desteği
WEBLATE_EMAIL_PORT
seçeneğine göre kendiliğinden etkinleştirilir.Ayrıca bakınız
- WEBLATE_EMAIL_BACKEND#
Django arka ucunu e-posta göndermek için yapılandırır.
Ayrıca bakınız
- WEBLATE_AUTO_UPDATE#
Depoların Weblate tarafından güncellenip güncellenmeyeceğini ve nasıl güncelleneceğini yapılandırır.
Ayrıca bakınız
Not
Bu bir Boolean ayarıdır (
"true"
ya da"false"
kullanın).
Site bütünleştirmesi#
- WEBLATE_GET_HELP_URL#
GET_HELP_URL
seçeneğini yapılandırır.
- WEBLATE_STATUS_URL#
STATUS_URL
seçeneğini yapılandırır.
- WEBLATE_PRIVACY_URL#
PRIVACY_URL
seçeneğini yapılandırır.
Hataları bildirmek#
Kurulumdaki hataları sistematik olarak toplamanız önerilir. Bilgi almak için: Hata raporlarını derlemek.
Rollbar desteğini etkinleştirmek için şunları ayarlayın:
- ROLLBAR_KEY#
Rollbar ileti sunucunuzun erişim kodu.
- ROLLBAR_ENVIRONMENT#
Rollbar ortamınız. Varsayılan değer:
production
.
Sentry desteğini etkinleştirmek için şunları ayarlayın:
- SENTRY_DSN#
Sentry DSN değeriniz.
- SENTRY_ENVIRONMENT#
Sentry ortamınız (isteğe bağlı). Varsayılan değer:
WEBLATE_SITE_DOMAIN
.
- SENTRY_TRACES_SAMPLE_RATE#
Configure sampling rate for performance monitoring. Set to 1 to trace all events, 0 (the default) disables tracing.
Örnek:
environment: SENTRY_TRACES_SAMPLE_RATE: 0.5
- SENTRY_PROFILES_SAMPLE_RATE#
Configure sampling rate for profiling monitoring. Set to 1 to trace all events, 0 (the default) disables tracing.
Örnek:
environment: SENTRY_PROFILES_SAMPLE_RATE: 0.5
Yerelleştirme CDN#
- WEBLATE_LOCALIZE_CDN_URL#
- WEBLATE_LOCALIZE_CDN_PATH#
4.2.1 sürümünde geldi.
JavaScript yerelleştirme CDN yapılandırması.
WEBLATE_LOCALIZE_CDN_PATH
kapsayıcı içindeki yoldur. Geçici depolama biriminde değil, kalıcı birimde olmalıdır.Olasılıklardan biri, Weblate verilerinin içinde tutulmasıdır:
environment: WEBLATE_LOCALIZE_CDN_URL: https://cdn.example.com/ WEBLATE_LOCALIZE_CDN_PATH: /app/data/l10n-cdn
Not
Weblate tarafından oluşturulan dosyaların sunulmasını ayarlamak sizin sorumluluğunuzdur. Bu seçenek yalnızca dosyaları yapılandırılmış konumda tutar.
Etkin uygulamaları, denetimleri, eklentileri ya da kendiliğinden düzeltmeleri değiştirmek#
3.8-5 sürümünde geldi.
Etkin denetimlerin, eklentilerin ya da kendiliğinden düzeltmelerin iç yapılandırması şu değişkenlerle ayarlanabilir:
- WEBLATE_ADD_APPS#
- WEBLATE_REMOVE_APPS#
- WEBLATE_ADD_CHECK#
- WEBLATE_REMOVE_CHECK#
- WEBLATE_ADD_AUTOFIX#
- WEBLATE_REMOVE_AUTOFIX#
- WEBLATE_ADD_ADDONS#
- WEBLATE_REMOVE_ADDONS#
Örnek:
environment:
WEBLATE_REMOVE_AUTOFIX: weblate.trans.autofixes.whitespace.SameBookendingWhitespace
WEBLATE_ADD_ADDONS: customize.addons.MyAddon,customize.addons.OtherAddon
Ayrıca bakınız
Kapsayıcı ayarları#
- WEBLATE_WORKERS#
4.6.1 sürümünde geldi.
Kapsayıcıda çalışan işlemlerin temel sayısı. Ayarlanmadığında, kullanılabilir işlemci çekirdeği sayısına bağlı olarak kapsayıcı başlangıcında kendiliğinden belirlenir.
CELERY_MAIN_OPTIONS
,CELERY_NOTIFY_OPTIONS
,CELERY_MEMORY_OPTIONS
,CELERY_TRANSLATE_OPTIONS
,CELERY_BACKUP_OPTIONS
,CELERY_BEAT_OPTIONS
, veWEB_WORKERS
seçeneklerini ayarlamak için kullanılır. Bu seçenekleri ince ayar yapmak için kullanabilirsiniz.
- CELERY_MAIN_OPTIONS#
- CELERY_NOTIFY_OPTIONS#
- CELERY_MEMORY_OPTIONS#
- CELERY_TRANSLATE_OPTIONS#
- CELERY_BACKUP_OPTIONS#
- CELERY_BEAT_OPTIONS#
Bu seçenekler, Celery işlemi seçeneklerini ayarlamanızı sağlar. Eşzamanlılığı ayarlamak (
--concurrency 16
) veya farklı havuz uygulaması kullanmak (—pool=gevent
) yararlı olabilir.Varsayılan olarak, eşzamanlı işlem sayısı
WEBLATE_WORKERS
seçeneğinden alınır.Örnek:
environment: CELERY_MAIN_OPTIONS: --concurrency 16
Ayrıca bakınız
Celery işlemi seçenekleri, Celery ile arka plan görevlerini kullanmak
- WEB_WORKERS#
Çalışacak uWSGI işlemi sayısını yapılandırın.
Varsayılan değer:
WEBLATE_WORKERS
.Örnek:
environment: WEB_WORKERS: 32
- WEBLATE_SERVICE#
Kapsayıcı içinde hangi hizmetlerin yürütülmesi gerektiğini tanımlar. Bunu Yatay ölçeklendirme için kullanın.
Şu hizmetler tanımlanmıştır:
celery-beat
Celery görev zamanlayıcısı. Yalnızca bir kopya çalışıyor olmalıdır. Bu kapsayıcı aynı zamanda veri tabanı yapısı aktarımlarından da sorumludur ve diğerlerinden önce başlatılmalıdır.
celery-backup
Yedeklemeler için Celery işlemi. Yalnızca bir kopya çalışmalıdır.
celery-celery
Genel Celery işlemi.
celery-memory
Çeviri belleği Celery işlemi.
celery-notify
Bildirim Celery işlemi.
celery-translate
Kendiliğinden çeviri Celery işlemi.
web
Web sunucusu.
Docker kapsayıcısı birimleri#
Weblate kapsayıcısı tarafından dışa aktarılan iki birim (veri ve ön bellek) bulunur. Ayrıca diğer hizmet kapsayıcılarının (PostgreSQL ya da Redis) da veri birimleri vardır. Ancak bunlar bu belgenin kapsamında değildir.
Veri birimi, kopyalanmış depolar gibi Weblate kalıcı verilerini depolamak veya Weblate kurulumunu özelleştirmek için kullanılır.
Docker biriminin barındırma sistemindeki konumu Docker yapılandırmanıza bağlıdır. Ancak genellikle /var/lib/docker/volumes/weblate-docker_weblate-data/_data/
(yol, docker-compose klasörünüzün adı, kapsayıcı ve birim adlarından oluşur) içinde tutulur. Kapsayıcıda /app/data
olarak bağlanır.
Ön bellek birimi /app/cache
olarak bağlanır ve durağan dosyalar ile CACHE_DIR
klasörünü tutmak için kullanılır. İçeriği kapsayıcı başlangıcında yeniden oluşturulur ve birim tmpfs gibi kısa ömürlü dosya sistemi kullanılarak bağlanabilir.
Birimleri el ile oluştururken, klasörlerin sahibi kapsayıcı içindeki UID 1000 olmalıdır.
Ayrıca bakınız
Salt okunur kök dosya sistemi#
4.18 sürümünde geldi.
Kapsayıcı salt okunur bir kök dosya sistemiyle çalıştırırken, iki ek tmpfs birimi gerekir - /tmp
ve /run
.
Ortam değişkenlerinin yapılandırması#
Docker ortam değişkenleri, Weblate kurulumları ile ilgili pek çok yapılandırma ayarını karşılamayı amaçlıyor.
Bir ortam değişkeni olarak karşılığı olmayan bir ayar bulursanız ve var olması gerektiğine inanıyorsanız, Gelecek Weblate sürümlerine eklenmesini istemekten çekinmeyin.
Docker ortam değişkeni olarak karşılığı olmayan bir ayarı değiştirmeniz gerekirse, bunu veri biriminden ya da Docker kalıbını genişleterek yapabilirsiniz.
Ayrıca bakınız
Veri biriminden alınan ayarları değiştirmek#
Ortam değişkenleri ile tanımlanan ayarları genişletmek ya da değiştirmek için veri birimi kök klasöründe bir /app/data/settings-override.py
dosyası oluşturabilirsiniz.
Docker kalıbını genişleterek ayarları değiştirmek#
Ayarları veri birimi yerine Docker kalıbı düzeyinde değiştirmek için:
Paketinize,
weblate.settings_docker
ögesinden tüm ayarları içe aktaran bir modül ekleyin.Örneğin, Bir Python modülü oluşturmak adresinde tanımlanan örnek paket yapısı içinde, şu başlangıç koduyla bir
weblate_customization/weblate_customization/settings.py
dosyası oluşturabilirsiniz:from weblate.settings_docker import *
Resmi Weblate Docker kalıbından devralınan ve ardından paketinizi kuran ve ayarlar modülünüze
DJANGO_SETTINGS_MODULE
ortam değişkenini gösteren özel birDockerfile
oluşturun:FROM weblate/weblate USER root COPY weblate_customization /usr/src/weblate_customization RUN pip install --no-cache-dir /usr/src/weblate_customization ENV DJANGO_SETTINGS_MODULE=weblate_customization.settings USER 1000
Resmi Weblate Docker kalıbını kullanmak yerine, bu
Dockerfile
dosyasından özel bir kalıp oluşturun.Bunu
docker-compose.override.yml
ile yapmanın temiz bir yolu yoktur. Bu dosyadakiweblate
düğümünebuild: .
ekleyebilirsiniz. Ancak daha sonra özel kalıbınız sisteminizde ``weblate/weblate” olarak etiketlenir ve bu da soruna yol açabilir.Bu nedenle,
docker-compose.yml
dosyasını doğrudanresmi depo <https://github.com/WeblateOrg/docker-compose>``__ üzerinden değiştirmeden kullanmak ve ``docker-compose.override.yml
ile genişletmek yerine, resmidocker-compose.yml
dosyasının bir kopyasını oluşturmak ve kopyanızıimage: weblate/weblate
yerinebuild: .
ile değiştirmek için düzenlemek isteyebilirsiniz.docker-compose
kullanırken kaynaktan kalıp oluşturma ile ilgili ayrıntılı bilgi almak için Dosya oluşturma referansı bölümüne bakın.Ayarları tanımlamak veya yeniden tanımlamak için özel ayarlar modülünüzü genişletin.
Hangi ayarların öncelikli olduğunu belirlemek için ayarları yukarıdaki içe aktarma ifadesinden önce ya da sonra tanımlayabilirsiniz. İçe aktarma ifadesinden önce tanımlanmış ayarlar, ortam değişkenleri ve veri biriminde tanımlanmış ayar değişiklikleri tarafından değiştirilebilir. İçe aktarma ifadesinden sonra tanımlanan ayar değiştirilmez.
Ayrıca daha ileri gidebilirsiniz. Örneğin, ayarların karşılığını belirlemek gibi
weblate.docker_settings
uygulamasının <https://github.com/WeblateOrg/weblate/blob/main/weblate/settings_docker.py>`__ yaptığı bazı şeyleri yeniden oluşturabilirsiniz. Ortam değişkenleri olarak veya veri birimindeki Python dosyalarından ayarların değiştirilmesini sağlayabilirsiniz.
Logo ve diğer durağan dosyaları değiştirmek#
3.8-5 sürümünde geldi.
Weblate ile birlikte gelen durağan dosyalar /app/data/python/customize/static
içinden değiştirilebilir (bilgi almak için: Docker kapsayıcısı birimleri). Örneğin, /app/data/python/customize/static/favicon.ico
dosyası favicon simgesi için kullanılır.
İpucu
Dosyalar kapsayıcı başlatıldığında ilgili konuma kopyalanır. Bu nedenle birimin içeriğini değiştirdikten sonra Weblate yeniden başlatılmalıdır.
Bu yaklaşım, Weblate kalıplarını değiştirmek için de kullanılabilir. Örneğin Yasal belgeler /app/data/python/customize/templates/legal/documents
içine yerleştirilebilir.
Alternatif olarak, kendi modülünüzü de ekleyebilir (bilgi almak için: .. /customize) ve Docker kapsayıcısına ayrı birim olarak ekleyebilirsiniz. Örneğin:
weblate:
volumes:
- weblate-data:/app/data
- ./weblate_customization/weblate_customization:/app/data/python/weblate_customization
environment:
WEBLATE_ADD_APPS: weblate_customization
PostgreSQL sunucusunu yapılandırmak#
PostgtreSQL kapsayıcısı varsayılan PostgreSQL yapılandırmasını kullanır ve işlemci çekirdeklerini ya da belleği etkili bir şekilde kullanmaz. Başarımı artırmak için yapılandırmanın özelleştirilmesi önerilir.
Yapılandırma, https://hub.docker.com/_/postgres adresindeki Database Configuration bölümünde açıklandığı gibi ayarlanabilir. Ortamınıza uygun bir yapılandırma oluşturmak için https://pgtune.leopard.in.ua/ kullanabilirsiniz.
Kapsayıcı iç yapısı#
Kapsayıcı, bireysel hizmetleri başlatmak için :program: supervisor kullanır. Yatay ölçeklendirme kullanılması durumunda, bir kapsayıcıda yalnızca tek bir hizmet başlatılır.
Hizmetlerin durumunu denetlemek için şunu kullanın:
docker compose exec --user weblate weblate supervisorctl status
Her Celery kuyruğu için ayrı hizmetler bulunur (bilgi almak için: ref:celery). Uygun işlemi durdurarak bazı görevlerin yürütülmesini durdurabilirsiniz:
docker compose exec --user weblate weblate supervisorctl stop celery-translate
Debian ve Ubuntu üzerine kurmak#
Donanım gereksinimleri#
Weblate, herhangi bir çağdaş donanımda sorunsuz çalışmalıdır, Tek bir sunucuda Weblate bileşenlerini (Weblate, veri tabanı ve site sunucusu) çalıştırmak için gerekli en az yapılandırma şu şekildedir:
3 GB RAM bellek
2 işlemci çekirdeği
1 GB depolama alanı
Bellek ne kadar çok olursa o kadar iyidir. Tüm düzeylerde (dosya sistemi, veri tabanı ve Weblate) ön bellek için kullanılır.
Eşzamanlı bulunacak kullanıcı sayısı, gerekli işlemci çekirdeği sayısını artırır. Yüzlerce bileşenden oluşan çevirler için en az 4 GB RAM bellek bulunması önerilir.
Veri tabanı depolama alanı gereksinimi, barındırılacak 1 milyon sözcük için yaklaşık 300 MB olarak düşünebilir. Kopyalanmış depolar için gereken depolama alanı değişiklik gösterir. Ancak Weblate sığ kopyalama ile depo boyutlarını en az düzeyde tutmaya çalışır.
Not
Weblate kurulumunuz için gerçek gereksinimler, üzerinde bulunacak çevirilerin boyutuna bağlı olarak büyük ölçüde değişiklik gösterebilir.
Kurulum#
Sistem gereksinimleri#
Python modüllerini oluşturmak için gereken bağımlılıkları kurun (bilgi almak için: Yazılım gereksinimleri):
apt install -y \
libxml2-dev libxslt-dev libfreetype6-dev libjpeg-dev libz-dev libyaml-dev \
libffi-dev libcairo-dev gir1.2-pango-1.0 libgirepository1.0-dev \
libacl1-dev libssl-dev libpq-dev libjpeg-dev build-essential \
python3-gdbm python3-dev python3-pip python3-virtualenv virtualenv git
Kullanmak istediğiniz özelliklere bağlı olarak gereken isteğe bağlı bağımlılıkları kurun (bilgi almak için: İsteğe bağlı bağımlılıklar):
apt install -y \
tesseract-ocr libtesseract-dev libleptonica-dev \
libldap2-dev libldap-common libsasl2-dev \
libxmlsec1-dev
İsteğe bağlı olarak üretim sunucusunu çalıştırmak için gereken yazılımı kurun. Bilgi almak için: sunucu, Weblate için veri tabanı kurulumu, Celery ile arka plan görevlerini kullanmak. Kurulumunuzun boyutuna bağlı olarak, bu bileşenleri adanmış sunucular üzerinde çalıştırmak isteyebilirsiniz.
Yerel kurulum yönergeleri:
# Web server option 1: NGINX and uWSGI
apt install -y nginx uwsgi uwsgi-plugin-python3
# Web server option 2: Apache with ``mod_wsgi``
apt install -y apache2 libapache2-mod-wsgi-py3
# Caching backend: Redis
apt install -y redis-server
# Database server: PostgreSQL
apt install -y postgresql postgresql-contrib
# SMTP server
apt install -y exim4
Python modülleri#
İpucu
Sisteminizden ayrı bir ortama Weblate kurmak için virtualenv kullanıyoruz. Bu konuda bilginiz yoksa, virtualenv User Guide bölümüne bakabilirsiniz.
Weblate için virtualenv oluşturun:
virtualenv ~/weblate-env
Weblate için virtualenv etkinleştirin:
. ~/weblate-env/bin/activate
Tüm isteğe bağlı bağımlılıklar ile birlikte Weblate kurulumunu yapın:
# Install Weblate with all optional dependencies pip install "Weblate[all]"
İsteğe bağlı bağımlılıkları ayarlamak için lütfen İsteğe bağlı bağımlılıklar seçeneğini denetleyin.
Not
Bazı Linux dağıtımlarında Weblate çalıştırıldığında libffi hatasıyla karşılaşılabilir:
ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
Bu durum, PyPI ile dağıtılan binary paketlerinin dağıtımla uyumsuz olmasından kaynaklanır. Bu sorunu gidermek için, paketi sisteminizde yeniden oluşturmanız gerekir:
pip install --force-reinstall --no-binary :all: cffi
Weblate platformunu yapılandırmak#
Not
Aşağıdakiler, Weblate için virtualenv kullanımının etkinleştirilmiş olduğunu varsayar (. ~/weblate-env/bin/activate
komutu yürütülerek). Virtualenv etkin değilse, weblate komutunun tam yolunu ~/weblate-env/bin/weblate
olarak belirtin.
~/weblate-env/lib/python3.9/site-packages/weblate/settings_example.py
dosyasını~/weblate-env/lib/python3.9/site-packages/weblate/settings.py
dosyası olarak kopyalayın.Yeni
settings.py
dosyasındaki değerleri istediğiniz gibi ayarlayın. En azından veri tabanı kimlik doğrulama bilgilerini ve Django gizli anahtarını belirtmeniz gerekir. Ancak üretim kurulumu için daha fazla değişiklik yapmak isteyeceksiniz. Bilgi almak için: Yapılandırmayı ayarlama.Weblate için veri tabanını ve yapısını oluşturun (örnek ayarlar PostgreSQL kullanır, üretime hazır bir kurulum için Weblate için veri tabanı kurulumu bölümüne bakabilirsiniz):
weblate migrate
Yönetici için bir hesap oluşturun ve parolasını panoya kopyalayıp daha sonra kullanmak üzere kaydedin:
weblate createadmin
Web sunucunuz için durağan dosyaları derleyin (bilgi almak için: Sunucuyu çalıştırmak ve Durağan dosyalar sunmak):
weblate collectstatic
JavaScript ve CSS dosyalarını sıkıştırın (isteğe bağlı, bilgi almak için: İstemci varlıklarının sıkıştırılması):
weblate compress
Celery işlemlerini başlatın. Bu adım, geliştirme ortamları için gerekli değildir. Ancak üretim ortamlarında yapılması önemle önerilir. Bilgi almak için Celery ile arka plan görevlerini kullanmak:
~/weblate-env/lib/python3.9/site-packages/weblate/examples/celery start
Geliştirme sunucusunu başlatın (Sunucuyu çalıştırmak bölümünden üretim kurulumunun ayrıntılarına bakabilirsiniz):
weblate runserver
Kurulum sonrası#
Tebrikler, Weblate sunucunuz artık çalışıyor ve kullanmaya başlayabilirsiniz.
Weblate arayüzüne
http://localhost:8000/
adresinden erişebilirsiniz.Kurulum sırasında belirtilen yönetici kimlik doğrulama bilgileriyle oturum açın ya da yeni kullanıcı hesapları açın.
Weblate virtualenv etkinleştirildiğinde weblate komutunu kullanarak Weblate komutlarını yürütebilirsiniz, Bilgi almak için: Yönetim komutları.
Deneme sunucusunu Ctrl+C tuşlarıyla durdurabilirsiniz.
Kurulumunuzla ilgili olası sorunları
/manage/performance/
adresinden (bilgi almak için: Yönetim arayüzü) ya da weblate check --deploy komutundan görebilirsiniz. Bilgi almak için: Üretim kurulumu.
Çeviri eklemek#
Yönetim arayüzünü açın (
http://localhost:8000/create/project/
) ve çevirmek istediğiniz bir proje oluşturun. Bilgi almak için Proje yapılandırması.Burada yalnızca proje adını ve sitesini belirtmeniz gerekir.
Çeviri için gerçek nesne olan bir bileşen oluşturun. Sürüm denetimi sistemi deposunu yönlenir ve hangi dosyaların çevrileceğini seçer. Bilgi almak için Bileşen yapılandırması.
Buradaki önemli alanlar şunlardır: Bileşen adı, Kaynak kod deposu ve çevrilebilir dosyaları bulmak için Dosya maskesi. Weblate, GNU gettext, Android dizge kaynakları, Apple iOS dizgeleri, Java özellikleri, Stringsdict biçimi veya Fluent biçimi ile birlikte çok çeşitli biçimleri destekler. Bilgi almak için: Desteklenen dosya biçimleri.
Yukarıdakiler tamamlandıktan sonra (sürüm denetimi sistemi deponuzun boyutuna ve çevrilecek ileti sayısına bağlı olarak uzun bir süreç olabilir), çeviri yapmaya başlayabilirsiniz.
SUSE ve openSUSE üzerine kurmak#
Donanım gereksinimleri#
Weblate, herhangi bir çağdaş donanımda sorunsuz çalışmalıdır, Tek bir sunucuda Weblate bileşenlerini (Weblate, veri tabanı ve site sunucusu) çalıştırmak için gerekli en az yapılandırma şu şekildedir:
3 GB RAM bellek
2 işlemci çekirdeği
1 GB depolama alanı
Bellek ne kadar çok olursa o kadar iyidir. Tüm düzeylerde (dosya sistemi, veri tabanı ve Weblate) ön bellek için kullanılır.
Eşzamanlı bulunacak kullanıcı sayısı, gerekli işlemci çekirdeği sayısını artırır. Yüzlerce bileşenden oluşan çevirler için en az 4 GB RAM bellek bulunması önerilir.
Veri tabanı depolama alanı gereksinimi, barındırılacak 1 milyon sözcük için yaklaşık 300 MB olarak düşünebilir. Kopyalanmış depolar için gereken depolama alanı değişiklik gösterir. Ancak Weblate sığ kopyalama ile depo boyutlarını en az düzeyde tutmaya çalışır.
Not
Weblate kurulumunuz için gerçek gereksinimler, üzerinde bulunacak çevirilerin boyutuna bağlı olarak büyük ölçüde değişiklik gösterebilir.
Kurulum#
Sistem gereksinimleri#
Python modüllerini oluşturmak için gereken bağımlılıkları kurun (bilgi almak için: Yazılım gereksinimleri):
zypper install \
libxslt-devel libxml2-devel freetype-devel libjpeg-devel zlib-devel \
libyaml-devel libffi-devel cairo-devel pango-devel \
gobject-introspection-devel libacl-devel python3-pip python3-virtualenv \
python3-devel git
Kullanmak istediğiniz özelliklere bağlı olarak gereken isteğe bağlı bağımlılıkları kurun (bilgi almak için: İsteğe bağlı bağımlılıklar):
zypper install tesseract-ocr tesseract-devel leptonica-devel
zypper install libldap2-devel libsasl2-devel
zypper install libxmlsec1-devel
İsteğe bağlı olarak üretim sunucusunu çalıştırmak için gereken yazılımı kurun. Bilgi almak için: sunucu, Weblate için veri tabanı kurulumu, Celery ile arka plan görevlerini kullanmak. Kurulumunuzun boyutuna bağlı olarak, bu bileşenleri adanmış sunucular üzerinde çalıştırmak isteyebilirsiniz.
Yerel kurulum yönergeleri:
# Web server option 1: NGINX and uWSGI
zypper install nginx uwsgi uwsgi-plugin-python3
# Web server option 2: Apache with ``mod_wsgi``
zypper install apache2 apache2-mod_wsgi
# Caching backend: Redis
zypper install redis-server
# Database server: PostgreSQL
zypper install postgresql postgresql-contrib
# SMTP server
zypper install postfix
Python modülleri#
İpucu
Sisteminizden ayrı bir ortama Weblate kurmak için virtualenv kullanıyoruz. Bu konuda bilginiz yoksa, virtualenv User Guide bölümüne bakabilirsiniz.
Weblate için virtualenv oluşturun:
virtualenv ~/weblate-env
Weblate için virtualenv etkinleştirin:
. ~/weblate-env/bin/activate
Tüm isteğe bağlı bağımlılıklar ile birlikte Weblate kurulumunu yapın:
# Install Weblate with all optional dependencies pip install "Weblate[all]"
İsteğe bağlı bağımlılıkları ayarlamak için lütfen İsteğe bağlı bağımlılıklar seçeneğini denetleyin.
Not
Bazı Linux dağıtımlarında Weblate çalıştırıldığında libffi hatasıyla karşılaşılabilir:
ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
Bu durum, PyPI ile dağıtılan binary paketlerinin dağıtımla uyumsuz olmasından kaynaklanır. Bu sorunu gidermek için, paketi sisteminizde yeniden oluşturmanız gerekir:
pip install --force-reinstall --no-binary :all: cffi
Weblate platformunu yapılandırmak#
Not
Aşağıdakiler, Weblate için virtualenv kullanımının etkinleştirilmiş olduğunu varsayar (. ~/weblate-env/bin/activate
komutu yürütülerek). Virtualenv etkin değilse, weblate komutunun tam yolunu ~/weblate-env/bin/weblate
olarak belirtin.
~/weblate-env/lib/python3.9/site-packages/weblate/settings_example.py
dosyasını~/weblate-env/lib/python3.9/site-packages/weblate/settings.py
dosyası olarak kopyalayın.Yeni
settings.py
dosyasındaki değerleri istediğiniz gibi ayarlayın. En azından veri tabanı kimlik doğrulama bilgilerini ve Django gizli anahtarını belirtmeniz gerekir. Ancak üretim kurulumu için daha fazla değişiklik yapmak isteyeceksiniz. Bilgi almak için: Yapılandırmayı ayarlama.Weblate için veri tabanını ve yapısını oluşturun (örnek ayarlar PostgreSQL kullanır, üretime hazır bir kurulum için Weblate için veri tabanı kurulumu bölümüne bakabilirsiniz):
weblate migrate
Yönetici için bir hesap oluşturun ve parolasını panoya kopyalayıp daha sonra kullanmak üzere kaydedin:
weblate createadmin
Web sunucunuz için durağan dosyaları derleyin (bilgi almak için: Sunucuyu çalıştırmak ve Durağan dosyalar sunmak):
weblate collectstatic
JavaScript ve CSS dosyalarını sıkıştırın (isteğe bağlı, bilgi almak için: İstemci varlıklarının sıkıştırılması):
weblate compress
Celery işlemlerini başlatın. Bu adım, geliştirme ortamları için gerekli değildir. Ancak üretim ortamlarında yapılması önemle önerilir. Bilgi almak için Celery ile arka plan görevlerini kullanmak:
~/weblate-env/lib/python3.9/site-packages/weblate/examples/celery start
Geliştirme sunucusunu başlatın (Sunucuyu çalıştırmak bölümünden üretim kurulumunun ayrıntılarına bakabilirsiniz):
weblate runserver
Kurulum sonrası#
Tebrikler, Weblate sunucunuz artık çalışıyor ve kullanmaya başlayabilirsiniz.
Weblate arayüzüne
http://localhost:8000/
adresinden erişebilirsiniz.Kurulum sırasında belirtilen yönetici kimlik doğrulama bilgileriyle oturum açın ya da yeni kullanıcı hesapları açın.
Weblate virtualenv etkinleştirildiğinde weblate komutunu kullanarak Weblate komutlarını yürütebilirsiniz, Bilgi almak için: Yönetim komutları.
Deneme sunucusunu Ctrl+C tuşlarıyla durdurabilirsiniz.
Kurulumunuzla ilgili olası sorunları
/manage/performance/
adresinden (bilgi almak için: Yönetim arayüzü) ya da weblate check --deploy komutundan görebilirsiniz. Bilgi almak için: Üretim kurulumu.
Çeviri eklemek#
Yönetim arayüzünü açın (
http://localhost:8000/create/project/
) ve çevirmek istediğiniz bir proje oluşturun. Bilgi almak için Proje yapılandırması.Burada yalnızca proje adını ve sitesini belirtmeniz gerekir.
Çeviri için gerçek nesne olan bir bileşen oluşturun. Sürüm denetimi sistemi deposunu yönlenir ve hangi dosyaların çevrileceğini seçer. Bilgi almak için Bileşen yapılandırması.
Buradaki önemli alanlar şunlardır: Bileşen adı, Kaynak kod deposu ve çevrilebilir dosyaları bulmak için Dosya maskesi. Weblate, GNU gettext, Android dizge kaynakları, Apple iOS dizgeleri, Java özellikleri, Stringsdict biçimi veya Fluent biçimi ile birlikte çok çeşitli biçimleri destekler. Bilgi almak için: Desteklenen dosya biçimleri.
Yukarıdakiler tamamlandıktan sonra (sürüm denetimi sistemi deponuzun boyutuna ve çevrilecek ileti sayısına bağlı olarak uzun bir süreç olabilir), çeviri yapmaya başlayabilirsiniz.
RedHat, Fedora ve CentOS üzerine kurmak#
Donanım gereksinimleri#
Weblate, herhangi bir çağdaş donanımda sorunsuz çalışmalıdır, Tek bir sunucuda Weblate bileşenlerini (Weblate, veri tabanı ve site sunucusu) çalıştırmak için gerekli en az yapılandırma şu şekildedir:
3 GB RAM bellek
2 işlemci çekirdeği
1 GB depolama alanı
Bellek ne kadar çok olursa o kadar iyidir. Tüm düzeylerde (dosya sistemi, veri tabanı ve Weblate) ön bellek için kullanılır.
Eşzamanlı bulunacak kullanıcı sayısı, gerekli işlemci çekirdeği sayısını artırır. Yüzlerce bileşenden oluşan çevirler için en az 4 GB RAM bellek bulunması önerilir.
Veri tabanı depolama alanı gereksinimi, barındırılacak 1 milyon sözcük için yaklaşık 300 MB olarak düşünebilir. Kopyalanmış depolar için gereken depolama alanı değişiklik gösterir. Ancak Weblate sığ kopyalama ile depo boyutlarını en az düzeyde tutmaya çalışır.
Not
Weblate kurulumunuz için gerçek gereksinimler, üzerinde bulunacak çevirilerin boyutuna bağlı olarak büyük ölçüde değişiklik gösterebilir.
Kurulum#
Sistem gereksinimleri#
Python modüllerini oluşturmak için gereken bağımlılıkları kurun (bilgi almak için: Yazılım gereksinimleri):
dnf install \
libxslt-devel libxml2-devel freetype-devel libjpeg-devel zlib-devel \
libyaml-devel libffi-devel cairo-devel cairo-gobject-devel pango-devel \
gobject-introspection-devel libacl-devel python3-pip python3-virtualenv \
libtool-ltdl-devel python3-devel git
Kullanmak istediğiniz özelliklere bağlı olarak gereken isteğe bağlı bağımlılıkları kurun (bilgi almak için: İsteğe bağlı bağımlılıklar):
dnf install tesseract-langpack-eng tesseract-devel leptonica-devel
dnf install openldap-devel libsasl2-devel
dnf install xmlsec1-devel
İsteğe bağlı olarak üretim sunucusunu çalıştırmak için gereken yazılımı kurun. Bilgi almak için: sunucu, Weblate için veri tabanı kurulumu, Celery ile arka plan görevlerini kullanmak. Kurulumunuzun boyutuna bağlı olarak, bu bileşenleri adanmış sunucular üzerinde çalıştırmak isteyebilirsiniz.
Yerel kurulum yönergeleri:
# Web server option 1: NGINX and uWSGI
dnf install nginx uwsgi uwsgi-plugin-python3
# Web server option 2: Apache with ``mod_wsgi``
dnf install apache2 apache2-mod_wsgi
# Caching backend: Redis
dnf install redis
# Database server: PostgreSQL
dnf install postgresql postgresql-contrib
# SMTP server
dnf install postfix
Python modülleri#
İpucu
Sisteminizden ayrı bir ortama Weblate kurmak için virtualenv kullanıyoruz. Bu konuda bilginiz yoksa, virtualenv User Guide bölümüne bakabilirsiniz.
Weblate için virtualenv oluşturun:
virtualenv ~/weblate-env
Weblate için virtualenv etkinleştirin:
. ~/weblate-env/bin/activate
Tüm isteğe bağlı bağımlılıklar ile birlikte Weblate kurulumunu yapın:
# Install Weblate with all optional dependencies pip install "Weblate[all]"
İsteğe bağlı bağımlılıkları ayarlamak için lütfen İsteğe bağlı bağımlılıklar seçeneğini denetleyin.
Not
Bazı Linux dağıtımlarında Weblate çalıştırıldığında libffi hatasıyla karşılaşılabilir:
ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
Bu durum, PyPI ile dağıtılan binary paketlerinin dağıtımla uyumsuz olmasından kaynaklanır. Bu sorunu gidermek için, paketi sisteminizde yeniden oluşturmanız gerekir:
pip install --force-reinstall --no-binary :all: cffi
Weblate platformunu yapılandırmak#
Not
Aşağıdakiler, Weblate için virtualenv kullanımının etkinleştirilmiş olduğunu varsayar (. ~/weblate-env/bin/activate
komutu yürütülerek). Virtualenv etkin değilse, weblate komutunun tam yolunu ~/weblate-env/bin/weblate
olarak belirtin.
~/weblate-env/lib/python3.9/site-packages/weblate/settings_example.py
dosyasını~/weblate-env/lib/python3.9/site-packages/weblate/settings.py
dosyası olarak kopyalayın.Yeni
settings.py
dosyasındaki değerleri istediğiniz gibi ayarlayın. En azından veri tabanı kimlik doğrulama bilgilerini ve Django gizli anahtarını belirtmeniz gerekir. Ancak üretim kurulumu için daha fazla değişiklik yapmak isteyeceksiniz. Bilgi almak için: Yapılandırmayı ayarlama.Weblate için veri tabanını ve yapısını oluşturun (örnek ayarlar PostgreSQL kullanır, üretime hazır bir kurulum için Weblate için veri tabanı kurulumu bölümüne bakabilirsiniz):
weblate migrate
Yönetici için bir hesap oluşturun ve parolasını panoya kopyalayıp daha sonra kullanmak üzere kaydedin:
weblate createadmin
Web sunucunuz için durağan dosyaları derleyin (bilgi almak için: Sunucuyu çalıştırmak ve Durağan dosyalar sunmak):
weblate collectstatic
JavaScript ve CSS dosyalarını sıkıştırın (isteğe bağlı, bilgi almak için: İstemci varlıklarının sıkıştırılması):
weblate compress
Celery işlemlerini başlatın. Bu adım, geliştirme ortamları için gerekli değildir. Ancak üretim ortamlarında yapılması önemle önerilir. Bilgi almak için Celery ile arka plan görevlerini kullanmak:
~/weblate-env/lib/python3.9/site-packages/weblate/examples/celery start
Geliştirme sunucusunu başlatın (Sunucuyu çalıştırmak bölümünden üretim kurulumunun ayrıntılarına bakabilirsiniz):
weblate runserver
Kurulum sonrası#
Tebrikler, Weblate sunucunuz artık çalışıyor ve kullanmaya başlayabilirsiniz.
Weblate arayüzüne
http://localhost:8000/
adresinden erişebilirsiniz.Kurulum sırasında belirtilen yönetici kimlik doğrulama bilgileriyle oturum açın ya da yeni kullanıcı hesapları açın.
Weblate virtualenv etkinleştirildiğinde weblate komutunu kullanarak Weblate komutlarını yürütebilirsiniz, Bilgi almak için: Yönetim komutları.
Deneme sunucusunu Ctrl+C tuşlarıyla durdurabilirsiniz.
Kurulumunuzla ilgili olası sorunları
/manage/performance/
adresinden (bilgi almak için: Yönetim arayüzü) ya da weblate check --deploy komutundan görebilirsiniz. Bilgi almak için: Üretim kurulumu.
Çeviri eklemek#
Yönetim arayüzünü açın (
http://localhost:8000/create/project/
) ve çevirmek istediğiniz bir proje oluşturun. Bilgi almak için Proje yapılandırması.Burada yalnızca proje adını ve sitesini belirtmeniz gerekir.
Çeviri için gerçek nesne olan bir bileşen oluşturun. Sürüm denetimi sistemi deposunu yönlenir ve hangi dosyaların çevrileceğini seçer. Bilgi almak için Bileşen yapılandırması.
Buradaki önemli alanlar şunlardır: Bileşen adı, Kaynak kod deposu ve çevrilebilir dosyaları bulmak için Dosya maskesi. Weblate, GNU gettext, Android dizge kaynakları, Apple iOS dizgeleri, Java özellikleri, Stringsdict biçimi veya Fluent biçimi ile birlikte çok çeşitli biçimleri destekler. Bilgi almak için: Desteklenen dosya biçimleri.
Yukarıdakiler tamamlandıktan sonra (sürüm denetimi sistemi deponuzun boyutuna ve çevrilecek ileti sayısına bağlı olarak uzun bir süreç olabilir), çeviri yapmaya başlayabilirsiniz.
macOS üzerine kurulum#
Donanım gereksinimleri#
Weblate, herhangi bir çağdaş donanımda sorunsuz çalışmalıdır, Tek bir sunucuda Weblate bileşenlerini (Weblate, veri tabanı ve site sunucusu) çalıştırmak için gerekli en az yapılandırma şu şekildedir:
3 GB RAM bellek
2 işlemci çekirdeği
1 GB depolama alanı
Bellek ne kadar çok olursa o kadar iyidir. Tüm düzeylerde (dosya sistemi, veri tabanı ve Weblate) ön bellek için kullanılır.
Eşzamanlı bulunacak kullanıcı sayısı, gerekli işlemci çekirdeği sayısını artırır. Yüzlerce bileşenden oluşan çevirler için en az 4 GB RAM bellek bulunması önerilir.
Veri tabanı depolama alanı gereksinimi, barındırılacak 1 milyon sözcük için yaklaşık 300 MB olarak düşünebilir. Kopyalanmış depolar için gereken depolama alanı değişiklik gösterir. Ancak Weblate sığ kopyalama ile depo boyutlarını en az düzeyde tutmaya çalışır.
Not
Weblate kurulumunuz için gerçek gereksinimler, üzerinde bulunacak çevirilerin boyutuna bağlı olarak büyük ölçüde değişiklik gösterebilir.
Kurulum#
Sistem gereksinimleri#
Python modüllerini oluşturmak için gereken bağımlılıkları kurun (bilgi almak için: Yazılım gereksinimleri):
brew install python pango cairo gobject-introspection libffi glib libyaml
pip install virtualenv
Homebrew tarafından sağlanan libffi
ve òpenssl` sürümlerinin pip tarafından bulunabileceğinden emin olun. Kurulum oluşturma adımı sırasında buna gerek duyulur.
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/openssl@3/lib/pkgconfig"
Kullanmak istediğiniz özelliklere bağlı olarak gereken isteğe bağlı bağımlılıkları kurun (bilgi almak için: İsteğe bağlı bağımlılıklar):
brew install tesseract
İsteğe bağlı olarak üretim sunucusunu çalıştırmak için gereken yazılımı kurun. Bilgi almak için: sunucu, Weblate için veri tabanı kurulumu, Celery ile arka plan görevlerini kullanmak. Kurulumunuzun boyutuna bağlı olarak, bu bileşenleri adanmış sunucular üzerinde çalıştırmak isteyebilirsiniz.
Yerel kurulum yönergeleri:
# Web server option 1: NGINX and uWSGI
brew install nginx uwsgi
# Web server option 2: Apache with ``mod_wsgi``
brew install httpd
# Caching backend: Redis
brew install redis
# Database server: PostgreSQL
brew install postgresql
Python modülleri#
İpucu
Sisteminizden ayrı bir ortama Weblate kurmak için virtualenv kullanıyoruz. Bu konuda bilginiz yoksa, virtualenv User Guide bölümüne bakabilirsiniz.
Weblate için virtualenv oluşturun:
virtualenv ~/weblate-env
Weblate için virtualenv etkinleştirin:
. ~/weblate-env/bin/activate
Tüm isteğe bağlı bağımlılıklar ile birlikte Weblate kurulumunu yapın:
# Install Weblate with all optional dependencies pip install "Weblate[all]"
İsteğe bağlı bağımlılıkları ayarlamak için lütfen İsteğe bağlı bağımlılıklar seçeneğini denetleyin.
Not
Bazı Linux dağıtımlarında Weblate çalıştırıldığında libffi hatasıyla karşılaşılabilir:
ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
Bu durum, PyPI ile dağıtılan binary paketlerinin dağıtımla uyumsuz olmasından kaynaklanır. Bu sorunu gidermek için, paketi sisteminizde yeniden oluşturmanız gerekir:
pip install --force-reinstall --no-binary :all: cffi
Weblate platformunu yapılandırmak#
Not
Aşağıdakiler, Weblate için virtualenv kullanımının etkinleştirilmiş olduğunu varsayar (. ~/weblate-env/bin/activate
komutu yürütülerek). Virtualenv etkin değilse, weblate komutunun tam yolunu ~/weblate-env/bin/weblate
olarak belirtin.
~/weblate-env/lib/python3.9/site-packages/weblate/settings_example.py
dosyasını~/weblate-env/lib/python3.9/site-packages/weblate/settings.py
dosyası olarak kopyalayın.Yeni
settings.py
dosyasındaki değerleri istediğiniz gibi ayarlayın. En azından veri tabanı kimlik doğrulama bilgilerini ve Django gizli anahtarını belirtmeniz gerekir. Ancak üretim kurulumu için daha fazla değişiklik yapmak isteyeceksiniz. Bilgi almak için: Yapılandırmayı ayarlama.Weblate için veri tabanını ve yapısını oluşturun (örnek ayarlar PostgreSQL kullanır, üretime hazır bir kurulum için Weblate için veri tabanı kurulumu bölümüne bakabilirsiniz):
weblate migrate
Yönetici için bir hesap oluşturun ve parolasını panoya kopyalayıp daha sonra kullanmak üzere kaydedin:
weblate createadmin
Web sunucunuz için durağan dosyaları derleyin (bilgi almak için: Sunucuyu çalıştırmak ve Durağan dosyalar sunmak):
weblate collectstatic
JavaScript ve CSS dosyalarını sıkıştırın (isteğe bağlı, bilgi almak için: İstemci varlıklarının sıkıştırılması):
weblate compress
Celery işlemlerini başlatın. Bu adım, geliştirme ortamları için gerekli değildir. Ancak üretim ortamlarında yapılması önemle önerilir. Bilgi almak için Celery ile arka plan görevlerini kullanmak:
~/weblate-env/lib/python3.9/site-packages/weblate/examples/celery start
Geliştirme sunucusunu başlatın (Sunucuyu çalıştırmak bölümünden üretim kurulumunun ayrıntılarına bakabilirsiniz):
weblate runserver
Kurulum sonrası#
Tebrikler, Weblate sunucunuz artık çalışıyor ve kullanmaya başlayabilirsiniz.
Weblate arayüzüne
http://localhost:8000/
adresinden erişebilirsiniz.Kurulum sırasında belirtilen yönetici kimlik doğrulama bilgileriyle oturum açın ya da yeni kullanıcı hesapları açın.
Weblate virtualenv etkinleştirildiğinde weblate komutunu kullanarak Weblate komutlarını yürütebilirsiniz, Bilgi almak için: Yönetim komutları.
Deneme sunucusunu Ctrl+C tuşlarıyla durdurabilirsiniz.
Kurulumunuzla ilgili olası sorunları
/manage/performance/
adresinden (bilgi almak için: Yönetim arayüzü) ya da weblate check --deploy komutundan görebilirsiniz. Bilgi almak için: Üretim kurulumu.
Çeviri eklemek#
Yönetim arayüzünü açın (
http://localhost:8000/create/project/
) ve çevirmek istediğiniz bir proje oluşturun. Bilgi almak için Proje yapılandırması.Burada yalnızca proje adını ve sitesini belirtmeniz gerekir.
Çeviri için gerçek nesne olan bir bileşen oluşturun. Sürüm denetimi sistemi deposunu yönlenir ve hangi dosyaların çevrileceğini seçer. Bilgi almak için Bileşen yapılandırması.
Buradaki önemli alanlar şunlardır: Bileşen adı, Kaynak kod deposu ve çevrilebilir dosyaları bulmak için Dosya maskesi. Weblate, GNU gettext, Android dizge kaynakları, Apple iOS dizgeleri, Java özellikleri, Stringsdict biçimi veya Fluent biçimi ile birlikte çok çeşitli biçimleri destekler. Bilgi almak için: Desteklenen dosya biçimleri.
Yukarıdakiler tamamlandıktan sonra (sürüm denetimi sistemi deponuzun boyutuna ve çevrilecek ileti sayısına bağlı olarak uzun bir süreç olabilir), çeviri yapmaya başlayabilirsiniz.
Kaynaklardan kurulum#
Lütfen Weblate kurulumu için öncelikle sisteminize uygun kurulum yönergelerini izleyin:
Git kullanarak güncel Weblate kaynaklarını edinin (ya da bir tarball indirip paketi ayıklayın):
git clone https://github.com/WeblateOrg/weblate.git weblate-src
Alternatif olarak, yayınlanmış arşiv dosyalarını da kullanabilirsiniz. Bunları sitemizden <https://weblate.org/> indirebilirsiniz. Bu indirmeler şifrelenerek imzalanmıştır. Bilgi almak için: ref:`verify’.
Geçerli Weblate kodunu virtualenv üzerine kurun:
. ~/weblate-env/bin/activate pip install -e 'weblate-src[all]'
weblate/settings_example.py
dosyasınıweblate/settings.py
olarak kopyalayın.Yeni
settings.py
dosyasındaki değerleri istediğiniz gibi ayarlayın. En azından veri tabanı kimlik doğrulama bilgilerini ve Django gizli anahtarını belirtmeniz gerekir. Ancak üretim kurulumu için daha fazla değişiklik yapmak isteyeceksiniz. Bilgi almak için: Yapılandırmayı ayarlama.Weblate tarafından kullanılacak veri tabanını oluşturun. Bilgi almak için: Weblate için veri tabanı kurulumu.
Django tablolarını, durağan dosyaları ve başlangıç verilerini oluşturun (bilgi almak için: Veri tabanını doldurmak ve Durağan dosyalar sunmak):
weblate migrate weblate collectstatic weblate compress
Not
Bu adım, her depo güncellemesi yaptığınızda yinelenmelidir.
OpenShift üzerine kurulum#
OpenShift Weblate kalıbıyla kişisel Weblate bulut sunucunuzu saniyeler içinde çalışır duruma getirebilirsiniz. Tüm Weblate bağımlılıkları önceden katılmıştır. PostgreSQL varsayılan veri tabanı olarak ayarlanır ve kalıcı birim kullanılır.
Kalıbı <https://github.com/WeblateOrg/openshift/> adresinde bulabilirsiniz.
Kurulum#
Aşağıdaki örneklerde, oc
istemci aracının yüklü olduğu çalışan bir OpenShift v3.x ortamınız olduğu varsayılmıştır. Lütfen yönergeler için OpenShift belgelerine bakın.
template.yml
dosyası OpenShift üzerinde tüm bileşenleri çalıştırmak için uygundur. Ayrıca template-external-postgresql.yml
dosyası bir PostgreSQL sunucusunu başlatmaz ve bir dış PostgreSQL sunucusunu yapılandırmanızı sağlar.
Site konsolu#
Ham içeriği template.yml dosyasından kopyalayın ve projenize aktarın. Ardından uygulamanızı oluşturmak için OpenShift internet konsolundaki Create
düğmesini kullanın. Site konsolu, sizden kalıp tarafından kullanılan tüm parametrelerin değerlerini ister.
CLI#
Weblate kalıbını geçerli projenizin kalıp kitaplığına yüklemek için şu komutta template.yml
dosyasını belirtin:
$ oc create -f https://raw.githubusercontent.com/WeblateOrg/openshift/main/template.yml \
-n <PROJECT>
Kalıp artık site konsolu ya da komut satırı (CLI) kullanılarak seçilebilir.
Parametreler#
Değiştirebileceğiniz parametreler kalıbın parametreler bölümünde listelenir. Şu komutu kullanarak ve kullanılacak dosyayı belirterek bunları komut satırı (CLI) ile listeleyebilirsiniz:
$ oc process --parameters -f https://raw.githubusercontent.com/WeblateOrg/openshift/main/template.yml
# If the template is already uploaded
$ oc process --parameters -n <PROJECT> weblate
Hazırlamak#
Komut satırını (CLI) kalıpları işlemek ve hazırlanan yapılandırmadan nesneleri hemen oluşturmak için de kullanabilirsiniz.
$ oc process -f https://raw.githubusercontent.com/WeblateOrg/openshift/main/template.yml \
-p APPLICATION_NAME=weblate \
-p WEBLATE_VERSION=4.3.1-1 \
-p WEBLATE_SITE_DOMAIN=weblate.app-openshift.example.com \
-p POSTGRESQL_IMAGE=docker-registry.default.svc:5000/openshift/postgresql:9.6 \
-p REDIS_IMAGE=docker-registry.default.svc:5000/openshift/redis:3.2 \
| oc create -f
Weblate kopyası, başarılı bir aktarım ve dağıtımdan sonra belirtilmiş WEBLATE_SITE_DOMAIN
parametresinde kullanılabilir olmalıdır.
Kapsayıcı kurulumundan sonra, WEBLATE_ADMIN_PASSWORD
seçeneğinde belirtilen parolayla ya da ayarlanmamışsa ilk başlatılmada oluşturulan rastgele bir parolayla admin
kullanıcısı olarak oturum açabilirsiniz.
‘Admin’ parolasını sıfırlamak için, ilgili Secret
bölümünde WEBLATE_ADMIN_PASSWORD
seçeneğine yeni parola ayarladıktan sonra kapsayıcıyı yeniden başlatın.
Elemek#
$ oc delete all -l app=<APPLICATION_NAME>
$ oc delete configmap -l app= <APPLICATION_NAME>
$ oc delete secret -l app=<APPLICATION_NAME>
# ATTTENTION! The following command is only optional and will permanently delete all of your data.
$ oc delete pvc -l app=<APPLICATION_NAME>
$ oc delete all -l app=weblate \
&& oc delete secret -l app=weblate \
&& oc delete configmap -l app=weblate \
&& oc delete pvc -l app=weblate
Yapılandırma#
Kalıbı işleyerek, Weblate kalıbını özelleştirmek için kullanılabilecek ilgili bir ConfigMap
oluşturulur. ConfigMap
doğrudan ortam değişkenleri olarak bağlanır ve her değiştirildiğinde yeni bir dağıtımı tetikler. Daha fazla yapılandırma seçeneği sunan ortam değişkenlerinin tam listesi için Docker ortam değişkenleri bölümüne bakabilirsiniz.
Kubernetes üzerine kurulum#
Not
Bu rehberde, kurulumu daha ayrıntılı olarak ele alabilmek için Kubernetes konusunda deneyimli gönüllüler arıyoruz.
Kubernetes Helm çizelgesi ile kişisel Weblate bulut sunucunuzu saniyeler içinde çalışır duruma getirebilirsiniz. Tüm Weblate bağımlılıkları önceden katılmıştır. Varsayılan veri tabanı olarak PostgreSQL ayarlanır ve kalıcı birim kullanılır.
Çizelgeyi <https://github.com/WeblateOrg/helm/> adresinde bulabilir ve <https://artifacthub.io/packages/helm/weblate/weblate> adresinde görebilirsiniz.
Kurulum#
helm repo add weblate https://helm.weblate.org
helm install my-release weblate/weblate
Yapılandırma#
Daha fazla yapılandırma seçeneği sunan ortam değişkenlerinin tam listesi için Docker ortam değişkenleri bölümüne bakabilirsiniz.
Kurulumunuza ve deneyiminize bağlı olarak, size en uygun kurulum yöntemi seçin:
Üretim kurulumları için önerilen Docker ile kurmak.
Üretim kurulumları için önerilen virtualenv kurulumu:
Kaynaklardan kurulum, geliştirme çalışmaları için önerilir.
Yazılım gereksinimleri#
İşletim sistemi#
Weblate platformunun, Linux, FreeBSD ve macOS üzerinde çalıştığı biliniyor. Diğer Unix benzeri sistemlerde de büyük olasılıkla çalışacaktır.
Weblate, Windows üzerinde desteklenmez. Ancak yine de çalışabilir ve yazılım yamaları mutlulukla kabul edilir.
Diğer hizmetler#
Weblate, çalışabilmek için başka hizmetleri kullanır. En azından şu hizmetlerin çalışması gerekir:
PostgreSQL veri tabanı sunucusu. Bilgi almak için: Weblate için veri tabanı kurulumu.
Ön bellek ve görev kuyruğu için Redis sunucusu. Bilgi almak için: Celery ile arka plan görevlerini kullanmak.
Giden e-postalar için kullanılacak SMTP sunucusu. Bilgi almak için: Giden e-postayı yapılandırmak.
Python bağımlılıkları#
Weblate, Python ile yazılmıştır ve Python 3.6 ya da üzerindeki sürümleri destekler. Bağımlılıkları pip kullanarak ya da dağıtım paketlerinizden kurabilirsiniz. Tam listeyi requirements.txt
adresinde bulabilirsiniz.
En önemli bağımlılıklar:
- Django
- Celery
- Translate Toolkit
- translation-finder
- Python Social Auth
- Django REST çatısı
İsteğe bağlı bağımlılıklar#
Bazı Weblate özellikleri için şu modüller gereklidir. Hepsini requirements-optional.txt
içinde bulabilirsiniz.
Mercurial
(Mercurial depo desteği için isteğe bağlı)phply
(PHP dizgeleri için isteğe bağlı)tesserocr
(Dizgeler için görsel bağlam ile karakter tanıma için isteğe bağlı)python-akismet
(İstenmeyen gönderim koruması için isteğe bağlı)ruamel.yaml
(YAML dosyaları için isteğe bağlı)Zeep
(Microsoft Terminology için isteğe bağlı)aeidon
(Alt yazı dosyaları için isteğe bağlı)fluent.syntax
(Fluent biçimi için isteğe bağlı)
İpucu
Pip kullanarak kurulum yapılırken istediğiniz özellikleri doğrudan belirtebilirsiniz:
pip install "Weblate[PHP,Fluent]"
Ya da tüm isteğe bağlı özelliklerle Weblate kurulumu yapabilirsiniz:
pip install "Weblate[all]"
Ya da hiç bir isteğe bağlı özellik olmadan Weblate kurulumu yapabilirsiniz:
pip install Weblate
Veri tabanı arka plan bağımlılıkları#
Weblate PostgreSQL, MySQL ve MariaDB veri tabanlarını destekler. Bilgi almak için Weblate için veri tabanı kurulumu ve yönetim bölümü belgelerine bakabilirsiniz.
Diğer sistem gereksinimleri#
Sisteme şu bağımlılıkların kurulması gerekir:
Git
- Pango, Cairo ve ilişkili üst bilgi dosyaları ile GObject iç gözlem verileri
https://cairographics.org/, https://pango.gnome.org/, bilgi almak için: Pango ve Cairo
git-review
(Gerrit desteği için isteğe bağlı)git-svn
(Subversion desteği için isteğe bağlı)tesseract
ve verileri (ekran görüntülerinde karakter tanıma için isteğe bağlı)licensee
(bileşen oluştururken lisansın algılanması için isteğe bağlı)
Yapım zamanı bağımlılıkları#
Bazı Python bağımlılıkları bağımlılıklarını kurmanız gerekebilir. Bu durum, bunları nasıl kurduğunuza bağlıdır. O yüzden her paketin kendi belgesine başvurun. Pip
kullanarak yapılan kurulum sorasında ya da dağıtım paketlerini kullanırken önceden oluşturulmuş Wheels
kullanıyorsanız, bunlara gerek duymazsınız.
Pango ve Cairo#
3.7 sürümünde değişti.
Weblate, bitmap bileşenlerini (bilgi almak için: Çeviriyi tanıtmak) ve görüntüleme denetimlerini (bilgi almak için: Yazı tiplerini yönetmek) oluşturmak için Pango ve Cairo kullanır. Python bağlantılarını düzgün olarak kurmak için önce sistem kitaplıklarını kurmanız gerekir. Hem Cairo hem de Pango gereklidir, bunlar için de GLib gereklidir. Tüm bunlar geliştirme dosyaları ve GObject iç gözlem verileriyle birlikte kurulmalıdır.
Sürüm imzalarını doğrulamak#
Weblate sürümü, yayın geliştiricisi tarafından şifrelenmiş olarak imzalanır. Şu anda bu işi Michal Čihař yapıyor ve onun PGP anahtarının parmak izi:
63CB 1DF1 EF12 CF2A C0EE 5A32 9C27 B313 42B7 511D
ve <https://keybase.io/nijel> adresinden diğer belirleyici bilgileri alabilirsiniz.
İmzanın indirdiğiniz arşivle eşleştiğini doğrulamanız gerekir. Bu şekilde, yayınlanan kodu değiştirilmemiş olduğundan emin olabilirsiniz. Güncel sürümü indirdiğinizden emin olmak için imzanın tarihini de doğrulamalısınız.
Her arşiv dosyası için, PGP imzasının bulunduğu .asc
dosyaları bulunur. Bu iki dosyayı aynı klasöre kaydettikten sonra imzayı doğrulayabilirsiniz:
$ gpg --verify Weblate-3.5.tar.xz.asc
gpg: assuming signed data in 'Weblate-3.5.tar.xz'
gpg: Signature made Ne 3. března 2019, 16:43:15 CET
gpg: using RSA key 87E673AF83F6C3A0C344C8C3F4AA229D4D58C245
gpg: Can't check signature: public key not found
Görebileceğiniz gibi GPG, herkese açık anahtarı bilmediğini bildiriyor. Bu aşamada şu adımlardan birini uygulamanız gerekir:
Anahtarı indirmek için wkd kullanın:
$ gpg --auto-key-locate wkd --locate-keys michal@cihar.com
pub rsa4096 2009-06-17 [SC]
63CB1DF1EF12CF2AC0EE5A329C27B31342B7511D
uid [ultimate] Michal Čihař <michal@cihar.com>
uid [ultimate] Michal Čihař <nijel@debian.org>
uid [ultimate] [jpeg image of size 8848]
uid [ultimate] Michal Čihař (Braiins) <michal.cihar@braiins.cz>
sub rsa4096 2009-06-17 [E]
sub rsa4096 2015-09-09 [S]
Michal sunucusundan anahtarlığı indirip şununla içe aktarın:
$ gpg --import wmxth3chu9jfxdxywj1skpmhsj311mzm
Anahtarı bir anahtar sunucusundan indirip içe aktarın:
$ gpg --keyserver hkp://pgp.mit.edu --recv-keys 87E673AF83F6C3A0C344C8C3F4AA229D4D58C245
gpg: key 9C27B31342B7511D: "Michal Čihař <michal@cihar.com>" imported
gpg: Total number processed: 1
gpg: unchanged: 1
Bu uygulama, durumu biraz iyileştirir. Bu noktada, belirtilen anahtardaki imzanın doğruluğundan emin olabilirsiniz. Ancak yine de anahtarda kullanılan ada güvenemezsiniz:
$ gpg --verify Weblate-3.5.tar.xz.asc
gpg: assuming signed data in 'Weblate-3.5.tar.xz'
gpg: Signature made Ne 3. března 2019, 16:43:15 CET
gpg: using RSA key 87E673AF83F6C3A0C344C8C3F4AA229D4D58C245
gpg: Good signature from "Michal Čihař <michal@cihar.com>" [ultimate]
gpg: aka "Michal Čihař <nijel@debian.org>" [ultimate]
gpg: aka "[jpeg image of size 8848]" [ultimate]
gpg: aka "Michal Čihař (Braiins) <michal.cihar@braiins.cz>" [ultimate]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 63CB 1DF1 EF12 CF2A C0EE 5A32 9C27 B313 42B7 511D
Buradaki sorun, herhangi birinin aynı adlı bir anahtar yayınlayabilmesidir. Anahtarın gerçekten ilgili kişinin olduğundan emin olmanız gerekir. Bu konu, GNU gizlilik rehberinin Herkese açık anahtarlığınızdaki diğer anahtarları doğrulama bölümünde ele alınmıştır. En güvenilir yöntem, geliştiriciyle birebir tanışmak ve anahtar parmak izlerini takas etmektir. Ancak güven ağına da güvenebilirsiniz. Bu şekilde, geliştiriciyle birebir tanışmış başka kişilerin imzalarıyla anahtara geçici olarak güvenebilirsiniz.
Anahtara güvenildikten sonra uyarı görünmez olur:
$ gpg --verify Weblate-3.5.tar.xz.asc
gpg: assuming signed data in 'Weblate-3.5.tar.xz'
gpg: Signature made Sun Mar 3 16:43:15 2019 CET
gpg: using RSA key 87E673AF83F6C3A0C344C8C3F4AA229D4D58C245
gpg: Good signature from "Michal Čihař <michal@cihar.com>" [ultimate]
gpg: aka "Michal Čihař <nijel@debian.org>" [ultimate]
gpg: aka "[jpeg image of size 8848]" [ultimate]
gpg: aka "Michal Čihař (Braiins) <michal.cihar@braiins.cz>" [ultimate]
İmza geçersiz olursa (arşiv değiştirilmişse), anahtara güvenilip güvenilmediğine bakılmaksızın açık bir hata iletisi görürsünüz:
$ gpg --verify Weblate-3.5.tar.xz.asc
gpg: Signature made Sun Mar 3 16:43:15 2019 CET
gpg: using RSA key 87E673AF83F6C3A0C344C8C3F4AA229D4D58C245
gpg: BAD signature from "Michal Čihař <michal@cihar.com>" [ultimate]
Dosya sistemi izinleri#
Weblate işleminin, verileri tuttuğu DATA_DIR
klasöründe okuma ve yazma yapabilmesi gerekir. Bu klasördeki tüm dosyaların sahibi, tüm Weblate işlemlerini çalıştıran kullanıcı olmalı ve bu klasöre yazabilmelidir (genellikle WSGI ve Celery, bilgi almak için sunucu ve Celery ile arka plan görevlerini kullanmak).
Varsayılan yapılandırmada bunlar Weblate kaynaklarıyla aynı ağaca yerleştirilir. Ancak bunları /var/lib/weblate
gibi daha iyi bir konuma taşımayı yeğleyebilirsiniz.
Weblate bu klasörleri kendiliğinden oluşturmaya çalışır. Ancak bunu yapmak için yeterli izinleri yoksa bunu yapamaz.
Yönetim komutları komutunu çalıştırırken de dikkatli olmalısınız. Komut aynı Weblate kullanıcısı ile çalıştırılmalıdır yoksa bazı dosyaların izinler yanlış olabilir.
Docker kapsayıcısında, /app/data
birimindeki tüm dosyaların sahibi kapsayıcı içindeki weblate
kullanıcısı olmalıdır (UID 1000).
Ayrıca bakınız
Weblate için veri tabanı kurulumu#
Weblate için PostgreSQL veri tabanı sunucusunun kullanılması önerilir.
PostgreSQL 12 ve üzeri sürümler desteklenir.
Ayrıca bakınız
Güç bir veri tabanı sunucusu kullanın, Databases, Diğer veri tabanlarından PostgreSQL üzerine aktarmak
PostgreSQL#
Django temelli siteler için genellikle en iyi seçim PostgreSQL kullanmaktır. Django tarafından referans olarak kullanılan veri tabanıdır.
Not
Weblate, bazı durumlarda ayrı olarak kurulması gereken trigram eklentisini kullanır. Postgresql-contrib
ya da benzer şekilde adlandırılmış bir paket arayın.
Ayrıca bakınız
PostgreSQL üzerinde bir veri tabanı oluşturmak#
Weblate için ayrı bir kullanıcı hesabı ile ayrı bir veri tabanı kullanmak genellikle iyi bir fikirdir:
# If PostgreSQL was not installed before, set the main password
sudo -u postgres psql postgres -c "\password postgres"
# Create a database user called "weblate"
sudo -u postgres createuser --superuser --pwprompt weblate
# Create the database "weblate" owned by "weblate"
sudo -u postgres createdb -E UTF8 -O weblate weblate
İpucu
Weblate kullanıcısını PostgreSQL üzerinde süper kullanıcı yapmak istemiyorsanız, bu seçeneği atlayabilirsiniz. Bu durumda, PostgreSQL süper kullanıcısı ile Weblate şemasındaki bazı aktarım adımlarını el ile yapmanız gerekir:
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS btree_gin;
Weblate yapılandırmasını PostgreSQL kullanacak biçimde ayarlamak#
PostgreSQL için settings.py
dosyasına eklenecek kod parçası:
DATABASES = {
"default": {
# Database engine
"ENGINE": "django.db.backends.postgresql",
# Database name
"NAME": "weblate",
# Database user
"USER": "weblate",
# Name of role to alter to set parameters in PostgreSQL,
# use in case role name is different than user used for authentication.
# "ALTER_ROLE": "weblate",
# Database password
"PASSWORD": "password",
# Set to empty string for localhost
"HOST": "database.example.com",
# Set to empty string for default
"PORT": "",
}
}
Veri tabanı aktarımı, Weblate tarafından kullanılan ALTER ROLE veri tabanı rolüyle gerçekleştirir. Çoğu durumda rolün adı kullanıcı adıyla aynıdır. Daha karmaşık kurulumlarda rol adı kullanıcı adından farklıdır ve veri tabanı aktarımı sırasında rolün var olmadığı ile ilgili bir hata iletisi görürsünüz (psycopg2.errors.UndefinedObject: role "weblate@hostname" des not exist
). Bu sorunun PostgreSQL için Azure veri tabanı ile ortaya çıktığı biliniyor. Ancak yalnızca bu durumla sınırlı değildir. Lütfen veri tabanı aktarımı sırasında Weblate tarafından kullanılacak rolün adını ALTER_ROLE
seçeneğinden ayarlayın.
MySQL ve MariaDB#
Uyarı
Weblate üzerinde MySQL ve MariaDB desteğini sürdürürken, birincil önceliğimiz PostgreSQL kullanmak. Yeni kurulumlar için PostgreSQL kullanılması ve var olan kurulumların PostgreSQL üzerine taşınması önerilir. Bilgi almak için: Diğer veri tabanlarından PostgreSQL üzerine aktarmak.
Bazı Weblate özellikleri PostgreSQL ile daha iyi çalışır. PostgreSQL veri tabanı, tam metin özelliklerinin kullanılmasını sağlar ve arama ile çeviri belleği işlemlerinde daha üstündür.
Weblate, MySQL ya da MariaDB ile de kullanılabilir. Lütfen bunları Django ile kullanmakla ilgili uyarılar için MySQL notes ve MariaDB notes bölümlerine bakın. Bazı sınırlamalar nedeniyle, yeni kurulumlar için PostgreSQL kullanılması önerilir.
Weblate için en az MySQL 8 ya da MariaDB 10.4 sürümü kullanılmalıdır.
Weblate için önerilen yapılandırma:
Daha yüksek Unicode düzlemlerinin (emojiler gibi) görüntülenmesini sağlamak için
utf8mb4
karakter kümesini kullanın.Metin alanlarında daha uzun dizinlerin kullanılabilmesini sağlamak için sunucuyu
innodb_large_prefix
seçeneği ile yapılandırın.Yalıtım düzeyini
READ COMMITTED
olarak ayarlayın.SQL kipi
STRICT_TRANS_TABLES
olarak ayarlanmalıdır.
MySQL 8.x, MariaDB 10.5.x ya da üzeri için varsayılan yapılandırma yeterlidir. Bu nedenle sunucunun ayarlanması gerekmez ve gereken her şey istemci tarafında yapılandırılabilir.
Aşağıda 8 GB RAM belleği olan bir sunucu için /etc/my.cnf.d/server.cnf
dosyasının örneğini bulabilirsiniz. Bu ayarlar çoğu kurulum için yeterli olmalıdır. MySQL ve MariaDB için, sisteme aynı anda çok sayıda kullanıcının erişmesinin gerekmediği durumlarda sunucu başarımını artıracak seçenekler vardır. Ayrıntılı bilgiyi üretici belgelerinde bulabilirsiniz.
Weblate kurulumunuza başlamadan önce innodb_file_per_table
seçeneğinin doğru ayarlanması ve MySQL ya da MariaDB veri tabanı sunucusunun yeniden başlatılması kurulum yaparken karşılaşılabilecek sorunları azaltmak için çok önemlidir.
[mysqld]
character-set-server = utf8mb4
character-set-client = utf8mb4
collation-server = utf8mb4_unicode_ci
datadir=/var/lib/mysql
log-error=/var/log/mariadb/mariadb.log
innodb_large_prefix=1
innodb_file_format=Barracuda
innodb_file_per_table=1
innodb_buffer_pool_size=2G
sql_mode=STRICT_TRANS_TABLES
İpucu
#1071 - Specified key was too long; max key length is 767 bytes
hatasını görürseniz, yapılandırmanızı yukarıdaki innodb
ayarlarına uygun olarak güncelleyin ve kurulumu yeniden başlatın.
İpucu
#2006 - MySQL server has gone away
hatasını görürseniz, CONN_MAX_AGE
seçeneğini yapılandırmak yardımcı olabilir.
Weblate için MySQL/MariaDB yapılandırması#
MySQL ve MariaDB için settings.py
dosyasına eklenecek kod parçası:
DATABASES = {
"default": {
# Database engine
"ENGINE": "django.db.backends.mysql",
# Database name
"NAME": "weblate",
# Database user
"USER": "weblate",
# Database password
"PASSWORD": "password",
# Set to empty string for localhost
"HOST": "127.0.0.1",
# Set to empty string for default
"PORT": "3306",
# In case you wish to use additional
# connection options
"OPTIONS": {},
}
}
Kuruluma başlamadan önce MySQL ya da MariaDB veri tabanı sunucusu üzerinde weblate
kullanıcı hesabını oluşturmanız gerekir. Bunun için şu komutları kullanın:
GRANT ALL ON weblate.* to 'weblate'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Diğer yapılandırmalar#
Giden e-postayı yapılandırmak#
Weblate, hesap etkinleştirme işlemleri ve kullanıcılar tarafından yapılandırılmış çeşitli bildirimler gibi çeşitli durumlar için e-posta gönderir. Bunun için bir SMTP sunucu erişiminin yapılandırılması gerekir.
E-posta sunucusu şu ayarlar kullanılarak yapılandırılır: EMAIL_HOST
, EMAIL_HOST_PASSWORD
, EMAIL_USE_TLS
, EMAIL_USE_SSL
, EMAIL_HOST_USER
ve EMAIL_PORT
. Seçeneklerin adları oldukça açıklayıcıdır. Ayrıntılı bilgi almak için Django belgelerine bakabilirsiniz.
İpucu
Kimlik doğrulanmasının desteklenmediği ile ilgili bir hata görürseniz (SMTP AUTH extension not supported by server
gibi), bu sorun büyük olasılıkla güvenli olmayan bağlantı kullanımından kaynaklanıyordur ve sunucu kimliğin bu şekilde doğrulanmasını reddeder. Böyle bir durumda EMAIL_USE_TLS
seçeneğini etkinleştirmeyi deneyin.
Ters vekil sunucu arkasında çalıştırmak#
Hızı sınırlamak, İstenmeyen gönderim koruması ve Denetim günlüğü Weblate özellikleri istemci IP adresinin bilinmesine dayanır.
Varsayılan yapılandırmada Weblate, WSGI işleyicisi tarafından ayarlanan REMOTE_ADDR
IP adresini alır.
Ters vekil sunucu kullanıyorsanız, bu alanda büyük olasılıkla ters vekil sunucu adresi bulunacaktır. Weblate yapılandırmasını ek HTTP üst bilgilerine güvenecek ve IP adresini bunlardan alacak şekilde ayarlamanız gerekir. Bu yapılandırma, ters vekil sunucu kullanmayan kurulumlar için IP adresi sahteciliğine olanak sağlayacağından varsayılan olarak etkinleştirilemez. IP_BEHIND_REVERSE_PROXY
seçeneğini etkinleştirmek genel kurulumlar için yeterli olabilir. Ancak IP_PROXY_HEADER
ve IP_PROXY_OFFSET
seçeneklerini de ayarlamanız gerekebilir.
Dikkat edilmesi gereken başka bir şey de Host üst bilgisidir ve SITE_DOMAIN
olarak yapılandırılmış değerle eşleşmelidir. Ters vekil sunucunuzda ek yapılandırma gerekebilir (örneğin, Apache için ProxyPreserveHost On
ya da nginx ile ``proxy_set_header Host $host;` kullanın).
HTTP vekil sunucu#
Weblate, sürüm denetimi sistemi komutlarını yürütür ve bunlar ortamın vekil sunucu yapılandırmasını alır. Önerilen yaklaşım, settings.py
dosyasında vekil sunucu ayarlarını belirtmektir:
import os
os.environ["http_proxy"] = "http://proxy.example.com:8080"
os.environ["HTTPS_PROXY"] = "http://proxy.example.com:8080"
Ayrıca bakınız
Yapılandırmayı ayarlama#
Ayrıca bakınız
weblate/settings_example.py
dosyasını weblate/settings.py
dosyasına kopyalayın ve kurulumunuza uygun olarak ayarlayın. Büyük olasılıkla şu seçenekleri ayarlamak isteyeceksiniz:
ADMINS
Bir şeyler ters gittiğinde bildirim alacak site yöneticilerinin listesi. Başarısız olan birleştirme bildirimleri ya da Django hataları gibi.
Ayrıca bakınız
ALLOWED_HOSTS
Bu seçeneği, sitenizin sunması gereken barındırma hizmetlerini listeleyecek biçimde ayarlamalısınız. Örneğin:
ALLOWED_HOSTS = ["demo.weblate.org"]Alternatif olarak genel arama karakteri ekleyebilirsiniz:
ALLOWED_HOSTS = ["*"]Ayrıca bakınız
ALLOWED_HOSTS
,WEBLATE_ALLOWED_HOSTS
, Allowed hosts kurulumu
SESSION_ENGINE
Oturumlarınızın nasıl kaydedileceğini yapılandırın. Varsayılan veri tabanı arka uç altyapısını korumanız durumunda, eski oturum verilerini veri tabanından kaldırmak için weblate clearsessions görevini zamanlamanız gerekir.
Ön bellek olarak Redis kullanıyorsanız (bilgi almak için: Ön bellek özelliğini açın) onu oturumlar için de kullanmanız önerilir:
SESSION_ENGINE = "django.contrib.sessions.backends.cache"Ayrıca bakınız
DATABASES
Veri tabanı sunucusu ile bağlantı. Ayrıntı bilgi almak içinDjango belgelerine bakabilirsiniz.
Ayrıca bakınız
DEBUG
Herhangi bir üretim sunucusunda bu seçeneği devre dışı bırakın. Hata ayıklama kipi etkinleştirildiğinde, Django kullanıcılara hata bildirimlerini görüntüler. Devre dışı bırakıldığında, hatalar e-posta olarak
ADMINS
seçeneğindeki adreslere gönderilir (yukarıya bakın).Hata ayıklama kipi de Weblate işleyişini yavaşlatır. Çünkü Django bu durumda içeride çok daha fazla bilgi depolar.
Ayrıca bakınız
DEFAULT_FROM_EMAIL
Hesap açma e-postaları gibi giden e-postalar için e-posta gönderici adresi.
Ayrıca bakınız
SECRET_KEY
Django tarafından çerezlerdeki bazı bilgileri imzalamak için kullanılan anahtar. Bilgi almak için: Django gizli anahtarı.
Ayrıca bakınız
SERVER_EMAIL
Başarısız olan birleştirme bildirimleri gibi, yöneticiye gönderilecek e-postalarda gönderici adresi olarak kullanılacak e-posta adresleri.
Ayrıca bakınız
Veri tabanını doldurmak#
Yapılandırmanız hazır olduktan sonra, veri tabanı yapısını oluşturmak için weblate weblate migrate
komutunu çalıştırabilirsiniz. Bundan sonra yönetici arayüzünü kullanarak çeviri projeleri oluşturabilmelisiniz.
İşiniz bittiğinde, yönetici arayüzündeki :guilabel:Başarım raporu
bölümüne bakmalısınız. Burada size site yapılandırmasını iyileştirmeniz için ipuçları sunulur.
Ayrıca bakınız
Üretim kurulumu#
Bir üretim kurulumu için aşağıdaki bölümlerde açıklanan ayarlamaları yapmanız gerekir. Süper kullanıcı olarak oturum açıldığında en önemli ayarlar üst çubukta ünlem simgesi ile bir uyarı olarak görüntülenir:

Django tarafından tetiklenen denetimleri de incelemeniz önerilir (ancak hepsini düzeltmeniz gerekmeyebilir):
weblate check --deploy
Aynı denetim listesini Yönetim arayüzü bölümünden de gözden geçirebilirsiniz.
Ayrıca bakınız
Hata ayıklama kipini kapatın#
Şununla Django hata ayıklama kipini kaptın (DEBUG
):
DEBUG = False
Hata ayıklama kipi açıkken, Django yürütülen tüm sorguları depolar ve kullanıcılara, üretim kipinde gerek duyulmayan hata izlerini görüntüler.
Ayrıca bakınız
Yöneticileri düzgün şekilde yapılandırın#
Sunucuda bir sorun olması durumunda e-postaları kimlerin alacağını belirlemek için doğru yönetici adreslerini ADMINS
seçeneği ile ayarlayın. Örneğin:
ADMINS = (("Your Name", "your_email@example.com"),)
Ayrıca bakınız
Doğru site etki alanını ayarlayın#
Yönetici arabiriminde site adını ve etki alanını ayarlayın. Yoksa RSS ya da kayıt e-postalarındaki bağlantılar çalışmaz. Bu ayar, site etki alanı adının yazılması gereken SITE_DOMAIN
seçeneği ile yapılandırılır.
4.2 sürümünde değişti: 4.2 sürümünden önce bunun yerine Django site çatısı kullanılıyordu. Bilgi almak için The “sites” framework.
HTTPS ayarını düzgün biçimde yapın#
Weblate için şifrelenmiş HTTPS iletişim kuralını kullanmanız önemle önerilir. Sertifikanızı hazırladıktan sonra ENABLE_HTTPS
seçeneğini ayarlamanız gerekir:
ENABLE_HTTPS = True
İpucu
Ayrıca HSTS özelliğini de etkinleştirmek isteyebilirsiniz. Bilgi almak için: SSL/HTTPS.
Ayrıca bakınız
ENABLE_HTTPS
,
Allowed hosts kurulumu,
Doğru site etki alanını ayarlayın
SECURE_HSTS_SECONDS seçeneğini düzgün biçimde ayarlayın#
Siteniz SSL üzerinden sunuluyorsa, HTTP sıkı aktarım güvenliği (HTTP Strict Transport Security) özelliğini etkinleştirmek için settings.py
dosyasında SECURE_HSTS_SECONDS
değerini ayarlamayı değerlendirmeniz gerekir. Bu seçenek varsayılan olarak, aşağıda gösterildiği gibi 0 olarak ayarlanmıştır.
SECURE_HSTS_SECONDS = 0
Sıfır olmayan bir tamsayı değerine ayarlanırsa, django.middleware.security.SecurityMiddleware
üst bilgisi bulunmayan tüm yanıtlarda HTTP Strict Transport Security üst bilgisini ayarlar.
Uyarı
Bu ayar yanlış yapılırsa, sitenizi geri dönüşü olmayan bir şekilde (bir süreliğine) bozabilir. Önce HTTP Strict Transport Security belgelerini okuyun.
Güç bir veri tabanı sunucusu kullanın#
Lütfen üretim ortamı için PostgreSQL kullanın. Bilgi almak için: Weblate için veri tabanı kurulumu.
Veri tabanı sunucusunu çalıştırmak için yakın konumları kullanın. Yoksa ağ başarımı ya da güvenilirliği sorunları Weblate deneyiminizi mahvedebilir.
Veri tabanı sunucusunun başarımını denetleyin veya yapılandırmasını değiştirin. Örneğin PGTune kullanabilirsiniz.
Ön bellek özelliğini açın#
Olabiliyorsa, CACHES
yapılandırma değişkenini ayarlayarak Django Redis kullanın. Örneğin:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
# If redis is running on same host as Weblate, you might
# want to use unix sockets instead:
# 'LOCATION': 'unix:///var/run/redis/redis.sock?db=0',
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
},
}
}
İpucu
Ön bellek için Redis ayarlarını değiştirirseniz, bunları Celery için de ayarlamanız gerekebilir. Bilgi almak için: :ref:`Celery.
Ayrıca bakınız
Avatar ön belleği#
Django ön belleğinin yanında, Weblate avatarları da ön belleğe alır. Bu amaçla ayrı, dosya temelli bir ön bellek kullanılması önerilir:
CACHES = {
"default": {
# Default caching backend setup, see above
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "unix:///var/run/redis/redis.sock?db=0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
},
},
"avatar": {
"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
"LOCATION": os.path.join(DATA_DIR, "avatar-cache"),
"TIMEOUT": 604800,
"OPTIONS": {
"MAX_ENTRIES": 1000,
},
},
}
Ayrıca bakınız
ENABLE_AVATARS
,
AVATAR_URL_PREFIX
,
Avatarlar,
Ön bellek özelliğini açın,
Django’s cache framework
E-posta gönderimini yapılandırın#
Weblate tarafından bazı e-postaların gönderilmesi gerekir ve bu e-postaların doğru bir gönderici adresi olmalıdır. Lütfen SERVER_EMAIL
ve DEFAULT_FROM_EMAIL
değerlerini ortamınıza uygun şekilde yapılandırın. Örneğin:
SERVER_EMAIL = "admin@example.org"
DEFAULT_FROM_EMAIL = "weblate@example.org"
Not
Weblate tarafından e-posta gönderilmesini devre dışı bırakmak için EMAIL_BACKEND
seçeneğini django.core.mail.backends.dummy.EmailBackend
olarak ayarlayın.
Bu yapılandırma, kayıt ve parola sıfırlama e-postaları ile birlikte tüm e-posta gönderimini devre dışı bırakır.
Allowed hosts kurulumu#
Django, sitenizin sunmasına izin verilen etki alanı adlarının listesini ALLOWED_HOSTS
seçeneğinde tutar. Bu seçenek boş bırakılırsa tüm istekler engellenir.
Bu seçenek, HTTP sunucunuzla eşleşecek şekilde yapılandırılmamışsa, Invalid HTTP_HOST header: ‘1.1.1.1’. You may need to add ‘1.1.1.1’ to ALLOWED_HOSTS.
gibi hata iletileri görürsünüz
İpucu
Docker kapsayıcısında WEBLATE_ALLOWED_HOSTS
seçeneği kullanılabilir.
Ayrıca bakınız
ALLOWED_HOSTS
,
WEBLATE_ALLOWED_HOSTS
,
Doğru site etki alanını ayarlayın
Django gizli anahtarı#
SECRET_KEY
ayarı Django tarafından çerezleri imzalamak için kullanılır. Örnek kurulumdaki değeri kullanmayıp kendiniz için oluşturacağınız gerçek bir değeri kullanmanız gerekir.
Weblate içindeki weblate-generate-secret-key komutunu kullanarak yeni bir anahtar oluşturabilirsiniz.
Ayrıca bakınız
Bakım görevlerini yürütmek#
En iyi başarım için, bazı bakım görevlerini arka planda çalıştırmak iyi bir fikirdir. Bu işlemler Celery ile arka plan görevlerini kullanmak tarafından kendiliğinden yapılır ve şu görevleri kapsar:
Yapılandırma sağlığı denetimi (saatlik).
Bekleyen değişiklikleri işlemek (saatlik). Bilgi almak için: Lazy commit işlemeleri ve
weblate weblate commit_pending
.Bileşen uyarılarını güncellemek (günlük).
Uzak dalları güncellemek (gecelik). Bilgi almak için: :setting:`AUTO_UPDATE’.
Çeviri belleğinin JSON yedeğini almak (günlük). Bilgi almak için:
weblate weblate dump_memory
.Tam metin ve veri tabanı bakım görevleri (günlük ve haftalık görevler). Bilgi almak için:
weblate weblate cleanuptrans
.
3.2 sürümünde değişti: 3.2 sürümünden bu yana, bu görevleri yapmak için varsayılan olarak Celery kullanılır. Weblate içinde buna uygun yapılandırma hazırdır. Bilgi almak için: ref: celery.
Sistem yerel ayarları ve kodlama#
Sistem yerel ayarları UTF-8 destekleyenler ile yapılandırılmalıdır. Çoğu Linux dağıtımında varsayılan ayar böyledir. Sisteminizde durumun böyle olmaması durumunda, lütfen yerel ayarları UTF-8 çeşidi olarak değiştirin.
Örneğin, /etc/default/locale
dosyasını düzenleyerek LANG="C.UTF-8”
olarak ayarlayabilirsiniz.
Bazı durumlarda, her hizmetin ayrı yerel ayar yapılandırması vardır. Bunlar, dağıtımlara ve site sunucularına göre farklılık gösterebilir. Bu konuda bilgi almak için site sunucusu paketlerinizin belgelerine bakın.
Ubuntu üzerinde Apache /etc/apache2/envvars
kullanır:
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
CentOS üzerinde Apache /etc/sysconfig/httpd
(or /opt/rh/httpd24/root/etc/sysconfig/httpd
) kullanır:
LANG='en_US.UTF-8'
İstemci varlıklarının sıkıştırılması#
Weblate, bazı JavaScript ve CSS dosyalarıyla birlikte gelir. Başarımı artırmak için bunların bir istemciye gönderilmeden önce sıkıştırılması iyidir. Varsayılan yapılandırmada bu işlem çok az ek yük oluşturarak anında yapılır. Büyük kurulumlarda, çevrimdışı sıkıştırma kipini etkinleştirmeniz önerilir. Bunun yapılandırmada ayarlanması ve sıkıştırmanın her Weblate yükseltmesinde tetiklenmesi gerekir.
Yapılandırma, django.conf.settings.COMPRESS_OFFLINE
seçeneği ve django.conf.settings.COMPRESS_OFFLINE_CONTEXT
seçeneği etkinleştirilerek kolayca ayarlanır (ikincisi zaten örnek yapılandırmalara eklenmiştir):
COMPRESS_OFFLINE = True
Her dağıtımda, dosyaları geçerli sürümle eşleşecek şekilde sıkıştırmanız gerekir:
weblate compress
İpucu
Resmi Docker kalıbında bu özellik etkinleştirilmiştir.
Ayrıca bakınız
Sunucuyu çalıştırmak#
İpucu
Aşağıda açıklanan hizmetlerle ilgili deneyiminiz yoksa, Docker ile kurmak adresine bakmak isteyebilirsiniz.
Weblate çalıştırmak için birkaç hizmete gerek duyacaksınız. Önerilen kurulum şunlardan oluşur:
Veri tabanı sunucusu (bilgi almak için: Weblate için veri tabanı kurulumu)
Ön bellek sunucusu (bilgi almak için: Ön bellek özelliğini açın)
Durağan dosyalar ve SSL ucu için ön yüz site sunucusu (bilgi almak için: Durağan dosyalar sunmak)
Devingen içerik için WSGI sunucusu (bilgi almak için: NGINX ve uWSGI için örnek yapılandırma)
Arka plan görevlerini yürütmek için Celery (bilgi almak için: Celery ile arka plan görevlerini kullanmak)
Not
Hizmetler arasında bazı bağımlılıklar bulunur. Örneğin Celery veya uwsgi işlemlerini başlatırken ön bellek ve veri tabanı çalışıyor olmalıdır.
Çoğu durumda, tüm hizmetleri tek (sanal) sunucu üzerinde çalıştırırsınız. Ancak kurulumunuzun yükü ağırsa, hizmetleri ayırabilirsiniz. Bu durumda, Celery ve wsgi sunucularının DATA_DIR
klasörüne erişmesini sağlamanız yeterlidir.
Not
WSGI işlemini çalıştıran kullanıcı ile Celery işlemini çalıştıran kullanıcı aynı olmalıdır. Yoksa DATA_DIR
klasöründeki dosyaların sahiplikleri karışır ve bu da çalışma sırasında sorunlara yol açar.
Ayrıca Dosya sistemi izinleri ve Celery ile arka plan görevlerini kullanmak bölümlerine bakın.
Web sunucusunu çalıştırmak#
Weblate çalıştırmak, diğer Django temelli programları çalıştırmaktan farklı değildir. Django genellikle uWSGI ya da fcgi olarak çalıştırılır (aşağıda farklı site sunucuları için örnekler bulabilirsiniz).
Deneme amacıyla, Django üzerindeki yerleşik site sunucusunu kullanabilirsiniz:
weblate runserver
Uyarı
BU SUNUCUYU ÜRETIM AYARIYLA KULLANMAYIN. Güvenlik denetimlerinden ya da başarım sınamalarından geçirilmemiştir. Ayrıca runserver
ile ilgili Django belgelerine bakın.
İpucu
Django içindeki sunucu, yalnızca geliştirme amaçlı olduğundan yalnızca DEBUG
seçeneği etkin olan durağan dosyaları sunar. Üretim kullanımı için lütfen NGINX ve uWSGI için örnek yapılandırma, Örnek Apache yapılandırması, Örnek Apache ve Gunicorn yapılandırması ve Durağan dosyalar sunmak içindeki wsgi kurulumlarına bakın.
Durağan dosyalar sunmak#
Durağan Django dosyalarının tek bir klasörde toplanması gerekiyor. Bunun için weblate collectstatic --noinput
komutunu çalıştırın. Bu komut, durapan dosyaları STATIC_ROOT
seçeneği ile belirtilen bir klasöre kopyalar (bu klasör, varsayılan olarak DATA_DIR
içindeki static
klasörüdür).
Durağan dosyaları doğrudan site sunucunuzdan sunmanız önerilir. Bunu şu yollar ile kullanmalısınız:
/static/
Weblate ve yönetici arayüzünün durağan dosyalarını sunar (
STATIC_ROOT
ile tanımlanmış)./media/
Kullanıcıların ortam yüklemeleri için kullanılır (ekran görüntüleri gibi).
/favicon.ico
/static/favicon.ico
dosyasını sunmak için bir kural yeniden yazılmalıdır.
İçerik güvenliği ilkesi#
Varsayılan Weblate yapılandırması, Content-Security-Policy
veya X-XSS-Protection
gibi güvenlikle ilgili HTTP üst bilgilerini ayarlayan weblate.middleware.SecurityMiddleware
ara yazılımını etkinleştirir. Bunlar varsayılan olarak Weblate ve yapılandırması ile çalışacak şekilde ayarlanmıştır. Ancak bunun için ortamınıza uygun özelleştirmeler yapmanız gerekebilir.
Ayrıca bakınız
CSP_SCRIPT_SRC
,
CSP_IMG_SRC
,
CSP_CONNECT_SRC
,
CSP_STYLE_SRC
,
CSP_FONT_SRC
NGINX ve uWSGI için örnek yapılandırma#
Üretim amacıyla kullanılacak site sunucusu çalıştırmak için, Weblate ile kurulan wsgi sarmalayıcısını kullanın (sanal ortamdaysanız ~/weblate-env/lib/python3.9/site-packages/weblate/wsgi.py
olarak kurulur). Kullandığınız virtualenv üzerinde Python arama yolunu ayarlamayı da unutmayın (uWSGI üzerinde virtualenv = /home/user/weblate-env
gibi).
Aşağıdaki yapılandırma, NGINX site sunucusu üzerinde uWSGI olarak Weblate çalıştırır.
NGINX için yapılandırma (weblate/examples/weblate.nginx.conf
dosyasında da bulunabilir):
#
# nginx configuration for Weblate
#
# You will want to change:
#
# - server_name
# - change /home/weblate/weblate-env to location where Weblate virtualenv is placed
# - change /home/weblate/data to match your DATA_DIR
# - change python3.9 to match your Python version
# - change weblate user to match your Weblate user
#
server {
listen 80;
server_name weblate;
# Not used
root /var/www/html;
location ~ ^/favicon.ico$ {
# DATA_DIR/static/favicon.ico
alias /home/weblate/data/static/favicon.ico;
expires 30d;
}
location /static/ {
# DATA_DIR/static/
alias /home/weblate/data/static/;
expires 30d;
}
location /media/ {
# DATA_DIR/media/
alias /home/weblate/data/media/;
expires 30d;
}
location / {
include uwsgi_params;
# Needed for long running operations in admin interface
uwsgi_read_timeout 3600;
# Adjust based to uwsgi configuration:
uwsgi_pass unix:///run/uwsgi/app/weblate/socket;
# uwsgi_pass 127.0.0.1:8080;
}
}
uWSGI için yapılandırma (weblate/examples/weblate.uwsgi.ini
dosyasında da bulunabilir):
#
# uWSGI configuration for Weblate
#
# You will want to change:
#
# - change /home/weblate/weblate-env to location where Weblate virtualenv is placed
# - change /home/weblate/data to match your DATA_DIR
# - change python3.9 to match your Python version
# - change weblate user to match your Weblate user
#
[uwsgi]
plugins = python3
master = true
protocol = uwsgi
socket = 127.0.0.1:8080
wsgi-file = /home/weblate/weblate-env/lib/python3.9/site-packages/weblate/wsgi.py
# Add path to Weblate checkout if you did not install
# Weblate by pip
# python-path = /path/to/weblate
# In case you're using virtualenv uncomment this:
virtualenv = /home/weblate/weblate-env
# Needed for OAuth/OpenID
buffer-size = 8192
# Reload when consuming too much of memory
reload-on-rss = 250
# Increase number of workers for heavily loaded sites
workers = 8
# Enable threads for Sentry error submission
enable-threads = true
# Child processes do not need file descriptors
close-on-exec = true
# Avoid default 0000 umask
umask = 0022
# Run as weblate user
uid = weblate
gid = weblate
# Enable harakiri mode (kill requests after some time)
# harakiri = 3600
# harakiri-verbose = true
# Enable uWSGI stats server
# stats = :1717
# stats-http = true
# Do not log some errors caused by client disconnects
ignore-sigpipe = true
ignore-write-errors = true
disable-write-exception = true
Ayrıca bakınız
Örnek Apache yapılandırması#
Weblate ile WSGI kullanırken prefork MPM kullanılması önerilir.
Aşağıdaki yapılandırma WSGI olarak Weblate çalıştırır. mod_wsgi
modülünün etkinleştirilmiş olması gerekir (weblate/examples/apache.conf
dosyasında bulunabilir):
#
# VirtualHost for Weblate
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate virtualenv is placed
# - change /home/weblate/data to match your DATA_DIR
# - change python3.9 to match Python version mod-wsgi is compiled for
# - change weblate user to match your Weblate user
#
<VirtualHost *:80>
ServerAdmin admin@weblate.example.org
ServerName weblate.example.org
# DATA_DIR/static/favicon.ico
Alias /favicon.ico /home/weblate/data/static/favicon.ico
# DATA_DIR/static/
Alias /static/ /home/weblate/data/static/
<Directory /home/weblate/data/static/>
Require all granted
</Directory>
# DATA_DIR/media/
Alias /media/ /home/weblate/data/media/
<Directory /home/weblate/data/media/>
Require all granted
</Directory>
# Path to your Weblate virtualenv
WSGIDaemonProcess weblate python-home=/home/weblate/weblate-env user=weblate request-timeout=600
WSGIProcessGroup weblate
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /home/weblate/weblate-env/lib/python3.9/site-packages/weblate/wsgi.py process-group=weblate
WSGIPassAuthorization On
<Directory /home/weblate/weblate-env/lib/python3.9/site-packages/weblate/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Not
Weblate için Python 3 gereklidir. Bu nedenle modwsgi modülünün Python 3 çeşidini çalıştırdığınızdan emin olun. Genellikle libapache2-mod-wsgi-py3
gibi ayrı bir paket olarak bulunur.
Weblate kurulumu için uygun Python sürümünü kullanmak.
Örnek Apache ve Gunicorn yapılandırması#
Aşağıdaki yapılandırma Gunicorn ve Apache 2.4 üzerinde Weblate çalıştırır (weblate/examples/apache.gunicorn.conf
dosyasında bulunabilir):
#
# VirtualHost for Weblate using gunicorn on localhost:8000
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate virtualenv is placed
# - change /home/weblate/data to match your DATA_DIR
# - change weblate user to match your Weblate user
#
<VirtualHost *:443>
ServerAdmin admin@weblate.example.org
ServerName weblate.example.org
# DATA_DIR/static/favicon.ico
Alias /favicon.ico /home/weblate/data/static/favicon.ico
# DATA_DIR/static/
Alias /static/ /home/weblate/data/static/
<Directory /home/weblate/data/static/>
Require all granted
</Directory>
# DATA_DIR/media/
Alias /media/ /home/weblate/data/media/
<Directory /home/weblate/data/media/>
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/https_cert.cert
SSLCertificateKeyFile /etc/apache2/ssl/https_key.pem
SSLProxyEngine On
ProxyPass /favicon.ico !
ProxyPass /static/ !
ProxyPass /media/ !
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
ProxyPreserveHost On
</VirtualHost>
Ayrıca bakınız
Bir yol altında Weblate çalıştırma yapılandırması#
Weblate ile WSGI kullanırken prefork MPM kullanılması önerilir.
Weblate çalıştırmak için /weblate
gibi bir yol kullanan örnek Apache yapılandırması. Yine mod_wsgi
kullanarak (weblate/examples/apache-path.conf
dosyasında bulunabilir):
#
# VirtualHost for Weblate, running under /weblate path
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate virtualenv is placed
# - change /home/weblate/data to match your DATA_DIR
# - change python3.9 to match Python version mod-wsgi is compiled for
# - change weblate user to match your Weblate user
#
<VirtualHost *:80>
ServerAdmin admin@weblate.example.org
ServerName weblate.example.org
# DATA_DIR/static/favicon.ico
Alias /weblate/favicon.ico /home/weblate/data/static/favicon.ico
# DATA_DIR/static/
Alias /weblate/static/ /home/weblate/data/static/
<Directory /home/weblate/data/static/>
Require all granted
</Directory>
# DATA_DIR/media/
Alias /weblate/media/ /home/weblate/data/media/
<Directory /home/weblate/data/media/>
Require all granted
</Directory>
# Path to your Weblate virtualenv
WSGIDaemonProcess weblate python-home=/home/weblate/weblate-env user=weblate request-timeout=600
WSGIProcessGroup weblate
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias /weblate /home/weblate/weblate-env/lib/python3.9/site-packages/weblate/wsgi.py process-group=weblate
WSGIPassAuthorization On
<Directory /home/weblate/weblate-env/lib/python3.9/site-packages/weblate/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Ek olarak weblate/settings.py
dosyasını ayarlamalısınız:
URL_PREFIX = "/weblate"
Celery ile arka plan görevlerini kullanmak#
3.2 sürümünde geldi.
Weblate, düzenli olarak yapılan arka plan görevlerini yerine getirmek için Celery kullanır. Bu işlemleri yapacak bir Celery hizmeti çalıştırmanız gerekiyor. Örnek olarak, aşağıdaki işlemlerin yapılır (bu liste tam değildir):
Dış hizmetlerden internet kancalarını almak (bilgi almak için: Bildirim kancaları).
Yedeklemeler, temizlemeler, günlük eklentiler veya güncellemeler gibi düzenli bakım görevlerini çalıştırmak (bilgi almak için Weblate yedeğini alma ve taşıma,
BACKGROUND_TASKS
, Eklentiler).Kendiliğinden çeviri çalıştırmak.
Toplu bildirimleri göndermek.
Yük oluşturan işlemleri wsgi işlemi üzerinden almak.
Bekleyen değişiklikleri göndermek (Bilgi almak için: Lazy commit işlemeleri).
Arka uçta Redis kullanan tipik bir kurulum şöyle görünür:
CELERY_TASK_ALWAYS_EAGER = False
CELERY_BROKER_URL = "redis://localhost:6379"
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
Ayrıca bakınız
Görevleri işlemek ve zamanlanmış görevleri başlatmak için Celery işlemini de başlatmalısınız. Bu işlem doğrudan komut satırından yapılabilir (genellikle hata ayıklama veya geliştirme sırasında yararlıdır):
./weblate/examples/celery start
./weblate/examples/celery stop
Not
Celery işlemini çalıştıran kullanıcı, WSGI işlemini çalıştıran kullanıcı ile aynı olmalıdır. Yoksa DATA_DIR
klasöründeki dosyaların sahiplikleri karışır ve bu da çalışma sırasında sorunlara yol açar.
Ayrıca Dosya sistemi izinleri ve Sunucuyu çalıştırmak bölümlerine bakabilirsiniz.
Wsgi üzerinde Celery görevlerini yürütürken eager kipini kullanmak#
Not
Bu seçeneğin kullanılmasının site arayüzü başarımı üzerinde ciddi etkisi olur ve normal tetikleyiciye bağlı olarak özellikleri bozar (bekleyen değişiklikleri işlemek, özet bildirimleri veya yedeklemeler gibi).
Geliştirme ortamları için, tüm görevleri anında işleyen eager yapılandırmasını kullanmak isteyebilirsiniz:
CELERY_TASK_ALWAYS_EAGER = True
CELERY_BROKER_URL = "memory://"
CELERY_TASK_EAGER_PROPAGATES = True
Celery uygulamasını sistem hizmeti olarak çalıştırmak#
Büyük olasılıkla celeri:userguide/daemonizing bölümünde anlatıldığı gibi bir Celery daemon çalıştırmak isteyeceksiniz. systemd kullanan en yaygın Linux kurulumu için, hazır gelen ve aşağıda listesi bulunan examples
klasöründeki örnek dosyaları kullanabilirsiniz.
/etc/systemd/system/celery-weblate.service
olarak yerleştirilecek systemd birimi:
[Unit]
Description=Celery Service (Weblate)
After=network.target
[Service]
Type=forking
User=weblate
Group=weblate
EnvironmentFile=/etc/default/celery-weblate
WorkingDirectory=/home/weblate
RuntimeDirectory=celery
RuntimeDirectoryPreserve=restart
LogsDirectory=celery
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
--pidfile=${CELERYD_PID_FILE}'
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
[Install]
WantedBy=multi-user.target
/etc/default/celery-weblate
olarak yerleştirilecek ortam yapılandırması:
# Name of nodes to start
CELERYD_NODES="celery notify memory backup translate"
# Absolute or relative path to the 'celery' command:
CELERY_BIN="/home/weblate/weblate-env/bin/celery"
# App instance to use
# comment out this line if you don't use an app
CELERY_APP="weblate.utils"
# Extra command-line arguments to the worker,
# increase concurrency if you get weblate.E019
CELERYD_OPTS="--beat:celery --queues:celery=celery --prefetch-multiplier:celery=4 \
--queues:notify=notify --prefetch-multiplier:notify=10 \
--queues:memory=memory --prefetch-multiplier:memory=10 \
--queues:translate=translate --prefetch-multiplier:translate=4 \
--concurrency:backup=1 --queues:backup=backup --prefetch-multiplier:backup=2"
# Logging configuration
# - %n will be replaced with the first part of the nodename.
# - %I will be replaced with the current child process index
# and is important when using the prefork pool to avoid race conditions.
CELERYD_PID_FILE="/run/celery/weblate-%n.pid"
CELERYD_LOG_FILE="/var/log/celery/weblate-%n%I.log"
CELERYD_LOG_LEVEL="INFO"
Celery günlüklerini döndürmek için logrotate komutu kullanılarak /etc/logrotate.d/celery
olarak yerleştirilecek ek yapılandırma:
/var/log/celery/*.log {
weekly
missingok
rotate 12
compress
notifempty
}
Celery atımını kullanarak görevleri zamanlamak#
Weblate, hazır bir zamanlanmış görevler kurulumuyla gelir. Bununla birlikte, settings.py
dosyasından ek görevler tanımlayabilirsiniz. Örnek olarak Lazy commit işlemeleri bölümüne bakabilirsiniz.
Görevlerin Celery beats daemon tarafından yürütülmesi gerekiyor. Beklendiği gibi çalışmıyorsa, daemon çalışmıyor veya veri tabanı bozulmuş olabilir. Bu durumda temel sorunu bulmak için Celery başlangıç günlüklerine bakın.
Celery durumunu izlemek#
Celery görev kuyruklarının geçerli uzunluğunu Yönetim arayüzü içinden ya da komut satırında weblate weblate celery_queues
komutunu kullanarak görebilirsiniz. Kuyruğun çok uzaması durumunda, yönetici arayüzünde de yapılandırma hatası görürsünüz.
Uyarı
Celery hataları varsayılan olarak yalnızca Celery günlüğüne kaydedilir ve kullanıcı tarafından görülemez. Bu tür hataların özetini görmek istiyorsanız, Hata raporlarını derlemek seçeneğini yapılandırmanız önerilir.
Weblate uygulamasını izlemek#
Weblate, örneğin Kubernetes gibi basit durum denetimlerinde kullanılmak üzere /healthz/
adresini sunar. Docker kapsayıcısında, bu adresi kullanan iç sistem durumu denetimi bulunur.
Weblate ölçümlerini izlemek için GET /api/metrics/
API uç noktasını kullanabilirsiniz.
Hata raporlarını derlemek#
Weblate, diğer yazılımlar gibi sorun çıkarabilir. Yardımcı olabilecek sorun durumlarını derlemek için üçüncü taraf hizmetlerini kullanmanızı öneririz. Bu uygulama, özellikle Celery görevlerinin yapılamaması durumunda kullanışlıdır. Yoksa hata yalnızca günlüklere bildirilir ve bunlar ile ilgili bildirim almazsınız. Weblate tarafından desteklenen hizmetler şunlardır:
Sentry#
Weblate, Sentry desteği sunar. Kullanmak için, settings.py
dosyasında SENTRY_DSN
seçeneğini ayarlamak yeterlidir:
SENTRY_DSN = "https://id@your.sentry.example.com/"
Rollbar#
Weblate, Rollbar desteği sunar. Kullanmak için, Rollbar notifier for Python yönergelerini izlemek yeterlidir.
Özetle, settings.py
dosyasını ayarlamanız gerekir:
# Add rollbar as last middleware:
MIDDLEWARE = [
# … other middleware classes …
"rollbar.contrib.django.middleware.RollbarNotifierMiddleware",
]
# Configure client access
ROLLBAR = {
"access_token": "POST_SERVER_ITEM_ACCESS_TOKEN",
"client_token": "POST_CLIENT_ITEM_ACCESS_TOKEN",
"environment": "development" if DEBUG else "production",
"branch": "main",
"root": "/absolute/path/to/code/root",
}
Bunun dışındaki her şey kendiliğinden bütünleştirilmiştir. Artık hem sunucu hem de istemci tarafı hatalarını derleyebilirsiniz.
Not
Hata günlüğü, düzgün bir şekilde işlenen özel durumları da içerir. Ancak yüklenen bir dosyanın işlenememesi gibi bir sorunu da gösteriyor olabilir.
Weblate kurulumunu başka bir sunucuya aktarmak#
Weblate kurulumunu başka bir sunucuya aktarmak oldukça kolaydır. Ancak veriler dikkatli bir şekilde aktarmanız gereken birkaç konumda bulunur. En iyi yaklaşım, aktarım sırasında Weblate kopyasını durdurmaktır.
Veri tabanını aktarmak#
Veri tabanı arka ucunuza bağlı olarak, veri tabanını aktarmak için birkaç seçeneğiniz olabilir. En basit yaklaşım, genellikle en etkili araçlar olduklarından, veri tabanının kendi araçlarını kullanmaktır (mysqldump ya da pg_dump gibi). Alternatif olarak, veri tabanınızın desteklemesi durumunda çoğaltma (replication) özelliğini kullanabilirsiniz.
Ayrıca bakınız
Veri tabanları arasında aktarım Diğer veri tabanlarından PostgreSQL üzerine aktarmak bölümünde açılanmıştır.
Sürüm denetimi sistemi depolarını aktarmak#
DATA_DIR
altına kaydedilmiş sürüm denetimi sistemi depolarının da taşınması gerekir. Aktarımı daha etkili bir şekilde yapmak için bunları kopyalayabilir ya da rsync komutunu kullanabilirsiniz.
Diğer notlar#
Weblate tarafından kullanılıyor olabilecek, Redis, zamanlanmış Cron görevleri veya özel kimlik doğrulama arka uçları gibi diğer hizmetleri taşımayı unutmayın.
Weblate dağıtımları#
Weblate, bulutunuza kolayca kurulabilir. Lütfen platformunuz için ayrıntılı bilgiler içeren rehbere bakın:
Üçüncü taraf Weblate dağıtımları#
Not
Şu dağıtımlar Weblate ekibi tarafından geliştirilmez ya da desteklenmez. Kurulum aşamaları bu belgede anlatılandan farklı olabilir.
Bitnami Weblate paketi#
Bitnami, <https://bitnami.com/stack/weblate> adresinden birçok platform için hazır Weblate paketleri sunar.
Ayrıca bakınız
Cloudron Weblate paketi#
Cloudron internet uygulamalarını kendinizin barındırabileceğiniz bir platformdur. Cloudron ile kurulan Weblate kendiliğinden güncel tutulur. Paket, Cloudron ekibi tarafından Weblate paket deposu üzerinde güncel tutulur.

YunoHost üzerinde Weblate#
Kendi kendine barındırma projesi YunoHost bir Weblate paketi sağlar. YunoHost kurulumunuzu yaptıktan sonra, Weblate başka bir uygulama olarak kurulabilir. Yedekleme ve geri yükleme ile tam olarak çalışan bir paket sunar. Bununla birlikte yine de belirli kullanımlar için ayarlar dosyanızı düzenlemeniz gerekebilir.
Yönetim arayüzünü ya da bu düğmeyi kullanabilirsiniz (sizi sunucunuza götürür):

Komut satırı arayüzü de kullanılabilir:
yunohost app install https://github.com/YunoHost-Apps/weblate_ynh
Weblate yazılımını güncellemek#
Docker kalıbı güncellemeleri#
Resmi Docker kalıbına (bilgi almak için Docker ile kurmak) tüm Weblate yükseltme adımları bütünleştirilmiştir. Genellikle güncel sürümü çekmenin dışında el ile yapılması gereken bir adım bulunmaz.
Ayrıca bakınız
Genel yükseltme yönergeleri#
Yükseltmeden önce, lütfen değişmiş olabilecekleri için güncel Yazılım gereksinimleri değerini denetleyin. Tüm gereksinimler kurulduktan ya da güncellendikten sonra, lütfen settings.py
dosyasını yapılandırmadaki değişikliklere uygun şekilde ayarlayın (doğru değerler için settings_example.py
bölümüne bakabilirsiniz).
Yükseltmeden önce her zaman Sürüme özel yönergeler bölümünü denetleyin. Bazı sürümleri atlamanız durumunda, lütfen yükseltmede atladığınız tüm sürümlerin yönergelerini izleyin. Bazen sorunsuz bir aktarım yapmak için önce bazı ara sürümlere yükseltmek daha iyidir. Bir kerede birkaç sürüm yukarı yükseltilebilir, ancak tek sürüm yükseltmelerindeki kadar iyi denenmemiştir.
Not
Yükseltmenin yapılamaması durumunda veri tabanını önceki sürüme döndürebilmeniz için yükseltmeden önce veri tabanının tam yedeğini almanız önerilir. Bilgi almak için: Weblate yedeğini alma ve taşıma.
wsgi ve Celery işlemlerini durdurun. Yükseltme işlemi, veri tabanında uyumsuz değişiklikler yapabilir. Bu nedenle yükseltme sırasında eski işlemlerin çalışmasını önlemek her zaman daha güvenli olur.
Weblate kodunu yükseltin.
Pip kurulumları için şöyle yapılabilir:
pip install -U "Weblate[all]==version"
Ya da yalnızca güncel sürümü edinmek istiyorsanız:
pip install -U "Weblate[all]"
İsteğe bağlı bağımlılıkların tümünü kurmak istemiyorsanız şunu yapın:
pip install -U Weblate
Git checkout ile yeni kaynak kodunu almanız ve kurulumunuzu güncellemeniz gerekir:
cd weblate-src git pull # Update Weblate inside your virtualenv . ~/weblate-env/bin/pip install -e '.[all]' # Install dependencies directly when not using virtualenv pip install --upgrade -r requirements.txt # Install optional dependencies directly when not using virtualenv pip install --upgrade -r requirements-optional.txt
Yeni Weblate sürümünde yeni İsteğe bağlı bağımlılıklar bulunabilir. Lütfen istediğiniz özellikleri kapsayıp kapsamadığını denetleyin.
Yapılandırma dosyasını yükseltin. Gerekli adımlar için
settings_example.py
ya da Sürüme özel yönergeler dosyalarına bakabilirsiniz.Veri tabanı yapısını yükseltin:
weblate migrate --noinput
Güncellenmiş durağan dosyaları derleyin (bilgi almak için: Sunucuyu çalıştırmak ve Durağan dosyalar sunmak):
weblate collectstatic --noinput --clear
JavaScript ve CSS dosyalarını sıkıştırın (isteğe bağlı, bilgi almak için: İstemci varlıklarının sıkıştırılması):
weblate compress
Git üzerindeki sürümü çalıştırıyorsanız, her yükseltme yaptığınızda yerel ayar dosyalarını da yeniden oluşturmanız gerekir. Bu işlemi şu şekilde yapabilirsiniz:
weblate compilemessages
Kurulumunuzun doğru olduğunu doğrulayın (bilgi almak için: :ref:`production’):
weblate check --deploy
Celery işlemini yeniden başlatın (bilgi almak için: Celery ile arka plan görevlerini kullanmak).
Sürüme özel yönergeler#
2.x sürümünden yükseltmek#
2.x sürümünden yükseltiyorsanız, her zaman ilk olarak 3.0.1 sürümüne yükseltin. Ardından 3.x serisinde yükseltme işlemini sürdürün. Bu adımı atlayan yükseltme işlemleri desteklenmez ve bozulur.
3.x sürümünden yükseltmek#
3.x sürümünden yükseltme yapıyorsanız, her zaman ilk olarak 4.0.4 veya 4.1.1 sürümüne yükseltin. Ardından 4.x serisinde yükseltmeyi sürdürün. Bu adımı atlayan yükseltmeler desteklenmez ve bozulur.
4.0 sürümünden 4.1 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Önemli yapılandırma veya bağımlılık değişiklikleri:
settings_example.py
içinde birkaç değişiklik yapıldı. En önemlileri ara yazılım değişiklikleri. Lütfen ayarlarınızı buna göre yapın.Yeni dosya biçimleri eklendi.
WEBLATE_FORMATS
seçeneğini değiştirdiyseniz bunları katmak isteyebilirsiniz.Yeni kalite denetimleri eklendi.
CHECK_LIST
seçeneğini değiştirdiyseniz bunları katmak isteyebilirsiniz.API hız sınırlamasının raporlanmasını sağlamak için
DEFAULT_THROTTLE_CLASSES
ayarında değişiklik yapıldı.Bazı gereksinimler eklendi ve güncellendi.
INSTALLED_APPS
içinde bir değişiklik yapıldı.MT_DEEPL_API_VERSION
ayarı 4.7 sürümünde kaldırıldı. DeepL makine çevirisi artık yeniMT_DEEPL_API_URL
kullanıyor.MT_DEEPL_API_URL
seçeneğini aboneliğinize uygun şekilde ayarlamanız gerekebilir.
Ayrıca bakınız
4.1 sürümünden 4.2 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Önemli yapılandırma veya bağımlılık değişiklikleri:
3.x sürümlerinden yükseltme işlemi artık desteklenmiyor. Lütfen önce 4.0 ya da 4.1 sürümüne yükseltin.
Bazı gereksinimler eklendi ve güncellendi.
settings_example.py
içinde, en dikkat çekicileri yeni ara katman yazılımında ve değişen uygulama sıralamasında olan birkaç değişiklik yapıldı.JSON tabanlı biçimlerin anahtarlarından baştaki nokta kaldırıldı. Dizgeler veri tabanı aktarımı sırasında ayarlanır. Ancak dışa aktarma işlemlerinde ya da API üzerinde anahtarlara güvenmeniz durumunda dış bileşenlerin ayarlanması gerekebilir.
Celery yapılandırması
memory
kuyruğu kullanılmayacak şekilde değiştirildi. Lütfen başlangıç betiklerinizi veCELERY_TASK_ROUTES
seçeneğini ayarlayın.Weblate etki alanı yapılandırması ayarlar bölümüne alındı. Bilgi almak için:
SITE_DOMAIN
(ya daWEBLATE_SITE_DOMAIN
). Weblate çalıştırmadan önce bu ayarı yapılandırmanız gerekir.Kullanıcı veri tabanındaki kullanıcı adı ve e-posta alanları artık büyük/küçük harfe duyarsız olarak eşsiz. PostgreSQL için yanlışlıkla zorunlu kılınmamıştı.
Ayrıca bakınız
4.2 sürümünden 4.3 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Önemli yapılandırma veya bağımlılık değişiklikleri:
Kalite denetimlerinde bazı değişiklikler yapıldı.
CHECK_LIST
seçeneğini değiştirdiyseniz bunları katmak isteyebilirsiniz.Kaynak dil özniteliği, projeden API üzerinde kullanıma sunulan bir bileşene taşındı. Weblate istemcisi kullanıyorsanız güncellemeniz gerekir.
Veri tabanının 4.3 sürümüne aktarımı, çevirdiğiniz dizge sayısına bağlı olarak uzun sürebilir (100.000 kaynak dizge için aktarım yaklaşık bir saat sürebilir).
INSTALLED_APPS
içinde bir değişiklik yapıldı.django:SESSION_COOKIE_AGE_AUTHENTICATED
seçeneğini tamamlayanSESSION_COOKIE_AGE
ayarı eklendi.GitHub ya da GitLab bütünleştirmesi için hub ya da lab kullanıyorsanız, bunu yeniden yapılandırmanız gerekir. Bilgi almak için:
GITHUB_CREDENTIALS
ve :setting:`GITLAB_CREDENTIALS’.
4.3.1 sürümünde değişti:
Celery yapılandırması
memory
kuyruğu eklenecek şekilde değiştirildi. Lütfen başlangıç betiklerinizi veCELERY_TASK_ROUTES
seçeneğini ayarlayın.
4.3.2 sürümünde değişti:
Eklentilerin
post_update
yöntemineskip_push
parametresi eklendi.
Ayrıca bakınız
4.3 sürümünden 4.4 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Önemli yapılandırma veya bağımlılık değişiklikleri:
INSTALLED_APPS
seçeneğindeweblate.configuration
şeklinde bir değişiklik yapıldı.Artık Django 3.1 sürümü gerekiyor.
MySQL ya da MariaDB kullanıyorsanız, gereken en düşük sürümler yükseltildi. Bilgi almak için: MySQL ve MariaDB.
4.4.1 sürümünde değişti:
Tek dilli gettext artık var olduğunda hem
msgid
hem demsgctxt
kullanıyor. Bu özellik, ekran görüntüleri ya da onay durumları gibi genişletilmiş Weblate verilerine bağlantıları bozan bu tür dosyalardaki çeviri dizgelerinin kimliğini değiştirir. Lütfen yükseltmeden önce bu tür dosyalarda bekleyen değişiklikleri işlediğinizden emin olun.weblate weblate loadpo
kullanarak etkilenen bileşenin yüklenmesini dayatmanız önerilir.Çeşitli dosya biçimi sorunlarını gidermek için gereken en düşük translate-toolkit sürümü yükseltildi.
Ayrıca bakınız
4.4 sürümünden 4.5 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Önemli yapılandırma veya bağımlılık değişiklikleri:
Büyük sözlükleriniz varsa aktarım işlemi oldukça uzun sürebilir.
Sözlükler artık normal bileşenler olarak tutuluyor.
Sözlük API uygulaması kaldırıldı. Sözlüklere erişmek için normal çeviri API uygulamasını kullanın.
INSTALLED_APPS
seçeneğindeweblate.metrics
şeklinde bir değişiklik yapıldı.
4.5.1 sürümünde değişti:
Pyahocorasick modülüne yeni bir bağımlılık eklendi.
Ayrıca bakınız
4.5 sürümünden 4.6 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Önemli yapılandırma veya bağımlılık değişiklikleri:
Yeni dosya biçimleri eklendi.
WEBLATE_FORMATS
seçeneğini değiştirdiyseniz bunları katmak isteyebilirsiniz.Bileşen oluşturan API uygulaması artık kendiliğinden İç Weblate adresleri kullanıyor. Bilgi almak için:
POST /api/projects/(string:project)/components/
.Bağımlılıklarda ve
django:'PASSWORD_HASHERS
kalıplarında bir değişiklik yapıldı. Artık parolaların şifrelenmesi için Argon2 kullanılıyor.
Ayrıca bakınız
4.6 sürümünden 4.7 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Önemli yapılandırma veya bağımlılık değişiklikleri:
settings_example.py
içinde birkaç değişiklik yapıldı. En önemlisi ara yazılım katmanı değişiklikleri (MIDDLEWARE
). Lütfen ayarlarınızı buna göre değiştirin.DeepL makine çevirisine farklı abonelik modellerine daha esnek bir şekilde uyum sağlamak için genel bir
MT_DEEPL_API_URL
ayarı eklendi.MT_DEEPL_API_VERSION
ayarı artık kullanılmıyor.Artık Django 3.2 sürümü gerekiyor.
Ayrıca bakınız
4.7 sürümünden 4.8 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Bu sürüm için ek yükseltme adımlarına gerek yoktur.
Ayrıca bakınız
4.8 sürümünden 4.9 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Ölçümlerin depolanmasında bir değişiklik yapıldı. Büyük sitelerde yükseltme işlemi uzun sürebilir.
Ayrıca bakınız
4.9 sürümünden 4.10 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Proje gruplarında bir değişiklik yapıldı. Binlerce projesi bulunan sitelerde yükseltme işlemi uzun sürebilir.
Django 4.0 ile bazı geriye dönük uyumsuzluğa yol açan değişiklikler yapıldı. Bilgi almak için: Backwards incompatible changes in 4.0. Weblate, bunlardan herhangi birinin sorunlu olması durumunda şimdilik Django 3.2 sürümünü desteklemeyi sürdürüyor. Weblate platformunu etkileyebilecek en önemli değişiklikler:
PostgreSQL 9.6 desteği kaldırılan Django 4.0, PostgreSQL 10 ve üzerindeki sürümleri destekliyor.
CSRF_TRUSTED_ORIGINS
biçimi değiştirildi.
Docker kapsayıcısı artık Django 4.0 kullanıyor. Değişiklikler için yukarıya bakabilirsiniz.
Ayrıca bakınız
4.10 sürümünden 4.11 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Weblate için artık Django 3.2 gerekiyor.
Her proje için erişim denetimi yönetimi uygulaması değiştirildi, proje ön eki grup adlarından kaldırıldı. Bu değişiklik, API kullanıcılarını etkiler.
Weblate artık karakter kümesinin algılanması için
chardet
modülü yerinecharset-normalizer
kullanıyor.4.11.1 sürümünde değiştirildi:
REST_FRAMEWORK
ayarında bir değişiklik yapıldı (DEFAULT_AUTHENTICATION_CLASSES
seçeneğindeki arka uçlardan biri kaldırıldı).
Ayrıca bakınız
4.11 sürümünden 4.12 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Herhangi bir özel adım gerekmez.
Ayrıca bakınız
4.12 sürümünden 4.13 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Dil tanımları artık yükseltme sırasında kendiliğinden güncelleniyor. Bu özelliği devre dışı bırakmak için
UPDATE_LANGUAGES
seçeneğini kullanın.Windows RC dosyaları, HTML dosyaları, IDML biçimi ve Metin dosyaları dosya biçimleri için bağlam ve konumun işlenmesi değiştirildi. Çoğu durumda bağlam artık konum olarak gösteriliyor.
Makine çevirisi hizmetleri artık kullanıcı arabiriminden yapılandırılabilir. Yapılandırma dosyasındaki ayarlar veri tabanı aktarımı sırasında içe aktarılacaktır.
Ayrıca bakınız
4.13 sürümünden 4.14 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Java biçimlendirme denetimleri artık GNU gettext imleriyle eşleşiyor. Weblate üzerinde ayarlanan imler kendiliğinden taşınır. Ancak üçüncü taraf betiklerinin
java-format
yerinejava-printf-format
vejava-messageformat
yerinejava-format
kullanması gerekir.jellyfish bağımlılığı rapidfuzz ile değiştirildi.
4.14.2 sürümünde değiştirildi: VCS hizmeti API anahtarlarının güvenli olmayan yapılandırması, _CREDENTIALS listesi yerine _TOKEN/_USERNAME/ yapılandırmasıyla kullanımdan kaldırıldı. Docker üzerinde lütfen eşleşen _HOST yönergesini ekleyin. Örneğin
WEBLATE_GITHUB_HOST
veGITHUB_CREDENTIALS
bölümlerine bakın.
Ayrıca bakınız
4.14 sürümünden 4.15 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Artık Weblate için PostgreSQL üzerinde “btree_gin” eklentisi gerekiyor. Aktarım işlemi, yeterli izinleri varsa bunu kurar. El ile kurulum için PostgreSQL üzerinde bir veri tabanı oluşturmak bölümüne bakabilirsiniz.
Docker kalıbı artık varsayılan olarak hata ayıklama kipini etkinleştirmiyor. İsterseniz,
WEBLATE_DEBUG
ortam seçeneği ile etkinleştirebilirsiniz.Büyük kopyalarda veri tabanı aktarımı, bazı dizinlerin yeniden oluşturulması nedeniyle saatlerce sürer.
4.15.1 sürümünde değiştirildi: Rest framework ayarlarında
DEFAULT_PAGINATION_CLASS
seçeneğinin varsayılan değeri değiştirildi.
Ayrıca bakınız
4.15 sürümünden 4.16 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Celery vuruşu artık görev zamanlamasını veri tabanında saklıyor. Bunun için
CELERY_BEAT_SCHEDULER
veINSTALLED_APPS
seçeneklerinde değişiklik yapılmalıdır.Kullanımdan kaldırılan sürüm denetimi sistemi kimlik doğrulama bilgileri ayarı artık desteklenmiyor. Bilgi almak için: 4.13 sürümünden 4.14 sürümüne yükseltmek.
django-crispy-forms yükseltmesi için
INSTALLED_APPS
içinde değişiklikler yapılmalıdır.django-cors-headers bütünleştirmesi için
INSTALLED_APPS
veMIDDLEWARE
seçeneklerinde değişiklik yapılmalıdır.
Ayrıca bakınız
4.16 sürümünden 4.17 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
Yeniden yazılmış ölçüm depolama alanına aktarım, büyük Weblate kopyalarında önemli ölçüde zaman alabilir (
metrics_metric
tablosu için GB başına yaklaşık 15 dakika bekleyebilirsiniz). Kesinti süresini azaltmak içinweblate/metrics/migrations/*.py
dosyasını Weblate 4.17 sürümünden 4.16 sürümüne kopyalayarak aktarımı arka planda başlatabilirsiniz. İşlem tamamlandığında, normal tam yükseltme işlemini yapın.Docker kapsayıcısı için artık PostgreSQL 12 veya üzerindeki sürümler gerekiyor. Yükseltme yönergeleri için lütfen PostgreSQL kapsayıcısını yükseltmek bölümüne bakın. Weblate, uygun Django sürümü kurulduğunda eski sürümleri de destekler.
Uyarı
MySQL aktarımı, Python veri tabanı sürücüsünün sınırlaması nedeniyle tüm ölçümleri belleğe yüklemeye çalışacak. MySQL kullanmayı sürdürmek istiyorsanız, aktarımdan önce ölçümleri temizlemeniz gerekebilir. Lütfen PostgreSQL kullanmaya geçmeyi değerlendirin. Bilgi almak için: Diğer veri tabanlarından PostgreSQL üzerine aktarmak.
Ayrıca bakınız
4.17 sürümünden 4.18 sürümüne yükseltmek#
Güncellemek için Genel yükseltme yönergeleri adımlarını izleyin.
PostgreSQL 10, 11, MySQL 5.7 ve MariaDB 10.2, 10.3 desteği kaldırıldı.
Python 3.7 desteği kaldırıldı.
Fluent biçimi biçiminde bazı dizgelerin kimliği değiştirildi. Değişiklikleri görmek için çeviri dosyalarının yeniden yüklenmesini dayatmanız gerekebilir.
There are several changes in
settings_example.py
, most notable is change inCOMPRESS_OFFLINE_CONTEXT
, please adjust your settings accordingly.
Ayrıca bakınız
Python 2 sürümünden Python 3 sürümüne yükseltmek#
Weblate artık Python için 3.6 sürümünden öncesini desteklemiyor. Hala eski sürümde çalışıyorsanız, lütfen önce geçerli sürümden Python 3 sürümüne aktarım yapın ve ardından yükseltin. Weblate 3.11.1 belgelerinde Python 2 sürümünden Python 3 sürümüne yükseltme bölümüne bakabilirsiniz.
Diğer veri tabanlarından PostgreSQL üzerine aktarmak#
Weblate için PostgreSQL dışında başka bir veri tabanı kullanıyorsanız, Weblate ile en iyi başarımı gösteren PostgreSQL kullanmaya geçmeyi düşünmelisiniz. Aşağıdaki adımlar, verilerinizi veri tabanları arasında aktarmakta size yol gösterir. Lütfen aktarımdan önce hem site hem de Celery sunucularını durdurmayı unutmayın, yoksa tutarsız verilerle karşılaşabilirsiniz.
PostgreSQL üzerinde bir veri tabanı oluşturmak#
Weblate için ayrı bir kullanıcı hesabı ile ayrı bir veri tabanı kullanmak genellikle iyi bir fikirdir:
# If PostgreSQL was not installed before, set the main password
sudo -u postgres psql postgres -c "\password postgres"
# Create a database user called "weblate"
sudo -u postgres createuser -D -P weblate
# Create the database "weblate" owned by "weblate"
sudo -u postgres createdb -E UTF8 -O weblate weblate
Django JSON dökümlerini kullanarak aktarmak#
Aktarım için en basit yaklaşım, Django JSON dökümlerini kullanmaktır. Bu yöntem, küçük kurulumlar için iyidir. Daha büyük kurulumlarda bunun yerine pgloader kullanmak isteyebilirsiniz. Bilgi almak için: Pgloader ile PostgreSQL üzerine aktarmak.
PostgreSQL seçeneğini
settings.py
dosyasına ek veritabanı bağlantısı olarak ekleyin:
DATABASES = {
"default": {
# Database engine
"ENGINE": "django.db.backends.mysql",
# Database name
"NAME": "weblate",
# Database user
"USER": "weblate",
# Database password
"PASSWORD": "password",
# Set to empty string for localhost
"HOST": "database.example.com",
# Set to empty string for default
"PORT": "",
# Additional database options
"OPTIONS": {
# In case of using an older MySQL server, which has MyISAM as a default storage
# 'init_command': 'SET storage_engine=INNODB',
# Uncomment for MySQL older than 5.7:
# 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
# If your server supports it, see the Unicode issues above
"charset": "utf8mb4",
# Change connection timeout in case you get MySQL gone away error:
"connect_timeout": 28800,
},
},
"postgresql": {
# Database engine
"ENGINE": "django.db.backends.postgresql",
# Database name
"NAME": "weblate",
# Database user
"USER": "weblate",
# Database password
"PASSWORD": "password",
# Set to empty string for localhost
"HOST": "database.example.com",
# Set to empty string for default
"PORT": "",
},
}
Aktarımları yürütün ve tablolara eklenen tüm verileri kaldırın:
weblate migrate --database=postgresql
weblate sqlflush --database=postgresql | weblate dbshell --database=postgresql
Eski veri tabanlarının dökümünü alın ve PostgreSQL üzerine aktarın
weblate dumpdata --all --output weblate.json
weblate loaddata weblate.json --database=postgresql
Varsayılan olarak yalnızca PostgreSQL veri tabanının kullanılması için
DATABASES
ayarını yapın. Eski bağlantıyı kaldırın.
Böylece Weblate artık PostgreSQL veri tabanı ile çalışmaya hazır olmalıdır.
Pgloader ile PostgreSQL üzerine aktarmak#
pgloader, verileri PostgreSQL üzerine taşımak için kullanılan bir genel aktarım aracıdır. Weblate veri tabanını aktarmak için kullanabilirsiniz.
Veri tabanı olarak PostgreSQL kullanmak için
settings.py
ayarınızı yapın.Şemayı PostgreSQL veri tabanına aktarın:
weblate migrate weblate sqlflush | weblate dbshell
Verileri aktarmak için pgloader uygulamasını çalıştırın. Veri tabanını aktarmak için aşağıdaki betik kullanılabilir, ancak ne yaptığını anlamak ve kurulumunuza uyacak şekilde küçük ayar değişikleri yapmak için pgloader ile ilgili ayrıntılı bilgi almak isteyebilirsiniz:
LOAD DATABASE FROM mysql://weblate:password@localhost/weblate INTO postgresql://weblate:password@localhost/weblate WITH include no drop, truncate, create no tables, create no indexes, no foreign keys, disable triggers, reset sequences, data only ALTER SCHEMA 'weblate' RENAME TO 'public' ;
Pootle üzerinden aktarmak#
Weblate başlangıçta Pootle yerine yazıldığından, kullanıcı hesapları Pootle üzerinden aktarılabilir. Kullanıcıları Pootle üzerinden indirip ve weblate weblate importusers
ile içe aktarabilirsiniz.
Weblate yedeğini alma ve taşıma#
Proje düzeyinde yedekler#
4.14 sürümünde geldi.
Uyarı
Yedeklemeler yalnızca veri tabanı olarak PostgreSQL ya da MariaDB 10.5+ kullanıldığında geri yüklenebilir.
Proje, Weblate üzerindeki tüm çeviri içeriğini yedekler (proje, bileşenler, çeviriler, dizge yorumları, öneriler ve denetimler). Bir projeyi başka bir Weblate kopyasına aktarmak için uygundur.
Bir projeyi Yönetim ↓ Yedekler bölümünden yedekleyebilirsiniz. Bir proje oluşturulurken yedekleme geri yüklenebilir (bilgi almak için: Çeviri projelerini ve bileşenleri eklemek).
Şu anda yedeklerde erişim denetimi ve geçmiş bilgileri bulunmuyor.
Yorumlar ve öneriler, bunları oluşturan kullanıcının kullanıcı adıyla yedeklenir. İçe aktarıldıktan sonra eşleşen bir kullanıcı ile ilişkilendirilir. Yedekteki kullanıcı adına sahip bir kullanıcı bulunamazsa, anonim kullanıcı ile ilişkilendirilir.
Oluşturulan yedekler, PROJECT_BACKUP_KEEP_DAYS
ve PROJECT_BACKUP_KEEP_COUNT
tarafından yapılandırıldığı şekilde sunucuda tutulur (varsayılan olarak 30 gün boyunca en fazla 3 yedek tutulur).
BorgBackup ile kendiliğinden yedekleme#
3.9 sürümünde geldi.
Weblate, BorgBackup kullanarak hizmet yedeklerinin alınmasını destekler. Borg, bulutta güvenli bir şekilde saklanabilen, depolama alanı açısından etkili şifrelenmiş yedekler alır. Yedekler, yönetim arayüzünde Yedekler sekmesinden yönetilebilir.
4.4.1 sürümünde değişti: Kendiliğinden alınan yedeklere hem PostgreSQL hem de MySQL/MariaDB veri tabanları katılır.
Borg kullanan yedekler artımlıdır ve Weblate şu yedekleri koruyacak şekilde yapılandırılır:
14 gün geriye dönük günlük yedekler
8 hafta geriye dönük haftalık yedekler
6 ay geriye dönük aylık yedekler

Borg şifreleme anahtarı#
BorgBackup şifrelenmiş yedekler alır ve parola olmadan bunları geri yükleyemezsiniz. Parola, yeni bir yedekleme hizmeti eklerken oluşturulur ve bunu kopyalayıp güvenli bir yerde saklamanız gerekir.
Weblate tarafından sunulan yedekleme depolama alanı kullanıyorsanız, yedeklerinize erişmek için kullanıldığından, lütfen kişisel SSH anahtarınızı da yedekleyin.
Ayrıca bakınız
Yedeklemeyi özelleştirme#
Veri tabanı yedeklemesi
DATABASE_BACKUP
ile yapılandırılabilir.Yedek oluşturma
BORG_EXTRA_ARGS
kullanılarak özelleştirilebilir.
Weblate tarafından sunulan yedekleme depolama alanı#
Weblate bulut sunucunuzu yedeklemenin en kolay yolu `weblate.org <https://weblate.org/support/#backup> üzerinden yedekleme hizmeti`_ satın almaktır. Şu şekilde çalışır duruma getirebilirsiniz:
https://weblate.org/support/#backup üzerinden Yedekleme hizmeti satın alın.
Size verilen anahtarı yönetim bölümüne yazın. Bilgi almak için: Destek bütünleştirmesi.
Weblate bulut hizmeti ile bağlantı kurar ve yedekler için erişim bilgilerini alır.
Yedekler sekmesinden yeni yedekleme yapılandırmasını açın.
Yedekleri geri yükleyebilmek için Borg kimlik doğrulama bilgilerinizi yedekleyin. Bilgi almak için: Borg şifreleme anahtarı.
İpucu
Güvenliğiniz için her şeyi el ile açma adımı bulunur. İzniniz olmadan, hesap açma işlemi yoluyla elde edilen yedekleme havuzuna herhangi bir veri gönderilmez.
Özel yedekleme depolama alanını kullanmak#
Yedekler için kendi depolama alanınızı da kullanabilirsiniz. SSH, yedekleri uzak hedefte depolamak için kullanılabilir. Hedef sunucuda BorgBackup kurulu olmalıdır.
Ayrıca bakınız
Borg belgelerindeki General bölümünde
Yerel dosya sistemi#
Yerel yedekleme için mutlak yolun belirtilmesi önerilir. Örneğin ‘/yedek/klasoru/yolu’. Klasör, Weblate çalıştıran kullanıcı tarafından yazılabilir olmalıdır (bilgi almak için: Dosya sistemi izinleri). Klasör yoksa, Weblate oluşturmaya çalışır, ancak bunu yapmak için uygun izinlere gerek duyar.
İpucu
Docker üzerinde Weblate çalıştırırken, lütfen yedekleme konumunun Weblate kapsayıcısında bir birim olarak gösterildiğinden emin olun. Yoksa, içinde bulunduğu kapsayıcı yeniden başlatıldığında yedekler Docker tarafından atılır.
Yedekleri /app/data/borgbackup
gibi var olan bir birime yerleştirmek bir seçenek olabilir. Bu birim kapsayıcıda vardır.
Docker Compose dosyasındaki yedekler için örneğin /borgbackup
kullanarak yeni bir kapsayıcı da ekleyebilirsiniz:
services:
weblate:
volumes:
- /home/weblate/data:/app/data
- /home/weblate/borgbackup:/borgbackup
Yedeklerin depolanacağı klasör için UID 1000 olmalıdır. Yoksa Weblate yedekleri bu klasöre yazamaz.
Uzak yedeklemeler#
Uzak yedekler almak için, Weblate SSH anahtarını kullanarak SSH üzerinden Weblate dağıtımınız için erişilebilen başka bir sunucuya BorgBackup kurmanız gerekir:
Yedeklerinizin depolanacağı bir sunucu hazırlayın.
SSH sunucusunu üzerine kurun (çoğu Linux dağıtımında varsayılan olarak bulunur).
Bu sunucuya BorgBackup kurun. Çoğu Linux dağıtımında kullanılabilecek paketleri bulunur (bilgi almak için: Installation).
Var olan bir kullanıcı seçin ya da yedekleme için kullanılacak yeni bir kullanıcı ekleyin.
Weblate tarafından parola olmadan sunucu ile SSH bağlantısının kurulabilmesi için kullanıcıya Weblate SSH anahtarını ekleyin (bilgi almak için: Weblate SSH anahtarı).
Yerel yedeklemeler için
kullanici@sunucu:/yedeklere/giden/yol
şeklinde ya da uzak SSH yedeklemeleri için ``ssh://kullanici@sunucu:baglantinoktasi/yedeklere/giden/yol` şeklinde kullanın.
İpucu
Weblate tarafından sunulan yedekleme depolama alanı herhangi bir çaba harcamadan kendiliğinden uzak yedekleme olanağı sağlar.
Ayrıca bakınız
BorgBackup yedeklerini geri yüklemek#
Yedekleme deponuza erişimi geri yükleyin ve yedekleme parolanızı hazırlayın.
Sunucudaki tüm yedekleri
borg list REPOSITORY
komutunu kullanarak listeleyin.İstediğiniz yedeği geçerli klasöre geri yüklemek için
borg extract REPOSITORY::ARCHIVE
komutunu kullanın.Veri tabanını, Weblate data klasörü içindeki
backup
klasörüne kaydedilen SQL dökümünden geri yükleyin (bilgi almak için: Yedeklemeler için dökümü yapılan veriler).Weblate yapılandırmasını (
backups/settings.py
, bilgi almak için: Yedeklemeler için dökümü yapılan veriler) doğru konuma kopyalayın. Bilgi almak için: Yapılandırmayı ayarlama.Docker kapsayıcısını kullanırken, ayarlar dosyası zaten kapsayıcı içine eklenmiştir ve özgün ortam değişkenlerini geri yüklemeniz gerekir.
environment.yml
dosyası bu konuda size yardımcı olabilir (bilgi almak için: Yedeklemeler için dökümü yapılan veriler).Geri yüklenen tüm data klasörünü
DATA_DIR
ile yapılandırılmış konuma kopyalayın.Docker kapsayıcısını kullanırken verileri veri birimine yerleştirin. Bilgi almak için: Docker kapsayıcısı birimleri.
Lütfen dosyaların sahiplik ve erişim izinlerinin doğru olduğundan emin olun. Bilgi almak için: Dosya sistemi izinleri.
Borg oturumu şunun gibi görünmelidir:
$ borg list /tmp/xxx
Enter passphrase for key /tmp/xxx:
2019-09-26T14:56:08 Thu, 2019-09-26 14:56:08 [de0e0f13643635d5090e9896bdaceb92a023050749ad3f3350e788f1a65576a5]
$ borg extract /tmp/xxx::2019-09-26T14:56:08
Enter passphrase for key /tmp/xxx:
Ayrıca bakınız
El ile yedekleme#
Neyi kaydetmek istediğinize bağlı olarak, Weblate tarafından her biri ilgili yere kaydedilmiş olan veri türünü yedekleyin.
İpucu
El ile yedekleme yapıyorsanız, Weblate yedekleme eksikliği uyarısını, settings.py
dosyasındaki SILENCED_SYSTEM_CHECKS
ya da Docker için WEBLATE_SILENCED_SYSTEM_CHECKS
seçeneğini weblate.I028
ile ekleyerek kapatmak isteyebilirsiniz.
SILENCED_SYSTEM_CHECKS.append("weblate.I028")
Veri tabanı#
Gerçek depolama konumu, veri tabanı kurulumunuza bağlıdır.
İpucu
Veri tabanı en önemli depolama alanıdır. Veri tabanınızı düzenli olarak yedeklenecek biçimde ayarlayın. Veri tabanı olmadan, tüm çeviriler kaybolur.
Doğal veri tabanı yedeklemesi#
Veri tabanı dökümününün pg_dump ya da mysqldump gibi veri tabanına özgü araçlar kullanılarak kaydedilmesi önerilir. Başarımı genellikle Django yedeklemesinden daha iyidir ve tüm tablolar tüm verileriyle geri yüklenir.
Bu yedeği daha yeni bir Weblate sürümünde geri yükleyebilirsiniz, weblate weblate migrate
içinde çalışırken gerekli tüm aktarımlar yapılır. Sürümler arasında nasıl yükseltme yapılacağı ile ilgili bilgi almak için Weblate yazılımını güncellemek bölümüne bakabilirsiniz.
Django veri tabanı yedeklemesi#
Alternatif olarak, dumpdata
Django komutunu kullanarak veri tabanınızı yedekleyebilirsiniz. Bu şekilde, alınan yedek veri tabanından bağımsız olur ve veri tabanı işleyicisini değiştirmek istediğinizde kullanılabilir.
Veri tabanını geri yüklemeden önce, yedeklemenin yapıldığı Weblate sürümüyle tam olarak aynı sürümü çalıştırıyor olmanız gerekir. Veri tabanı yapısı sürümler arasında değiştiğinden ve verilerin bir şekilde bozulmasına neden olacağından böyle olması gereklidir. Aynı sürümü kurduktan sonra, tüm veri tabanı aktarımlarını yapmak için weblate weblate migrate
komutunu kullanın.
Daha sonra veri tabanında bazı kayıtlar zaten oluşturulmuş olacak ve bunlar veri tabanı yedeğinde de bulunuyor olacak. Önerilen yaklaşım, yönetim kabuğunu kullanarak bu tür kayıtları el ile silmektir (bilgi almak için Yönetim komutlarını çağırmak):
weblate shell
>>> from weblate.auth.models import User
>>> User.objects.get(username='anonymous').delete()
Dosyalar#
Yeterli yedekleme alanınız varsa, DATA_DIR
klasörünü tümüyle yedekleyin. Bu yedek, istemediğiniz bazı dosyaları içerse bile en güvenlisidir. Aşağıdaki bölümlerde, neleri yedeklemeniz gerektiğini ve neleri atlayabileceğinizi ayrıntılı olarak görebilirsiniz.
Yedeklemeler için dökümü yapılan veriler#
4.7 sürümünde değişti: Docker ortamlarında geri yüklemeye yardımcı olacak ortam dökümü environment.yml
olarak eklenmiştir.
DATA_DIR
/backups
içine kaydedilir.
Weblate buraya çeşitli verileri döker. Daha eksiksiz yedeklemeler için bu dosyaları ekleyebilirsiniz. Dosyalar günlük olarak güncellenir (çalışan bir Çeler beats sunucusu gerekir. Bilgi almak için: Celery ile arka plan görevlerini kullanmak). Şu anda, bulunan veriler:
Weblate ayarları için
settings.py
dosyası (settings-expanded.py
dosyasında genişletilmiş bir sürümü de bulunur).PostgreSQL veri tabanı yedeği için
database.sql
.Ortam dökümü için
environment.yml
.
Veri tabanı yedekleri varsayılan olarak düz metin biçiminde kaydedilir. Ancak DATABASE_BACKUP
seçeneği ile sıkıştırılabilir ya da tümüyle atlanabilir.
Veri tabanı yedeğini geri yüklemek için veri tabanı araçlarını kullanın. Örneğin:
psql --file=database.sql weblate
Sürüm denetimi depoları#
DATA_DIR
/vcs
konumunda tutulur.
Sürüm denetimi depolarında, Weblate değişiklikleriyle birlikte yukarı akış depolarınızın bir kopyası bulunur. Tüm çeviri bileşenleriniz için İşleme ile itme seçeneği etkinse, tüm Weblate değişiklikleri yukarı akışa dahil edilir. Weblate tarafındaki depoları yedeklemek gerekmez çünkü veri kaybı olmadan yukarı akış konumlarından yeniden kopyalanabilir.
SSH ve GPG anahtarları#
DATA_DIR
/ssh
ve DATA_DIR
/home
içinde bulunur.
Weblate tarafından oluşturulmuş SSH ya da GPG anahtarlarını kullanıyorsanız, bu konumları yedeklemeniz gerekir. Yoksa kişisel anahtarlarınızı kaybedersiniz ve yeniden oluşturmanız gerekir.
Kullanıcının yüklediği dosyalar#
DATA_DIR
/media
konumunda tutulur.
Kullanıcı tarafından yüklenen tüm dosyaları yedeklemelisiniz (Dizgeler için görsel bağlam gibi).
Celery görevleri#
Celery görev kuyruğunda bazı bilgiler bulunabilir. Ancak genellikle yedeklenmesi gerekli değildir. En fazla, henüz çeviri belleğine işlenmemiş güncellemeleri kaybedersiniz. Gene de, tam metin ya da depo güncellemesinin geri yüklendikten sonra yapılması önerilir, bu nedenle bunların kaybedilmesi bir sorun oluşturmaz.
Ayrıca bakınız
Komut satırından el ile yedek alma#
Bir zamanlanmış görev (cron) kullanarak, her gün yürütülecek bir Bash komutu ayarlayabilirsiniz. Örneğin:
$ XZ_OPT="-9" tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups vcs ssh home media fonts secret
XZ_OPT işleminden sonra tırnak işaretleri arasındaki dizge, xz seçeneklerinizi, örneğin sıkıştırma için kullanılan bellek miktarını seçmenizi sağlar. Bilgi almak için: https://linux.die.net/man/1/xz
Klasör ve dosya listesini gereksinimlerinize göre ayarlayabilirsiniz. Çeviri belleğini (yedeklemeler klasöründe) kaydetmekten kaçınmak için şunu kullanabilirsiniz:
$ XZ_OPT="-9" tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups/database.sql backups/settings.py vcs ssh home media fonts secret
Yedeği el ile geri yüklemek#
Yedeklediğiniz tüm verileri geri yükleyin.
weblate weblate updategit
komutunu kullanarak tüm depoları güncelleyin.weblate updategit --all
Bir Weblate kurulumunu taşımak#
Yukarıdaki yedekleme ve geri yükleme yönergelerini izleyerek kurulumunuzu farklı bir sisteme taşıyın.
Kimlik doğrulama#
Kullanıcı hesabı açma#
Weblate varsayılan kurulumda, yeni açılan kullanıcıların hesaplarını işlemek için sitesindeki bir form olan python-social-auth kullanır. Yeni bir kullanıcı, e-posta adresini onayladıktan sonra, üçüncü taraf hizmetlerden birini kullanarak katkıda bulunabilir veya kimliğini doğrulayabilir.
Yeni kullanıcı hesaplarının açılmasını REGISTRATION_OPEN
komutu ile de kapatabilirsiniz.
Kimlik doğrulama girişimleri Hızı sınırlamak değeriyle sınırlanır.
Kimlik doğrulama arka plan uygulamaları#
Hazır Django çözümü, çeşitli sosyal ağ seçenekleri ile birlikte kimlik doğrulama için kullanılır. Bu özelliği kullanmak, diğer Django temelli projelerin kullanıcı veri tabanını içe aktarabilmenizi sağlar (bilgi almak için: Pootle üzerinden aktarmak).
Django başka yollarla da kimlik doğrulaması yapacak şekilde ayarlanabilir.
Ayrıca bakınız
Kimlik doğrulama ayarları, belgesinde resmi Docker kalıbında kimlik doğrulamasının nasıl yapılandırılacağı anlatılmıştır.
Parola ile kimlik doğrulama#
Varsayılan settings.py
dosyasında mantıklı bir AUTH_PASSWORD_VALIDATORS
kümesi bulunur:
Parola, kişisel bilgilerinize çok benzer bir şey olamaz.
Parola en az 10 karakter uzunluğunda olmalıdır.
Parola yaygın kullanılan bir şey olamaz.
Parola tümüyle rakamlardan oluşamaz.
Parola tek bir karakterden ya da boşluk karakterinden oluşamaz.
Parola daha önce kullandığınız bir parola olamaz.
Bu seçeneği parola ilkenize uygun biçimde değiştirebilirsiniz.
Ek olarak, parola zorluğu ile ilgili oldukça gerçekçi öngörüler veren ve belirli bir eşiğin altında kalan parolaların reddedilmesini sağlayan django-zxcvbn-password dosyasını da yükleyebilirsiniz.
SAML kimlik doğrulaması#
4.1.1 sürümünde geldi.
Lütfen yapılandırma için Python Social Auth yönergelerini izleyin. Önemli farklar:
Weblate,``SOCIAL_AUTH_SAML_ENABLED_IDPS`` içinde
weblate
olarak adlandırılması gereken tek kimlik hizmeti sağlayıcısını destekler.SAML XML üst verileri adresi:
/accounts/metadata/saml/
.Şu seçenekler kendiliğinden doldurulur:
SOCIAL_AUTH_SAML_SP_ENTITY_ID
,SOCIAL_AUTH_SAML_TECHNICAL_CONTACT
,SOCIAL_AUTH_SAML_SUPPORT_CONTACT
Örnek yapılandırma:
# Authentication configuration
AUTHENTICATION_BACKENDS = (
"social_core.backends.email.EmailAuth",
"social_core.backends.saml.SAMLAuth",
"weblate.accounts.auth.WeblateUserBackend",
)
# Social auth backends setup
SOCIAL_AUTH_SAML_SP_ENTITY_ID = f"https://{SITE_DOMAIN}/accounts/metadata/saml/"
SOCIAL_AUTH_SAML_SP_PUBLIC_CERT = "-----BEGIN CERTIFICATE-----"
SOCIAL_AUTH_SAML_SP_PRIVATE_KEY = "-----BEGIN PRIVATE KEY-----"
SOCIAL_AUTH_SAML_ENABLED_IDPS = {
"weblate": {
"entity_id": "https://idp.testshib.org/idp/shibboleth",
"url": "https://idp.testshib.org/idp/profile/SAML2/Redirect/SSO",
"x509cert": "MIIEDjCCAvagAwIBAgIBADA ... 8Bbnl+ev0peYzxFyF5sQA==",
"attr_name": "full_name",
"attr_username": "username",
"attr_email": "email",
}
}
SOCIAL_AUTH_SAML_ORG_INFO = {
"en-US": {
"name": "example",
"displayname": "Example Inc.",
"url": "http://example.com"
}
}
SOCIAL_AUTH_SAML_TECHNICAL_CONTACT = {
"givenName": "Tech Gal",
"emailAddress": "technical@example.com"
}
SOCIAL_AUTH_SAML_SUPPORT_CONTACT = {
"givenName": "Support Guy",
"emailAddress": "support@example.com"
}
Varsayılan yapılandırma, şu özniteliklerden kullanıcı bilgilerini ayıklar, kimlik hizmeti sağlayıcınızı bu öznitelikleri sunacak şekilde yapılandırın:
Öznitelik |
SAML URI referansı |
---|---|
Ad soyad |
|
Ad |
|
Soyad |
|
E-posta |
|
Kullanıcı adı |
|
İpucu
Yukarıdaki örnek ve Docker görüntüsü weblate
adlı bir kimlik hizmeti sağlayıcısı tanımlamaktadır. Bu dizgeyi kimlik hizmeti sağlayıcınızda Relay olarak yapılandırmanız gerekebilir.
Ayrıca bakınız
LDAP kimlik doğrulaması#
LDAP kimlik doğrulaması en iyi şekilde django-auth-ldap paketi kullanılarak sağlanabilir. Her zamanki gibi kurabilirsiniz:
# Using PyPI
pip install django-auth-ldap>=1.3.0
# Using apt-get
apt-get install python-django-auth-ldap
İpucu
Bu paket Docker kapsayıcısı ile birlikte gelir. Bilgi almak için: Docker ile kurmak.
Not
Python LDAP 3.1.0 modülünde, bu sürümü kullanmanızı engelleyebilecek bazı uyumsuzluklar vardır. AttributeError: ‘module’ nesnesinin ‘_trace_level’_ özniteliği yok hatasıyla karşılaşırsanız, python-ldap modülünü 3.0.0 sürümüne düşürmek yardımcı olabilir.
Paketi kurduktan sonra, Django kimlik doğrulaması ile bağlayabilirsiniz:
# Add LDAP backed, keep Django one if you want to be able to sign in
# even without LDAP for admin account
AUTHENTICATION_BACKENDS = (
"django_auth_ldap.backend.LDAPBackend",
"weblate.accounts.auth.WeblateUserBackend",
)
# LDAP server address
AUTH_LDAP_SERVER_URI = "ldaps://ldap.example.net"
# DN to use for authentication
AUTH_LDAP_USER_DN_TEMPLATE = "cn=%(user)s,o=Example"
# Depending on your LDAP server, you might use a different DN
# like:
# AUTH_LDAP_USER_DN_TEMPLATE = 'ou=users,dc=example,dc=com'
# List of attributes to import from LDAP upon sign in
# Weblate stores full name of the user in the full_name attribute
AUTH_LDAP_USER_ATTR_MAP = {
"full_name": "name",
# Use the following if your LDAP server does not have full name
# Weblate will merge them later
# 'first_name': 'givenName',
# 'last_name': 'sn',
# Email is required for Weblate (used in VCS commits)
"email": "mail",
}
# Hide the registration form
REGISTRATION_OPEN = False
Not
:setting:django:AUTHENTICATION_BACKENDS` ayarından ``’social_core.backends.email.EmailAuth’
seçeneğini kaldırmalısınız. Yoksa kullanıcılar Weblate üzerinde kendi parolalarını ayarlayabilir ve bunu kullanarak kimlik doğrulaması yapabilir. İzinler almak ve anonim kullanıcılara kolaylık sağlamak için weblate.accounts.auth.WeblateUserBackend
seçeneğinin tutulması hala gereklidir. Ayrıca, yerel bir yönetici hesabı oluşturduysanız (örneğin weblate weblate createadmin
kullanarak) oturum açmanızı da sağlar.
BIND parolasını kullanarak#
Kimlik doğrulaması için doğrudan BIND kullanamıyorsanız, aramayı kullanmanız ve arama için bağlanacak bir kullanıcı belirtmeniz gerekir. Örneğin:
import ldap
from django_auth_ldap.config import LDAPSearch
AUTH_LDAP_BIND_DN = ""
AUTH_LDAP_BIND_PASSWORD = ""
AUTH_LDAP_USER_SEARCH = LDAPSearch(
"ou=users,dc=example,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)"
)
Active Directory bütünleştirmesi#
import ldap
from django_auth_ldap.config import LDAPSearch, NestedActiveDirectoryGroupType
AUTH_LDAP_BIND_DN = "CN=ldap,CN=Users,DC=example,DC=com"
AUTH_LDAP_BIND_PASSWORD = "password"
# User and group search objects and types
AUTH_LDAP_USER_SEARCH = LDAPSearch(
"CN=Users,DC=example,DC=com", ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"
)
# Make selected group a superuser in Weblate
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
# is_superuser means user has all permissions
"is_superuser": "CN=weblate_AdminUsers,OU=Groups,DC=example,DC=com",
}
# Map groups from AD to Weblate
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
"OU=Groups,DC=example,DC=com", ldap.SCOPE_SUBTREE, "(objectClass=group)"
)
AUTH_LDAP_GROUP_TYPE = NestedActiveDirectoryGroupType()
AUTH_LDAP_FIND_GROUP_PERMS = True
# Optionally enable group mirroring from LDAP to Weblate
# AUTH_LDAP_MIRROR_GROUPS = True
Ayrıca bakınız
CAS kimlik doğrulaması#
CAS kimlik doğrulaması, django-cas-ng gibi bir paket kullanılarak yapılabilir.
Birinci adım, kullanıcının e-posta alanını CAS aracılığıyla açıklamaktır. Bunun CAS sunucusunun kendisinde yapılandırılması gerekir ve CAS v1 öznitelikleri tarafından desteklenmediğinden en az CAS v2 çalıştırmanız gerekir.
İkinci adım, Weblate yapılandırmasını CAS sunucunuzu ve özniteliklerinizi kullanacak şekilde güncellemektir.
django-cas-ng kurmak için:
pip install django-cas-ng
Paketi kurduktan sonra, settings.py
dosyasını değiştirerek Django kimlik doğrulama sistemiyle bağlantı kurabilirsiniz:
# Add CAS backed, keep the Django one if you want to be able to sign in
# even without LDAP for the admin account
AUTHENTICATION_BACKENDS = (
"django_cas_ng.backends.CASBackend",
"weblate.accounts.auth.WeblateUserBackend",
)
# CAS server address
CAS_SERVER_URL = "https://cas.example.net/cas/"
# Add django_cas_ng somewhere in the list of INSTALLED_APPS
INSTALLED_APPS = (..., "django_cas_ng")
Son olarak, e-posta alanını kullanıcı nesnesiyle eşlemek için bir sinyal kullanabilirsiniz. Bunun çalışması için sinyali django-cas-ng paketinden içe aktarmanız ve kodunuzu bu sinyale bağlamanız gerekir. Bunu ayarlar dosyasında yapmak sorunlara neden olabilir. Bu nedenle şunları koymanız önerilir:
Uygulamanızın yapılandırmasında :p y:meth:`django:django.apps.AppConfig.ready yöntemi
Projenin
urls.py
dosyasında (herhangi bir model var olmadığında)
from django_cas_ng.signals import cas_user_authenticated
from django.dispatch import receiver
@receiver(cas_user_authenticated)
def update_user_email_address(sender, user=None, attributes=None, **kwargs):
# If your CAS server does not always include the email attribute
# you can wrap the next two lines of code in a try/catch block.
user.email = attributes["email"]
user.save()
Ayrıca bakınız
Üçüncü taraf Django kimlik doğrulamasını yapılandırmak#
Genellikle herhangi bir Django kimlik doğrulama uygulama eki Weblate ile çalışmalıdır. Yalnızca eklentinin yönergelerini izleyin. Weblate kullanıcı arka ucunu kurulmuş olarak tutmayı unutmayın.
Ayrıca bakınız
Genellikle kurulum, AUTHENTICATION_BACKENDS
seçeneğine bir kimlik doğrulama arka ucu eklemekten ve INSTALLED_APPS
içine bir kimlik doğrulama uygulaması (varsa) kurmaktan oluşur:
AUTHENTICATION_BACKENDS = (
# Add authentication backend here
"weblate.accounts.auth.WeblateUserBackend",
)
INSTALLED_APPS += (
# Install authentication app here
)
Erişim denetimi#
Weblate, kullanıcı izinlerinin uygulamanın tamamı ya da bir bölümü için atanabileceği ayrıntılı bir yetki sistemi sunar.
3.0 sürümünde değişti: Weblate 3.0 sürümünden önce, yetki sistemi yalnızca Django izin sistemine dayanıyordu. Ancak şimdi Weblate uygulamasına özel olarak oluşturuldu. Daha eski bir sürüm kullanıyorsanız, lütfen kullandığınız sürümün belgelerine bakın.
Basit erişim denetimi#
Tüm Weblate kurulumunu yönetmiyorsanız ve yalnızca belirli projelere erişiminiz varsa (Hosted Weblate gibi), erişim denetimi yönetimi ayarlarınız aşağıdaki seçeneklerle kısıtlıdır. Daha karmaşık bir kuruluma gerek duymuyorsanız, bunlar sizin için yeterlidir.
Proje erişim denetimi#
Not
Hosted Weblate üzerinde ücretsiz Libre tarifesini kullanan projeler her zaman Public şeklindedir. Projenize erişimi kısıtlamak istiyorsanız ücretli tarifeye geçebilirsiniz.
Farklı bir Erişim denetimi ayarı seçerek kullanıcının bireysel projelere erişimini sınırlayabilirsiniz. Kullanılabilecek seçenekler şunlardır:
- Herkese açık
Herkes tarafından görülebilir.
Kimliği doğrulanmış tüm kullanıcılar tarafından katkıda bulunulabilir.
Sürüm denetimi sistemi herkese açılabilir.
Açık kaynaklı projeler için ya da Weblate kopyanız özel ya da kilitli olduğunda bunu seçin.
- Korunmuş
Herkes tarafından görülebilir.
Yalnızca seçilmiş kullanıcılar tarafından katkıda bulunulabilir.
Yalnızca seçilmiş kullanıcılar sürüm denetimi sistemi deposuna erişebilir.
Görünürlük kazanmak için bunu seçin. Ancak yine de kimlerin katkıda bulunabileceğini denetleyin.
- Kişisel
Yalnızca seçilmiş kullanıcılar tarafından görülebilir.
Yalnızca seçilmiş kullanıcılar tarafından katkıda bulunulabilir.
Yalnızca seçilmiş kullanıcılar sürüm denetimi sistemi deposuna erişebilir.
Herkese açık olarak görüntülenmemesi gereken projeler için bunu seçin.
- Özel
Yalnızca seçilmiş kullanıcılar tarafından görülebilir.
Yalnızca seçilmiş kullanıcılar tarafından katkıda bulunulabilir.
Yalnızca seçilmiş kullanıcılar sürüm denetimi sistemi deposuna erişebilir.
Hosted Weblate üzerinde kullanılamaz.
Tüm izinleri Özel erişim denetimi ile ayarlamanız gerekir.
Erişimi belirli ve hassas bir şekilde özelleştirilebilir bir şekilde ayarlamak istiyorsanız kendi Weblate kopyanızda bunu seçin.
Bir projenin Erişim denetimi yapılandırması, ilgili projenin (Yönetim ↓ Ayarlar) Erişim sekmesinde değiştirilebilir.

Varsayılan değer DEFAULT_ACCESS_CONTROL
ile değiştirilebilir.
Not
Kişisel projeler için bile, projenizle ilgili bazı bilgiler açığa çıkar: Uygulama kopyasının tamamı için istatistikler ve dil özetinde, erişim denetimi ayarına rağmen tüm projelerin sayıları bulunur. Proje adınız ve diğer bilgileriniz açığa çıkmaz.
Not
Herkese açık, Korunmuş ve Kişisel projelerde kullanıcılar için varsayılan olarak var olan gerçek izinler kümesi, Weblate kopyasının yöneticisi tarafından özel ayar kullanılarak yeniden tanımlanabilir.
Ayrıca bakınız
Her proje için erişim denetimi yönetimi#
Proje erişimi yönetimi yetkisi olan kullanıcılar (bilgi almak için Yetkiler ve hazır rollerin listesi), projelerdeki kullanıcıları takımlara ekleyerek yönetebilir. İlk takım grubu Weblate tarafından sağlanır. Daha ayrıntılı erişim denetimi sağlamak için ek takımlar tanımlanabilir. Ekipleri dillerle sınırlayabilir ve onlara belirli erişim rolleri atayabilirsiniz (ayrıntılı bilgi almak için Yetkiler ve hazır rollerin listesi).
Her proje için şu takımlar kendiliğinden oluşturulur:
Herkese açık, Korunmuş ve Kişisel projeler için:
- Yönetim
Proje için kullanılabilecek tüm izinleri kapsar.
- Onaylama (yalnızca onaylama iş akışı özelliği açıksa)
Çevirileri gözden geçirip onaylayabilir.
Yalnızca Korunmuş ve Kişisel projeler için:
- Çevir
Projeyi çevirebilir ve çevrim dışı yapılmış çevirileri yükleyebilir.
- Kaynaklar
(Proje ayarları içinde izin verilmiş ise) kaynak dizgeleri ve kaynak dizge bilgilerini düzenleyebilir.
- Diller
Çevrilecek dilleri yönetebilir (çevirileri ekleyebilir ya da kaldırabilir).
- Sözlük
Sözlükleri yönetebilir (kayıtları ekleyebilir ya da kaldırabilir ve yükleyebilir).
- Bellek
Çeviri belleğini yönetebilir.
- Ekran görüntüleri
Ekran görüntülerini yönetebilir (ekleyip kaldırabilir ve kaynak dizgelerle ilişkilendirebilir).
- Kendiliğinden çeviri
Kendiliğinden çevirileri kullanabilir.
- Sürüm denetimi sistemi
Sürüm denetimi sisteminin yönetimi yapabilir ve dışa aktarılmış depoya erişebilir.
- Faturalama
Faturalama bilgilerine ve ayarlarına erişebilir (bilgi almak için Faturalama).

Bu özellikler, projenin Yönetim ↓ Kullanıcılar menüsünden erişilebilen Erişim denetimi sayfasında bulunur.
Takım yöneticileri#
4.15 sürümünde geldi.
Her takımda, takıma kullanıcı ekleyip kaldırabilen bir takım yöneticisi olabilir. Bu seçenek, kendi kendini yöneten takımlar oluşturmak istediğinizde kullanışlıdır.
Yeni kullanıcı daveti#
Var olan bir kullanıcıyı projeye eklemenin yanıda yeni kullanıcılar davet edilebilir. Yeni kullanıcılar hemen oluşturulur. E-posta yoluyla gönderilen davetlerde ise kullanıcı davet içindeki bağlantıyı kullanarak oturum açana kadar hesap etkinleştirilmez. Bunu yapabilmek için site genelinde herhangi bir yetki verilmesi gerekmez. Proje kapsamında erişim yönetimi izni (Yönetim takımının üyesi olmak gibi) yeterli olur.
İpucu
Davet edilen kullanıcı davetiyenin geçerlilik süresini geçirdiyse, hesap zaten oluşturulmuş olduğundan, parola sıfırlama formunda davet edildiği e-posta adresini kullanarak parolasını ayarlayabilir.
3.11 sürümünde geldi: Kullanıcı davet e-postaları yeniden gönderilebilir (önceki davet e-postası geçersiz olur).
Aynı türde davetler site genelinde Kullanıcılar sekmesindeki yönetim bölümü içinden kullanılabilir.
Kullanıcıları engelleme#
4.7 sürümünde geldi.
Projenizdeki bazı kullanıcıların kötü davranışlar sergilemesi durumunda, katkıda bulunmalarını engelleme seçeneğiniz vardır. Engellenen kullanıcının izinleri varsa, projeyi görmeye sürdürebilir. Ancak katkıda bulunamaz.
Her projeye özel izin yönetimi#
Projelerinizi Korunmuş ya da Kişisel olarak ayarlayabilir ve Weblate kullanıcı arayüzünde her proje için kullanıcıları yönetebilirsiniz.
Varsayılan olarak bu durum, bu takımların kendi yapılandırması nedeniyle Weblete tarafından Kullanıcılar ve Görüntüleyenler :ref: varsayılan takımlar <default-teams> için sunulan erişim izinlerinin verilmesini engeller. Bu durum, varsayılan takımları değiştirerek, yeni bir tane oluşturarak ya da aşağıdaki Özel erişim denetimi bölümünde açıklandığı gibi tek tek bileşenler için ek özel ayarlar oluşturarak site genelinde bu projelere izin vermenizi engellemez.
Weblate kullanıcı arayüzü üzerinden izinleri yönetmenin en önemli avantajlarından biri, izinlerin diğer kullanıcılara süper kullanıcı yetkisi verilmeden devredilebilmesidir. Bunun için bu kullanıcıları projenin Yönetim ekibine ekleyin.
Özel erişim denetimi#
Not
Bu özellik, Hosted Weblate üzerinde kullanılamaz.
İzin sistemi takımlara ve rollere dayanır. Roller bir dizi izin tanımlar ve takımlar bunları kullanıcılara ve çevirilere bağlar. Bilgi almak için Kullanıcılar, roller, takımlar ve izinler bölümüne bakabilirsiniz.
Weblate erişim denetimi sisteminin şimdilik en güçlü özellikleri yalnızca Django yönetim arayüzü üzerinden kullanılabilir. Bu arayüzden herhangi bir projenin izinlerini yönetebilirsiniz. Kullanabilmek için Erişim denetimini mutlaka Özel olarak değiştirmeniz gerekmez. Ancak süper kullanıcı yetkilerinizin olması gerekir.
Uygulamanın ayrıntılarıyla ilgilenmiyorsanız ve yalnızca varsayılan ayarlara dayanan yeterince basit bir yapılandırma oluşturmak istiyorsanız ya da Weblate kurulumunun tamamına site genelinde erişiminiz yoksa (Hosted Weblate gibi), lütfen Basit erişim denetimi bölümüne bakın.
Sık kullanılan kurulumlar#
Bu bölümde, ilginizi çekebilecek bazı genel yapılandırmaların özetini bulabilirsiniz.
Site genelinde izin yönetimi#
Uygulama kopyasının tamamındaki izinleri bir kerede yönetmek için kullanıcıları uygun Varsayılan takımlar ögesine ekleyin:
Kullanıcılar (bu varsayılan olarak kendiliğinden takım ataması ile yapılır).
Onaylayanlar (:ref: onaylayan kişiler ile onaylama iş akışını <reviews> kullanıyorsanız).
Yöneticiler (yönetim işlemlerinin çoğunu başkasına devretmek istiyorsanız).
Tüm projeleri Herkese açık olarak yapılandırılmış tutmalısınız (bilgi almak için Proje erişim denetimi). Yoksa Kullanıcılar ve Onaylayanlar takımlarına üye olarak elde edilen site geneli izinlerin herhangi bir etkisi olmaz.
Varsayılan takımlara seçtiğiniz bazı ek izinleri de verebilirsiniz. Örneğin, tüm Kullanıcılara ekran görüntülerini yönetme izni vermek isteyebilirsiniz.
Bazı yeni özel takımlar da tanımlayabilirsiniz. Bu takımlar için izinlerinizi site genelinde yönetmeyi sürdürmek istiyorsanız, Proje seçimi için uygun bir değer seçin (Tüm projeler ya da Tüm herkese açık projeler gibi).
Diller, bileşenler veya projeler için özel izinler#
Diller, bileşenler ve projeler gibi farklı nesnelerin izinlerini yönetmek için kendi ayrılmış takımlarınızı oluşturabilirsiniz. Bu takımlar yalnızca ek izinler verebilse de, başka bir özel takım ekleyerek site genelinde ya da her proje için takımlar tarafından verilen izinleri iptal edemezsiniz.
Örnek:
(Nedeni ne olursa olsun) belirli bir dilde çevirinin (Çekçe gibi) yalnızca belirli güvenilir bir çevirmen grubu tarafından yapılmasına izin vermek ve diğer dillerde yapılan çevirileri herkese açık tutmak istiyorsanız şunu yapmanız gerekir:
Tüm kullanıcılardan Çekçe dilini çevirme iznini kaldırın. Varsayılan yapılandırmada, Kullanıcılar varsayılan takım değiştirilerek yapılabilir.
Kullanıcılar grubu# Dil seçimi
Tanımlandığı gibi
Diller
Çekçe dışında tümü
Çekçe çevirmenleri için özel bir takım ekleyin.
Çekçe çevirmenleri grubu# Roller
Uzman kullanıcılar
Proje seçimi
Tüm herkese açık projeler
Dil seçimi
Tanımlandığı gibi
Diller
Çekçe
İzin vermek istediğiniz kullanıcıları bu takıma ekleyin.
Gördüğünüz gibi, bu şekilde izin yönetimi güçlüdür. Ancak oldukça sıkıcı bir iş olabilir. Süper kullanıcı izinleri vermediğiniz sürece izinleri başka bir kullanıcıya devredemezsiniz.
Kullanıcılar, roller, takımlar ve izinler#
Kimlik doğrulama modelleri birkaç ögeden oluşur:
- İzin
Weblate tarafından tanımlanan bireysel izin. İzinler kullanıcılara atanamaz. Bu yalnızca rol ataması ile yapılabilir.
- Rol
Rol, bir izin kümesi tanımlar. Böylece, bu kümeler birkaç yerde yeniden kullanılabilir ve yönetim kolaylaşır.
- Kullanıcı
Kullanıcı birkaç takımın üyesi olabilir.
- Grup
Gruplar, roller, kullanıcılar ve kimlik doğrulama nesneleri (projeler, diller ve bileşen listeleri) arasında bağlantı kurar.
Not
Bir takımın kendisine atanmış herhangi bir rolü olmayabilir. Bu durumda projeye herhangi birinin göz atma erişimi olacağı varsayılır (aşağıya bakın).
Bir projeye göz atma erişimi#
Kullanıcı, projeye bağlı bir takımın veya bu projenin içindeki herhangi bir bileşenin üyesi olmalıdır. Üye olmak yeterlidir. Projeye göz atabilmek için ayrıca özel bir izin gerekmez (bu, varsayılan Görüntüleyiciler takımında kullanılır. Bilgi almak için Takım listesi).
Bir bileşene göz atma erişimi#
Bir kullanıcı, bileşenlerin projesine erişebildiğinde kısıtlanmamış bileşenlere erişebilir (ve kullanıcıya proje için verilen tüm izinlere sahip olur). Kısıtlı erişim seçeneği açıkken, bileşene erişim, bileşen (veya bileşenin içinde bulunduğu bileşen listesi) için açık izinler gerekir.
Takımların kapsamı#
Takımlardaki roller tarafından atanan izin kapsamı şu kurallara göre uygulanır:
Takım herhangi bir Bileşen listesi belirtirse, takıma bağlı bileşen listelerindeki tüm bileşenler için o takımın üyelerine tüm izinler verilir ve bu bileşenlerin içinde bulunduğu tüm projeler için ek izinleri olmayan bir erişim verilir. Bileşenler ve Projeler yok sayılır.
Takımda herhangi bir Bileşen belirtiliyorsa, takıma bağlı tüm bileşenler için o takımın üyelerine tüm izinler verilir ve bu bileşenlerin içinde bulunduğu tüm projeler için ek izinleri olmayan bir erişim verilir. Projeler yok sayılır.
Yoksa, takımda herhangi bir Proje belirtiliyorsa, bunları doğrudan listeleyerek veya Proje seçimi değerini Tüm herkese açık projeler gibi bir değere ayarlayarak, tüm bu izinler tüm projelere uygulanır ve bu da tüm projelere erişmek için aynı izinleri etkin bir şekilde verir kısıtlanmamış bileşenler.
Bir takımın Diller değeri tarafından uygulanan kısıtlamalar, kullanıcının belirli işlemleri yapma izni olup olmadığına bakılarak ayrı olarak uygulanır. Yani, yalnızca çeviri sürecinin kendisiyle doğrudan ilgili onaylama, çevirileri kaydetme, öneri ekleme gibi işlemlere uygulanır.
İpucu
Tüm dillerin veya projelerin kendiliğinden katılması için Dil seçimi ya da Proje seçimi kullanın.
Örnek:
Diyelim ki şu bileşenleri olan bir
foo
projesi var:foo/bar
vefoo/baz
ve şu takım:
Grup İspanyol Yönetici-Onaylayıcılar# Roller
Dizgeleri onayla, Depo yönetimi
Bileşenler
foo/bar
Diller
İspanyolca
Bu takımın üyelerinin şu izinleri olacak (varsayılan rol ayarları kabul edilerek):
Şu iki bileşenin de bulunduğu
foo
projesi için genel (göz atma) izni:foo/bar
vefoo/baz
.
foo/bar
İspanyolca çevirisinde (başka bir yerde değil) dizgeleri onaylama izni.Tüm
foo/bar
deposu için sürüm denetimi sistemi yönetimi. Çevirmenler tarafından tüm diller için yapılmış bekleyen değişikliklerin işlenmesi gibi.
Kendiliğinden takım atamaları#
Django yönetim arayüzü içindeki Grup düzenleme sayfasının alt bölümünde, yeni oluşturulan kullanıcıları e-posta adreslerine göre bir takıma kendiliğinden atanması için kullanılacak kurallı ifade listesi ile Kendiliğinden takım ataması yapabilirsiniz. Bu atama yalnızca hesap oluşturulduktan sonra yapılır.
Bu özelliğin en yaygın kullanım örneği, tüm yeni kullanıcıların bazı varsayılan takımlara atanmasıdır. Bunu yapmak için, büyük olasılıkla kurallı ifade alanındaki varsayılan değeri (``^.*$`) korumak isteyeceksiniz. Bu seçeneğin başka bir kullanım örneği, varsayılan olarak şirketinizin çalışanlarına bazı ek ayrıcalıklar vermek olabilir. Tümünün etki alanınızdaki kurumsal e-posta adreslerini kullandığını varsayarsak, bu ``^.*@mycompany.com` gibi bir kurallı ifadeyle gerçekleştirilebilir.
Not
Kullanıcılar ve Görüntüleyiciler için kendiliğinden takım ataması, bir Weblate sürümünden diğerine yükseltme yaparken her zaman yeniden oluşturulur. Bu seçeneği kapatmak istiyorsanız, kurallı ifadeyi ``^$` olarak ayarlayın (hiçbir şeyle eşleşmez).
Not
Şimdilik, zaten var olan kullanıcıları kullanıcı arayüzü üzerinden bazı takımlara toplu olarak eklemenin bir yolu yok. Bunun için REST API kullanmayı deneyebilirsiniz.
Varsayılan takımlar ve roller#
Kurulumdan sonra, bir varsayılan takım kümesi oluşturulur (bilgi almak için Takım listesi).
Bu roller ve takımlar kurulum sonrasında oluşturulur. Hazır roller, yükseltme yapılırken veri tabanı aktarımı tarafından her zaman güncel tutulur. Bunları gerçekten değiştiremezsiniz. Kendi izin kümenizi tanımlamak istiyorsanız lütfen yeni bir rol tanımlayın.
Yetkiler ve hazır rollerin listesi#
Kapsam |
İzin |
Roller |
---|---|---|
Faturalama (bilgi almak için Faturalama) |
Fatura bilgilerini görüntüle |
Yönetim, Faturalama |
Değişiklikler |
Değişiklikleri indir |
Yönetim |
Yorumlar |
Yorum gönderme |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
Yorum silme |
Yönetim |
|
Yorumu çözümleme |
Yönetim, Dizgeleri onaylama |
|
Bileşen |
Bileşen ayarlarını düzenleme |
Yönetim |
Bileşeni kilitleme, çevirileri engelleme |
Yönetim |
|
Sözlük |
Sözlük kaydı ekleme |
Yönetim, Sözlük yönetimi, Uzman kullanıcı |
Sözlük kaydını düzenleme |
Yönetim, Sözlük yönetimi, Uzman kullanıcı |
|
Sözlük kaydını silme |
Yönetim, Sözlük yönetimi, Uzman kullanıcı |
|
Sözlük kayıtları yükleme |
Yönetim, Sözlük yönetimi, Uzman kullanıcı |
|
Kendiliğinden öneriler |
Kendiliğinden önerileri kullanma |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
Çeviri belleği |
Çeviri belleğini düzenleme |
Yönetim, Çeviri belleği yönetimi |
Çeviri belleğini silme |
Yönetim, Çeviri belleği yönetimi |
|
Projeler |
Proje ayarlarını düzenleme |
Yönetim |
Proje erişimini yönetme |
Yönetim |
|
Raporlar |
Raporları indirme |
Yönetim |
Ekran görüntüleri |
Ekran görüntüsü ekleme |
Yönetim, Ekran görüntüleri yönetimi |
Ekran görüntüsü düzenleme |
Yönetim, Ekran görüntüleri yönetimi |
|
Ekran görüntüsü silme |
Yönetim, Ekran görüntüleri yönetimi |
|
Kaynak dizgeler |
Ek dizge bilgilerini düzenleme |
Yönetim, Kaynağı düzenleme |
Dizgeler |
Yeni dizge ekleme |
Yönetim |
Bir dizgeyi silme |
Yönetim |
|
Denetim hatasını yok sayma |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
|
Dizgeleri düzenleme |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
|
Dizgeleri onaylama |
Yönetim, Dizgeleri onaylama |
|
Öneriler dayatıldığında dizgeyi düzenleme |
Yönetim, Dizgeleri onaylama |
|
Kaynak dizgeleri düzenleme |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı |
|
Öneriler |
Öneriyi kabul etme |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
Öneri ekleme |
Yönetim, Kaynağı düzenleme, Öneri ekleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
|
Öneri silme |
Yönetim, Uzman kullanıcı |
|
Öneriye oy verme |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
|
Çeviriler |
Çeviri dili ekleme |
Yönetim, Uzman kullanıcı, Dil yönetimi |
Kendiliğinden çevirme |
Yönetim, Kendiliğinden çevirme |
|
Var olan çeviriyi silme |
Yönetim, Dil yönetimi |
|
Çeviri dosyasını indirme |
Yönetim, Kaynağı düzenleme, Depoya erişme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme, Dil yönetimi |
|
Çevirilecek birkaç dil ekleyin |
Yönetim, Dil yönetimi |
|
Yüklemeler |
Yüklenmiş çeviriye katkıda bulunanı tanımlama |
Yönetim |
Yükleme ile var olan dizgelerin üzerine yazma |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
|
Çeviri yükleme |
Yönetim, Kaynağı düzenleme, Uzman kullanıcı, Dizgeleri onaylama, Çevirme |
|
Sürüm denetimi sistemi |
İç depoya erişme |
Yönetim, Depoya erişme, Uzman kullanıcı, Depo yönetimi |
Değişiklikleri iç depoya işleme |
Yönetim, Depo yönetimi |
|
İç depodaki değişiklikleri işleme |
Yönetim, Depo yönetimi |
|
İç depodaki değişiklikleri sıfırlama |
Yönetim, Depo yönetimi |
|
Yukarı akış deposu konumunu görüntüleme |
Yönetim, Depoya erişme, Uzman kullanıcı, Depo yönetimi |
|
İç depoyu güncelleme |
Yönetim, Depo yönetimi |
|
Site genelindeki izinler |
Yönetim arayüzünü kullanma |
|
Yeni projeler ekleme |
||
Dil tanımları ekleme |
||
Dil tanımı yönetimi |
||
Takım yönetimi |
||
Kullanıcı yönetimi |
||
Rol yönetimi |
||
Duyuru yönetimi |
||
Çeviri belleği yönetimi |
||
Makine yönetimi |
||
Bileşen listeleri yönetimi |
Not
Site genelindeki izinler herhangi bir varsayılan role verilmez. Bu izinler güçlüdür ve süper kullanıcı yetkilerine oldukça yakındır. Çoğu Weblate kurulumundaki tüm projeleri etkiler.
Takım listesi#
Aşağıdaki takımlar kurulumun ardından (ya da weblate weblate setupgroups
çalıştırıldıktan sonra) oluşturulur ve bunları istediğiniz gibi değiştirebilirsiniz. Ancak, silerseniz ya da yeniden adlandırırsanız aktarım işlemi bunları yeniden oluşturur.
- Konuklar
Kimliği doğrulanmamış kullanıcıların izinlerini belirler.
Bu takımda yalnızca anonim kullanıcılar bulunur (bilgi almak için
ANONYMOUS_USER_NAME
).Kimliği doğrulanmamış kullanıcıların izinlerini sınırlamak için bu takımdaki rolleri kaldırabilirsiniz.
Varsayılan roller: Öneri ekleme, Depoya erişme
- Görüntüleyiciler
Bu rol, herkese açık projelerin tüm kullanıcılara göründüğünden emin olunmasını sağlar. Varsayılan olarak tüm kullanıcılar bu grubun üyesidir.
Varsayılan olarak, kendiliğinden takım ataması, katılan tüm yeni hesapları bu takımın bir üyesi yapar.
Varsayılan roller: Yok
- Kullanıcılar
Tüm kullanıcıların varsayılan takımı.
Varsayılan olarak, kendiliğinden takım ataması, katılan tüm yeni hesapları bu takımın bir üyesi yapar.
Varsayılan roller: Uzman kullanıcı
- Onaylayanlar
Onaylayan kullanıcıların takımı (bilgi almak için Çeviri iş akışları).
Varsayılan roller: Dizgeleri onaylama
- Yöneticiler
Yönetici kullanıcıların takımı.
Varsayılan roller: Yönetim
Uyarı
Hazır gelen Weblate takımlarını ve kullanıcılarını asla silmeyin. Bu işlem beklenmedik sorunlara yol açabilir! Onları kullanmıyorsanız, silmek yerine tüm izinlerini kaldırabilirsiniz.
Ek erişim kısıtlamaları#
Weblate kurulumunuzu herkese daha az açık olacak biçimde kullanmak, yani yeni kullanıcıları yalnızca davet ederek izin vermek istiyorsanız, Weblate yapılandırmasını yalnızca bilinen kullanıcıların erişebileceği şekilde ayarlayabilirsiniz. Bu amaçla, yeni kullanıcıların hesap açmasını önlemek için REGISTRATION_OPEN
seçeneğini Yanlış
olarak ve REQUIRE_LOGIN
seçeneğini /.*’
olarak ayarlayarak tüm site sayfalarına erişmek için oturum açmayı zorunlu kılabilirsiniz. Böylece kolayca Weblate kurulumunuzu kilitlemiş olursunuz.
İpucu
Yeni kullanıcılar eklemek için iç Yeni kullanıcı daveti komutunu kullanabilirsiniz.
Çeviri projeleri#
Çeviri kuruluşu#
Weblate, projenin/bileşenlerin çevrilebilir sürüm denetimi sistemi içeriğini ağaç benzeri bir yapıya dönüştürür.
En alt düzeydeki nesne Proje yapılandırması olur ve tüm çevirileri bir arada bulundurmalıdır (bir uygulamanın birkaç sürümünün ve/veya ekindeki belgelerin çevirisi gibi).
Yukarıdaki düzeyde, çevrilecek bileşen olan Bileşen yapılandırması, kullanılacak sürüm denetimi sistemi deposu ve çevrilecek dosyaların maskesi gibi bilgileri tanımlayabilirsiniz.
Yukarıda Bileşen yapılandırması sürüm denetimi sistemi deposunda, çeviri dosyaları (Bileşen yapılandırması içinde tanımlanan Dosya maskesi ile eşleşen) Weblate tarafından otomatik olarak işlenen bireysel çeviriler bulunur.
Weblate, Translate Toolkit tarafından desteklenen çok çeşitli çeviri biçimlerini (hem iki dilli hem de tek dilli olanları) destekler. Bilgi almak için: ref:formats.
Not
Kopyalanmış sürüm denetimi sistemi depolarını İç Weblate adresleri ile paylaşabilirsiniz. Aynı sürüm denetimi sistemini paylaşan birçok bileşeniniz olduğunda bu özelliği kullanmanız önemle önerilir. Başarımı artırır ve kullanılacak disk alanını azaltır.
Çeviri projelerini ve bileşenleri eklemek#
3.2 sürümünde değişti: Proje ve bileşen eklemek için bir arayüz vardır ve artık Django yönetim arayüzü kullanmanız gerekmez.
3.4 sürümünde değişti: Bileşen ekleme işlemi artık çoğu parametrenin otomatik olarak keşfedilmesiyle çok aşamalı olarak yapılır.
İzinlerinize göre, yeni çeviri projeleri ve bileşenleri ekleyebilirsiniz. Yeni proje ekleyebilir izni olan kullanıcılara her zaman izin verilir ve bulut sunucunuz faturalama kullanıyorsa (https://hosted.weblate.org/ gibi, bilgi almak için: Faturalama), faturalamayı yöneten kullanıcı hesabından tarifenizin sınırlarına göre de bunları oluşturabilirsiniz.
Var olan faturalama tarifenizi ayrı bir sayfada görüntüleyebilirsiniz:

Proje ekleme işlemi oradan ya da başlatılabilir ya da gezinme çubuğundaki menüden eklemeyi tamamlamak için çeviri projesiyle ilgili temel bilgiler doldurulabilir:

Proje eklendikten sonra, doğrudan proje sayfasına yönlendirilirsiniz:

Yeni bir çeviri bileşeni oluşturmak, oradan tek bir tıklama ile başlatılabilir. Bileşen ekleme işleminin birkaç aşaması vardır ve çoğu çeviri parametresini otomatik olarak algılar. Bileşen eklemek için birkaç yaklaşım vardır:
- Sürüm denetiminden
Bileşeni uzak sürüm denetimi deposundan ekler.
- Var olan bileşenden
Bileşeni seçilmiş farklı dosyalar ile var olan bileşene ek bileşen olarak ekler.
- Ek dal
Bileşeni yalnızca farklı dallar için var olan bileşene ek bileşen olarak ekler.
- Çeviri dosyalarını yükleyerek
Sürüm denetimi kullanmadığınız ya da Weblate ile bütünleştirmek istemediğiniz durumlarda çeviri dosyalarını Weblate üzerine yükleyebilirsiniz. İçeriği daha sonra site arayüzü ya da Weblate REST API uygulaması ile güncelleyebilirsiniz.
- Belgeyi çevirerek
Tek bir belge veya çeviri dosyası yükleyip ve çevirebilirsiniz.
- Sıfırdan başlayarak
Boş bir çeviri projesi oluşturabilir ve dizgeleri el ile ekleyebilirsiniz.
Çeviri bileşenlerini ekledikten sonra, aynı depoyu kullanarak ek dosyalar ya da dallar için kolayca yeni bileşenler ekleyebilirsiniz.
Öncelikle adı ve depo konumunu yazmanız gerekir:

Sonraki sayfada, keşfedilmiş çevrilebilir kaynakların bir listesini göreceksiniz:

Son olarak, çeviri bileşeni bilgilerini gözden geçirebilir ve isteğe bağlı bilgileri yazabilirsiniz:

Ayrıca bakınız
Django yönetim arayüzü, Proje yapılandırması, Bileşen yapılandırması
Proje yapılandırması#
Bir çeviri projesi oluşturun ve içine çevrilecek yeni bir bileşen ekleyin. Proje, gerçek çevirilerin konulduğu bir raf gibidir. Aynı projedeki tüm bileşenler önerileri ve sözlüğü paylaşır. Ayrıca yapılan çeviriler tek bir projedeki tüm bileşenlere kendiliğinden yayılır (bileşen yapılandırmasında kapatılmadıkça). Bilgi almak için: Çeviri belleği.
Ayrıca bakınız
Bu temel öznitelikler kurulur ve bir projenin çevirmenlerine bildirilir:
Proje adı#
Proje adını görüntülemek için kullanılan ayrıntılı proje adı.
Ayrıca bakınız
Adres kısaltması#
Projenin adreslerde kullanılmaya uygun adı.
Proje sitesi#
Çevirmenlerin proje ile ilgili ayrıntılı bilgi bulabileceği adres.
Bu parametre WEBSITE_REQUIRED
tarafından kapatılmadığı sürece zorunludur.
Ayrıca bakınız
PROJECT_WEB_RESTRICT_HOST
,
PROJECT_WEB_RESTRICT_NUMERIC
,
PROJECT_WEB_RESTRICT_RE
Çeviri yönergeleri#
Projedeki yerelleştirme sürecini açıklayan metin ve çevirmenler için yararlı olabilecek diğer bilgiler. Metin biçimlendirme ya da bağlantı ekleme işlemleri için markdown kullanılabilir.
“Language-Team” üst bilgisi ayarlansın#
Language-Team
üst bilgisinin Weblate tarafından yönetmesinin gerekip gerekmediği (bu şu anda yalnızca bir GNU gettext özelliğidir).
Erişim denetimi#
Her proje için erişim denetimi yapılandırması. Bilgi almak için: :ref:`acl’.
Varsayılan değer DEFAULT_ACCESS_CONTROL
ile değiştirilebilir.
Onaylama kullanılsın#
Çeviriler için onaylama iş akışını etkinleştirir. Bilgi almak için: Özel onaylayanlar.
Kaynak onaylama kullanılsın#
Kaynaklar için onaylama iş akışını etkinleştirir. Bilgi almak için: Kaynak dizge onayları.
Ayrıca bakınız
Kancalar kullanılsın#
Bu depo için kimliği doğrulanmamış Bildirim kancaları özelliğinin kullanılıp kullanılmayacağı.
Dil kod adları#
Çevirileri Weblate içine aktarmak için kullanılacak dil kodları eşleştirmesini tanımlayın. Dil kodları depolarınızda tutarsız olduğunda ve Weblate üzerinde tutarlı bir görünüm elde etmek istediğinizde ya da çeviri dosyalarınızda standart olmayan adlandırma kullanmak istediğinizde bunu kullanın.
Tipik kullanım örneği, Amerikan İngilizcesi ile İngiliz İngilizcesi’ni eşleştirmek olabilir: en_US:en
Birden fazla eşleştirmeyi virgül ile ayırarak yazabilirsiniz: en_GB:en,en_US:en
Standart olmayan kod kullanmak: ia_FOO:ia
İpucu
Çeviri dosyaları eşleştirilirken dil kodlarına bakılır ve eşleşmeler büyük/küçük harfe duyarlıdır. Bu nedenle kaynak dil kodlarını dosya adlarındakiler ile aynı şekilde kullandığınızdan emin olun.
Ayrıca bakınız
Bileşen yapılandırması#
Bir bileşen, çevrilecek bir şeyin gruplanmasıdır. Çevrilmesini istediğiniz dosyalar için bir sürüm denetimi sistemi deposu konumu ve dosya maskesi belirtirsiniz ve Weblate otomatik olarak bu sürüm denetimi sisteminden eşleşen tüm çevrilebilir dosyaları bulup alır.
Ayrıca bakınız
Bazı yaygın yapılandırma örneklerini Desteklenen dosya biçimleri bölümünde bulabilirsiniz.
Not
Çeviri bileşenlerini makul bir boyutta tutmanız önerilir. Çeviriyi sizin durumunuzda anlamlı olan herhangi bir şeye göre bölün (bireysel uygulamalar ya da eklentiler, kitap bölümleri ya da siteler).
Weblate, onbinlerce dizgeden oluşan çevirileri kolayca işler. Ancak işi bölmek ve bu kadar büyük çeviri bileşenlerinin çevirmenler arasında koordinasyonunu sağlamak daha zordur.
Bir çevirinin dil tanımı eksikse, boş bir tanım oluşturulur ve “tr_TR (oluşturulmuş)” olarak adlandırılır. Tanımı ayarlamalı ve eksik dillerin bir sonraki sürüme katılabilmesi için bunu Weblate geliştiricilerine bildirmelisiniz.
Bileşende, sürüm denetim sistemi ile çalışmak ve çevirileri almak için gereken tüm önemli parametreler bulunur:
Bileşen adı#
Bileşen adını görüntülemek için kullanılan ayrıntılı bileşen adı.
Bileşen kısaltması#
Bileşenin adreslerde kullanılmaya uygun adı.
Bileşenin projesi#
Proje yapılandırması bileşenin ait olduğu yer.
Sürüm denetimi sistemi#
Kullanılacak sürüm denetimi sistemi. Bilgi almak için: Sürüm denetimi bütünleştirmesi.
Ayrıca bakınız
Kaynak kod deposu#
Değişikliklerin alınacağı sürüm denetimi sistemi deposu.
Ayrıca bakınız
Adresleri belirtmek ile ilgili bilgi almakiçin: Depolara erişmek.
İpucu
Bu, gerçek bir sürüm denetimi sistemi adresi ya da deponun başka bir bileşenle paylaşılması gerektiğini belirten weblate://project/component
olabilir. Bilgi almak için: İç Weblate adresleri.
Depo itme adresi#
İtme için kullanılan depo adresi. Bunun davranışı Sürüm denetimi sistemi bileşenine bağlıdır ve bu konu Weblate üzerindeki değişiklikleri itmek içinde ayrıntılı olarak ele alınmıştır.
Bağlantılı depolar için bu kullanılmaz ve bağlantılı bileşendeki ayar uygulanır.
Ayrıca bakınız
Bir depo adresinin nasıl belirtileceği ile ilgili bilgi almak için: Depolara erişmek ve Weblate üzerinden değişiklikleri itmek ile ilgili bilgi almak için: Weblate üzerindeki değişiklikleri itmek bölümlerine bakabilirsiniz.
Depo tarayıcısı#
Kaynak dosyaları görüntülemek için kullanılan depo tarayıcısının adresi (kullanılan iletilerin konumu). Boş olduğunda, böyle bir bağlantı oluşturulmaz. Kalıp kodlaması kullanabilirsiniz.
Örneğin, GitHub üzerinde şöyle bir şey kullanın: https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename}}#L{{line}}
Yollarınızın farklı bir klasöre göre olması durumunda (yolda .. `` varsa), baştaki klasörü ``parentdir
süzgeciyle atmak isteyebilirsiniz (bilgi almak için: Kalıp kodlaması): https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename|parentdir}}#L{{line}}
Dışa aktarılmış depo adresi#
Weblate tarafından yapılan değişikliklerin dışa aktarıldığı adres. Bu adres, Sürekli yerelleştirme kullanılmadığında ya da değişiklikleri el ile birleştirmeye gerek duyulduğunda önemli olur. Git depoları için otomatikleştirmek için Git dışa aktarıcı kullanabilirsiniz.
Depo dalı#
Sürüm denetimi sistemindeki hangi daldan çıkış yapılacağı ve çeviriler için nereye bakılacağı.
Bağlantılı depolar için bu kullanılmaz ve bağlantılı bileşendeki ayar uygulanır.
İtme işleminin yapılacağı dal#
Değişikliklerin gönderileceği dal, Depo dalı kullanılması için boş bırakın.
Bağlantılı depolar için bu kullanılmaz ve bağlantılı bileşendeki ayar uygulanır.
Not
Bu özellik şu anda yalnızca Git, GitLab ve GitHub için destekleniyor. Diğer sürüm denetimi sistemi bütünleştirmeleri yok sayılır.
Ayrıca bakınız
Dosya maskesi#
Yol ile birlikte çevrilecek dosyaların maskesi. Dil kodunun yerine bir “*” bulunmalıdır (bunun nasıl işlendiği ile ilgili bilgi almak için: Dil tanımları). Deponuzda birden fazla çeviri dosyası varsa daha fazla gettext etki alanları gibi), her biri için bir bileşen oluşturmanız gerekir.
Örneğin po/*.po
ya da locale/*/LC_MESSAGES/django.po
.
Dosya adınızda [
, ]
gibi özel karakterler bulunması durumunda, bunlardan [[]
ya da []]
gibi kaçınılması gerekir.
Ekran görüntüsü dosya maskesi#
Sürüm denetimi sistemi deposundan yol ile birlikte ekran görüntülerinin keşfedilmesini veya güncellenmesini sağlayan dosya maskesi. Ekran görüntüsü dosya adı yerine bir “*” içermelidir.
İzin verilen biçinler JPEG, PNG, APNG and GIF.
Örneğin docs/*.png
.
Tek dilli temel dil dosyası#
Tek dilde bileşenler için dizge tanımlarını içeren temel dosya.
Temel dosyayı düzenle#
Tek dilde bileşenler için temel dosyanın düzenlenmesine izin verilip verilmeyeceği.
Ara dil dosyası#
Tek dilde bileşenler için ara dil dosyası. Çoğu durumda bu, geliştiriciler tarafından sağlanan bir çeviri dosyasıdır ve gerçek kaynak dizgeleri oluşturulurken kullanılır.
Ayarlandığında, kaynak dizgeler bu dosyayı temel alır. Ancak diğer tüm diller Tek dilli temel dil dosyası dosyasını temel alır. Dizgenin kaynak dile çevrilmemesi durumunda, diğer dillere çeviri yapmak engellenir. Bu, Kaynak dizgeler için kalite aracısı sağlar.
Yeni çeviriler kalıbı#
Yeni çeviriler oluşturmak için kullanılan temel dosya.
Tek biçimli biçimlerin çoğu için bu alanı boş bırakın. Bunlar genellikle boş bir dosya ile başlayabilir.
GNU gettext po dosyaları için ``.pot``dosyası seçin.
Varsa, çevirileri olmayan boş dosyayı seçin.
Tam bir anahtar kümesinin bulunması gereken tek dilli biçimler için Tek dilli temel dil dosyası seçin.
Belge çevirileri için Tek dilli temel dil dosyası seçin.
Diğerleri için herhangi bir çeviri dosyası seçin.
Kalıp dosyası çoğu durumda temel dosyayla aynı olabilir.
İpucu
Birçok tek dilli biçimde Weblate varsayılan olarak boş dosya ile başlar. Yeni çeviri oluştururken tüm dizgelerin değerinin boş olmasını istiyorsanız bunu kullanın.
Dosya biçimi#
Çeviri dosyası biçimi. Bilgi almak için: Desteklenen dosya biçimleri.
Kaynak dizge hata bildirme adresi#
Yukarı akış hatalarını bildirmek için kullanılacak e-posta adresi. Bu adres, Weblate üzerinde yapılan tüm kaynak dizge yorumları ile ilgili bildirimleri de alır.
Çevirilerin yayılmasını sağlamak#
Çevirilerin aynı projedeki diğer bileşenlerden bu bileşene yayılmasını kapatabilirsiniz. Bu seçenek gerçekte neyin çevirisini yaptığınıza bağlıdır, bazen bir çeviriden birden fazla kez yararlanmak isteyebilirsiniz.
Tüm projede aynı kimlikleri kullanmadığınız sürece, tek dilli çeviriler için bu seçeneği kapatmak genellikle iyi bir fikirdir.
Varsayılan değer DEFAULT_TRANSLATION_PROPAGATION
ile değiştirilebilir.
Ayrıca bakınız
Öneriler kullanılsın#
Bu bileşen için çeviri önerilerinin kabul edilip edilmeyeceği.
Öneriler oylanabilsin#
Öneriler için oy verme özelliğini açar. Bilgi almak için: Öneriler oylanabilsin.
Öneriler kendiliğinden kabul edilsin#
Oylanan önerilerin kendiliğinden kabul edilmesini sağlar. Bilgi almak için: Öneriler oylanabilsin.
Çeviri imleri#
Kalite denetimlerinin ve diğer Weblate davranışlarının özelleştirilmesi. Bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek.
Zorunlu denetimler#
Yok sayılamayacak denetimlerin listesi. Bilgi almak için: enforcecing-checks.
Not
Denetim dayatması kendiliğinden etkinleştirilmez. component-check_flags checks ya da Kaynak dizgeler ile ilgili ek bilgiler içindeki Parametreleri kullanarak davranışı özelleştirmek ile etkinleştirmeniz gerekir.
Çeviri lisansı#
Çevirinin lisansı (kaynak kodunun lisansı ile aynı olması gerekmez).
Katılımcı anlaşması#
Bir kullanıcının bu bileşeni çevirmeden önce kabul etmesi gereken katılımcı anlaşması.
Yeni çeviri ekleme#
Yeni dil ekleme isteklerinin nasıl işleneceği. Kullanılabilecek seçenekler:
- Sorumlulara bildirim
Kullanıcı istediği dili seçebilir ve proje sorumlularına bununla ilgili bir bildirim gönderilir. Dili depoya eklemek (ya da eklememek) proje sorumlusuna kalır.
- Çeviri yönergeleri adresi görüntülensin
Kullanıcıya, yeni çevirilere başlama sürecini açıklayan bir sayfa bağlantısı sunulur. Bu seçeneği daha resmi bir süreç istenmesi durumunda kullanabilirsiniz (çeviriye başlamadan önce bir ekip oluşturmak gibi).
- Yeni dil dosyası oluşturulsun
Kullanıcı dili seçebilir, Weblate dosyayı kendiliğinden oluşturur ve çeviri başlayabilir.
- Yeni çevirilerin eklenmesi devre dışı bırakılsın
Kullanıcıya yeni çeviriye başlaması için bir seçenek sunulmaz.
İpucu
Proje yöneticileri, burada devre dışı bırakılmış olsa bile yeni çeviriler ekleyebilir (Yeni çeviriler kalıbı ya da boş bir dosyadan başlamayı destekleyen dosya biçimi).
Ayrıca bakınız
Dizge yönetimi#
4.5 sürümünde geldi.
Weblate üzerindeki kullanıcıların yeni dizgeler eklemesine ve var olan dizgeleri silmesine izin verilip verilmeyeceğini yapılandırır. Bu seçeneği, yerelleştirme iş akışınıza (yeni dizgelerin nasıl tanıtılması gerektiğine) uyacak şekilde ayarlayın.
İki dilli biçimler için, dizgeler genellikle kaynak kodundan ayıklanır (örneğin, xgettext kullanılarak) ve Weblate üzerine yeni dizgelerin eklenmesi devre dışı bırakılmalıdır (çeviri dosyalarının bir sonraki güncellenmesinde silinirler). Weblate üzerinde her çevirinin dizgelerini yönetebilirsiniz ve tüm çevirilerdeki dizgelerin tutarlı olmasını dayatılmaz.
Tek dilli biçimlerde, dizgeler yalnızca kaynak dilde yönetilir ve çevirilerde kendiliğinden eklenir ya da silinir. Dizgeler, çevrildikten sonra çeviri dosyalarında görünür.
Dil kodu biçemi#
Weblate tarafından oluşturulan çevirilerin dosya adını oluşturmakta kullanılacak dil kodunu özelleştirin.
Not
Weblate, çeviri dosyalarını işlerken dil kodlarını tanır. Bu ayarlar yalnızca yeni dosyaların nasıl oluşturulacağını etkiler.
- Dosya biçimine göre varsayılan
Dosya biçimine bağlıdır. Çoğu için POSIX kullanılır.
- Ayraç olarak alt çizgi kullanan POSIX biçemi
Genellikle gettext ve ilgili araçlar tarafından kullanılır.
pt_BR
gibi dil kodlarını üretir.- Ülke kodu ile birlikte ayraç olarak alt çizgi kullanan POSIX biçemi
Gerekli olmadığında bile ülke kodunu içeren POSIX biçemindeki dil kodu (
tr_TR
gibi).- POSIX style using underscore as a separator, including country code (lowercase)
POSIX style language code including the country code even when not necessary (lowercase) (for example
cs_cz
).- Ayraç olarak tire kullanan BCP biçemi
Genellikle internet platformlarında kullanılır. ‘’pt-BR’’ gibi dil kodlarını üretir.
- Ülke kodu ile birlikte ayraç olarak tire kullanan BCP biçemi
Gerekli olmadığında bile ülke kodunu içeren BCP biçemindeki dil kodu (
tr-TR
gibi).- Ayraç olarak tire kullanan BCP biçemi, eski dil kodları
Çince ve BCP biçeminde gösterim için eski kodları kullanır.
- Ayraç olarak tire kullanan BCP biçemi, küçük harfli
BCP biçeminde gösterim. Tümü küçük harfle (örneğin
tr-tr
).- Apple App Store üst veri biçemi
Üst verileri Apple App Store üzerine yüklemeye uygun biçem.
- Google Play üst veri biçemi
Üst verileri Google Play Store üzerine yüklemeye uygun biçem.
- Android biçemi
Yalnızca Android uygulamalarında kullanıldığında,
tr-TR
gibi dil kodları üretir.- Linux biçemi
Linux tarafından kullanılan yerel ayarlar, Çince ve POSIX biçeminde gösterim için eski kodları kullanır.
Ayrıca bakınız
Yeni çevirileri eklemek, Dil kodu, Dil kodlarını işlemek, Dil kod adları
Birleştirme biçemi#
Yukarı akış deposundaki güncellemelerin nasıl işleneceğini yapılandırabilirsiniz. Gerçek uygulama sürüm denetimi sistemine bağlıdır. Bilgi almak için: Sürüm denetimi bütünleştirmesi.
- Yeniden yerleştirme
Weblate işlemelerini güncelleme sırasında yukarı akış deposunun üstüne yerleştirir. Böylece, ek birleştirme işlemeleri olmadan temiz geçmiş sağlanır.
Yeniden yerleştirme, karmaşık birleştirmeler olması durumunda sorun yaratabilir. Bu nedenle bunları etkinleştirmek isteyip istemediğinizi dikkatlice değerlendirin.
Özellikle farklı bir dala iterken Git (itme dayatması ile) seçeneğini Sürüm denetimi sistemi olarak seçerek itmeyi dayatmanız gerekebilir.
- Birleştirme
Yukarı akış deposu değişiklikleri Weblate ile birleştirilir. Bu ayar yapılabildiğinde hızlı ileri atlamayı kullanır. Bu en güvenli yoldur ancak çok sayıda birleştirme işlemesi oluşturabilir.
- Hızlı ilerleme olmadan birleştirme
Yukarı akış deposu değişiklikleri, her seferinde bir birleştirme işlemesi yapılarak Weblate üzerinde birleştirilir (hızlı ileri atlama yapılabilse bile). Her Weblate değişikliği, Weblate deposunda bir birleştirme işlemi olarak görünür.
Varsayılan değer DEFAULT_MERGE_STYLE
ile değiştirilebilir.
İşleme, ekleme, silme, birleştirme, eklenti ve birleştirme istek iletileri#
Bir çeviri işlenirken kullanılacak ileti. Bilgi almak için: :ref:`markup’.
Varsayılan değerler şu seçeneklerle değiştirilebilir DEFAULT_ADD_MESSAGE
, DEFAULT_ADDON_MESSAGE
, DEFAULT_COMMIT_MESSAGE
, DEFAULT_DELETE_MESSAGE
, DEFAULT_MERGE_MESSAGE
, DEFAULT_PULL_MESSAGE
.
İşleme ile itme#
Gönderilen değişikliklerin otomatik olarak yukarı akış deposuna itilip itilmeyeceğini belirler. Etkinleştirildiğinde, Weblate değişiklikleri temel depoya kaydettikten sonra itme başlatılır (bilgi almak için: ref:lazy-commit). İtmeyi etkinleştirmek için Depo itme adresi ayarının da yapılandırılması gerekir.
İşlenecek değişikliklerin yaşı#
Değişikliklerin arka plan görevi ya da weblate weblate commit_pending
yönetim komutu tarafından uygulanmasından önce ne kadar eski (saat cinsinden) olması gerektiğini ayarlar. Bir bileşendeki tüm değişiklikler, bu dönemden daha eski en az bir değişiklik olduğunda gönderilir.
Varsayılan değer COMMIT_PENDING_HOURS
seçeneği ile değiştirilebilir.
İpucu
Bekleyen değişikliklerin işlenebileceği başka durumlar da vardır. Bilgi almak için: Lazy commit işlemeleri.
Hata durumunda kilitlenme#
İlk başarısız itme ya da yukarı akış deposuna aktarma ile çekme sırasında bileşeni (ve bağlantılı bileşenleri, bilgi almak için: İç Weblate adresleri) kilitler. Böylece, el ile çözümlenmesi gereken başka çakışmaların oluşması engellenir.
Herhangi bir depo hatası kalmadığında bileşenin kilidi kendiliğinden açılır.
Kaynak dil#
Kaynak dizgeler için kullanılacak dil. İngilizce dışında bir dilden çeviri yapıyorsanız bu seçeneği değiştirin.
İpucu
İki dilli dosyaları İngilizce dilinden çevirdiğiniz halde, İngilizce çeviride de düzeltmeler yapabilmek istiyorsanız, kaynak dil adı ile var olan çeviri arasında çakışmayı önlemek için, kaynak dil olarak İngilizce (Geliştirici) seçeneğini seçin.
Bu durumda, tek dilli çeviriler için ara çeviri kullanabilirsiniz. Bilgi almak için: Ara dil dosyası.
Dil süzgeci#
Dosya maskesine göre tarama yapılırken çeviriyi süzmek için kullanılacak kurallı ifade. Weblate tarafından yönetilen dillerin listesini sınırlamak için kullanılabilir.
Not
Dil kodlarını dosya adında göründükleri şekilde listelemeniz gerekir.
Bazı süzme örnekleri:
Süzgeç açıklaması |
Kurallı ifade |
---|---|
Yalnızca seçilmiş diller |
|
Dilleri katmama |
|
Yalnızca iki harfli kodları süzme |
|
Dil dosyası olmayanları katmama |
|
Tüm dosyaları katma (varsayılan) |
|
Çeşitler kurallı ifadesi#
Bir dizenin değişkenlerini belirlemek için kullanılacak kurallı ifade. Bilgi almak için: :ref:`variants’.
Not
Alanların çoğu, proje sahipleri veya yöneticiler tarafından Weblate arayüzünden düzenlenebilir.
Öncelik#
Yüksek öncelikli bileşenler çevirmenlere öncelikli olarak sunulur.
4.15 sürümünde değişti: Bu seçenek artık eşleşen sözlük terimlerinin sıralamasını da etkiliyor.
Kısıtlı erişim#
Not
Bu özellik, Hosted Weblate üzerinde kullanılamaz.
Varsayılan olarak, bileşen, bileşende herhangi bir değişiklik yapamasa bile, projeye erişimi olan herkes tarafından görülebilir. Böylece proje içinde çeviri tutarlılığının korunması kolaylaşır.
Bir bileşene ya da bileşen listesi düzeyine erişimi kısıtlamak, proje düzeyi izinlerinden bağımsız olarak bir bileşene erişim iznini devralır. Erişim iznini açıkça vermeniz gerekir. Bunun için, yeni bir kullanıcı grubuna erişim izni verebilir ve kullanıcıları bu gruba yerleştirebilir ya da varsayılan özel ya da kişisel erişim denetimi gruplarını kullanabilirsiniz.
Varsayılan değer DEFAULT_RESTRICTED_COMPONENT
seçeneği ile değiştirilebilir.
İpucu
Bu durum, proje yöneticileri için de geçerlidir. Lütfen durumu değiştirdikten sonra bileşene erişiminizi kaybetmeyeceğinizden emin olun.
Sözlük olarak kullanılsın#
4.5 sürümünde geldi.
Bu bileşenin sözlük olarak kullanılmasını sağlar. Nasıl listeleneceğini Sözlük rengi ile yapılandırabilirsiniz.
Sözlük, Projelerde paylaşım tarafından tanımlanan tüm projelerden erişilebilir olur.
Sözlüklere yeni sözcükler eklenmesine izin vermek için sözlüklerde Dizge yönetimi özelliğinin etkinleştirilmesi önerilir.
Ayrıca bakınız
Sözlük rengi#
Görüntülenen sözcüğün eşleştiği sözlüğün görüntülenme rengi.
Kalıp kodlaması#
Weblate, metin işlemenin gerekli olduğu çeşitli yerlerde basit markup dili kullanır. The Django template language üzerine kurulu olduğundan oldukça güçlüdür.
Şu anda şuralarda kullanılabilir:
İşleme iletisi biçimlendirmesi. Bilgi almak için: Bileşen yapılandırması
- Çeşitli eklentiler
Bileşen kalıplarında kullanılabilecek değişkenler şunlardır:
{{ language_code }}
Dil kodu
{{ language_name }}
Dil adı
{{ component_name }}
Bileşen adı
{{ component_slug }}
Bileşen kısaltması
{{ project_name }}
Proje adı
{{ project_slug }}
Proje kısaltması
{{ url }}
Çeviri adresi
{{ filename }}
Çeviri dosya adı
{{ stats }}
Çeviri istatistikleri, ek öznitelikleri vardır. Aşağıda örnekleri bulabilirsiniz.
{{ stats.all }}
Toplam dizge sayısı
{{ stats.fuzzy }}
Onaylanmayı bekleyen dizge sayısı
{{ stats.fuzzy_percent }}
Onaylanmayı bekleyen dizge yüzdesi
{{ stats.translated }}
Çevrilmiş dizge sayısı
{{ stats.translated_percent }}
Çevrilmiş dizge yüzdesi
{{ stats.allchecks }}
Denetim hatası olan dizgelerin sayısı
{{ stats.allchecks_percent }}
Denetim hatası olan dizgelerin yüzdesi
{{ author }}
Geçerli işleme sorumlusu. Yalnızca işleme kapsamında kullanılabilir.
{{ addon_name }}
Yalnızca eklenti işleme iletisinde kullanılabilen, işlenen geçerli eklentinin adı.
Depo tarayıcısında ya da düzenleyici kalıplarında kullanılabilecek değişkenler:
{{branch}}
geçerli dal
{{line}}
dosyadaki satır
{{filename}}
dosya adı, baştaki parçaları
parentdir
süzgecini kullanarak da çıkarabilirsini. Örneğin{{filename|parentdir}}
İpucu
Bazı yerlerde ek değişkenler kullanılabilir. Bilgi almak için: Bileşen keşfi.
Bunları süzgeçlerle birleştirebilirsiniz:
{{ component|title }}
Koşullar kullanabilirsiniz:
{% if stats.translated_percent > 80 %}Well translated!{% endif %}
Karakterleri değiştirmek için kullanılabilecek ek bir etiket vardır:
{% replace component "-" " " %}
Bunu süzgeçlerle birleştirebilirsiniz:
{% replace component|capfirst "-" " " %}
Dosya adlarıyla değiştirmek için de ek bir süzgeç vardır:
Directory of a file: {{ filename|dirname }}
File without extension: {{ filename|stripext }}
File in parent dir: {{ filename|parentdir }}
It can be used multiple times: {{ filename|parentdir|parentdir }}
… ve diğer Django kalıbı özellikleri.
İçe aktarma hızı#
Sürüm denetimi sistemi deposunu almak ve çevirileri Weblate içine aktarmak, çevirilerinizin boyutuna bağlı olarak uzun bir süreç olabilir. İşte bazı ipuçları:
Yapılandırmayı iyileştirin#
Varsayılan yapılandırma, Weblate denemeleri yapmak ve hata ayıklamak için kullanışlıdır. Üretim kurulumu için bazı farklı ayarlamalar yapmanız gerekir. Birçoğunun başarım üzerinde oldukça büyük bir etkisi vardır. Bilgi almak için: Üretim kurulumu, özellikle:
Arka plan görevlerini yürütmek için Celery yapılandırın (bilgi almak için: Celery ile arka plan görevlerini kullanmak)
Kaynak sınırlarını denetleyin#
Büyük çevirileri ya da depoları içe aktarıyorsanız, sunucunuzun kaynak sınırlamalarından etkilenebilirsiniz.
Boş bellek miktarını denetleyin, çeviri dosyalarının işletim sistemi tarafından ön belleğe alınması başarımı büyük ölçüde artırır.
İşlenecek çok sayıda dizge varsa disk işlemleri darboğaz oluşturabilir. Disk hem Weblate hem de veri tabanı tarafından dayatılır.
Ek işlemci çekirdekleri, arka plan görevlerinin başarımını artırmaya yardımcı olabilir (bilgi almak için Celery ile arka plan görevlerini kullanmak).
Gereksiz denetimleri devre dışı bırakın#
Bazı kalite denetimleri için oldukça fazla kaynak gerekebilir ve gerekmeyen denetimler yok sayılırsa içe aktarım sırasında size biraz zaman kazandırabilir. Yapılandırma ile ilgili bilgi almak için: CHECK_LIST
.
Bileşenleri kendiliğinden oluşturmak#
Projenizde onlarca çeviri dosyası varsa (farklı gettext alanları veya Android uygulamalarının bölümleri gibi), bunları kendiliğinden içe aktarmak isteyebilirsiniz. Bunun için komut satırından weblate weblate import_project
ya da weblate weblate import_json
komutları kullanabilir ya da Bileşen keşfi eklentisini kurabilirsiniz.
Eklentiyi kullanmak için, önce bir çeviri dosyasına bir bileşen oluşturmanız (gelecekte yeniden adlandırılma ya da silinme olasılığı en düşük olanı seçin) ve eklentiyi bu bileşene kurmanız gerekir.
Yönetim komutlarını kullanmak için, tüm bileşenleri kapsayacak bir proje oluşturmanız ve ardından weblate weblate import_project
ya da weblate weblate import_json
komutunu yürütmeniz gerekir.
Ayrıca bakınız
Dil tanımları#
Farklı çevirileri doğru bir şekilde sunmak için dil adı, metin yönü, çoğul tanımları ve dil kodu hakkındaki bilgiler gereklidir.
Hazır dil tanımları#
Weblate üzerinde yaklaşık 600 dil için tanımlar bulunur ve bu liste her sürümde büyümektedir. Weblate her yükseltildiğinde (daha özel olarak weblate weblate migrate
komutu yürütüldüğünde, bilgi almak için: Genel yükseltme yönergeleri) diller veri tabanı, Weblate içinde bulunan tüm dil tanımlarını kapsayacak şekilde güncellenir.
Bu özellik UPDATE_LANGUAGES
seçeneği ile devre dışı bırakılabilir. Ayrıca, weblate weblate setuplang
seçeneğini kullanarak veri tabanının Weblate içindeki verilerle eşleşecek şekilde güncellenmesini dayatabilirsiniz.
Ayrıca bakınız
Dil kodlarını işlemek#
Weblate, çevirileri işlerken, dil kodunu (genellikle ISO 639-1 olanı) Dosya maskesi üzerinden var olan herhangi bir dil nesnesiyle eşleştirmeye çalışır.
Dil kod adları ile bu eşleştirmeyi proje düzeyinde daha ayrıntılı ayarlayabilirsiniz.
Tam eşleşme bulunamazsa, var olan dillerden en iyi uyanı ile eşleştirilmeye çalışılır. Şu adımlar denenir:
Büyük/küçük harfe duyarlı olmadan bakılır.
Alt çizgiler ve kısa çizgiler normalleştirilir.
Yerleşik dil kod adlarına bakılır.
Dil adına göre bakılır.
Belirli bir dil için varsayılan ülke kodu yok sayılır.
cs_CZ
yerinecs
seçilir.
Bunun da başarısız olması durumunda, varsayılan ayarlar kullanılarak (soldan sağa metin yönü, bir tane çoğul) yeni bir dil tanımı oluşturulur. xx_XX
koduyla kendiliğinden oluşturulan dil xx_XX (oluşturuldu) olarak adlandırılır. Bunu daha sonra yönetici arayüzünde değiştirmek (bilgi almak için: Dil tanımlarını değiştirmek) ve sorun izleyiciye bildirmek (bilgi almak için: Weblate için katkıda bulunmak) isteyebilirsiniz. Böylece doğru tanımın gelecek Weblate sürümüne eklenmesini sağlayabilirsiniz.
İpucu
Dil olarak istenmeyen bir şey görürseniz, çevirileri işlerken bu türde bir dosyanın yok sayılması için Dil süzgeci seçeneğini ayarlamak isteyebilirsiniz.
Ayrıca bakınız
Dil tanımlarını değiştirmek#
Dil tanımlarını diller arayüzünden değiştirebilirsiniz (/languages/
adresinden).
Düzenleme yaparken, tüm alanların doğru olduğundan emin olun (özellikle çoğullar ve metin yönü). Yoksa çevirmenler çevirileri olması gerektiği gibi düzenleyemez.
Belirsiz dil kodları ve makro diller#
Çoğu durumda, çeviride makro dil kodu kullanmak iyi bir fikir değildir. Tipik bir soruna örnek, gerçek değişkene bağlı olarak Arapça ya da Latin alfabesiyle yazılmış olabilecek Kürtçe olabilir. Weblate üzerinde doğru davranışı elde etmek için, yalnızca tek tek dil kodlarını kullanmanız ve makro dillerden kaçınmanız önerilir.
Ayrıca bakınız
Dil tanımları#
Her dilde şu alanlar bulunur:
Dil kodu#
Dili tanımlayan kod. Weblate, ISO 639-1 ile tanımlanan iki harfli kodları kullanmayı yeğler. Ancak iki harfli kodu olmayan diller için ISO 639-2 ya da ISO 639-3 kodları da kullanılabilir. Ayrıca BCP 47 tarafından tanımlanmış genişletilmiş kodlar da destelenir.
Ayrıca bakınız
Dil adı#
Dilin görüntülenecek adı. Weblate üzerinde bulunan dil adları da seçilmiş kullanıcı arayüzü diline göre yerelleştirilmiş olarak görüntülenir.
Metin yönü#
Dilin sağdan sola mı yoksa soldan sağa mı yazıldığını belirler. Bu özellik, dillerin çoğu için doğru şekilde kendiliğinden ayarlanır.
Çoğul sayısı#
Dilde kullanılan çoğul biçim sayısı.
Çoğul formülü#
Belirtilen bir sayı için hangi çoğul biçiminin kullanılacağını belirleyen gettext uyumlu çoğul formülü.
Konuşan sayısı#
Dünyada bu dili konuşan kişi sayısı.
Sürekli yerelleştirme#
Çevirinizin gelişimi yakından izleyen hazır bir altyapı vardır. Böylece çevirmenler, yayın öncesinde büyük miktarda yeni metinler üzerinde çalışmak yerine, tüm zaman boyunca çeviriler üzerinde çalışabilirler.
Ayrıca bakınız
Weblate ile bütünleştirmek geliştirme çalışmalarınızı Weblate ile bütünleştirmenin temel yollarını açıklar.
Süreç şu şekildedir:
Geliştiriciler değişiklikler yapar ve bunları sürüm denetimi sistemi deposuna gönderir.
İsteğe bağlı olarak çeviri dosyaları güncellenir. Bilgi almak için: Yeni dizgeler sunmak.
Weblate, sürüm denetimi sistemi deposundan değişiklikleri çeker, bilgi almak için: Depoları güncellemek.
Weblate çevirilerdeki değişiklikleri algıladığında, çevirmenleri abonelik ayarlarına göre bilgilendirir.
Çevirmenler Weblate arayüzünü kullanarak çevirleri yapar ya da çevrimdışı yaptıkları değişiklikleri yükler.
Çevirmenlerin çalışması tamamlandıktan sonra, Weblate değişiklikleri yerel depoya gönderir (bilgi almak için: Lazy commit işlemeleri) ve bunu yapma izni varsa bunları geri iter (bilgi almak için: Weblate üzerindeki değişiklikleri itmek).
Depoları güncellemek#
Arka uç depolarını kaynaklarından güncellemek için bir yöntem ayarlamalısınız.
Yaygın kullanılan kod barındırma hizmetlerinin çoğuyla bütünleştirmek için :ref:`hooks’ kullanın:
Depo yönetiminden ya da Weblate REST API uygulaması ya da Weblate istemcisi kullanarak güncellemeyi el ile başlatabilirsiniz
Weblate kopyanızdaki tüm bileşenlerin kendiliğinden güncellenmesi için
AUTO_UPDATE
seçeneğini etkinleştirinweblate weblate updategit
komutunu yürütün (projeyi seçin ya da tümünü ‘’—güncellemek içinall
kullanın)
Weblate depoyu her güncellediğinde, güncelleme sonrası eklentileri tetiklenir. Bilgi almak için: Eklentiler.
Birleştirme çakışmalarından kaçınmak#
Aynı dosya hem Weblate üzerinde hem de Weblate dışında değiştirildiğinde Weblate üzerinden gelen birleştirmelerde çakışmalar ortaya çıkar. Bu sorunu çözmek için kullanılabilecek iki yaklaşım vardır. Weblate dışındaki düzenlemelerden kaçınmak ya da güncelleme sürecinizi Weblate ile bütünleştirmek. Böylece Weblate dışındaki dosyalar güncellenmeden önce değişiklikler temizlenir.
Tek dilli dosyalar için ilk yaklaşım kolaydır. Weblate üzerinde yeni dizgeler ekleyebilir ve dosyaların tüm düzenleme işlemlerini orada yapabilirsiniz. İki dilli dosyalar için, kaynak kodundan çevrilebilir dosyalar oluşturmak için genellikle bir tür ileti ayıklama işlemi vardır. Bazı durumlarda bu işlem iki bölüme ayrılabilir. Birinci adım ayıklama kalıbını oluşturur (örneğin Gettext POT xgettext kullanılarak oluşturulur) ve ikinci adım onu gerçek çevirilerle birleştirir (Gettext PO dosyaları msgmerge kullanılarak güncellenir). İkinci adımı Weblate içinde yapabilirsiniz ve bu işlemden önce bekleyen tüm değişikliklerin katıldığına emin olabilirsiniz.
İkinci yaklaşım, Weblate REST API uygulaması ile Weblate uygulamasını bekleyen tüm değişiklikleri itmek ve kendi tarafınızda değişiklikler yaparken çeviriyi kilitlemek yoluyla uygulanabilir.
Güncelleme betiği şunun gibi görünebilir:
# Lock Weblate translation
wlc lock
# Push changes from Weblate to upstream repository
wlc push
# Pull changes from upstream repository to your local copy
git pull
# Update translation files, this example is for Django
./manage.py makemessages --keep-pot -a
git commit -m 'Locale updates' -- locale
# Push changes to upstream repository
git push
# Tell Weblate to pull changes (not needed if Weblate follows your repo
# automatically)
wlc pull
# Unlock translations
wlc unlock
Aynı depoyu paylaşan birden fazla bileşeniniz varsa hepsini ayrı ayrı kilitlemeniz gerekir:
wlc lock foo/bar
wlc lock foo/baz
wlc lock foo/baj
Not
Örnekte, uzaktan Weblate yönetimi için yapılandırmaya (API anahtarları) gerek duyan Weblate istemcisi kullanılır. Bunu wlc yerine curl gibi herhangi bir HTTP istemcisini kullanarak da yapabilirsiniz. Bilgi almak için: Weblate REST API uygulaması.
Ayrıca bakınız
GitHub değişikliklerini kendiliğinden almak#
Weblate doğal GitHub desteği ile gelir.
Hosted Weblate kullanıyorsanız, Weblate uygulaması kurmanız önerilir. Böylece çok fazla şeyi ayarlamanız gerekmeden doğru kurulumu elde edersiniz. Değişiklikleri geri itmek için de kullanılabilir.
GitHub deposuna yapılan her itmede bildirim almak için, depo ayarlarına (Webhooks) aşağıdaki görseldeki gibi Weblate internet kancasını ekleyin:

Yük adresi olarak, Weblate adresinizin sonuna “/hooks/github/” ekleyin. Örneğin Hosted Weblate hizmeti için “https://hosted.weblate.org/hooks/github/” kullanabilirsiniz.
Diğer ayarları varsayılan değerlerinde bırakabilirsiniz (Weblate her iki içerik türünü de işleyebilir ve yalnızca push işlemine gerek duyar).
Ayrıca bakınız
POST /hooks/github/
, Hosted Weblate üzerinden depolara erişmek
Bitbucket değişikliklerini kendiliğinden almak#
Weblate, Bitbucket internet kancalarını destekler. Weblate kurulumunuza hedef olarak /hooks/bitbucket/
adresiyle depo itme işlemi sırasında tetiklenecek bir internet kancası ekleyin (https://hosted.weblate.org/hooks/bitbucket/
gibi).

Ayrıca bakınız
POST /hooks/bitbucket/
, Hosted Weblate üzerinden depolara erişmek
GitLab değişikliklerini kendiliğinden almak#
Weblate, GitLab kancalarını destekler. Weblate kurulumunuza hedef olarak /hooks/gitlab/
adresiyle hedefi bir proje internet kancası ekleyin (``https://hosted.weblate.org/hooks/gitlab/``gibi).
Ayrıca bakınız
POST /hooks/gitlab/
, Hosted Weblate üzerinden depolara erişmek
Pagure değişikliklerini kendiliğinden almak#
3.3 sürümünde geldi.
Weblate, Pagure kancalarını destekler. Weblate kurulumunuza hedef olarak /hooks/pagure/
internet kancasını ekleyin (https://hosted.weblate.org/hooks/pagure/
gibi). Bu işlem, Proje ayarları bölümündeki Web kancaları kullanılsın seçeneği ile yapılabilir:

Ayrıca bakınız
POST /hooks/pagure/
, Hosted Weblate üzerinden depolara erişmek
Azure Repos değişikliklerini kendiliğinden almak#
3.8 sürümünde geldi.
Weblate, Azure Repos kancalarını destekler. Weblate kurulumunuza İtilecek kod işlemi için hedef olarak /hooks/azure/
internet kancasını ekleyin (https://hosted.weblate.org/hooks/azure/
gibi). Bu işlem, Proje ayarları bölümündeki Hizmet kancaları seçeneği ile yapılabilir.
Gitea depoları değişikliklerini kendiliğinden almak#
3.9 sürümünde geldi.
Weblate, Gitea kancalarını destekler. Weblate kurulumunuza İtme işlemleri içinden Gitea internet kancası işlemi için hedef olarak /hooks/gitea/
internet kancasını ekleyin (https://hosted.weblate.org/hooks/gitea/
gibi). Bu işlem, Ayarlar bölümündeki Web kancaları seçeneği ile yapılabilir.
Gitee depoları değişikliklerini kendiliğinden almak#
3.9 sürümünde geldi.
Weblate, Gitee kancalarını destekler. Weblate kurulumunuza İtme işlemi için hedef olarak /hooks/gitee/
internet kancasını ekleyin (https://hosted.weblate.org/hooks/gitee/
gibi). Bu işlem, Yönetim bölümündeki Web kancaları seçeneği ile yapılabilir.
Depoları her gece kendiliğinden güncellemek#
Weblate, daha sonra değişiklik birleştirme başarımını artırmak için her gece uzak depoları kendiliğinden alır. İsteğe bağlı olarak, AUTO_UPDATE
seçeneğini etkinleştirerek bunu gecelik birleştirmeler yapmaya da dönüştürebilirsiniz.
Weblate üzerindeki değişiklikleri itmek#
Her çeviri bileşeni için ayrı bir itme adresi ayarlanabilir (bilgi almak için Depo itme adresi) ve bu durumda Weblate, değişikliği uzak depoya itebilir. Weblate, değişiklikleri her işlemede otomatik olarak gönderecek şekilde de yapılandırılabilir (varsayılan davranış, bilgi almak için: İşleme ile itme). Değişikliklerin kendiliğinden itilmesini istemiyorsanız, bunu el ile Depo bakımı bölümünden ya da wlc push
API seçeneğini kullanarak yapabilirsiniz.
İtme seçenekleri, kullanılan Sürüm denetimi bütünleştirmesi değerine göre farklılık gösterir. Ayrıntılı bilgileri bu bölümden alabilirsiniz.
İtme işleminin doğrudan Weblate tarafından yapılmasını istemiyorsanız, GitHub çekme istekleri, GitLab birleştirme istekleri, Gitea çekme isteği, Pagure birleştirme istekleri çekme istekleri ya da Gerrit onayları desteklenmektedir. Bunları Bileşen yapılandırması içindeki Sürüm denetimi sistemi bölümünden GitHub, GitLab, Gitea, Gerrit ya da Pagure olarak seçerek etkinleştirebilirsiniz.
Genel olarak, Git, GitHub ve GitLab ile şu seçenekler kullanılabilir:
İstenilen kurulum |
|||
---|---|---|---|
İtme yok |
empty |
empty |
|
Doğrudan itme |
SSH adresi |
empty |
|
Ayrı bir dala it |
SSH adresi |
Dal adı |
|
İtme yok |
empty |
empty |
|
Doğrudan itme |
SSH adresi |
empty |
|
Ayrı bir dala it |
SSH adresi |
Dal adı |
|
GitHub dalından çekme isteği |
empty |
empty |
|
GitHub dalına itme isteği |
SSH URL [1] |
Dal adı |
|
GitLab dalından birleştirme isteği |
empty |
empty |
|
GitLab dalından birleştirme isteği |
SSH URL [1] |
Dal adı |
|
Gitea çatalından birleştirme isteği |
empty |
empty |
|
Gitea dalından birleştirme isteği |
SSH URL [1] |
Dal adı |
|
Pagure çatalından birleştirme isteği |
empty |
empty |
|
Pagure dalından birleştirme isteği |
SSH URL [1] |
Dal adı |
Kaynak kod deposu itmeyi destekliyorsa boş olabilir.
Not
Weblate işledikten sonra değişikliklerin kendiliğinden gönderilmesini de etkinleştirebilirsiniz. Bu işlem İşleme ile itme içinden yapılabilir.
Ayrıca bakınız
SSH anahtarlarını ayarlamak için Depolara erişmek ve değişikliklerin Weblate tarafından ne zaman işleneceğine karar verildiği ile ilgili bilgi almak için :ref:’lazy-commit’ bölümlerine bakabilirsiniz.
Korunmuş dallar#
Weblate ile korumalı dal kullanıyorsanız, çekme isteklerini kullanacak ve çeviriler üzerinde gerçek gözden geçirme yapacak bir yapılandırma ayarlayabilirsiniz (bilmediğiniz diller için sorunlu olabilecek şeyler). Alternatif olarak, Weblate itme kullanıcısı için bu sınırlamayı kaldırabilirsiniz.
Örneğin bu işlem GitHub üzerinde, depo yapılandırmasında ayarlanabilir:

Diğerleri ile etkileşim#
Weblate, API uygulaması -başkalarıyla etkileşim kurmayı kolaylaştırır.
Ayrıca bakınız
Lazy commit işlemeleri#
Weblate, olabiliyorsa aynı yazardan gelen işlemeleri tek bir işleme olarak gruplandıracak biçimde davranır. Böylece, işleme sayısı büyük ölçüde azaltılır. Bununla birlikte, sürüm denetimi sistemi deposunu eşitlemek isterseniz bunu açıkça belirtmeniz gerekir. Örneğin birleştirme için (varsayılan olarak Yöneticiler’`grubu için izin verilir, bilgi almak için: :ref:`privileges).
Bu kipteki değişiklikler, aşağıdaki koşullardan herhangi biri yerine getirildiğinde işlenir:
Başka biri zaten değiştirilmiş bir dizgeyi değiştirdiğinde.
Yukarı akıştan bir birleştirme gerçekleştirildiğinde.
Açık bir işleme isteği yapıldığında.
Bir dosyanın indirilmesi istendiğinde.
Değişiklik, Bileşen yapılandırması üzerinde İşlenecek değişikliklerin yaşı olarak tanımlanmış dönemden daha eski olduğunda.
İpucu
İşlemeler her bileşen için ayrı oluşturulur. Bu nedenle, birçok bileşeniniz varsa, gene çok sayıda işleme görürsünüz. Bu durumda Git işlemelerini bir araya toplar eklentisini kullanabilirsiniz.
Değişikliklerin daha sık ve yaşları denetlemeden yapılmasını istiyorsanız, işlemeyi yapacak bir zamanlanmış görev ayarlayabilirsiniz. Bu işlemi Django yönetim arayüzü içinde Zamanlanmış görevler bölümünden yapabilirsiniz. Önce istediğiniz Sıklık ögesini oluşturun (120 saniye gibi). Ardından yeni bir zamanlanmış görev ekleyin ve Görev olarak weblate.trans.tasks.commit_pending
, Anahtar sözcük parametreleri ve istenilen sıklık olarak {“hours": 0}
yazın.
Betikleri kullanarak depo işlemleri yapmak#
Weblate ile depo arasındaki etkileşim Eklentiler ile özelleştirilebilir. Eklentiler ile dış betiklerin nasıl yürütüleceği ile ilgili ayrıntılı bilgi almak için Eklentiden betikleri çalıştırma bölümüne bakabilirsiniz.
Bileşenler arasında çevirilerin tutarlığını sağlamak#
Birden çok çeviri bileşeniniz olduğunda, aynı dizgelerin çevirilerinin de aynı olduğundan emin olmak isteyebilirsiniz. Bu tutarlılık birkaç düzeyde sağlanabilir.
Çevirilerin yayılmasını sağlamak#
Çevirilerin yayılmasını sağlamak seçeneği etkinken (varsayılan değer nedir, bilgi almak için: Bileşen yapılandırması), tüm yeni çeviriler dizgeleri eşleşen tüm bileşenlerde kendiliğinden yapılır. Bu tür çeviriler, tüm bileşenlerde çeviriyi yapan geçerli kullanıcının hesabına yazılır.
Not
Çeviri yayılması için, anahtarın tek dilli çeviri biçimleriyle eşleşmesi gerekir. Çeviri anahtarlarını oluştururken bunu aklınızda bulundurun.
Tutarlılık denetimi#
Dizgeler farklı olduğunda Tutarsız denetimi tetiklenir. Bu tür farklılıkları el ile incelemek ve doğru çeviriyi seçmek için bunu kullanabilirsiniz.
Kendiliğinden çeviri#
Farklı bileşenleri temel alan kendiliğinden çeviri, çevirileri bileşenler arasında eşitlemenin bir yöntemi olabilir. El ile tetikleyebilir (bilgi almak için: Kendiliğinden çeviri) veya eklentiyi kullanarak depo güncellemelerinde kendiliğinden çalışmasını sağlayabilirsiniz (bilgi almak için: Kendiliğinden çeviri).
Çeviri lisanslarını belirlemek#
Çevirmenlerin katkıda bulunmak için kabul etmesi gereken lisans koşullarını belirleyebilirsiniz. Bu özellik, herkese açık olan çevirilerin ne amaçla kullanılabileceğini belirlemek özellikle önemlidir.
Bileşen yapılandırması lisans bilgilerini belirtmelisiniz. Yapılabiliyor olsa da, bir katılımcı lisans anlaşmasını zorunlu kılmaktan kaçının.
Lisans bilgileri#
Lisans bilgileri (lisans adı ve adresi) belirtildikten sonra, bu bilgiler ilgili Bileşen yapılandırması için çeviri bilgileri bölümünde görüntülenir.
Genellikle açık bir onay gerekmiyorsa lisans bilgilerini yayınlamak için en iyi yer burasıdır. Projeniz veya çeviriniz özgür değilse, büyük olasılıkla önceden izin almanız gerekir.
Katılımcı anlaşması#
Bir katılımcı lisans anlaşması belirtirseniz, çeviriye yalnızca bunu kabul eden kullanıcılar katkıda bulunabilir. Katılımcı anlaşması çeviriye erişirken açıkça görülebilir:

Yazılan metinde paragraflar kullanılabilir ve dış bağlantılar eklenebilir. HTML kod imleri kullanılamaz.
Kullanıcı lisansları#
Herhangi bir kullanıcı, bulut sunucusunda herkese açık tüm projelerin tüm çeviri lisanslarını profilinde inceleyebilir:

Çeviri süreci#
Öneriler oylanabilsin#
Varsayılan olarak herkes, oturum açmış kullanıcılar tarafından değerlendirilebilecek öneriler ekleyebilir. Öneri oylama özelliği açılarak oturum açmış birkaç kullanıcının bir dizgeyi değerlendirmesi sağlanabilir. :ref:’component` için Öneriler oylanabilsin seçeneğini açmak ve önerilerin onaylanması için bir eşik belirlemek üzere Öneriler kendiliğinden onaylansın (bu, önerilmişse öneriyi yapan kullanıcının oyunu da içerir) seçeneği ayarlanabilir.
Not
Kendiliğinden onaylama ayarlandıktan sonra, normal kullanıcılar çevirileri doğrudan kaydetme ya da önerileri onaylama yetkisini kaybeder. Bu, Öneriler dayatıldığında dizge düzenlenebilsin <privileges> izni ile değiştirilebilir.
Bunları erişim denetimi ile şu kurulumlardan birinde birleştirebilirsiniz:
Kullanıcılar öneride bulunur ve öneriler için oy verir. Sınırlı bir grup neyin onaylanacağını denetler. - Oylamayı açın. - Kendiliğinden onaylamayı kapatın. - Kullanıcıların çevirileri kaydetmesine izin vermeyin.
Kullanıcılar, belirtilen sayıda onay verdikten sonra öneri kendiliğinden onaylanır. - Oylamayı açın. - Kendiliğinden onay için istenilen oy sayısını ayarlayın.
Öneriler için isteğe bağlı oylama. (İsteğe bağlı olarak, kullanıcılar bir çeviriden emin olmadıklarında birkaç öneride bulunabilir) - Yalnızca oylamayı açın.
Kaynak dizgeler ile ilgili ek bilgiler#
Dizgelere açıklamalar, dizge öncelikleri, denetim imleri ve görsel bağlam gibi ek bilgiler ekleyerek çeviri işlemini geliştirin. Bu bilgilerin bazıları çeviri dosyalarından çıkarılabilir ve bazıları ek dizge bilgileri düzenlenerek eklenebilir:

Bunlara doğrudan çeviri arayüzünden Ekran görüntüsü bağlamı ya da İmler yanındaki “Düzenle” simgesine tıklayarak erişebilirsiniz.

Ayrıca bakınız
Dizge önceliklendirme#
Öncelik
imi kullanılarak daha yüksek önceliği olan dizgelerin daha önce çevrilmek üzere sunulması sağlanabilir.
İpucu
Bu seçenek, çeviri akışını belirli bir mantığa göre sıralamak için kullanılabilir.
Ayrıca bakınız
Çeviri imleri#
3.3 sürümünde değişti: Daha önce Kalite denetimi imleri olarak adlandırılan bu im, artık yalnızca denetimleri yapılandırmıyor.
Kalite denetimlerinin ve diğer Weblate davranışlarının özelleştirilmesi. Bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek.
Dizge imleri Bileşen yapılandırması içindeki Çeviri imleri ögesinden ve çeviri dosyasındaki imlerden alınır (bilgi almak için: Desteklenen dosya biçimleri).
Ayrıca bakınız
Kalite denetimleri, Parametreleri kullanarak davranışı özelleştirmek
Açıklama#
4.1 sürümünde değişti: Önceki sürümlerde buna Ek bağlam deniyordu.
4.18 sürümünde değişti: Açıklamayı bir dosyayla eşitleme özelliği eklendi.
Çevirinin kapsamını veya kullanımını netleştirmek için açıklamayı kullanın. Bağlantıları ve diğer kod imlerini eklemek için Markdown kullanabilirsiniz.
Bazı dosya biçimleri dosya içine açıklama eklenmesini destekler. Bilgi almak için: Açıklama.
İpucu
Weblate, bazı biçimler için çeviri dosyasında bulunan açıklamayı da görüntüleyebilir. Bilgi almak için: Kaynak dizge açıklaması.
Dizgeler için görsel bağlam#
Uygulamanızda kullanılan belirli bir kaynak dizgeyi gösteren bir ekran görüntüsü yükleyebilirsiniz. Bu seçenek, çevirmenlerin dizgenin nerede kullanıldığını ve nasıl çevrilmesi gerektiğini anlamalarına yardımcı olur.
Yüklenen ekran görüntüsü, çeviri bağlamı yan çubuğunda görüntülenir:

Kaynak dizgeler ile ilgili ek bilgiler ögesine ek olarak, ekran görüntülerinin Araçlar menüsü altında ayrı bir yönetim bölümü vardır. Ekran görüntülerini yükleyebilir, bunları el ile kaynak dizgelerle ilişkilendirebilir ya da optik karakter tanımadan yardım alabilirsiniz.
Bir ekran görüntüsü yüklendikten sonra, bu bölümden yönetimi ve kaynak dizge ile ilişkilendirilmesi yapılabilir:

Doğrudan sürüm denetimi sistemi (VCS) deponuzdan ekran görüntüleri ekleyebilir veya güncelleyebilirsiniz.
Bu özelliği etkinleştirmek için, bir bileşen oluştururken depodaki güncellemeler için izlenecek bir ekran görüntüsü dosya maskesi ayarlayabilir veya el ile yükleyerek ekran görüntüleri ekleyebilir ya da güncelleyebilirsiniz.
Depo güncellendiğinde, sistem değişiklikleri otomatik olarak tarar. Depodaki var olan ekran görüntüleri güncellenir ve belirtilen ekran görüntüsü dosya maskesiyle eşleşen yeni ekran görüntüleri bileşene eklenir.

Ayrıca bakınız
Denetimler ve düzeltmeler#
Özel kendiliğinden düzeltmeler#
Standart olanların yanında özel kendiliğinden düzeltmeleri de uygulayabilir ve bunları :setting:`AUTOFIX_LIST’ içine ekleyebilirsiniz.
Kendiliğinden düzeltmeler güçlüdür, ancak bozulmaya da neden olabilir; Bunları yazarken dikkatli olun.
Örneğin, şu kendiliğinden düzeltme, bir çevirideki foo` dizgesinin her kopyasını ``bar
ile değiştirir:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
from django.utils.translation import gettext_lazy
from weblate.trans.autofixes.base import AutoFix
class ReplaceFooWithBar(AutoFix):
"""Replace foo with bar."""
name = gettext_lazy("Foobar")
def fix_single_target(self, target, source, unit):
if "foo" in target:
return target.replace("foo", "bar"), True
return target, False
Özel denetimler kurmak için, AUTOFIX_LIST
içinde Python sınıfının tam yolunu belirtin. Bilgi almak için: :ref:`custom-check-modules’.
Parametreleri kullanarak davranışı özelleştirmek#
İmleri kullanarak Weblate davranışında ince ayarlar yapabilirsiniz. İmler çevirmenlere görsel bildirim sağlayarak çeviriyi iyileştirmelerine yardımcı olur. Bu işlem kaynak dizge düzeyinde (bilgi almak için: Kaynak dizgeler ile ilgili ek bilgiler) ya da Bileşen yapılandırması (Çeviri imleri) içinde yapılabilir. Bazı dosya biçimleri, imlerin doğrudan biçimde belirtilmesini de sağlar (bilgi almak için: Desteklenen dosya biçimleri.
İmler virgül ile ayrılır. Parametreleri varsa iki nokta üst üste ile ayrılır. Dizgeye boşluk veya özel karakterler eklemek için tırnak işaretleri kullanabilirsiniz. Örneğin:
placeholders:"special:value":"other value", regex:.*
Hem tek hem de çift tırnak işaretleri kabul edilir. Ters bölü kullanılarak özel karakterlerden kaçılır:
placeholders:"quoted \"string\"":'single \'quoted\''
placeholders:r"^#*"
Çevirmenlerin bir Markdown belgesinin başlığını değiştirmediğini doğrulamak için: ‘### Index’ dizgesi ‘# Indice’ olarak çevrilirse denetim başarısız olur
placeholders:r"\]\([^h].*?\)"
İç bağlantıların çevrilmediğinden emin olmak için ([test](../checks), [test](../chequeos) olarak çevrilmez.
Kullanılabilecek imlerin listesi şu şekildedir:
rst-text
Bir metnin reStructuredText belgesi olarak işlenmesini sağlar. Çeviri değiştirilmemiş parametresini etkiler.
dos-eol
Unix satır sonu karakterleri yerine DOS karakterlerinin kullanılmasını sağlar (
\n
yerine\r\n
).read-only
Dizgenin salt okunur olduğunu ve Weblate üzerinde düzenlenemeyeceğini belirler. Bilgi almak için: Salt okunur dizgeler.
terminology
Sözlük içinde kullanılır. Dizgeyi tüm sözlük dillerine kopyalar. Böylece dizge tüm çevirilerde tutarlı bir şekilde kullanılabilir. Ayrıca, örneğin ürün adlarında
read-only
ile birlikte kullanışlıdır.priority:N
Dizgenin önceliğini belirler. Yüksek öncelikli dizgeler daha çevrilir. Varsayılan öncelik değeri: 100. Bir dizgenin önceliği ne kadar yüksekse, o kadar önce çevrilmek üzere sunulur.
max-length:N
Bir dizgenin en fazla uzunluğunu N karakter olarak sınırlandırır. Bilgi almak için: :ref:`check-max-length.
xml-text
Metnin XML belgesi olarak işlenmesini sağlar. XML söz dizimi ve XML kodlaması parametrelerini etkiler.
font-family:NAME
Görselleştirme denetimleri için yazı tipi ailesini belirler. Bilgi almak için: Yazı tiplerini yönetmek.
font-weight:WEIGHT
Görselleştirme denetimleri için yazı koyuluğunu belirler. Bilgi almak için: Yazı tiplerini yönetmek.
font-size:SIZE
Görselleştirme denetimleri için yazı boyutunu belirler. Bilgi almak için: Yazı tiplerini yönetmek.
font-spacing:SPACING
Görselleştirme denetimleri için harf aralığını belirler. Bilgi almak için: :ref:`fonts’.
icu-flags:FLAGS
ICU MessageFormat kalite denetiminin davranışını özelleştirecek imleri belirler.
icu-tag-prefix:PREFIX
check-java-messageformat kalite denetimi için XML kod imlerinin gerekli olan ön ekini belirler.
placeholders:NAME:NAME2:...
Çeviride beklenen yer belirtici dizgeleri belirler. Bilgi almak için: :ref:’check-placeholders`.
replacements:FROM:TO:FROM2:TO2...
Ortaya çıkan metin parametreleri denetlenirken yapılacak değişiklikleri belirler (Çevirinin en fazla uzunluğu ya da Çevirinin en fazla uzunluğu gibi). Tipik kullanım örneği, metnin uzun değerlerle bile sığdığından emin olmak için yerleştirilebilir ögelerin genişletilmesidir. Örnek:
replacements:%s:”Ali Kaya”
.variants:SOURCE
Bu dizgenin, eşleşen kaynağın bir dizge çeşidi olarak imlenmesini sağlar. Bilgi almak için: :ref:’variants`.
regex:REGEX
Çevirilerin eşleştirileceği kurallı ifadeyi belirtir. Bilgi almak için: Kurallı ifade.
forbidden
Bir sözlükte yasaklanmış bir çeviriyi belirtir. Bilgi almak için: Yasaklı çeviriler.
strict-same
“Değiştirilmemiş çeviri” içinde iç kara listedeki sözcüklerin kullanmasını engeller. Bilgi almak için: Çeviri değiştirilmemiş.
check-glossary
Sözlük ile uyumlu değil kalite denetimini etkinleştirir.
angularjs-format
AngularJS değer ekleme dizgesi kalite denetimini etkinleştirir.
c-format
C biçimi kalite denetimini etkinleştirir.
c-sharp-format
C# biçimi kalite denetimini etkinleştirir.
es-format
ECMAScript kalıbı sabitleri kalite denetimini etkinleştirir.
i18next-interpolation
i18next değer eklemesi kalite denetimini etkinleştirir.
icu-message-format
ICU MessageFormat kalite denetimini etkinleştirir.
java-printf-format
Java biçimi kalite denetimini etkinleştirir.
java-format
Java MessageFormat kalite denetimini etkinleştirir.
javascript-format
JavaScript biçimi kalite denetimini etkinleştirir.
lua-format
Lua biçimi kalite denetimini etkinleştirir.
object-pascal-format
Object Pascal biçimi kalite denetimini etkinleştirir.
percent-placeholders
Yüzde yer belirticileri kalite denetimini etkinleştirir.
perl-format
Perl biçimi kalite denetimini etkinleştirir.
php-format
PHP biçimi kalite denetimini etkinleştirir.
python-brace-format
Python parantez biçimi kalite denetimini etkinleştirir.
python-format
Python biçimi kalite denetimini etkinleştirir.
qt-format
Qt biçimi kalite denetimini etkinleştirir.
qt-plural-format
Qt çoğul biçimi kalite denetimini etkinleştirir.
ruby-format
Ruby biçimi kalite denetimini etkinleştirir.
scheme-format
Şema biçimi kalite denetimini etkinleştirir.
vue-format
Vue I18n biçimlendirmesi kalite denetimini etkinleştirir.
md-text
Metnin Markdown belgesi olarak işlenmesini sağlar. Çeviri metni alanında markdown sözdizimi vurgulanır. Markdown bağlantıları, Markdown başvuruları ve Markdown söz dizimi kalite denetimlerini etkinleştirir.
case-insensitive
Denetim davranışını büyük/küçük harfe duyarlı olmayacak şekilde ayarlar. Şu anda yalnızca Yer belirticiler kalite denetimini etkiler.
safe-html
Güvenli olmayan HTML kalite denetimini etkinleştirir.
url
Dizge yalnızca bir adresten oluşmalıdır. Adres kalite denetimini etkinleştirin.
ignore-all-checks
Tüm kalite denetimlerini yok sayar.
ignore-bbcode
BBCode kodlaması kalite denetimini atlar.
ignore-duplicate
Art arda yinelenen sözcükler var kalite denetimini atlar.
ignore-check-glossary
Sözlük ile uyumlu değil kalite denetimini atlar.
ignore-double-space
Çift boşluk kalite denetimini atlar.
ignore-angularjs-format
AngularJS değer ekleme dizgesi kalite denetimini atlar.
ignore-c-format
C biçimi kalite denetimini atlar.
ignore-c-sharp-format
C# biçimi kalite denetimini atlar.
ignore-es-format
ECMAScript kalıbı sabitleri kalite denetimini atlar.
ignore-i18next-interpolation
check-i18next-format kalite denetimini atlar.
ignore-icu-message-format
ICU MessageFormat kalite denetimini atlar.
ignore-java-printf-format
Java biçimi kalite denetimini atlar.
ignore-java-format
Java MessageFormat kalite denetimini atlar.
ignore-javascript-format
JavaScript biçimi kalite denetimini atlar.
ignore-lua-format
Lua biçimi kalite denetimini atlar.
ignore-object-pascal-format
Object Pascal biçimi kalite denetimini atlar.
ignore-percent-placeholders
Yüzde yer belirticileri kalite denetimini atlar.
ignore-perl-format
Perl biçimi kalite denetimini atlar.
ignore-php-format
PHP biçimi kalite denetimini atlar.
ignore-python-brace-format
Python parantez biçimi kalite denetimini atlar.
ignore-python-format
Python biçimi kalite denetimini atlar.
ignore-qt-format
Qt biçimi kalite denetimini atlar.
ignore-qt-plural-format
Qt çoğul biçimi kalite denetimini atlar.
ignore-ruby-format
Ruby biçimi kalite denetimini atlar.
ignore-scheme-format
Şema biçimi kalite denetimini atlar.
ignore-vue-format
Vue I18n biçimlendirmesi kalite denetimini atlar.
ignore-translated
Çevrilmiş kalite denetimini atlar.
ignore-inconsistent
Tutarsız kalite denetimini atlar.
ignore-kashida
Kashida harfi kullanılmış kalite denetimini atlar.
ignore-md-link
Markdown bağlantıları kalite denetimini atlar.
ignore-md-reflink
Markdown başvuruları kalite denetimini atlar.
ignore-md-syntax
Markdown söz dizimi kalite denetimini atlar.
ignore-max-length
Çevirinin en fazla uzunluğu kalite denetimini atlar.
ignore-max-size
Çevirinin en fazla uzunluğu kalite denetimini atlar.
ignore-escaped-newline
\n aynı değil kalite denetimini atlar.
ignore-end-colon
İki nokta üst üste farklı kalite denetimini atlar.
ignore-end-ellipsis
Üç nokta karakteri farklı kalite denetimini atlar.
ignore-end-exclamation
Ünlem işareti farklı kalite denetimini atlar.
ignore-end-stop
Nokta işareti farklı kalite denetimini atlar.
ignore-end-question
Soru işareti farklı kalite denetimini atlar.
ignore-end-semicolon
Noktalı virgül farklı kalite denetimini atlar.
ignore-newline-count
Satır sonları farklı kalite denetimini atlar.
ignore-plurals
Çoğul biçim eksik kalite denetimini atlar.
ignore-placeholders
Yer belirticiler kalite denetimini atlar.
ignore-punctuation-spacing
Noktalama aralığı kalite denetimini atlar.
ignore-regex
Kurallı ifade kalite denetimini atlar.
ignore-reused
Yeniden kullanılan çeviri kalite denetimini atlar.
ignore-same-plurals
Tekil ile çoğul biçim aynı kalite denetimini atlar.
ignore-begin-newline
Başta yeni satır var kalite denetimini atlar.
ignore-begin-space
Baştaki boşluk kalite denetimini atlar.
ignore-end-newline
Sondaki yeni satır kalite denetimini atlar.
ignore-end-space
Sondaki boşluk kalite denetimini atlar.
ignore-same
Çeviri değiştirilmemiş kalite denetimini atlar.
ignore-safe-html
Güvenli olmayan HTML kalite denetimini atlar.
ignore-url
Adres kalite denetimini atlar.
ignore-xml-tags
XML kodlaması kalite denetimini atlar.
ignore-xml-invalid
XML söz dizimi kalite denetimini atlar.
ignore-zero-width-space
Sıfır genişlikli boşluk kalite denetimini atlar.
ignore-ellipsis
Üç nokta kalite denetimini atlar.
ignore-icu-message-format-syntax
ICU MessageFormat söz dizimi kalite denetimini atlar.
ignore-long-untranslated
Uzun süredir çevrilmemiş kalite denetimini atlar.
ignore-multiple-failures
Birden çok denetim hatası kalite denetimini atlar.
ignore-unnamed-format
Birden çok değişken adlandırılmamış kalite denetimini atlar.
ignore-optional-plural
Çoğul değil kalite denetimini atlar.
Not
Kural genellikle, belirteci kullanılarak herhangi bir denetim için ìgnore-*` olarak adlandırılır. Böylece bunu kendi özel denetimleriniz için bile kullanabilirsiniz.
Bu imler hem Bileşen yapılandırması ayarlarında, her kaynak dizge ayarı için hem de çeviri dosyasının kendisinde (GNU gettext gibi) anlaşılır.
Denetimleri dayatmak#
3.11 sürümünde geldi.
Bileşen yapılandırması içinde Zorunlu denetimler ayarını yaparak yok sayılmayacak denetimlerin listesini yapılandırabilirsiniz. Listelenen denetimler kullanıcı arayüzünden kapatılamaz ve bu denetimde hatalı bulunan dizgeler Düzenlenmesi gerekli olarak imlenir (bilgi almak için: :ref:`states’).
Not
Denetim dayatması kendiliğinden açılmaz. Denetim, dizge ya da bileşen imlerine karşılık gelen im eklenerek açılabilir.
Ayrıca bakınız
Yazı tiplerini yönetmek#
3.7 sürümünde geldi.
İpucu
Weblate üzerine yüklenen yazı tipleri yalnızca Çevirinin en fazla uzunluğu denetimi için kullanılır. Weblate kullanıcı arayüzünde bir etkisi yoktur.
İşlenen metnin boyutlarını hesaplamak için kullanılan Çevirinin en fazla uzunluğu denetiminin yazı tipinin Weblate üzerine yüklenmesi ve bir çeviri imi kullanılarak seçilmesi gerekir (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek).
Çeviri projenizin Yönetim menüsü altındaki Yazı tipleri içindeki Weblate yazı tipi yönetimi aracı, yazı tiplerinin yüklenip yönetilebileceği bir arayüz sağlar. TrueType veya OpenType yazı tipleri yüklenebilir, yazı tipi grupları ayarlanabilir ve bunlar denetimde kullanılabilir.
Yazı tipi grupları, genellikle Latince olmayan farklı diller için gerekli olan farklı yazı tiplerini tanımlanmanızı sağlar:

Yazı tipi grupları, boşluk veya özel karakterler içeremeyen bir ad ile tanımlanır. Böylece denetim tanımında kolayca kullanılabilir:

Yazı tipi ailesi ve biçemi, yüklendikten sonra kendiliğinden tanınır:

Weblate üzerine çeşitli yazı tipleri yükleyebilirsiniz:

Dizge uzunluğunu denetleme üzere yazı tiplerini kullanmak için, uygun imleri aktarın (bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek). Büyük olasılıkla şunlara gerek duyacaksınız:
max-size:500
En fazla genişliği piksel olarak belirler.
font-family:ubuntu
Belirteci ile kullanılacak yazı tipi grubunu tanımlar.
font-size:22
Yazı boyutunu piksel olarak tanımlar.
Kendi denetimlerinizi oluşturmak#
Çok çeşitli kalite denetimleri hazır olarak bulunur (bilgi almak için: Kalite denetimleri). Ancak denetlemek istediğiniz her şey kapsanmamış olabilir. Yapılabilecek denetimlerin listesi CHECK_LIST
kullanılarak ayarlanabilir. Ayrıca kendi özel denetimlerinizi de ekleyebilirsiniz.
weblate.checks.Check alt sınıfı
Birkaç öznitelik ayarlayın.
check
(kodunuzdaki çoğulları işlemek istiyorsanız) ya dacheck_single
yöntemini uygulayın (sizin için hangisi işe yarıyorsa).
Bazı örnekler:
Özel denetimler kurmak için, CHECK_LIST
içinde Python sınıfının tam yolunu belirtin. Bilgi almak için: :ref:`custom-check-modules’.
“foo” içermeyen çeviri metinlerini denetlemek#
Çeviride “foo” dizgesinin eksik olup olmadığına bakan basit bir denetim.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Simple quality check example."""
from django.utils.translation import gettext_lazy
from weblate.checks.base import TargetCheck
class FooCheck(TargetCheck):
# Used as identifier for check, should be unique
# Has to be shorter than 50 characters
check_id = "foo"
# Short name used to display failing check
name = gettext_lazy("Foo check")
# Description for failing check
description = gettext_lazy("Your translation is foo")
# Real check code
def check_single(self, source, target, unit):
return "foo" in target
Çekçe çeviri metinlerinde çoğulların farklı olup olmadığı denetlemek#
Çekçe iki çoğul biçimin aynı olmadığını doğrulamak için dil bilgilerini kullanan denetim.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Quality check example for Czech plurals."""
from django.utils.translation import gettext_lazy
from weblate.checks.base import TargetCheck
class PluralCzechCheck(TargetCheck):
# Used as identifier for check, should be unique
# Has to be shorter than 50 characters
check_id = "foo"
# Short name used to display failing check
name = gettext_lazy("Foo check")
# Description for failing check
description = gettext_lazy("Your translation is foo")
# Real check code
def check_target_unit(self, sources, targets, unit):
if self.is_language(unit, ("cs",)):
return targets[1] == targets[2]
return False
def check_single(self, source, target, unit):
"""We don't check target strings here."""
return False
Kendiliğinden önerileri yapılandırmak#
4.13 sürümünde değişti: Weblate 4.13 sürümünden önce, hizmetler Yapılandırma içinden yapılandırılıyordu.
Çeşitli makine çevirisi ve çeviri belleği hizmetlerinin desteği içeriden sağlanır. Her hizmet, yönetici tarafından tüm site için ya da projeye özel olarak açılabilir:

Not
Hizmetlerin kendi kullanım koşulları olduğundan, bunları istediğiniz gibi kullanmanıza izin verildiğinden emin olun.
Hizmetler, Bileşen yapılandırması konumunda yapılandırılmış kaynak dilden çeviri yapar. Bilgi almak için: :ref:`component-source_language’.
Ayrıca bakınız
Amagama#
- Hizmet kimliği:
amagama
- Yapılandırma:
Bu eklentinin yapılandırması yok.
Virtaal geliştiricileri tarafından işletilen özel tmserver kurulumu.
Ayrıca bakınız
Apertium APy#
- Hizmet kimliği:
apertium-apy
- Yapılandırma:
url
API adresi
Sınırlı bir dil kümesine çeviri sağlayan bir özgür yazılım makine çevirisi platformu.
Apertium kullanmak için kendi Apertium-APy sunucunuzu işletmeniz önerilir.
Ayrıca bakınız
AWS#
3.1 sürümünde geldi.
- Hizmet kimliği:
aws
- Yapılandırma:
key
Erişim anahtarı kimliği
secret
API gizli anahtarı
region
Bölge adı
Amazon Translate, desteklenen çok sayıda dilde İngilizce’ye ve İngilizce’den metin çevirme için kullanılabilecek bir nöral makine çevirisi hizmetidir.
Ayrıca bakınız
Baidu#
3.2 sürümünde geldi.
- Hizmet kimliği:
baidu
- Yapılandırma:
key
İstemci kimliği
secret
İstemci parolası
Baidu tarafından sunulan makine çevirisi hizmeti.
Bu hizmet bir API kullanır ve bunu kullanmak için Baidu üzerinden bir kimlik ve API anahtarı edinmeniz gerekir.
Ayrıca bakınız
DeepL#
- Hizmet kimliği:
deepl
- Yapılandırma:
url
API adresi
key
API anahtarı
DeepL, birkaç dil için iyi makine çevirisi sağlayan ücretli bir hizmettir. DeepL API aboneliği satın almanız gerekir veya eski DeepL Pro (klasik) tarifesini kullanabilirsiniz.
DeepL hizmetiyle kullanılacak API adresi. Bu bilgi yazıldığında, API v1 yanında ücretsiz ve ücretli API v2 sürümleri bulunuyordu.
https://api.deepl.com/v2/
(Weblate içinde varsayılan)Ücretli olarak API kullanımı içindir ve abonelik yöntemi uygulanır.
https://api-free.deepl.com/v2/
Ücretsiz olarak API kullanımı içindir ve abonelik yöntemi uygulanır.
https://api.deepl.com/v1/
CAT araçları içindir ve kullanıcı başına abonelik yöntemi uygulanır.
Weblate daha önce, DeepL tarafından bir CAT aracı olarak sınıflandırılmıştı. Bu nedenle API v1 kullanması gerekiyordu. Ancak şimdi API v2 kullanması gerekiyor. Bu nedenle, v2 varsayılan değerdir ve var olan bir CAT aboneliğiniz varsa ve Weblate tarafından bunun kullanılmasını istiyorsanız bu değeri v1 olarak değiştirebilirsiniz.
Hangisini kullanacağınızı öğrenmenin en kolay yolu, tarayıcınızda aşağıdakine benzer bir adres açmaktır:
https://api.deepl.com/v2/translate?text=Hello&target_lang=TR&auth_key=XXX
XXX yerine kimlik doğrulama anahtarınızı (auth_key) yazın. “Bonjour” içeren bir JSON nesnesi alırsanız adresiniz doğrudur. Yoksa, diğer üçünü deneyin.
Weblate, DeepL resmilik düzeyini destekler ve dile göre eşleşen birini seçer (örneğin, “de@formal” ve “de@informal” seçenekleri vardır).
Ayrıca bakınız
Glosbe#
- Hizmet kimliği:
glosbe
- Yapılandırma:
Bu eklentinin yapılandırması yok.
Hemen hemen yaşayan her dil için ücretsiz sözlük ve çeviri belleği.
API kullanımı ücretsizdir. Ancak çevirilerin kullanımı, kullanılan veri kaynağının lisansına bağlıdır. Kötüye kullanımı önlemek için bir IP adresinden belirli bir süre içinde yapılabilecek çağrılar sınırlıdır.
Ayrıca bakınız
Google Translate#
- Hizmet kimliği:
google-translate
- Yapılandırma:
key
API anahtarı
Google tarafından sunulan makine çevirisi hizmeti.
Bu hizmet, Google Çeviri API uygulamasını kullanır. Bir API anahtarı edinmeli ve Google API konsolundan faturalamayı açmalısınız.
Ayrıca bakınız
Google Translate API v3#
- Hizmet kimliği:
google-translate-api-v3
- Yapılandırma:
credentials
Google Çeviri hizmeti hesap bilgileri
project
Google Çeviri projesi
location
Google Çeviri konumu
Google Cloud hizmetleri tarafından sunulan makine çevirisi hizmeti.
LibreTranslate#
4.7.1 sürümünde geldi.
- Hizmet kimliği:
libretranslate
- Yapılandırma:
url
API adresi
key
API anahtarı
LibreTranslate, ücretsiz ve açık kaynaklı bir makine çevirisi hizmetidir. Herkese açık kopya için bir API anahtarı gerekir. Ancak LibreTranslate hizmetini kendiniz barındırabilirsiniz ve API uygulamasını ücretsiz olarak kullanabileceğini birkaç yansı bulunur.
https://libretranslate.com/
(resmi herkese açık kopya)Web sitesi dışında kullanmak için bir API anahtarı gerekir.
Ayrıca bakınız
LibreTranslate sitesi, LibreTranslate deposu, LibreTranslate yansıları
Microsoft Terminology#
- Hizmet kimliği:
microsoft-terminology
- Yapılandırma:
Bu eklentinin yapılandırması yok.
Microsoft Terminoloji hizmeti API uygulaması, Dil portalı üzerinde bulunan terminoloji, tanım ve kullanıcı arayüzü (UI) dizgelerine bir internet hizmeti üzerinden programlama ile erişmenizi sağlar.
Ayrıca bakınız
Microsoft Translator#
- Hizmet kimliği:
microsoft-translator
- Yapılandırma:
key
API anahtarı
base_url
Uygulama temel adresi
Kullanılabilecek seçenekler:
api.cognitive.microsofttranslator.com
– Küresel (bölgesiz)api-apc.cognitive.microsofttranslator.com
– Asya Pasifikapi-eur.cognitive.microsofttranslator.com
– Avrupaapi-nam.cognitive.microsofttranslator.com
– Kuzey Amerikaapi.translator.azure.cn
– Çinapi.cognitive.microsofttranslator.us
– Azure ABD hükümeti bulutuendpoint_url
Kimlik doğrulama hizmeti adresi
Bölgesel ya da çoklu hizmet, aşağıdaki bölge alanı kullanılarak belirtilebilir.
Kullanılabilecek seçenekler:
api.cognitive.microsoft.com
– Genelapi.cognitive.azure.cn
– Çinapi.cognitive.microsoft.us
– Azure ABD hükümeti buluturegion
Kimlik doğrulama hizmeti bölgesi
Microsoft tarafından Azure portalında Cognitive Services altında sunulan makine çevirisi hizmeti.
Weblate, Translator API V3 kullanır.
Translator Text API V2#
Translator API V2 ile kullandığınız anahtar, API 3 ile de kullanılabilir.
Translator Text API V3#
Azure portalında bir hesap açmanız ve oradan alacağınız anahtarı kullanmanız gerekir. Yeni Azure anahtarlarıyla, region
seçeneği için hizmetinizin yerel ayarını belirtmeniz gerekir.
İpucu
Azure Çin için lütfen Azure Portal üzerindeki uç noktanızı kullanın.
ModernMT#
4.2 sürümünde geldi.
- Hizmet kimliği:
modernmt
- Yapılandırma:
url
API adresi
key
API anahtarı
Ayrıca bakınız
MyMemory#
- Hizmet kimliği:
mymemory
- Yapılandırma:
email
İletişim e-posta adresi
username
Kullanıcı adı
key
API anahtarı
Makine çevirisi ile çok büyük bir çeviri belleği.
Ücretsiz, anonim kullanım şu anda günde 100 istek ya da email
içine bir iletişim e-posta adresi yazdığınızda günde 1.000 istek ile sınırlıdır. Ayrıca onlara yazarak daha fazlasını da isteyebilirsiniz.
Ayrıca bakınız
Netease Sight#
3.3 sürümünde geldi.
- Hizmet kimliği:
netease-sight
- Yapılandırma:
key
İstemci kimliği
secret
İstemci parolası
NetEase tarafından sunulan makine çevirisi hizmeti.
Bu hizmet bir API kullanır ve bir NetEase anahtarı ile parolası edinmeniz gerekir.
Ayrıca bakınız
SAP Translation Hub#
- Hizmet kimliği:
sap-translation-hub
- Yapılandırma:
url
API adresi
key
API anahtarı
username
SAP kullanıcı adı
password
SAP parolası
enable_mt
Makine çevirisi kullanılsın
domain
Çeviri etki alanı
Bir çeviri etki alanının kimliği. Örnek: BC. Bir etki alanı belirtmezseniz, yöntem kullanılabilir tüm etki alanlarındaki çevirileri arar.
SAP tarafından sunulan makine çevirisi hizmeti.
Bu hizmeti kullanmak için bir SAP hesabınızın (ve SAP Cloud Platform üzerinde etkinleştirilmiş SAP Translation Hub) olması gerekir.
Veri tabanı terimine ek olarak, makine çevirisi hizmetlerinin de kullanılıp kullanılmayacağını yapılandırabilirsiniz.
Not
Sandbox API erişimi için url
ve key
değerlerini ayarlamalısınız.
Üretken API erişimi için url
, username
ve password
seçeneklerini ayarlamalısınız.
tmserver#
- Hizmet kimliği:
tmserver
- Yapılandırma:
url
API adresi
Translate-toolkit ile birlikte geleni kullanarak kendi çeviri belleği sunucunuzu işletebilir ve Weblate ile konuşmasına izin verebilirsiniz. Ayrıca, geliştirilmiş bir tmserver sürümü olan bir amaGama sunucusu ile de kullanabilirsiniz.
Önce çeviri belleği içine bazı verileri aktarmak isteyeceksiniz:
build_tmdb -d /var/lib/tm/db -s en -t cs locale/cs/LC_MESSAGES/django.po
build_tmdb -d /var/lib/tm/db -s en -t de locale/de/LC_MESSAGES/django.po
build_tmdb -d /var/lib/tm/db -s en -t fr locale/fr/LC_MESSAGES/django.po
İsteklerinizi dinlemek üzere tmserver uygulamasını başlatın:
tmserver -d /var/lib/tm/db
İletişim kurmak için gereken Weblate yapılandırmasını ayarlayın. Varsayılan adres:
http://localhost:8888/tmserver/
.
Ayrıca bakınız
tmserver Installing amaGama, Amagama, Amagama çeviri belleği
IBM Watson Language Translator#
- Hizmet kimliği:
ibm
- Yapılandırma:
url
API adresi
key
API anahtarı
IBM Watson Language Translator, metni bir dilden diğerine çevirir. Hizmet, etki alanına özgü birden çok model sunar.
Ayrıca bakınız
Weblate#
- Hizmet kimliği:
weblate
- Yapılandırma:
Bu eklentinin yapılandırması yok.
Weblate makine çevirisi hizmeti, Weblate içinde zaten çevrilmiş olan dizgeler ile ilgili çevirileri sunabilir. Var olan dizgelerdeki tam eşleşmeleri arar.
Weblate Çeviri Belleği#
- Hizmet kimliği:
weblate-translation-memory
- Yapılandırma:
Bu eklentinin yapılandırması yok.
Makine çevirisi hizmeti olarak Çeviri belleği kullanır. Geçmişte çevrilmiş (ya da çeviri belleğine yüklenmiş) herhangi bir dizge bu şekilde çevrilebilir.
Yandex#
- Hizmet kimliği:
yandex
- Yapılandırma:
key
API anahtarı
Yandex tarafından sunulan makine çevirisi hizmeti.
Bu hizmet bir Translation API uygulaması kullanır ve Yandex üzerinden bir API anahtarı edinmeniz gerekir.
Ayrıca bakınız
Youdao Zhiyun#
3.2 sürümünde geldi.
- Hizmet kimliği:
youdao-zhiyun
- Yapılandırma:
key
İstemci kimliği
secret
İstemci parolası
Youdao tarafından sunulan makine çevirisi hizmeti.
Bu hizmet bir API uygulaması kullanır ve Youdao üzerinden bir kimlik ve API anahtarı edinmeniz gerekir.
Ayrıca bakınız
Özel makine çevirisi#
Birkaç satır Python kodu kullanarak kendi makine çevirisi hizmetlerinizi de kullanabilirsiniz. Bu örnek, dictionary
Python modülünü kullanarak sabit bir dil listesinde makine çevirisi yapar:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Machine translation example."""
import dictionary
from weblate.machinery.base import MachineTranslation
class SampleTranslation(MachineTranslation):
"""Sample machine translation interface."""
name = "Sample"
def download_languages(self):
"""Return list of languages your machine translation supports."""
return {"cs"}
def download_translations(
self,
source,
language,
text: str,
unit,
user,
search: bool,
threshold: int = 75,
):
"""Return tuple with translations."""
for t in dictionary.translate(text):
yield {"text": t, "quality": 100, "service": self.name, "source": text}
Weblate WEBLATE_MACHINERY
seçeneğinde belirteceğiniz kendi sınıfınızı kullanır.
Eklentiler#
Eklentiler, çeviri iş akışını özelleştirmesi ve kendiliğinden yapılması için yöntemler sağlar. Yöneticiler, her bir çeviri bileşenine Yönetim ↓ Eklentiler menüsünden eklentiler ekleyip yönetebilir.
İpucu
Eklentileri API, DEFAULT_ADDONS
ya da :wladmin:`install_addon kullanarak da yapılandırabilirsiniz.

Hazır eklentiler#
Kendiliğinden çeviri#
3.9 sürümünde geldi.
- Eklenti kimliği:
weblate.autotranslate.autotranslate
- Yapılandırma:
mode
Kendiliğinden çeviri kipi
Kullanılabilecek seçenekler:
suggest
– Öneri olarak eklertranslate
– Çeviri olarak eklerfuzzy
– “Düzenlenmesi gerekli” olarak eklerfilter_type
Arama süzgeci
Lütfen tüm dizgeleri çevirdiğinizde var olan tüm çevirileri yok sayılacağını unutmayın.
Kullanılabilecek seçenekler:
all
– Tüm dizgelernottranslated
– Çevrilmemiş dizgelertodo
– Tamamlanmamış dizgelerfuzzy
– Düzenlenecek olarak imlenmiş dizgelercheck:inconsistent
– Denetim hatası: Tutarsızauto_source
Kendiliğinden yapılmış çevirilerin kaynağı
Kullanılabilecek seçenekler:
others
– Diğer çeviri bileşenlerimt
– Makine çevirisicomponent
Bileşen
Kaynak olarak kullanılacak bir bileşenin kısaltmasını yazın. Geçerli projedeki tüm bileşenlerin kullanılması için boş bırakın.
engines
Makine çevirisi hizmetleri
threshold
Skor eşiği
- Tetikleyiciler:
bileşen güncellemesi, günlük
Makine çevirisini ya da diğer bileşenleri kullanarak dizgeleri kendiliğinden çevirir.
Ne zaman tetiklenir:
Bileşende yeni dizgeler göründüğünde.
Her bileşen için ayda bir kez. :setting:`BACKGROUND_TASKS kullanılarak yapılandırılabilir.
JavaScript yerelleştirme CDN#
4.2 sürümünde geldi.
- Eklenti kimliği:
weblate.cdn.cdnjs
- Yapılandırma:
threshold
Çeviri eşiği
Çevirilerin katılacağı eşik değeri.
css_selector
CSS seçici
Yerelleştirilebilir ögeleri algılamak için CSS seçici.
cookie_name
Dil tanımlama bilgisinin adı
Dil seçiminin kaydedildiği tanımlama bilgisinin adı.
files
Dizgeleri HTML dosyalarından ayıklama
Geçerli depoda ya da uzak adreslerde çevrilebilir dizgeler için işlenecek dosya adlarının listesi.
- Tetikleyiciler:
günlük, depoya işlendikten sonra, depo güncellendikten sonra
JavaScript ya da HTML yerelleştirmesinde kullanılmak üzere içerik dağıtım ağına çevirileri yayınlar.
Statik HTML sayfalarını yerelleştirmek veya JavaScript kodunda yerelleştirmeyi yüklemek için kullanılabilir.
Bileşeniniz için, bunları yerelleştirmek amacıyla HTML sayfalarına ekleyebileceğiniz benzersiz bir adres oluşturur. Bilgi almak için Weblate içerik aktarım ağını kullanarak HTML ve JavaScript çevirmek.
Boş dizgeleri silme#
4.4 sürümünde geldi.
- Eklenti kimliği:
weblate.cleanup.blank
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
depoya işlendikten sonra, depo güncellendikten sonra
Çeviri dosyalarından çevirisi olmayan dizgeleri kaldırır.
Çeviri dosyalarında boş dizgelerin görünmemesi için bunu kullanın (yerelleştirme kitaplığınızın kaynak dizgeyi kullanmak yerine boş dizgeler görüntülemesi gibi durumlarda).
Çeviri dosyalarını temizleme#
- Eklenti kimliği:
weblate.cleanup.generic
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
depoya işlenmeden önce, depo güncellendikten sonra
Tüm çeviri dosyalarını tek dilli temel dosyayla eşleşecek şekilde günceller. Bu işlem çoğu dosya biçiminde temel dosyada artık bulunmayan eski çeviri anahtarlarını kaldırır.
Eksik dilleri ekleme#
- Eklenti kimliği:
weblate.consistency.languages
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
günlük, depoya eklenmesinden sonra
Proje içindeki tüm bileşenler için tutarlı bir dil kümesinin kullanılmasını sağlar.
Eksik diller her 24 saatte bir ve Weblate üzerine yeni diller eklendiğinde denetlenir.
Diğerlerinden farklı olarak, bu eklenti tüm projeyi etkiler.
İpucu
Yeni eklenen dizgeler Kendiliğinden çeviri ile kendiliğinden çevrilir.
Bileşen keşfi#
- Eklenti kimliği:
weblate.discovery.discovery
- Yapılandırma:
match
Çeviri dosyalarıyla eşleştirilecek kurallı ifade
file_format
Dosya biçimi
name_template
Bileşen adını özelleştirme
base_file_template
Tek dil temel dosya adını tanımlama
İki dilli çeviri dosyaları için boş bırakın.
new_base_template
Yeni çeviriler için temel dosyayı tanımlama
Yeni çevirileri oluşturmak için kullanılan dosyanın adı. Gettext için .pot dosyası olarak seçin.
intermediate_template
Ara dil dosyası
Ara çeviri dosyasının adı. Çoğu durumda bu dosya geliştiriciler tarafından sunulan bir çeviri dosyasıdır ve gerçek kaynak dizgeler oluşturulurken kullanılır.
language_regex
Dil süzgeci
Dosya maskesi taranırken çeviri dosyalarını süzmek için kullanılan kurallı ifade.
copy_addons
Ana bileşendeki eklentileri yeni oluşturulanlara kopyalama
remove
Var olmayan dosyalar için bileşenleri kaldırma
confirm
Yukarıdaki eşleşmelerin doğru göründüğünü onaylıyorum
- Tetikleyiciler:
depo güncellenmesinden sonra
Sürüm denetim sistemindeki dosya değişikliklerine göre proje bileşenlerini kendiliğinden ekler ya da siler.
Eşleştirme, karmaşık yapılandırmayı etkinleştiren kurallı ifadeler kullanılarak yapılır. Ancak bunu yapmak için bazı bilgiler gerekir. Yaygın kullanım örnekleri eklenti yardımı bölümünde bulunabilir.
Çeviri dosyalarını eşleştirmek için kurallı ifadede, bileşen ve dili eşleştirmek için iki adlandırılmış grup bulunmalıdır. Kurallı ifadedeki tüm adlandırılmış gruplar, kalıp alanlarında değişken olarak kullanılabilir.
Django kalıbındaki markup kodlarını tüm dosya adı alanlarında kullanabilirsiniz. Örneğin:
{{ component }}
Bileşenin dosya adıyla eşleşir
{{ component|title }}
İlk harfi büyük bileşenin dosya adıyla eşleşir
{{ path }}: {{ component }}
Kurallı ifadedeki özel grup ile eşleşir
Kaydet üzerine tıkladığınızda, yapılandırmanın gereksinimlerinize uyup uymadığını denetleyebileceğiniz biçimde eşleşen bileşenlerin ön izlemesi sunulur:

Bileşen keşfi örnekleri#
Her dil için ayrı klasör#
Her dil için bileşenlerin çeviri dosyalarını içeren ayrı bir klasör kullanılır.
- Kurallı ifade:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po
- Eşleşen dosyalar:
cs/application.po
cs/website.po
de/application.po
de/website.po
Gettext yerelleri görünümü#
Gettext PO dosyalarını kaydetmek için alışılmış yapı.
- Kurallı ifade:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po
- Eşleşen dosyalar:
locale/cs/LC_MESSAGES/application.po
locale/cs/LC_MESSAGES/website.po
locale/de/LC_MESSAGES/application.po
locale/de/LC_MESSAGES/website.po
Karmaşık dosya adları#
Dosya adında hem bileşen hem de dil adını kullanmak.
- Kurallı ifade:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po
- Eşleşen dosyalar:
src/locale/application.cs.po
src/locale/website.cs.po
src/locale/application.de.po
src/locale/website.de.po
Yinelenen dil kodu#
Yol ve dosya adında dili kullanmak.
- Kurallı ifade:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po
- Eşleşen dosyalar:
locale/cs/application/cs.po
locale/cs/website/cs.po
locale/de/application/de.po
locale/de/website/de.po
Ayrılmış Android dizgeleri#
Android kaynak dizgeleri, birkaç dosyaya ayrılmış.
- Kurallı ifade:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml
- Eşleşen dosyalar:
res/values-cs/strings-about.xml
res/values-cs/strings-help.xml
res/values-de/strings-about.xml
res/values-de/strings-help.xml
Birkaç yolu eşleştirmek#
Java öznitelikleri çevirileri ile birkaç modüllü Maven projesi.
- Kurallı ifade:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties
- Bileşen adı:
{{ originalHierarchy }}: {{ component }}
- Eşleşen dosyalar:
parent/module1/submodule/src/main/resources/ApplicationResources_fr.properties
parent/module1/submodule/src/main/resources/ApplicationResource_es.properties
parent/module2/src/main/resources/ApplicationResource_de.properties
parent/module2/src/main/resources/ApplicationResource_ro.properties
İpucu
Bileşen bulma eklentisi İç Weblate adresleri kullanır. Sürüm denetimi sistemi kurulumunu birden çok bileşen arasında paylaşmanın kullanışlı bir yoludur. Bağlı bileşenler, ilgili her bir bileşenin Kaynak kod deposu alanına (Yönetim ↓ Ayarlar ↓ Sürüm denetimi sistemi) weblate://project/main-component
doldurularak kurulan ana bileşenin yerel deposunu kullanır. Böylece yapılandırma ve sistem kaynakları açısından da zaman kazanılır.
Ayrıca bakınız
Toplu düzenleme#
3.11 sürümünde geldi.
- Eklenti kimliği:
weblate.flags.bulk
- Yapılandırma:
q
Sorgu
state
Ayarlanacak durum
Kullanılabilecek seçenekler:
-1
– Değiştirilmesin10
– Düzenlenmesi gerekli20
– Çevrilmiş30
– Onaylanmışadd_flags
Eklenecek çeviri imleri
remove_flags
Kaldırılacak çeviri imleri
add_labels
Eklenecek etiketler
remove_labels
Kaldırılacak etiketler
- Tetikleyiciler:
bileşen güncellemesi
Dizgelerin imlerini, etiketlerini veya durumlarını toplu düzenleyin.
NOT has:label
arama sorgusuyla başlayarak kendiliğinden etiketleme yapın ve tüm dizgelere gerekli tüm etiketler eklenene kadar sürdürün. Weblate üst verileri için başka kendiğinden işlemler de yapılabilir.
Örnekler:
Arama sorgusu |
|
---|---|
Eklenecek etiketler |
son |
Arama sorgusu |
|
---|---|
Eklenecek çeviri imleri |
|
Değiştirilmemiş çevirileri “Düzenlenmesi gerekli” olarak imleme#
3.1 sürümünde geldi.
- Eklenti kimliği:
weblate.flags.same_edit
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
birim oluşturulduktan sonra
Sürüm denetimi sisteminden yeni bir çevrilebilir dizge içe aktarıldığında ve bir kaynak dizgeyle eşleştiğinde, Weblate üzerinde düzenlenmesi gerekli olarak imlenir. Özellikle çevrilmemiş dizgeler için kaynak dizgeleri içeren dosya biçimleri için kullanışlıdır.
İpucu
Ayrıca, Çeviri imleri için strict-same
imini ekleyerek Çeviri değiştirilmemiş denetimini sıkılaştırmak isteyebilirsiniz.
Ayrıca bakınız
Yeni kaynak dizgeleri “Düzenlenmesi gerekli” olarak imleme#
- Eklenti kimliği:
weblate.flags.source_edit
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
birim oluşturulduktan sonra
Sürüm denetimi sisteminden yeni bir kaynak dizge içe her aktarıldığında, Weblete üzerinde düzenlenmesi gerekli olarak imlenir. Böylece geliştiriciler tarafından yazılan kaynak dizgeleri kolayca süzebilir ve düzenleyebilirsiniz.
Ayrıca bakınız
Yeni çevirileri “Düzenlenmesi gerekli” olarak imleme#
- Eklenti kimliği:
weblate.flags.target_edit
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
birim oluşturulduktan sonra
Sürüm denetimi sisteminden yeni bir çevrilebilir dizge içeri her aktarıldığında, Weblate üzerinde düzenlenmesi gerekli olarak imlenir. Böylece geliştiricilerin oluşturduğu çevirileri kolayca süzebilir ve düzenleyebilirsiniz.
Ayrıca bakınız
Fill read-only strings with source#
4.18 sürümünde geldi.
- Eklenti kimliği:
weblate.generate.fill_read_only
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
bileşen güncellemesi, günlük
Fills in translation of read-only strings with source string.
İstatistik oluşturma#
- Eklenti kimliği:
weblate.generate.generate
- Yapılandırma:
filename
Oluşturulacak dosyanın adı
template
Oluşturulacak dosyanın içeriği
- Tetikleyiciler:
depoya işlenmeden önce
Çeviri durumu ile ilgili ayrıntılı bilgiler içeren bir dosya oluşturur.
Hem dosya adında hem de içerikte bir Django kalıbı kullanabilirsiniz. Markup ile ilgili bilgi almak için Kalıp kodlaması bölümüne bakabilirsiniz.
Örneğin, her çeviri için bir özet dosyası oluşturma:
- Oluşturulacak dosyanın adı
locale/{{ language_code }}.json
- İçerik
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Ayrıca bakınız
Çeviriyi kaynak dizgeyle önceden doldurma#
4.11 sürümünde geldi.
- Eklenti kimliği:
weblate.generate.prefill
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
bileşen güncellemesi, günlük
Çeviri dizgelerini kaynak dizgeler ile doldurur.
Bileşendeki tüm çevrilmemiş dizgeler kaynak dizgeyle doldurulur ve düzenlenmesi gerekli olarak imlenir. Çeviri dosyalarında boş dizge kabul edilmediğinde bunu kullanın.
Sözde yerel oluşturma#
4.5 sürümünde geldi.
- Eklenti kimliği:
weblate.generate.pseudolocale
- Yapılandırma:
source
Kaynak dizgeler
target
Hedef çeviri
Bu çevirideki tüm dizgelerin üzerine yazılacak
prefix
Sabit dizge ön eki
var_prefix
Değişken dizge ön eki
suffix
Sabit dizge son eki
var_suffix
Değişken dizge son eki
var_multiplier
Değişken bölüm çarpanı
Kaynak dizgenin uzunluğuna bağlı olarak değişken bölümün kaç kez yineleneceği.
include_readonly
Salt okunur dizgeleri katma
- Tetikleyiciler:
bileşen güncellemesi, günlük
Kaynak dizgelere kendiliğinden ön ek ve son ek ekleyerek çeviri oluşturur.
Sözde yereller, yerelleştirme için hazırlanmamış dizgeleri bulmaya yarar. Böylece, uygulamayı sözde yerel dilde çalıştırırken değiştirilmemiş dizgelerin bulunmasını kolaylaştırmak için tüm çevrilebilir kaynak dizgeleri değiştirilir.
Yerelleştirilmiş karşılıkları görünüme uymayabilecek dizgeler de bulunabilir.
Değişken bölümlerin kullanılması, yerelleştirmeden sonra kullanıcı arabirimine sığmayabilecek dizgelerin bulunmasını sağlar. Metin kaynak dizge uzunluğuna göre genişletilir. Değişken bölümler, metnin uzunluğunun çarpanla çarpılmasıyla yinelenir. Örneğin, değişken son eki _
olan Merhaba dünya
ve değişken çarpanı 1 olduğunda Merhaba dünya___________
olur. Son ek kaynak dizgedeki her karakter için bir kez yinelenir.
Dizgeler şu model kullanılarak oluşturulacak:
Sabit dizge ön eki Değişken dizge ön eki Kaynak dizge Değişken dizge son eki Sabit dizge son eki
İpucu
Deneme için gerçek dilleri kullanabilirsiniz. Bunun yanında Weblate üzerinde en_XA ve ar_XB gibi bu iş için ayrılmış sahte ayarlar vardır.
İpucu
Bu eklentiyi, var olan bir dilin ya da benzer bir dilin yeni bir yerel ayarına çeviri başlatmak için kullanabilirsiniz. Çeviriyi bileşene ekledikten sonra, eklentiyi izleyin. Örnek: fr diliniz varsa ve fr_CA çevirisini başlatmak istiyorsanız, kaynak olarak fr, hedef olarak fr_CA ayarlayın ve ön ek ile son eki boş bırakın.
Kopyalamadan sonra yapılan çevirilerin Weblate tarafından değiştirilmesini önlemek için yeni çeviriyi doldurduktan sonra eklentiyi kaldırın.
Katılımcıları yorum bölümünde görüntüleme#
- Eklenti kimliği:
weblate.gettext.authors
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
depoya işlenmeden önce
PO dosyası üst bilgilerinin yorum bölümü, katılımcı adlarını ve katkı yıllarını içerecek biçimde güncellenir.
PO dosya üst bilgileri şöyle görünür:
# Michal Čihař <michal@weblate.org>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.
“configure” dosyasındaki ALL_LINGUAS değişkeni güncelleme#
- Eklenti kimliği:
weblate.gettext.configure
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
depoya eklendikten sonra, günlük
Yeni bir çeviri eklendiğinde configure
, configure.in
ya da herhangi bir configure.ac
dosyasında ALL_LINGUAS değişkeni güncellenir.
Gettext çıktısını özelleştirme#
- Eklenti kimliği:
weblate.gettext.customize
- Yapılandırma:
width
Uzun satırları kaydırma
Varsayılan olarak gettext satırları 77 karakterden sonra ve yeni satır karakterlerinde kaydırır. –no-wrap parametresi kullanıldığında kaydırma yalnızca yeni satır karakterlerinde yapılır.
Kullanılabilecek seçenekler:
77
– Satırlar, 77 karakterden sonra ve yeni satır karakterlerinde kaydırılır (xgettext varsayılanı)65535
– Satırlar yalnızca yeni satırlar karakterlerinde kaydırılır (‘xgettext –no-wrap’ gibi)-1
– Satırlar kaydırılmaz- Tetikleyiciler:
depolamaya yüklendikten sonra
Gettext çıktısında satır kaydırma gibi davranışların özelleştirilmesini sağlar.
Şu seçenekleri sunar:
Satırlar 77 karakter ve yeni satır karakterlerinde kaydırılır
Satırları yalnızca yeni satır karakterlerinde kaydırılır
Satırlar kaydırılmaz
Not
Varsayılan olarak gettext satırları 77 karakterde ve yeni satır karakterlerinde kaydırır. --no-wrap
parametresi kullanıldığında kaydırma yalnızca yeni satır karakterlerinde yapılır.
LINGUAS dosyasını güncelleme#
- Eklenti kimliği:
weblate.gettext.linguas
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
depoya eklendikten sonra, günlük
Yeni bir çeviri eklendiğinde LINGUAS dosyası güncellenir.
MO dosyaları üretme#
- Eklenti kimliği:
weblate.gettext.mo
- Yapılandırma:
path
Oluşturulan MO dosyasının yolu
Belirtilmemişse, PO dosyasının konumu kullanılır.
- Tetikleyiciler:
depoya işlenmeden önce
PO dosyası her değiştirildiğinde MO dosyası kendiliğinden oluşturulur.
Oluşturulan MO dosyasının konumu özelleştirilebilir ve bunun için Kalıp kodlaması alanı kullanılır.
Not
Bir çeviri silinirse, PO dosyası depodan silinir, ancak bu eklenti tarafından oluşturulmuş MO dosyası silinmez. MO dosyası yukarı akıştan el ile kaldırılmalıdır.
PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge)#
- Eklenti kimliği:
weblate.gettext.msgmerge
- Yapılandırma:
previous
Çevrilmiş dizgelerin önceki msgid değerleri saklansın
no_location
Çevrilmiş dizgelerin konumları kaldırılsın
fuzzy
Belirsiz eşleşme kullanılsın
- Tetikleyiciler:
depo güncellenmesinden sonra
Tüm PO dosyalarını (Dosya maskesi ile yapılandırıldığı gibi) msgmerge komutunu kullanarak POT dosyasıyla eşleşecek şekilde (Yeni çeviriler kalıbı ile yapılandırıldığı gibi) günceller.
Yukarı akış deposundan yeni değişiklikler çekildiğinde tetiklenir. Eklenti yapılandırması aracılığıyla msgmerge komut satırı seçeneklerinin çoğu yapılandırılabilir.
Git işlemelerini bir araya toplar#
- Eklenti kimliği:
weblate.git.squash
- Yapılandırma:
squash
İşlemeleri bir araya toplama
Kullanılabilecek seçenekler:
all
– Tüm işlemeler bir arada yapılırlanguage
– Her dilin işlemeleri ayrı yapılırfile
– Her dosyanın işlemeleri ayrı yapılırauthor
– Her katkıda bulunanın işlemeleri ayrı yapılırappend_trailers
Bir araya toplanmış işlemelerin iletisine art bilgiler eklensin
‘Co-authored-by: …’ gibi bir işleme iletisinin başka bir serbest biçim bölümünün sonunda, art bilgi satırları RFC 822 e-posta üst bilgilerine benzeyen satırlardır.
commit_message
İşleme iletisi
Bu işleme iletisi, bir araya toplanmış işleme iletilerinden gelen birleşik işleme iletileri yerine kullanılır.
- Tetikleyiciler:
depoya işlendikten sonra
Değişiklikleri yollamadan önce Git işlemelerini bir araya toplar.
Git işlemeleri, değişiklikler yollanmadan önce aşağıdaki kiplerden biri kullanılarak bir araya toplanabilir:
Tüm işlemeler bir arada
Dile göre
Dosyaya göre
Katkıda bulunana göre
Özgün işleme iletileri korunur. Ancak Katkıda bulunana göre olarak seçilmediği ya da işleme iletisi eklenecek şekilde özelleştirilmediği sürece katkıda bulunan bilgisi eksik kalır.
Özgün işleme iletileri, isteğe bağlı olarak özel bir işleme iletisiyle değiştirilebilir.
Art bilgiler (Co-authored-by: …
gibi işleme satırları) isteğe bağlı olarak özgün işleme iletilerinden kaldırılabilir ve bir araya toplanmış işleme iletisinin sonuna eklenebilir. Bu aynı zamanda her çevirmen için özel bir ``Co-authored-by:` bilgisi oluşturur.
JSON çıktısını özelleştirme#
- Eklenti kimliği:
weblate.json.customize
- Yapılandırma:
sort_keys
JSON anahtarlarını sıralama
indent
JSON girintisi
style
JSON girintisinin biçemi
Kullanılabilecek seçenekler:
spaces
– Boşluklartabs
– Sekmeler- Tetikleyiciler:
depolamaya yüklendikten sonra
JSON çıktısındaki girinti ya da sıralama gibi davranışların ayarlanmasını sağlar.
Java özellikleri dosyasını biçimlendirme#
- Eklenti kimliği:
weblate.properties.sort
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
depoya işlenmeden önce
Java özellikleri dosyasını biçimlendirir ve sıralar.
Yeni satır karakterlerini Unix karakterleri olarak değiştirir.
Unicode kaçış dizilerini büyük harfle biçimlendirir (varsa).
Boş satırları ve yorumları siler.
Dizgeleri anahtarlara göre sıralar.
Yinelenen dizgeleri kaldırır.
Eski yorumları kaldırma#
3.7 sürümünde geldi.
- Eklenti kimliği:
weblate.removal.comments
- Yapılandırma:
age
Tutulacak gün sayısı
- Tetikleyiciler:
günlük
Yorumların kaldırılması için bir zaman dilimi ayarlayabilirsiniz.
Bu özellik, güncelliğini yitirmiş olabilecek eski yorumları kaldırmak için yararlı olabilir. Bir yorumun eski olması önemini yitirdiği anlamına gelmediğinden dikkatli kullanın.
Eski önerileri kaldırma#
3.7 sürümünde geldi.
- Eklenti kimliği:
weblate.removal.suggestions
- Yapılandırma:
age
Tutulacak gün sayısı
votes
Oy verme eşiği
Kaldırma eşiği. Oylama kapalıyken bu alanın herhangi bir etkisi yoktur.
- Tetikleyiciler:
günlük
Önerilerin kaldırılması için bir zaman dilimi ayarlayabilirsiniz.
Belirli bir zaman diliminde yeterince olumlu oy almayan önerilerin kaldırılması için öneri oylamayla (bilgi almak için Akran değerlendirmesi) bağlantılı olarak çok yararlı olabilir.
RESX dosyalarını güncelleme#
3.9 sürümünde geldi.
- Eklenti kimliği:
weblate.resx.update
- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
depo güncellenmesinden sonra
Tüm çeviri dosyalarını tek dilli temel dosya ile eşleşecek biçimde günceller. Kullanılmayan dizgeler kaldırılır ve yeni dizgeler kaynak dizgenin kopyaları olarak eklenir.
İpucu
Yalnızca eski çeviri anahtarlarını kaldırmak istiyorsanız Çeviri dosyalarını temizleme kullanın.
XML çıktısını özelleştirme#
4.15 sürümünde geldi.
- Eklenti kimliği:
weblate.xml.customize
- Yapılandırma:
closing_tags
Boş XML kod imlerine kapanış kod imini ekler
- Tetikleyiciler:
depolamaya yüklendikten sonra
XML çıktısında kod imlerini kapatma gibi davranışların ayarlanmasını sağlar.
YAML çıktısını özelleştirme#
3.10.2 sürümünde geldi.
- Eklenti kimliği:
weblate.yaml.customize
- Yapılandırma:
indent
YAML girintisi
width
Uzun satırları kaydırma
Kullanılabilecek seçenekler:
80
– Satırlar 80 karakterde kaydırılır100
– Satırları 100 karakterde kaydırılır120
– Satırlar 120 karakterde kaydırılır180
– Satırlar 180 karakterde kaydırılur65535
– Satırlar kaydırılmazline_break
Satır sonları
Kullanılabilecek seçenekler:
dos
– DOS (\r\n)unix
– UNIX (\n)mac
– MAC (\r)- Tetikleyiciler:
depolamaya yüklendikten sonra
YAML çıktısında satır uzunluğu ve yeni satır gibi davranışların ayarlanmasını sağlar.
Eklenti listesini özelleştirme#
Eklenti listesi WEBLATE_ADDONS
tarafından yapılandırılır. Başka bir eklenti eklemek için, bu seçeneğe mutlak sınıf adını eklemeniz yeterlidir.
Eklenti yazma#
Kendi eklentilerinizi de yazabilir, eklenti üst verilerini tanımlamak için weblate.addons.base.BaseAddon
alt sınıfını oluşturabilir ve ardından işlemi yapmak için bir geri çağırma ekleyebilirsiniz.
Ayrıca bakınız
Eklentiden betikleri çalıştırma#
Eklentiler, dış betikleri yürütmek için de kullanılabilir. Bu özellik eskiden Weblate ile bütünleşikti. Ancak şimdi betikleri bir eklenti ile sarmalamak için bazı kodlar yazmanız gerekiyor.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Example pre commit script."""
from django.utils.translation import gettext_lazy
from weblate.addons.events import EVENT_PRE_COMMIT
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events = (EVENT_PRE_COMMIT,)
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long description
verbose = gettext_lazy("Execute script before commit")
description = gettext_lazy("This add-on executes a script.")
# Script to execute
script = "/bin/true"
# File to add in commit (for pre commit event)
# does not have to be set
add_file = "po/{{ language_code }}.po"
Kurulum ile ilgili bilgi almak için Özel kalite denetimleri, eklentiler ve kendiliğinden düzeltmeler.
Betik dosyası, belirtilen bileşen için sürüm denetimi sistemi deposunun kök klasörüne ayarlanmış geçerli klasör ile yürütülür.
Ek olarak, şu ortam değişkenleri kullanılabilir:
- WL_VCS#
Kullanılan sürüm denetimi sistemi.
- WL_REPO#
Yukarı akış deposu adresi.
- WL_PATH#
Sürüm denetimi sistemi deposunun mutlak yolu.
- WL_BRANCH#
Geçerli bileşende yapılandırılmış depo dalı.
- WL_FILEMASK#
Geçerli bileşen için dosya maskesi.
- WL_TEMPLATE#
Tek dilli çeviriler için kalıbın dosya adı (boş olabilir).
- WL_NEW_BASE#
Yeni çeviriler oluşturmak için kullanılan dosyanın adı (boş olabilir).
- WL_FILE_FORMAT#
Geçerli bileşende kullanılan dosya biçimi.
- WL_LANGUAGE#
İşlenmekte olan çevirinin dili (bileşen düzeyinde kancalar için kullanılamaz).
- WL_PREVIOUS_HEAD#
Güncellemeden sonra önceki HEAD (yalnızca güncelleme sonrası kancası çalıştırıldıktan sonra kullanılabilir).
- WL_COMPONENT_SLUG#
3.9 sürümünde geldi.
Adresi oluşturmak için kullanılan bileşen kısaltması.
- WL_PROJECT_SLUG#
3.9 sürümünde geldi.
Adresi oluşturmak için kullanılan proje kısaltması.
- WL_COMPONENT_NAME#
3.9 sürümünde geldi.
Bileşen adı.
- WL_PROJECT_NAME#
3.9 sürümünde geldi.
Proje adı.
- WL_COMPONENT_URL#
3.9 sürümünde geldi.
Bileşen adresi.
- WL_ENGAGE_URL#
3.9 sürümünde geldi.
Proje etkileşim adresi.
Ayrıca bakınız
Güncelleme sonrası depo işleme#
Sürüm denetimi sistemi yukarı akış kaynağı değiştiğinde çeviri dosyalarını güncellemek için kullanılabilir. Bunu yapabilmek için lütfen Weblate tarafından yalnızca sürüm denetimi sistemine işlenmiş dosyaların görüldüğünü, bu nedenle değişiklikleri betiğin bir parçası olarak yapmanız gerektiğini unutmayın.
Örneğin Gulp ile bunu şu kodu kullanarak yapabilirsiniz:
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Depoya işlenmeden önce çevirilerin işlenmesi#
Bir çevirinin depoya kaydedilmesinden önce kendiliğinden değiştirilmesi için işleme betiğini kullanın.
Geçerli bir çevirinin dosya adından oluşan tek bir parametre olarak aktarılır.
Çeviri belleği#
Weblate üzerinde şu yetenekleri olan bir çeviri belleği özelliği bulunur:
El ile içe aktarılmış çeviri belleği (bilgi almak için Kullanıcı arayüzü).
Weblate üzerinde yapılan ve otomatik olarak kaydedilen çeviriler (Çeviri belleği kapsamları kapsamında).
Geçmiş çeviriler otomatik olarak içe aktarılır.
Çeviri belleğindeki içerik iki yoldan biriyle uygulanabilir:
El ile, çeviri yapılırken Kendiliğinden öneriler görünümü ile.
Kendiliğinden, dizgeleri Kendiliğinden çeviri ya da Kendiliğinden çeviri eklentisi ile çevirerek.
Kurulum ipuçları için, varsayılan olarak açık olan Weblate Çeviri Belleği bölümüne bakın.
Çeviri belleği kapsamları#
3.2 sürümünde geldi: Daha önceki sürümlerde, çeviri belleği yalnızca geçerli içe aktarılmış çeviri belleği kapsamına karşılık gelen bir dosyadan yüklenebiliyordu.
Çeviri belleği kapsamları, istenen davranışa uyacak şekilde çevirilerin hem gizliliğine hem de paylaşılmasına izin vermek için vardır.
İçe aktarılmış çeviri belleği#
weblate weblate import_memory
komutunu kullanarak isteğe bağlı çeviri belleği verilerinin içe aktarılması, bellek içeriğini tüm kullanıcılar ve projeler için kullanılabilir kılar.
Kullanıcıların bireysel çeviri belleği#
Tüm kullanıcı çevirilerini otomatik olarak ilgili her kullanıcının kişisel çeviri belleğine kaydeder.
Projelerin bireysel çeviri belleği#
Bir projedeki tüm çeviriler, otomatik olarak yalnızca bu proje için kullanılabilen bir proje çeviri belleğine kaydedilir.
Çeviri belleğini yönetmek#
Kullanıcı arayüzü#
3.2 sürümünde geldi.
Temel kullanıcı arayüzünden, her kullanıcı için ve her proje için çeviri belleklerini yönetebilirsiniz. Çeviri belleğini indirme, silme ya da içe aktarma işlemleri yapılabilir.
İpucu
JSON çeviri belleği Weblate içine aktarılabilir. Diğer araçlarla birlikte çalışabilirlik için TMX biçimi de sağlanır.
Ayrıca bakınız

Yönetim arayüzü#
Çeviri belleği içeriğini değiştirmek için çeşitli yönetim komutları bulunur. Bunlar, kapsamlara göre süzülmeden bir bütün olarak çeviri belleği üzerinde çalışır (parametreler ile istenmedikçe):
weblate weblate dump_memory
Çeviri belleğini JSON dosyası olarak dışa aktarır
weblate weblate import_memory
TMX ya da JSON dosyalarını çeviri belleği içine aktarır
Yapılandırma#
Tüm ayarlar settings.py
dosyasında (Django için her zamanki gibi) tutulur.
Not
Bu ayarlardan herhangi birini değiştirdikten sonra, Weblate WSGI ve Celery işlemlerinin ikisini de yeniden başlatmanız gerekir.
mod_wsgi
olarak çalıştırılması durumunda, yapılandırmayı yeniden yüklemek için Apache sunucusunu yeniden başlatmanız gerekir.
Ayrıca bakınız
Django yapılandırma parametreleri için Django belgelerine bakabilirsiniz.
ANONYMOUS_USER_NAME#
Oturum açmamış kullanıcılar için kullanıcı adı.
Ayrıca bakınız
AUDITLOG_EXPIRY#
3.6 sürümünde geldi.
Weblate denetim günlüklerinin tutulacağı gün sayısı (hesap etkinliği ile ilgili bilgileri içeren).
Varsayılan değer: 180 gün.
AUTH_LOCK_ATTEMPTS#
Hız sınırlaması uygulanmadan önce başarısız olmasına izin verilecek en fazla kimlik doğrulama girişimi sayısı.
Bu seçenek şu anda şu konumlarda uygulanmaktadır:
Oturum aç. Hesap parolasını silerek kullanıcının yeni bir parola isteği yapmadan oturum açmasını engeller.
Parola sıfırlama. Çok fazla parola sıfırlama girişimi ile istenmeyen trafik oluşturan kullanıcılara yeni e-posta gönderilmesini engeller.
Varsayılan değer: 10.
Ayrıca bakınız
AUTO_UPDATE#
3.2 sürümünde geldi.
3.11 sürümünde değişti: Özgün açma/kapama seçeneği, hangi dizgelerin kabul edildiğini ayırt edecek biçimde değiştirildi.
Tüm depoları günlük olarak günceller.
İpucu
Weblate depolarını kendiliğinden güncellemek için Bildirim kancaları kullanmıyorsanız yararlıdır.
Not
Geriye dönük uyumluluk için açma/kapama seçenekleri dizge seçimine ek olarak bulunur.
Seçenekler:
"none"
Günlük güncelleme yapılmaz.
"remote"
ayrıcaFalse
Yalnızca uzak tarafı günceller.
"full"
ayrıcaTrue
Uzak tarafı günceller ve çalışan kopya ile birleştirir.
Not
Bunun için Celery ile arka plan görevlerini kullanmak çalışıyor olmalıdır. Yeniden başlatıldıktan sonra etkili olur.
AVATAR_URL_PREFIX#
Avatar adreslerini şu biçimde oluşturmak için ön ek: ${AVATAR_URL_PREFIX}/avatar/${MAIL_HASH}?${PARAMS}
. Şu hizmetlerin çalıştığı biliniyor:
- Gravatar (varsayılan), https://gravatar.com/ üzerinden
AVATAR_URL_PREFIX = 'https://www.gravatar.com/'
- Libravatar, https://www.libravatar.org/ üzerinden
AVATAR_URL_PREFIX = 'https://www.libravatar.org/'
Ayrıca bakınız
AUTH_TOKEN_VALID#
Kimlik doğrulama belirtecinin ve parola sıfırlama e-postalarındaki geçici parolanın geçerli olacağı süre. Varsayılan değer: 172800 saniye (2 gün).
AUTH_PASSWORD_DAYS#
Bir kullanıcının daha önce kullandığı bir parolayı yeniden kullanabilmesi için geçmesi gereken gün sayısı.
Bu işlem denetim günlüğü ile yapılır. AUDITLOG_EXPIRY
seçeneğinin değeri en az bu değer ile aynı olmalıdır.
Not
Weblate 2.15 sürümünden önce yapılan parola değişiklikleri bu ilkede dikkate alınmaz.
Varsayılan değer: 180 gün.
AUTOFIX_LIST#
Bir çeviri kaydedilirken uygulanacak kendiliğinden düzeltmelerin listesi.
Not
Kendiliğinden düzeltme arayüzünü uygulayan Python sınıfının tam yolunu belirtin.
Kullanılabilecek düzeltmeler:
weblate.trans.autofixes.whitespace.SameBookendingWhitespace
Çevirinin başındaki ve sonundaki boşlukları kaynak ile eşleştirir.
weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis
Kaynakta üç nokta karakteri (…) varsa çevirinin sonundaki üç ayrı noktayı (…) değiştirir.
weblate.trans.autofixes.chars.RemoveZeroSpace
Kaynakta bulunmuyorsa çevirideki sıfır genişlikli boşluk karakterlerini kaldırır.
weblate.trans.autofixes.chars.RemoveControlChars
Kaynakta bulunmuyorsa denetim karakterlerini kaldırır.
weblate.trans.autofixes.chars.DevanagariDanda
Bangla yazımında cümle sonundaki noktayı Devanagari Danda karakteri ile değiştirir.
weblate.trans.autofixes.html.BleachHTML
Güvenli olmayan HTML kod imlerini
safe-html
olarak imlenmiş çevirilerden kaldırır (bilgi almak için: Güvenli olmayan HTML).
Hangilerinin kullanılacağını seçebilirsiniz:
AUTOFIX_LIST = (
"weblate.trans.autofixes.whitespace.SameBookendingWhitespace",
"weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis",
)
Ayrıca bakınız
BACKGROUND_TASKS#
4.5.2 sürümünde geldi.
Bir bileşen için uzun bakım görevlerinin tetiklenme sıklığını belirtir.
Şu anda bunun denetlediği:
Kendiliğinden çeviri eklentisi
Denetimler ve düzeltmeler yeniden hesaplama
Olası seçenekler:
aylık
(varsayılan)weekly
daily
never
Not
Weblate üzerinde binlerce bileşen bulunuyorsa sıklığın artırılması önerilmez.
BASIC_LANGUAGES#
4.4 sürümünde geldi.
Kullanıcılara yeni çeviriye başlamaları için sunulacak dillerin listesi. Belirtilmediğinde, yaygın olarak kullanılan tüm dilleri içeren, ancak ülkeye özgü lehçeleri olmayan bir iç liste kullanılır.
Bu seçenek, yalnızca yetki verilmemiş kullanıcıların istenmeyen diller eklemesini engeller. Proje yöneticilerine Weblate üzerinde tanımlanmış dillerin tümü sunulur.
Not
Bu seçenek, Weblate üzerinde yeni diller tanımlamaz, yalnızca veri tabanında var olan dilleri süzer.
Örnek:
BASIC_LANGUAGES = {"cs", "it", "ja", "en"}
Ayrıca bakınız
BORG_EXTRA_ARGS#
4.9 sürümünde geldi.
İç yedeklemeler tetiklendiğinde borg create komutuna ek parametreler iletebilirsiniz.
Örnek:
BORG_EXTRA_ARGS = ["--exclude", "vcs/"]
Ayrıca bakınız
CACHE_DIR#
4.16 sürümünde geldi.
Weblate ön bellek dosyalarının tutulacağı klasör. Varsayılan olarak DATA_DIR
içindeki cache
alt klasörü kullanılır.
DATA_DIR
bir ağ dosya sisteminde bulunuyorsa bunu yerel ya da geçici bir dosya sistemi olarak değiştirin.
Docker kapsayıcısı bunun için ayrı bir birim kullanır. Bilgi almak için: :ref:`docker-volume’.
CSP_SCRIPT_SRC, CSP_IMG_SRC, CSP_CONNECT_SRC, CSP_STYLE_SRC, CSP_FONT_SRC#
Weblate için Content-Security-Policy
üst bilgisini özelleştirin. Başlık, üçüncü taraf hizmetlerle (Matomo, Google Analytics, Sentry, …) etkin bütünleştirmelere göre kendiliğinden oluşturulur.
Tüm bunlar varsayılan olarak boş listedir.
Örnek:
# Enable Cloudflare Javascript optimizations
CSP_SCRIPT_SRC = ["ajax.cloudflare.com"]
Ayrıca bakınız
CHECK_LIST#
Bir çeviride yapılacak hata denetimlerinin listesi.
Not
Denetim arayüzünü uygulayan Python sınıfının tam yolunu yazın.
Denetim listesini, isteğinize göre ayarlayın.
Tüm iç Kalite denetimleri varsayılan olarak açıktır ve buradan bu ayarları değiştirebilirsiniz. Varsayılan olarak, kullanılabilecek değerler Örnek yapılandırma dosyası içinde yorum karakteri kaldırılmış satırlar biçiminde bulunurlar. Her yeni Weblate sürümünde yeni denetimler eklenir.
Tüm denetimleri kapatabilirsiniz:
CHECK_LIST = ()
Yalnızca birkaçını açabilirsiniz:
CHECK_LIST = (
"weblate.checks.chars.BeginNewlineCheck",
"weblate.checks.chars.EndNewlineCheck",
"weblate.checks.chars.MaxLengthCheck",
)
Not
Bu ayarın değiştirilmesi yalnızca yeni değiştirilen çevirileri etkiler. Var olan denetimlerin veri tabanında tutulması sürdürülür. Değişiklikleri kaydedilmiş çevirilere de uygulamak için weblate weblate updatechecks
komutunu yürütün.
Ayrıca bakınız
Kalite denetimleri, Parametreleri kullanarak davranışı özelleştirmek
COMMENT_CLEANUP_DAYS#
3.6 sürümünde geldi.
Belirli günden sonra yorumları siler. Varsayılan değer: Yok
. Yani bir silme işlemi yapılmaz.
COMMIT_PENDING_HOURS#
Bekleyen değişikliklerin gönderilmesi ile arka plan görevi tarafından işlenmesi arasındaki saat sayısı.
CONTACT_FORM#
4.6 sürümünde geldi.
İletişim formu e-postalarının nasıl gönderileceğini yapılandırır. E-posta ayarlarınıza uygun bir yapılandırma seçin.
"reply-to"
Gönderici Yanıt olarak kullanılır. Varsayılan davranış budur.
"from"
Gönderici Kimden olarak kullanılır. E-posta sunucunuz bu tür e-postaların gönderilmesine izin vermelidir.
DATA_DIR#
Weblate klasöründe tüm veriler bulunur. Sürüm denetimi sistemi depo bağlantılarını, tam metin dizinini ve dış araçlar için çeşitli yapılandırma dosyalarını içerir.
Genellikle aşağıdaki alt klasörler de bulunur:
home
Betikleri çağırmak için kullanılan giriş klasörü.
ssh
SSH anahtarları ve yapılandırması.
static
Durağan Django dosyalarının varsayılan konumu
STATIC_ROOT
tarafından belirlenir. Bilgi almak için: :ref:`static-files’.Docker kapsayıcısı bunun için ayrı bir birim kullanır. Bilgi almak için: :ref:`docker-volume’.
media
Django ortam dosyalarının varsayılan konumu
MEDIA_ROOT
tarafından belirlenir. Yüklenen ekran görüntülerini içerir. Bilgi almak için: :ref:`screenshots’.vcs
Çeviriler için sürüm denetimi depoları.
backups
Günlük yedekleme verileri. Bilgi almak için: Yedeklemeler için dökümü yapılan veriler.
fonts
:Kullanıcı tarafından yüklenen yazı tipleri. Bilgi almak için: :ref:`fonts’.
cache
Çeşitli ön bellekler,
CACHE_DIR
seçeneği kullanılarak başka bir konuma taşınabilir.Docker kapsayıcısı bunun için ayrı bir birim kullanır. Bilgi almak için: :ref:`docker-volume’.
Not
Bu klasör Weblate tarafından yazılabilir olmalıdır. uWSGI olarak çalıştırıldığında, www-data
kullanıcısının bu klasöre yazma erişimi olmalıdır.
Bunu yapmanın en kolay yolu, kullanıcıyı klasörün sahibi yapmaktır:
sudo chown www-data:www-data -R $DATA_DIR
Varsayılan değer: /home/weblate/data
. Ancak yapılandırılması beklenir.
Ayrıca bakınız
Dosya sistemi izinleri,
Weblate yedeğini alma ve taşıma,
CACHE_DIR
DATABASE_BACKUP#
3.1 sürümünde geldi.
Veri tabanı yedeklemelerinin düz metin ya da sıkıştırılmış olarak depolanacağını ya da depolanmayacağını belirler. Şu değerler kullanılabilir:
"plain"
"compressed"
"none"
Ayrıca bakınız
DEFAULT_ACCESS_CONTROL#
3.3 sürümünde geldi.
Yeni projeler için varsayılan erişim denetimi ayarı:
0
Herkese açık
1
Korunmuş
100
Kişisel
200
Özel
Erişim denetimi listesini el ile yönetiyorsanız :guilabel:`Özel`olarak ayarlayın. Bu seçenek iç Weblate yönetimine güvenilmemesi anlamına gelir.
Ayrıca bakınız
DEFAULT_AUTO_WATCH#
4.5 sürümünde geldi.
Katkıda bulunulan projeler kendiliğinden izlensin seçeneğinin yeni kullanıcılar için açık olup olmayacağını belirler. Varsayılan değer: True
.
Ayrıca bakınız
DEFAULT_RESTRICTED_COMPONENT#
4.1 sürümünde geldi.
Varsayılan bileşen kısıtlaması değeri.
Ayrıca bakınız
DEFAULT_ADD_MESSAGE, DEFAULT_ADDON_MESSAGE, DEFAULT_COMMIT_MESSAGE, DEFAULT_DELETE_MESSAGE, DEFAULT_MERGE_MESSAGE#
Farklı işlemler için varsayılan işleme iletileri. Bilgi almak için: ref: component.
DEFAULT_ADDONS#
Oluşturulan her bileşene varsayılan olarak kurulacak eklentiler.
Not
Bu ayar yalnızca yeni oluşturulan bileşenleri etkiler.
Örnek:
DEFAULT_ADDONS = {
# Add-on with no parameters
"weblate.flags.target_edit": {},
# Add-on with parameters
"weblate.autotranslate.autotranslate": {
"mode": "suggest",
"filter_type": "todo",
"auto_source": "mt",
"component": "",
"engines": ["weblate-translation-memory"],
"threshold": "80",
},
}
Ayrıca bakınız
DEFAULT_COMMITER_EMAIL#
İşleyenin e-posta adresi. Varsayılan değer: noreply@weblate.org
.
Ayrıca bakınız
DEFAULT_COMMITER_NAME#
İşleyenin adı. Varsayılan değer: Weblate
.
Ayrıca bakınız
DEFAULT_LANGUAGE#
4.3.2 sürümünde geldi.
Tüm yeni bileşenler için Kaynak dil.
Varsayılan değer: en. Eşleşen dil nesnesinin veri tabanında bulunması gerekir.
Ayrıca bakınız
DEFAULT_MERGE_STYLE#
3.4 sürümünde geldi.
Tüm yeni bileşenler için Birleştirme biçemi.
rebase - default
merge
Ayrıca bakınız
DEFAULT_TRANSLATION_PROPAGATION#
Varsayılan çeviri yayılması ayarı. Varsayılan değer: True
.
Ayrıca bakınız
DEFAULT_PULL_MESSAGE#
Çekme isteklerinin varsayılan başlığını ve iletisini yapılandırır.
ENABLE_AVATARS#
Kullanıcıların Gravatar avatarlarının kullanılıp kullanılmayacağını belirler. Varsayılan olarak açıktır.
Avatarlar sunucu tarafından alınır ve ön belleğe eklenir. Böylece kişisel bilgilerin sızma riski azaltılır ve kullanıcı deneyimi hızlandırılır.
Ayrıca bakınız
ENABLE_HOOKS#
Anonim uzak kancaları açar ya da kapatır.
Ayrıca bakınız
ENABLE_HTTPS#
HTTPS ya da HTTP olarak kullanılacak Weblate bağlantısı iletişim kuralı. Bu seçenek, gönderilen e-postaları ve oluşturulan mutlak adresleri etkiler.
Varsayılan yapılandırmada bu seçenek, HTTPS ile ilgili çeşitli Django ayarları için de kullanılır. Güvenli çerezleri etkinleştirir, HSTS seçeneğini açar ya da HTTPS adresine yönlendirmeyi etkinleştirir.
HTTPS yönlendirmesi bazı durumlarda sorunlu olabilir ve iletişim kuralı üst bilgilerini Django üzerine doğru şekilde iletmeyen bir SSL sonlandırma işlemini yapan ters bir vekil sunucu kullanmanız durumunda, sonsuz yönlendirme sorunu yaşayabilirsiniz. Lütfen ters vekil sunucu yapılandırmanızı X-Forwarded-Proto
veya ``Forwarded` üst bilgilerini yayacak şekilde ayarlayın ya da SSL durumunun Django tarafından doğru bir şekilde algılanmasını sağlamak için SECURE_PROXY_SSL_HEADER
seçeneğini yapılandırın.
ENABLE_SHARING#
Kullanıcıların çeviri ilerlemesini sosyal ağlarda paylaşabilmesi için Paylaş menüsünü açar ya da kapatır.
EXTRA_HTML_HEAD#
4.15 sürümünde geldi.
HTML üst bilgisine ek markup kodları ekler. Sitenin sahipliğini doğrulamak için kullanılabilir. Örneğin:
EXTRA_HTML_HEAD = '<link href="https://fosstodon.org/@weblate" rel="me">'
Uyarı
Dizge üzerinde herhangi bir ayıklama işlemi yapılmaz. HTML üst bilgisine olduğu gibi eklenir.
GET_HELP_URL#
4.5.2 sürümünde geldi.
Weblate kopyanızın destek bilgilerinin bulunduğu adres.
GITEA_CREDENTIALS#
4.12 sürümünde geldi.
Gitea sunucuları için kimlik doğrulama bilgileri listesi.
GITEA_CREDENTIALS = {
"try.gitea.io": {
"username": "weblate",
"token": "your-api-token",
},
}
The configuration dictionary consists of credentials defined for each API host.
The API host might be different from what you use in the web browser, for
example GitHub API is accessed as api.github.com
.
The following configuration is available for each host:
username
API user, required.
token
API token for the API user, required.
scheme
4.18 sürümünde geldi.
Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to
https
. If you are running the API server internally, you might want to usehttp
instead, but consider security.
İpucu
In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:
WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com
Will be used as:
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "api-user",
"token": "api-token",
}
}
Ayrıca bakınız
GITLAB_CREDENTIALS#
4.3 sürümünde geldi.
GitLab sunucuları için kimlik doğrulama bilgileri listesi.
GITLAB_CREDENTIALS = {
"gitlab.com": {
"username": "weblate",
"token": "your-api-token",
},
}
The configuration dictionary consists of credentials defined for each API host.
The API host might be different from what you use in the web browser, for
example GitHub API is accessed as api.github.com
.
The following configuration is available for each host:
username
API user, required.
token
API token for the API user, required.
scheme
4.18 sürümünde geldi.
Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to
https
. If you are running the API server internally, you might want to usehttp
instead, but consider security.
İpucu
In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:
WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com
Will be used as:
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "api-user",
"token": "api-token",
}
}
Ayrıca bakınız
GITHUB_CREDENTIALS#
4.3 sürümünde geldi.
GitHub sunucuları için kimlik doğrulama bilgileri listesi.
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "weblate",
"token": "your-api-token",
},
}
The configuration dictionary consists of credentials defined for each API host.
The API host might be different from what you use in the web browser, for
example GitHub API is accessed as api.github.com
.
The following configuration is available for each host:
username
API user, required.
token
API token for the API user, required.
scheme
4.18 sürümünde geldi.
Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to
https
. If you are running the API server internally, you might want to usehttp
instead, but consider security.
İpucu
In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:
WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com
Will be used as:
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "api-user",
"token": "api-token",
}
}
Ayrıca bakınız
GitHub çekme istekleri, GitHub kişisel erişim kodu oluşturmak
BITBUCKETSERVER_CREDENTIALS#
4.16 sürümünde geldi.
Bitbucket sunucuları için kimlik doğrulama bilgileri listesi.
BITBUCKETSERVER_CREDENTIALS = {
"git.self-hosted.com": {
"username": "weblate",
"token": "http-access-token",
},
}
The configuration dictionary consists of credentials defined for each API host.
The API host might be different from what you use in the web browser, for
example GitHub API is accessed as api.github.com
.
The following configuration is available for each host:
username
API user, required.
token
API token for the API user, required.
scheme
4.18 sürümünde geldi.
Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to
https
. If you are running the API server internally, you might want to usehttp
instead, but consider security.
İpucu
In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:
WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com
Will be used as:
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "api-user",
"token": "api-token",
}
}
Ayrıca bakınız
Bitbucket sunucusu çekme isteği, Bitbucket: HTTP erişim kodu
GOOGLE_ANALYTICS_ID#
Google Analytics ile Weblate izlemesini açmak için Google Analytics kimliği.
HIDE_REPO_CREDENTIALS#
Depo kimlik doğrulama bilgilerini site arayüzünde gizler. İçinde kullanıcı adı ve parolası geçen bir depo adresiniz varsa, Weblate ilgili bilgileri kullanıcılara görüntülerken bunları gizler.
Örneğin, ``https://kullanici:parola@git.ornek.com/depo.git” yerine yalnızca ``https://git.ornek.com/depo.git” görüntülenir. Sürüm denetimi sistemi hata iletilerinde de benzer ayıklama yapılmaya çalışılır.
Not
Varsayılan olarak açık.
HIDE_VERSION#
4.3.1 sürümünde geldi.
Sürüm bilgilerini kimliği doğrulanmamış kullanıcılardan gizler. Bu seçenek aynı zamanda tüm belge bağlantılarının kurulu sürüm belgeleri yerine son sürümün belgelerini görüntülemesini sağlar.
Sürümün gizlenmesi bazı kuruluşlar için önerilen bir güvenlik önlemidir. Ancak saldırganın uygulamanın davranışını inceleyerek sürümü öğrenmesini engellemez.
Not
Bu seçenek varsayılan olarak kapalıdır.
INTERLEDGER_PAYMENT_POINTERS#
4.12.1 sürümünde geldi.
Web üzerinden para kazanmak için genel muhasebe ödeme göstergeleri (ILP) listesi.
Birden fazla belirtilirse, rastgele biri seçilerek olasılıksal gelir paylaşımı sağlanır.
Ayrıntılı bilgi almak için <https://webmonetization.org/> sitesine bakabilirsiniz.
İpucu
Varsayılan değer, kullanıcıların Weblate için fon sağlamasına yardımcı olur.
IP_BEHIND_REVERSE_PROXY#
Weblate platformunun ters vekil sunucu arkasında çalışıp çalışmadığını gösterir.
True
olarak ayarlanırsa, Weblate IP adresini IP_PROXY_HEADER
seçeneğindeki bir üst bilgiden alır.
Uyarı
Gerçekten bir ters vekil sunucu kullandığınızdan ve bu üst bilginin ayarlandığından emin olun. Yoksa kullanıcılar IP adresini taklit edebilir.
Not
Bu seçenek, varsayılan olarak kapalıdır.
Ayrıca bakınız
Ters vekil sunucu arkasında çalıştırmak,
Hızı sınırlamak,
IP_PROXY_HEADER
,
IP_PROXY_OFFSET
IP_PROXY_HEADER#
IP_BEHIND_REVERSE_PROXY
seçeneği açıldığında hangi Weblate üst bilgisinde IP adresinin bulunduğunu gösterir.
Varsayılan değer: HTTP_X_FORWARDED_FOR
.
IP_PROXY_OFFSET#
:setting:’IP_PROXY_HEADER’ ögesinin istemci IP adresi olarak kullanılacak bölümünü gösterir.
Kurulumunuza bağlı olarak, bu üst bilgi birkaç IP adresinden oluşabilir (örneğin, X-Forwarded-For: a, b, client-ip
) ve üst bilgiden hangi adresin istemci IP adresi olarak kullanılacağını bu bölümden yapılandırabilirsiniz.
Uyarı
Bunu ayarlamak kurulumunuzun güvenliğini etkiler. Yalnızca IP adresini belirlemek için güvenilen vekil sunucuları kullanacak şekilde yapılandırmanız gerekir.
Varsayılan değer: 0.
LEGAL_TOS_DATE#
4.15 sürümünde geldi.
Not
Bunun çalışması için Yasal kurulmuş olmalıdır.
Hizmet koşulları belgelerinin son güncellenme tarihi. Tarih değiştiğinde, kullanıcıların güncellenmiş hizmet koşullarını kabul etmeleri gerekir.
from datetime import date
LEGAL_TOS_DATE = date(2022, 2, 2)
LEGAL_URL#
3.5 sürümünde geldi.
Weblate kopyanızın yasal belgelerinin bulunduğu adres.
İpucu
Yasal belgelerinizi Weblate dışında bulunduruyor ve Weblate içine eklemek istiyorsanız yararlıdır. Bilgi almak için: Yasal.
Örnek:
LEGAL_URL = "https://weblate.org/terms/"
Ayrıca bakınız
LICENSE_EXTRA#
Lisans seçeneklerine katılacak ek lisanslar.
Not
Her lisans tanımında bir kısa ad, bir uzun ad ve bir adres olmalıdır.
Örnek:
LICENSE_EXTRA = [
(
"AGPL-3.0",
"GNU Affero General Public License v3.0",
"https://www.gnu.org/licenses/agpl-3.0-standalone.html",
),
]
LICENSE_FILTER#
4.3 sürümünde değişti: Bu seçenek boş olarak ayarlandığında lisans uyarısını kapatır.
Görüntülenecek lisans listesini süzer. Bu seçenek, boş olarak ayarlandığında lisans uyarısını da kapatır.
Not
Bu süzgeç kısa lisans adlarını kullanır.
Örnek:
LICENSE_FILTER = {"AGPL-3.0", "GPL-3.0-or-later"}
Şu lisans uyarısını kapatır:
LICENSE_FILTER = set()
Ayrıca bakınız
LICENSE_REQUIRED#
Bileşen yapılandırması içindeki lisans özniteliğinin zorunlu olup olmadığını belirler.
Not
Bu seçenek varsayılan olarak kapalıdır.
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH#
Belirtilen bir çevirinin uzunluğunun sınırlı olmasının gerekip gerekmediği. Kısıtlama, kaynak dizgenin uzunluğu x 10 karakterdir.
İpucu
Kaynak dizge uzunluğuna bakılmaksızın daha uzun çevirilere (10.000 karaktere kadar) izin vermek için bu seçeneği False
olarak ayarlayın.
Not
Varsayılan değer: True
.
LOCALIZE_CDN_URL ve LOCALIZE_CDN_PATH#
Bu ayarlar JavaScript yerelleştirme CDN eklentisini yapılandırır. LOCALIZE_CDN_URL
, yerelleştirme CDN sunucusunun kullanılabildiği kök adresini belirler ve LOCALIZE_CDN_PATH
seçeneği, LOCALIZE_CDN_URL
adresinde sunulan oluşturulmuş dosyaların kaydedileceği yolu belirler.
İpucu
Hosted Weblate üzerinde bu seçenek, https://weblate-cdn.com/
adresini kullanır.
Ayrıca bakınız
LOGIN_REQUIRED_URLS#
Oturum açmanın dayatılmasını istediğiniz adreslerin listesi. (Weblate üzerindeki iç standart kuralların yanı sıra).
İpucu
Bu seçenek, şunu kullanarak tüm kurulumu parola ile korumanızı sağlar:
LOGIN_REQUIRED_URLS = (r"/(.*)$",)
REST_FRAMEWORK["DEFAULT_PERMISSION_CLASSES"] = [
"rest_framework.permissions.IsAuthenticated"
]
İpucu
Yukarıdaki örnekte gösterildiği gibi API erişiminin de kilitlenmesi istenir.
Ayrıca bakınız
LOGIN_REQUIRED_URLS_EXCEPTIONS#
LOGIN_REQUIRED_URLS
için istisna listesi. Belirtilmediğinde kullanıcıların oturum açma sayfasına erişmesine izin verilir.
Eklemek isteyebileceğiniz bazı istisnalar:
LOGIN_REQUIRED_URLS_EXCEPTIONS = (
r"/accounts/(.*)$", # Required for sign-in
r"/static/(.*)$", # Required for development mode
r"/widgets/(.*)$", # Allowing public access to widgets
r"/data/(.*)$", # Allowing public access to data exports
r"/hooks/(.*)$", # Allowing public access to notification hooks
r"/api/(.*)$", # Allowing access to API
r"/js/i18n/$", # JavaScript localization
)
MATOMO_SITE_ID#
İzlemek istediğiniz Matomo (eski adıyla Piwik) üzerindeki Weblate sitesinin kimliği.
Not
Bu bütünleştirme Matomo Etiket Yöneticisi özelliğini desteklemez.
Ayrıca bakınız
MATOMO_URL#
Weblate kullanımını izlemek için kullanmak istediğiniz bir Matomo (eski adıyla Piwik) kurulumunun tam adresi (sondaki bölü karakteri ile birlikte). Bilgi almak için: <https://matomo.org/>.
İpucu
Bu bütünleştirme Matomo Etiket Yöneticisi özelliğini desteklemez.
Örnek:
MATOMO_SITE_ID = 1
MATOMO_URL = "https://example.matomo.cloud/"
Ayrıca bakınız
NEARBY_MESSAGES#
Çevrilen dizgenin yakınında görüntülenecek dizge sayısı. Bu yalnızca varsayılan bir değerdir. Kullanıcılar bu değeri Kullanıcı profili bölümünden ayarlayabilir.
DEFAULT_PAGE_LIMIT#
4.7 sürümünde geldi.
Sayfalama etkin olduğunda bir sayfada varsayılan olarak görüntülenecek öge sayısı.
PAGURE_CREDENTIALS#
4.3.2 sürümünde geldi.
Pagure sunucuları için kimlik doğrulama bilgilerinin listesi.
PAGURE_CREDENTIALS = {
"pagure.io": {
"username": "weblate",
"token": "your-api-token",
},
}
The configuration dictionary consists of credentials defined for each API host.
The API host might be different from what you use in the web browser, for
example GitHub API is accessed as api.github.com
.
The following configuration is available for each host:
username
API user, required.
token
API token for the API user, required.
scheme
4.18 sürümünde geldi.
Scheme override. Weblate attempts to parse scheme from the repository URL and falls backs to
https
. If you are running the API server internally, you might want to usehttp
instead, but consider security.
İpucu
In the Docker container, the credentials are configured in three variables and the credentials are built out of that. An example configuration for GitHub might look like:
WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com
Will be used as:
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "api-user",
"token": "api-token",
}
}
Ayrıca bakınız
PRIVACY_URL#
4.8.1 sürümünde geldi.
Weblate kopyanızın gizlilik ilkesinin bulunduğu adres.
İpucu
Yasal belgelerinizi Weblate dışında bulunduruyor ve Weblate içine eklemek istiyorsanız yararlıdır. Bilgi almak için: Yasal.
Örnek:
PRIVACY_URL = "https://weblate.org/terms/"
Ayrıca bakınız
PRIVATE_COMMIT_EMAIL_OPT_IN#
4.15 sürümünde geldi.
Kişisel işleme e-postasının türünü opt-in ya da opt-out olarak yapılandırır (varsayılan değer: opt-out).
Ayrıca bakınız
PRIVATE_COMMIT_EMAIL_TEMPLATE#
4.15 sürümünde geldi.
Bir kullanıcının kişisel işleme e-postasını oluşturan kalıp. Varsayılan değer: "{username}@users.noreply.{site_domain}"
.
Devre dışı bırakılması için boş bırakın.
Not
Farklı işleme e-postası kullanmak, PRIVATE_COMMIT_EMAIL_OPT_IN
seçeneği ile yapılandırılmadığı sürece kullanıcılar için abone olmak anlamına gelir. Kullanıcılar işleme e-postasını Profil içinde yapılandırabilir.
PROJECT_BACKUP_KEEP_COUNT#
4.14 sürümünde geldi.
Her proje için sunucuda tutulacak yedek sayısını belirler. Varsayılan değer: 3.
Ayrıca bakınız
PROJECT_BACKUP_KEEP_DAYS#
4.14 sürümünde geldi.
Proje yedeklerinin sunucuda tutulacağını süreyi belirler. Varsayılan değer: 30 gün.
Ayrıca bakınız
PROJECT_NAME_RESTRICT_RE#
4.15 sürümünde geldi.
Proje adlandırmasını kısıtlayacak kurallı ifadeyi belirler. Kurallı ifadeye uyan adlar reddedilir.
Ayrıca bakınız
PROJECT_WEB_RESTRICT_HOST#
4.16.2 sürümünde geldi.
Proje sitesinde belirli sunucuların kullanmasını reddeder. Tüm alt etki alanları eşleşir. Bu nedenle example.com’’ katıldığında ``test.example.com
alt etki alanı da engellenir. Listede yalnızca küçük harfli dizgeler bulunmalıdır. Ayrıştırılan etki alanı eşleştirmeden önce küçük harflidir.
Varsayılan yapılandırma:
PROJECT_WEB_RESTRICT_HOST = {"localhost"}
Ayrıca bakınız
Proje sitesi
PROJECT_WEB_RESTRICT_NUMERIC
,
PROJECT_WEB_RESTRICT_RE
,
PROJECT_WEB_RESTRICT_NUMERIC#
4.16.2 sürümünde geldi.
Proje sitesinde sayısal IP adresi kullanarak reddedilir. Varsayılan olarak açıktır.
Ayrıca bakınız
Proje sitesi
PROJECT_WEB_RESTRICT_HOST
,
PROJECT_WEB_RESTRICT_RE
,
PROJECT_WEB_RESTRICT_RE#
4.15 sürümünde geldi.
Proje sitelerini kısıtlayacak kurallı ifadeyi belirler. Kurallı ifadeye uyan adresler reddedilir.
Ayrıca bakınız
Proje sitesi
PROJECT_WEB_RESTRICT_HOST
,
PROJECT_WEB_RESTRICT_NUMERIC
RATELIMIT_ATTEMPTS#
3.2 sürümünde geldi.
Hız sınırlaması uygulanmadan önce yapılabilecek en fazla kimlik doğrulama girişimi sayısı.
Varsayılan değer: 5.
Ayrıca bakınız
RATELIMIT_WINDOW#
3.2 sürümünde geldi.
Hız sınırlaması uygulandıktan sonra kimlik doğrulamasının kabul edileceği süre.
Saniye cinsinden değer. Varsayılan: 300 (5 dakika).
Ayrıca bakınız
RATELIMIT_LOCKOUT#
3.2 sürümünde geldi.
Hız sınırlaması uygulandıktan sonra kimlik doğrulamasının kilitleneceği süre.
Varsayılan değer: 600 saniye (10 dakika).
Ayrıca bakınız
REGISTRATION_ALLOW_BACKENDS#
4.1 sürümünde geldi.
Hesap açılmasına izin verilecek kimlik doğrulama arka uçlarının listesi. Bu seçenek yalnızca yeni kayıtları sınırlar. Kullanıcılar yapılandırılmış tüm kimlik doğrulama arka uçları ile kimlik doğrulaması yapabilir ve kimlik doğrulaması ekleyebilir.
Hesap açma arka uçlarını sınırlarken REGISTRATION_OPEN
seçeneğinin açık tutulması önerilir. Yoksa kullanıcılar hesap açabilir, ancak Weblate kullanıcı arayüzüne hesap açma bağlantılarını görüntülemez.
Örnek:
REGISTRATION_ALLOW_BACKENDS = ["azuread-oauth2", "azuread-tenant-oauth2"]
İpucu
Arka uç adları, kimlik doğrulaması için adres içinde kullanılan adlarla eşleşir.
Ayrıca bakınız
REGISTRATION_CAPTCHA#
Yeni hesap kaydının bir CAPTCHA ile korunup korunmayacağını belirler. Varsayılan olarak etkindir.
Açıksa, kullanıcıların e-posta adreslerini yazdığı tüm sayfalara bir CAPTCHA eklenir:
Yeni hesap açılışı.
Parola kurtarma.
Bir hesaba e-posta ekleme.
Oturum açmamış kullanıcılar için iletişim formu.
REGISTRATION_EMAIL_MATCH#
Hangi e-posta adreslerinin kaydedilebileceğini süzmenizi sağlar.
Varsayılan değer: .*
. Herhangi bir e-posta adresi ile hesap açılmasına izin verir.
Bu seçeneği, hesap açma işlemini tek bir e-posta etki alanıyla sınırlamak için kullanabilirsiniz:
REGISTRATION_EMAIL_MATCH = r"^.*@weblate\.org$"
REGISTRATION_OPEN#
Şu anda yeni hesap açılmasına izin verilip verilmeyeceğini belirler. Varsayılan olarak etkindir.
Bu ayar, e-posta adresi ya da Python Social Auth ile yapılan iç kimlik doğrulamasını etkiler (REGISTRATION_ALLOW_BACKENDS
komutunu kullanarak belirli arka uçları beyaz listeye ekleyebilirsiniz).
Not
LDAP kimlik doğrulaması gibi üçüncü taraf kimlik doğrulama yöntemleri kullanılıyorsa bu seçenek yalnızca kayıt formunu gizler. Ancak yeni kullanıcılar yine de oturum ve hesap açabilir.
Ayrıca bakınız
REGISTRATION_ALLOW_BACKENDS
,
REGISTRATION_EMAIL_MATCH
,
Kimlik doğrulama
REGISTRATION_REBIND#
4.16 sürümünde geldi.
Var olan kullanıcılar için kimlik doğrulama hizmeti arka uçlarının yeniden bağlanmasını sağlar. Kimlik doğrulama hizmeti sağlayıcıları arasında geçiş yaparken bu seçeneği açın.
Not
Varsayılan olarak, var olan hesaba başka kimlik doğrulama hizmeti arka uçlarının eklenmesini engellemek için kapalıdır. Yeniden bağlama seçeneği, daha fazla üçüncü taraf kimlik doğrulama hizmeti arka ucunun kullanılmasını sağlarken hesabın ele geçirilme riskini artırır.
REPOSITORY_ALERT_THRESHOLD#
4.0.2 sürümünde geldi.
Eski ya da çok fazla değişiklik içeren depolar için bir uyarı tetikleme eşiği. Varsayılan değer: 25.
Ayrıca bakınız
REQUIRE_LOGIN#
4.1 sürümünde geldi.
Bu seçenek, LOGIN_REQUIRED_URLS
özelliğini etkinleştirir ve REST çatısını tüm API uç noktaları için kimlik doğrulaması gerekecek şekilde yapılandırır.
Not
Bu seçenek, Örnek yapılandırma içine eklenmiştir. Docker için WEBLATE_REQUIRE_LOGIN
kullanın.
SENTRY_DSN#
3.9 sürümünde geldi.
Hata raporlarını derlemek için kullanılacak Sentry DSN.
Ayrıca bakınız
SIMPLIFY_LANGUAGES#
Varsayılan dil/ülke kombinasyonları için basit dil kodlarının kullanılmasını sağlar. Örneğin, bir “fr_FR” çevirisi “fr” dil kodunu kullanır. Varsayılan kombinasyonlar için dillerin listelenmesini basitleştirdiğinden genellikle bu davranış istenir.
Her çeşit için farklı çeviriler yapmak istiyorsanız bu seçeneği kapatın.
SITE_DOMAIN#
Site etki alanını yapılandırır. Bu seçenek, birçok kapsamda doğru mutlak bağlantılar oluşturmak için gereklidir (etkinleştirme e-postaları, bildirimler ya da RSS akışları gibi).
Weblate standart olmayan bir bağlantı noktası kullanıyorsa, buraya da ekleyin.
Örnekler:
# Production site with domain name
SITE_DOMAIN = "weblate.example.com"
# Local development with IP address and port
SITE_DOMAIN = "127.0.0.1:8000"
Not
Bu ayarda yalnızca etki alanı adı bulunmalıdır. İletişim kuralını yapılandırmak için (HTTPS kullanımını açmak ve dayatmak) ENABLE_HTTPS
seçeneğini ve adresi değiştirmek için URL_PREFIX
seçeneğini kullanın.
İpucu
Bir Docker kapsayıcısında, site etki alanı WEBLATE_ALLOWED_HOSTS
seçeneği ile yapılandırılır.
SITE_TITLE#
Web sitesi ve gönderilecek e-postalar için kullanılacak site başlığı.
SPECIAL_CHARS#
Görsel klavyeye eklenecek karakterler. Sanal klavye.
Varsayılan değer:
SPECIAL_CHARS = ("\t", "\n", "\u00a0", "…")
SINGLE_PROJECT#
3.8 sürümünde geldi.
Kullanıcıları pano yerine doğrudan bir proje ya da bileşene yönlendirir. True
olarak ayarlandığında yalnızca Weblate üzerinde tek bir proje olması durumunda çalışır. Alternatif olarak, proje kısaltmasını ayarlarsanız koşulsuz olarak bu projeye yönlendirir.
3.11 sürümünde değişti: Artık tek bir projenin görüntülenmesini dayatmak için bir proje kısaltması da ayarlanabiliyor.
Örnek:
SINGLE_PROJECT = "test"
SSH_EXTRA_ARGS#
4.9 sürümünde geldi.
Weblate SSH çağrılarına özel parametreler eklenmesine izin verir. Bu seçenek, eski şifrelemeyi veya diğer standart olmayan özellikleri kullanan sunucularla bağlantı kurarken yardımcı olur.
Örneğin, Weblate SSH bağlantısı Legacyhost ile iletişim kuramıyor: Uygun bir anahtar değişimi yöntemi bulunamadı. Önerilen: diffie-hellman-group1-sha1 hatası ile kurulamadığında şunu kullanarak açabilirsiniz:
SSH_EXTRA_ARGS = "-oKexAlgorithms=+diffie-hellman-group1-sha1"
İpucu
Dizge kabuk tarafından değerlendirilir. Bu nedenle boşluk ve özel karakterleri tırnak arasına aldığınızdan emin olun.
Ayrıca bakınız
STATUS_URL#
Weblate kopyanızın durumunu bildireceği adres.
SUGGESTION_CLEANUP_DAYS#
3.2.1 sürümünde geldi.
Belirtilen sayıda gün sonra önerileri kendiliğinden siler. Varsayılan değer: Yok
herhangi bir silme işlemi yapmaz.
UNUSED_ALERT_DAYS#
4.17 sürümünde geldi.
Bileşen kullanılmıyor gibi görünüyor uyarısının ne zaman verileceğini yapılandırır.
Varsayılan değer 365 gündür. Kapatmak için 0 olarak ayarlayın.
UPDATE_LANGUAGES#
4.3.2 sürümünde geldi.
Veri tabanı aktarımı çalıştırılırken dil veri tabanının güncellenmesinin gerekip gerekmediğini denetler ve varsayılan olarak etkindir. Bu ayarın weblate weblate setuplang
ögesinin çağrılması üzerinde herhangi bir etkisi yoktur.
Uyarı
Bu seçenek diller görünümünün tutarsız olmasına yol açabilir. Weblate dil tanımları zaman içinde zenginleşir ve tanımlanan dillerin dil kodu görüntülenmez.
Ayrıca bakınız
URL_PREFIX#
Bu ayar, Weblate platformunun belirli bir yol altında çalışmasını sağlar (yoksa site sunucusunun kök klasöründen çalıştırılır).
Not
Bu ayarı kullanmak için, sunucunuzu bu ön eki kaldıracak şekilde yapılandırmanız gerekir. BU işlem örneğin, WSGI ile WSGIScriptAlias
seçeneği ayarlanarak elde edilebilir.
İpucu
Ön ek /
karakteri ile başlamalıdır.
Örnek:
URL_PREFIX = "/translations"
Not
Bu ayar iç Django sunucusuyla çalışmaz. urls.py
dosyasını bu ön eki içerecek şekilde ayarlamanız gerekir.
VCS_API_DELAY#
4.15.1 sürümünde geldi.
GitHub çekme istekleri, GitLab birleştirme istekleri, Gitea çekme isteği ve Pagure birleştirme istekleri içindeki üçüncü taraf API çağrılarında saniye olarak en az gecikmeyi yapılandırır.
Bu seçenek, aşırı yüklenmelerini önlemek için Weblate üzerinden bu hizmetlere yapılan API çağrılarının hızını sınırlar.
GitHub üzerinde ikincil hız sınırlayıcısına takılıyorsanız, bu değeri artırmak yardımcı olabilir.
Varsayılan değer: 10.
VCS_BACKENDS#
Kullanılabilecek sürüm denetimi sistemi arka uçlarının yapılandırması.
Not
Weblate, araçlarının bulunduğu desteklenen tüm arka uçları kullanmaya çalışır.
İpucu
Bu ayar ile seçenekleri sınırlayabilir ya da özel sürüm denetimi sistemi arka uçları ekleyebilirsiniz.
VCS_BACKENDS = ("weblate.vcs.git.GitRepository",)
Ayrıca bakınız
VCS_CLONE_DEPTH#
3.10.2 sürümünde geldi.
Weblate depolarının hangi alt düzeye kadar kopyalanacağını yapılandırır.
Not
Bu seçenek şu anda yalnızca Git için destekleniyor. Varsayılan olarak Weblate, kopyalamayı hızlandırmak ve disk alanını korumak için sığ depo kopyaları oluşturur. Kullanımınıza bağlı olarak (örneğin custom Eklentiler kullanırken), kopya derinliği artırmak ya da 0 olarak ayarlayarak tümüyle kapatmak isteyebilirsiniz.
İpucu
Weblate üzerinden iterken ``fatal: protocol error: expected old/new/ref, got ‘shallow <commit hash>’` hatası alırsanız, sığ kopyaları tümüyle kapatarak şunları ayarlayın:
VCS_CLONE_DEPTH = 0
WEBLATE_ADDONS#
Kullanılabilecek eklentilerin listesi. Bunların kullanılabilmesi için, belirli bir çeviri bileşeninde etkinleştirilmeleri gerekir. Varsayılan olarak bu, tüm iç eklentileri içerir. Listeyi genişletirken büyük olasılıkla var olanları etkin tutmak isteyeceksiniz. Örneğin:
WEBLATE_ADDONS = (
# Built-in add-ons
"weblate.addons.gettext.GenerateMoAddon",
"weblate.addons.gettext.UpdateLinguasAddon",
"weblate.addons.gettext.UpdateConfigureAddon",
"weblate.addons.gettext.MsgmergeAddon",
"weblate.addons.gettext.GettextCustomizeAddon",
"weblate.addons.gettext.GettextAuthorComments",
"weblate.addons.cleanup.CleanupAddon",
"weblate.addons.consistency.LangaugeConsistencyAddon",
"weblate.addons.discovery.DiscoveryAddon",
"weblate.addons.flags.SourceEditAddon",
"weblate.addons.flags.TargetEditAddon",
"weblate.addons.flags.SameEditAddon",
"weblate.addons.flags.BulkEditAddon",
"weblate.addons.generate.GenerateFileAddon",
"weblate.addons.json.JSONCustomizeAddon",
"weblate.addons.xml.XMLCustomizeAddon",
"weblate.addons.properties.PropertiesSortAddon",
"weblate.addons.git.GitSquashAddon",
"weblate.addons.removal.RemoveComments",
"weblate.addons.removal.RemoveSuggestions",
"weblate.addons.resx.ResxUpdateAddon",
"weblate.addons.autotranslate.AutoTranslateAddon",
"weblate.addons.yaml.YAMLCustomizeAddon",
"weblate.addons.cdn.CDNJSAddon",
# Add-on you want to include
"weblate.addons.example.ExampleAddon",
)
Not
Eklentiyi listeden kaldırmak, bileşenlerden kaldırmaz. Bu durumda Weblate çöker. Lütfen eklentiyi bu listeden kaldırmadan önce tüm bileşenlerden kaldırın.
Ayrıca bakınız
WEBLATE_EXPORTERS#
4.2 sürümünde geldi.
Çevirilerin veya sözlüklerin çeşitli dosya biçimlerinde indirilmesini sağlayan dışa aktarıcıların listesi.
Ayrıca bakınız
WEBLATE_FORMATS#
3.0 sürümünde geldi.
Kullanılabilecek dosya biçimlerinin listesi.
Not
Varsayılan listede yaygın kullanılan biçimler bulunur.
Ayrıca bakınız
WEBLATE_MACHINERY#
4.13 sürümünde geldi.
Kullanılabilecek makine hizmetlerinin listesi.
Ayrıca bakınız
WEBLATE_GPG_IDENTITY#
3.1 sürümünde geldi.
Weblate tarafından Git işlemelerini imzalamak için kullanılacak kimlik. Örneğin:
WEBLATE_GPG_IDENTITY = "Weblate <weblate@example.com>"
Weblate GPG anahtarlığında, uygun bir anahtar aranır (home/.gnupg
altında DATA_DIR
). Bulunamazsa, bir anahtar oluşturulur. Bilgi almak için: Git işlemelerini GnuPG ile imzalamak.
Ayrıca bakınız
WEBSITE_REQUIRED#
Bir proje oluşturulurken Proje sitesi ögesinin belirtilmesinin gerekip gerekmediğini belirler. Varsayılan olarak, herkese açık sunucu kurulumlarına uygun şekilde açıktır.
Örnek yapılandırma#
Bu örnek, Weblate ile birlikte gelen weblate/settings_example.py
dosyasıdır:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
import os
import platform
from logging.handlers import SysLogHandler
# Title of site to use
SITE_TITLE = "Weblate"
# Site domain
SITE_DOMAIN = ""
# Whether site uses https
ENABLE_HTTPS = False
#
# Django settings for Weblate project.
#
DEBUG = True
ADMINS = (
# ("Your Name", "your_email@example.com"),
)
MANAGERS = ADMINS
DATABASES = {
"default": {
# Use "postgresql" or "mysql".
"ENGINE": "django.db.backends.postgresql",
# Database name.
"NAME": "weblate",
# Database user.
"USER": "weblate",
# Name of role to alter to set parameters in PostgreSQL,
# use in case role name is different than user used for authentication.
# "ALTER_ROLE": "weblate",
# Database password.
"PASSWORD": "",
# Set to empty string for localhost.
"HOST": "127.0.0.1",
# Set to empty string for default.
"PORT": "",
# Customizations for databases.
"OPTIONS": {
# In case of using an older MySQL server,
# which has MyISAM as a default storage
# "init_command": "SET storage_engine=INNODB",
# Uncomment for MySQL older than 5.7:
# "init_command": "SET sql_mode='STRICT_TRANS_TABLES'",
# Set emoji capable charset for MySQL:
# "charset": "utf8mb4",
# Change connection timeout in case you get MySQL gone away error:
# "connect_timeout": 28800,
},
# Persistent connections
"CONN_MAX_AGE": 0,
# Disable server-side cursors, might be needed with pgbouncer
"DISABLE_SERVER_SIDE_CURSORS": False,
}
}
# Data directory, you can use following for the development purposes:
# os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "data")
DATA_DIR = "/home/weblate/data"
CACHE_DIR = f"{DATA_DIR}/cache"
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# In a Windows environment this must be set to your system time zone.
TIME_ZONE = "UTC"
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = "en-us"
LANGUAGES = (
("ar", "العربية"),
("az", "Azərbaycan"),
("be", "Беларуская"),
("be-latn", "Biełaruskaja"),
("bg", "Български"),
("br", "Brezhoneg"),
("ca", "Català"),
("cs", "Čeština"),
("cy", "Cymraeg"),
("da", "Dansk"),
("de", "Deutsch"),
("en", "English"),
("el", "Ελληνικά"),
("en-gb", "English (United Kingdom)"),
("es", "Español"),
("fi", "Suomi"),
("fr", "Français"),
("gl", "Galego"),
("he", "עברית"),
("hu", "Magyar"),
("hr", "Hrvatski"),
("id", "Indonesia"),
("is", "Íslenska"),
("it", "Italiano"),
("ja", "日本語"),
("kab", "Taqbaylit"),
("kk", "Қазақ тілі"),
("ko", "한국어"),
("nb", "Norsk bokmål"),
("nl", "Nederlands"),
("pl", "Polski"),
("pt", "Português"),
("pt-br", "Português brasileiro"),
("ro", "Română"),
("ru", "Русский"),
("sk", "Slovenčina"),
("sl", "Slovenščina"),
("sq", "Shqip"),
("sr", "Српски"),
("sr-latn", "Srpski"),
("sv", "Svenska"),
("th", "ไทย"),
("tr", "Türkçe"),
("uk", "Українська"),
("zh-hans", "简体中文"),
("zh-hant", "正體中文"),
)
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True
# Type of automatic primary key, introduced in Django 3.2
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
# URL prefix to use, please see documentation for more details
URL_PREFIX = ""
# Absolute filesystem path to the directory that will hold user-uploaded files.
MEDIA_ROOT = os.path.join(DATA_DIR, "media")
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
MEDIA_URL = f"{URL_PREFIX}/media/"
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
STATIC_ROOT = os.path.join(CACHE_DIR, "static")
# URL prefix for static files.
STATIC_URL = f"{URL_PREFIX}/static/"
# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
"compressor.finders.CompressorFinder",
)
# Make this unique, and don't share it with anybody.
# You can generate it using weblate-generate-secret-key
SECRET_KEY = ""
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"OPTIONS": {
"context_processors": [
"django.contrib.auth.context_processors.auth",
"django.template.context_processors.debug",
"django.template.context_processors.i18n",
"django.template.context_processors.request",
"django.template.context_processors.csrf",
"django.contrib.messages.context_processors.messages",
"weblate.trans.context_processors.weblate_context",
],
},
"APP_DIRS": True,
}
]
# GitHub username and token for sending pull requests.
# Please see the documentation for more details.
GITHUB_CREDENTIALS = {}
# GitLab username and token for sending merge requests.
# Please see the documentation for more details.
GITLAB_CREDENTIALS = {}
# Bitbucket username and token for sending merge requests.
# Please see the documentation for more details.
BITBUCKETSERVER_CREDENTIALS = {}
# Authentication configuration
AUTHENTICATION_BACKENDS = (
"social_core.backends.email.EmailAuth",
# "social_core.backends.google.GoogleOAuth2",
# "social_core.backends.github.GithubOAuth2",
# "social_core.backends.github_enterprise.GithubEnterpriseOAuth2",
# "social_core.backends.bitbucket.BitbucketOAuth2",
# "social_core.backends.suse.OpenSUSEOpenId",
# "social_core.backends.ubuntu.UbuntuOpenId",
# "social_core.backends.fedora.FedoraOpenId",
# "social_core.backends.facebook.FacebookOAuth2",
"weblate.accounts.auth.WeblateUserBackend",
)
# Custom user model
AUTH_USER_MODEL = "weblate_auth.User"
# Social auth backends setup
SOCIAL_AUTH_GITHUB_KEY = ""
SOCIAL_AUTH_GITHUB_SECRET = ""
SOCIAL_AUTH_GITHUB_SCOPE = ["user:email"]
SOCIAL_AUTH_GITHUB_ORG_KEY = ""
SOCIAL_AUTH_GITHUB_ORG_SECRET = ""
SOCIAL_AUTH_GITHUB_ORG_NAME = ""
SOCIAL_AUTH_GITHUB_TEAM_KEY = ""
SOCIAL_AUTH_GITHUB_TEAM_SECRET = ""
SOCIAL_AUTH_GITHUB_TEAM_ID = ""
SOCIAL_AUTH_GITHUB_ENTERPRISE_KEY = ""
SOCIAL_AUTH_GITHUB_ENTERPRISE_SECRET = ""
SOCIAL_AUTH_GITHUB_ENTERPRISE_URL = ""
SOCIAL_AUTH_GITHUB_ENTERPRISE_API_URL = ""
SOCIAL_AUTH_GITHUB_ENTERPRISE_SCOPE = ""
SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY = ""
SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET = ""
SOCIAL_AUTH_BITBUCKET_OAUTH2_VERIFIED_EMAILS_ONLY = True
SOCIAL_AUTH_FACEBOOK_KEY = ""
SOCIAL_AUTH_FACEBOOK_SECRET = ""
SOCIAL_AUTH_FACEBOOK_SCOPE = ["email", "public_profile"]
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {"fields": "id,name,email"}
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = ""
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = ""
# Social auth settings
SOCIAL_AUTH_PIPELINE = (
"social_core.pipeline.social_auth.social_details",
"social_core.pipeline.social_auth.social_uid",
"social_core.pipeline.social_auth.auth_allowed",
"social_core.pipeline.social_auth.social_user",
"weblate.accounts.pipeline.store_params",
"weblate.accounts.pipeline.verify_open",
"social_core.pipeline.user.get_username",
"weblate.accounts.pipeline.require_email",
"social_core.pipeline.mail.mail_validation",
"weblate.accounts.pipeline.revoke_mail_code",
"weblate.accounts.pipeline.ensure_valid",
"weblate.accounts.pipeline.remove_account",
"social_core.pipeline.social_auth.associate_by_email",
"weblate.accounts.pipeline.reauthenticate",
"weblate.accounts.pipeline.verify_username",
"social_core.pipeline.user.create_user",
"social_core.pipeline.social_auth.associate_user",
"social_core.pipeline.social_auth.load_extra_data",
"weblate.accounts.pipeline.cleanup_next",
"weblate.accounts.pipeline.user_full_name",
"weblate.accounts.pipeline.store_email",
"weblate.accounts.pipeline.notify_connect",
"weblate.accounts.pipeline.password_reset",
)
SOCIAL_AUTH_DISCONNECT_PIPELINE = (
"social_core.pipeline.disconnect.allowed_to_disconnect",
"social_core.pipeline.disconnect.get_entries",
"social_core.pipeline.disconnect.revoke_tokens",
"weblate.accounts.pipeline.cycle_session",
"weblate.accounts.pipeline.adjust_primary_mail",
"weblate.accounts.pipeline.notify_disconnect",
"social_core.pipeline.disconnect.disconnect",
"weblate.accounts.pipeline.cleanup_next",
)
# Custom authentication strategy
SOCIAL_AUTH_STRATEGY = "weblate.accounts.strategy.WeblateStrategy"
# Raise exceptions so that we can handle them later
SOCIAL_AUTH_RAISE_EXCEPTIONS = True
SOCIAL_AUTH_EMAIL_VALIDATION_FUNCTION = "weblate.accounts.pipeline.send_validation"
SOCIAL_AUTH_EMAIL_VALIDATION_URL = f"{URL_PREFIX}/accounts/email-sent/"
SOCIAL_AUTH_LOGIN_ERROR_URL = f"{URL_PREFIX}/accounts/login/"
SOCIAL_AUTH_EMAIL_FORM_URL = f"{URL_PREFIX}/accounts/email/"
SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = f"{URL_PREFIX}/accounts/profile/#account"
SOCIAL_AUTH_PROTECTED_USER_FIELDS = ("email",)
SOCIAL_AUTH_SLUGIFY_USERNAMES = True
SOCIAL_AUTH_SLUGIFY_FUNCTION = "weblate.accounts.pipeline.slugify_username"
# Password validation configuration
AUTH_PASSWORD_VALIDATORS = [
{
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator"
},
{
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
"OPTIONS": {"min_length": 10},
},
{"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator"},
{"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator"},
{"NAME": "weblate.accounts.password_validation.CharsPasswordValidator"},
{"NAME": "weblate.accounts.password_validation.PastPasswordsValidator"},
# Optional password strength validation by django-zxcvbn-password
# {
# "NAME": "zxcvbn_password.ZXCVBNValidator",
# "OPTIONS": {
# "min_score": 3,
# "user_attributes": ("username", "email", "full_name")
# }
# },
]
# Password hashing (prefer Argon)
PASSWORD_HASHERS = [
"django.contrib.auth.hashers.Argon2PasswordHasher",
"django.contrib.auth.hashers.PBKDF2PasswordHasher",
"django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher",
"django.contrib.auth.hashers.BCryptSHA256PasswordHasher",
]
# Allow new user registrations
REGISTRATION_OPEN = True
# Shortcut for login required setting
REQUIRE_LOGIN = False
# Middleware
MIDDLEWARE = [
"weblate.middleware.RedirectMiddleware",
"weblate.middleware.ProxyMiddleware",
"corsheaders.middleware.CorsMiddleware",
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"weblate.accounts.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"social_django.middleware.SocialAuthExceptionMiddleware",
"weblate.accounts.middleware.RequireLoginMiddleware",
"weblate.api.middleware.ThrottlingMiddleware",
"weblate.middleware.SecurityMiddleware",
"weblate.wladmin.middleware.ManageMiddleware",
]
ROOT_URLCONF = "weblate.urls"
# Django and Weblate apps
INSTALLED_APPS = [
# Weblate apps on top to override Django locales and templates
"weblate.addons",
"weblate.auth",
"weblate.checks",
"weblate.formats",
"weblate.glossary",
"weblate.machinery",
"weblate.trans",
"weblate.lang",
"weblate_language_data",
"weblate.memory",
"weblate.screenshots",
"weblate.fonts",
"weblate.accounts",
"weblate.configuration",
"weblate.utils",
"weblate.vcs",
"weblate.wladmin",
"weblate.metrics",
"weblate",
# Optional: Git exporter
"weblate.gitexport",
# Standard Django modules
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"django.contrib.admin.apps.SimpleAdminConfig",
"django.contrib.admindocs",
"django.contrib.sitemaps",
"django.contrib.humanize",
# Third party Django modules
"social_django",
"crispy_forms",
"crispy_bootstrap3",
"compressor",
"rest_framework",
"rest_framework.authtoken",
"django_filters",
"django_celery_beat",
"corsheaders",
]
# Custom exception reporter to include some details
DEFAULT_EXCEPTION_REPORTER_FILTER = "weblate.trans.debug.WeblateExceptionReporterFilter"
# Default logging of Weblate messages
# - to syslog in production (if available)
# - otherwise to console
# - you can also choose "logfile" to log into separate file
# after configuring it below
# Detect if we can connect to syslog
HAVE_SYSLOG = False
if platform.system() != "Windows":
try:
handler = SysLogHandler(address="/dev/log", facility=SysLogHandler.LOG_LOCAL2)
# Since Python 3.7 connect failures are silently discarded, so
# the exception is almost never raised here. Instead we look whether the socket
# to syslog is open after init.
HAVE_SYSLOG = handler.socket.fileno() != -1
handler.close()
except OSError:
HAVE_SYSLOG = False
DEFAULT_LOG = "console" if DEBUG or not HAVE_SYSLOG else "syslog"
DEFAULT_LOGLEVEL = "DEBUG" if DEBUG else "INFO"
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/stable/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
"version": 1,
"disable_existing_loggers": True,
"filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}},
"formatters": {
"syslog": {"format": "weblate[%(process)d]: %(levelname)s %(message)s"},
"simple": {"format": "[%(asctime)s: %(levelname)s/%(process)s] %(message)s"},
"logfile": {"format": "%(asctime)s %(levelname)s %(message)s"},
"django.server": {
"()": "django.utils.log.ServerFormatter",
"format": "[%(server_time)s] %(message)s",
},
},
"handlers": {
"mail_admins": {
"level": "ERROR",
"filters": ["require_debug_false"],
"class": "django.utils.log.AdminEmailHandler",
"include_html": True,
},
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "simple",
},
"django.server": {
"level": "INFO",
"class": "logging.StreamHandler",
"formatter": "django.server",
},
"syslog": {
"level": "DEBUG",
"class": "logging.handlers.SysLogHandler",
"formatter": "syslog",
"address": "/dev/log",
"facility": SysLogHandler.LOG_LOCAL2,
},
# Logging to a file
# "logfile": {
# "level":"DEBUG",
# "class":"logging.handlers.RotatingFileHandler",
# "filename": "/var/log/weblate/weblate.log",
# "maxBytes": 100000,
# "backupCount": 3,
# "formatter": "logfile",
# },
},
"loggers": {
"django.request": {
"handlers": ["mail_admins", DEFAULT_LOG],
"level": "ERROR",
"propagate": True,
},
"django.server": {
"handlers": ["django.server"],
"level": "INFO",
"propagate": False,
},
# Logging database queries
# "django.db.backends": {
# "handlers": [DEFAULT_LOG],
# "level": "DEBUG",
# },
"redis_lock": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
"weblate": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
# Logging VCS operations
"weblate.vcs": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
# Python Social Auth
"social": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
# Django Authentication Using LDAP
"django_auth_ldap": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
# SAML IdP
"djangosaml2idp": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
},
}
# Remove syslog setup if it's not present
if not HAVE_SYSLOG:
del LOGGING["handlers"]["syslog"]
# List of machine translations
MT_SERVICES = (
# "weblate.machinery.apertium.ApertiumAPYTranslation",
# "weblate.machinery.baidu.BaiduTranslation",
# "weblate.machinery.deepl.DeepLTranslation",
# "weblate.machinery.glosbe.GlosbeTranslation",
# "weblate.machinery.google.GoogleTranslation",
# "weblate.machinery.googlev3.GoogleV3Translation",
# "weblate.machinery.libretranslate.LibreTranslateTranslation",
# "weblate.machinery.microsoft.MicrosoftCognitiveTranslation",
# "weblate.machinery.microsoftterminology.MicrosoftTerminologyService",
# "weblate.machinery.modernmt.ModernMTTranslation",
# "weblate.machinery.mymemory.MyMemoryTranslation",
# "weblate.machinery.netease.NeteaseSightTranslation",
# "weblate.machinery.tmserver.AmagamaTranslation",
# "weblate.machinery.tmserver.TMServerTranslation",
# "weblate.machinery.yandex.YandexTranslation",
# "weblate.machinery.saptranslationhub.SAPTranslationHub",
# "weblate.machinery.youdao.YoudaoTranslation",
"weblate.machinery.weblatetm.WeblateTranslation",
"weblate.memory.machine.WeblateMemory",
)
# Machine translation API keys
# URL of the Apertium APy server
MT_APERTIUM_APY = None
# DeepL API key
MT_DEEPL_KEY = None
# LibreTranslate
MT_LIBRETRANSLATE_API_URL = None
MT_LIBRETRANSLATE_KEY = None
# Microsoft Cognitive Services Translator API, register at
# https://portal.azure.com/
MT_MICROSOFT_COGNITIVE_KEY = None
MT_MICROSOFT_REGION = None
# ModernMT
MT_MODERNMT_KEY = None
# MyMemory identification email, see
# https://mymemory.translated.net/doc/spec.php
MT_MYMEMORY_EMAIL = None
# Optional MyMemory credentials to access private translation memory
MT_MYMEMORY_USER = None
MT_MYMEMORY_KEY = None
# Google API key for Google Translate API v2
MT_GOOGLE_KEY = None
# Google Translate API3 credentials and project id
MT_GOOGLE_CREDENTIALS = None
MT_GOOGLE_PROJECT = None
# Baidu app key and secret
MT_BAIDU_ID = None
MT_BAIDU_SECRET = None
# Youdao Zhiyun app key and secret
MT_YOUDAO_ID = None
MT_YOUDAO_SECRET = None
# Netease Sight (Jianwai) app key and secret
MT_NETEASE_KEY = None
MT_NETEASE_SECRET = None
# API key for Yandex Translate API
MT_YANDEX_KEY = None
# tmserver URL
MT_TMSERVER = None
# SAP Translation Hub
MT_SAP_BASE_URL = None
MT_SAP_SANDBOX_APIKEY = None
MT_SAP_USERNAME = None
MT_SAP_PASSWORD = None
MT_SAP_USE_MT = True
# Use HTTPS when creating redirect URLs for social authentication, see
# documentation for more details:
# https://python-social-auth-docs.readthedocs.io/en/latest/configuration/settings.html#processing-redirects-and-urlopen
SOCIAL_AUTH_REDIRECT_IS_HTTPS = ENABLE_HTTPS
# Make CSRF cookie HttpOnly, see documentation for more details:
# https://docs.djangoproject.com/en/1.11/ref/settings/#csrf-cookie-httponly
CSRF_COOKIE_HTTPONLY = True
CSRF_COOKIE_SECURE = ENABLE_HTTPS
# Store CSRF token in session
CSRF_USE_SESSIONS = True
# Customize CSRF failure view
CSRF_FAILURE_VIEW = "weblate.trans.views.error.csrf_failure"
SESSION_COOKIE_SECURE = ENABLE_HTTPS
SESSION_COOKIE_HTTPONLY = True
# SSL redirect
SECURE_SSL_REDIRECT = ENABLE_HTTPS
SECURE_SSL_HOST = SITE_DOMAIN
# Sent referrrer only for same origin links
SECURE_REFERRER_POLICY = "same-origin"
# SSL redirect URL exemption list
SECURE_REDIRECT_EXEMPT = (r"healthz/$",) # Allowing HTTP access to health check
# Session cookie age (in seconds)
SESSION_COOKIE_AGE = 1000
SESSION_COOKIE_AGE_AUTHENTICATED = 1209600
SESSION_COOKIE_SAMESITE = "Lax"
# Increase allowed upload size
DATA_UPLOAD_MAX_MEMORY_SIZE = 50000000
# Allow more fields for case with a lot of subscriptions in profile
DATA_UPLOAD_MAX_NUMBER_FIELDS = 2000
# Apply session coookie settings to language cookie as ewll
LANGUAGE_COOKIE_SECURE = SESSION_COOKIE_SECURE
LANGUAGE_COOKIE_HTTPONLY = SESSION_COOKIE_HTTPONLY
LANGUAGE_COOKIE_AGE = SESSION_COOKIE_AGE_AUTHENTICATED * 10
LANGUAGE_COOKIE_SAMESITE = SESSION_COOKIE_SAMESITE
# Some security headers
SECURE_BROWSER_XSS_FILTER = True
X_FRAME_OPTIONS = "DENY"
SECURE_CONTENT_TYPE_NOSNIFF = True
# Optionally enable HSTS
SECURE_HSTS_SECONDS = 31536000 if ENABLE_HTTPS else 0
SECURE_HSTS_PRELOAD = ENABLE_HTTPS
SECURE_HSTS_INCLUDE_SUBDOMAINS = ENABLE_HTTPS
# HTTPS detection behind reverse proxy
SECURE_PROXY_SSL_HEADER = None
# URL of login
LOGIN_URL = f"{URL_PREFIX}/accounts/login/"
# URL of logout
LOGOUT_URL = f"{URL_PREFIX}/accounts/logout/"
# Default location for login
LOGIN_REDIRECT_URL = f"{URL_PREFIX}/"
# Anonymous user name
ANONYMOUS_USER_NAME = "anonymous"
# Reverse proxy settings
IP_PROXY_HEADER = "HTTP_X_FORWARDED_FOR"
IP_BEHIND_REVERSE_PROXY = False
IP_PROXY_OFFSET = 0
# Sending HTML in mails
EMAIL_SEND_HTML = True
# Subject of emails includes site title
EMAIL_SUBJECT_PREFIX = f"[{SITE_TITLE}] "
# Enable remote hooks
ENABLE_HOOKS = True
# By default the length of a given translation is limited to the length of
# the source string * 10 characters. Set this option to False to allow longer
# translations (up to 10.000 characters)
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH = True
# Use simple language codes for default language/country combinations
SIMPLIFY_LANGUAGES = True
# Render forms using bootstrap
CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap3"
CRISPY_TEMPLATE_PACK = "bootstrap3"
# List of quality checks
# CHECK_LIST = (
# "weblate.checks.same.SameCheck",
# "weblate.checks.chars.BeginNewlineCheck",
# "weblate.checks.chars.EndNewlineCheck",
# "weblate.checks.chars.BeginSpaceCheck",
# "weblate.checks.chars.EndSpaceCheck",
# "weblate.checks.chars.DoubleSpaceCheck",
# "weblate.checks.chars.EndStopCheck",
# "weblate.checks.chars.EndColonCheck",
# "weblate.checks.chars.EndQuestionCheck",
# "weblate.checks.chars.EndExclamationCheck",
# "weblate.checks.chars.EndEllipsisCheck",
# "weblate.checks.chars.EndSemicolonCheck",
# "weblate.checks.chars.MaxLengthCheck",
# "weblate.checks.chars.KashidaCheck",
# "weblate.checks.chars.PunctuationSpacingCheck",
# "weblate.checks.format.PythonFormatCheck",
# "weblate.checks.format.PythonBraceFormatCheck",
# "weblate.checks.format.PHPFormatCheck",
# "weblate.checks.format.CFormatCheck",
# "weblate.checks.format.PerlFormatCheck",
# "weblate.checks.format.JavaScriptFormatCheck",
# "weblate.checks.format.LuaFormatCheck",
# "weblate.checks.format.ObjectPascalFormatCheck",
# "weblate.checks.format.SchemeFormatCheck",
# "weblate.checks.format.CSharpFormatCheck",
# "weblate.checks.format.JavaFormatCheck",
# "weblate.checks.format.JavaMessageFormatCheck",
# "weblate.checks.format.PercentPlaceholdersCheck",
# "weblate.checks.format.VueFormattingCheck",
# "weblate.checks.format.I18NextInterpolationCheck",
# "weblate.checks.format.ESTemplateLiteralsCheck",
# "weblate.checks.angularjs.AngularJSInterpolationCheck",
# "weblate.checks.icu.ICUMessageFormatCheck",
# "weblate.checks.icu.ICUSourceCheck",
# "weblate.checks.qt.QtFormatCheck",
# "weblate.checks.qt.QtPluralCheck",
# "weblate.checks.ruby.RubyFormatCheck",
# "weblate.checks.consistency.PluralsCheck",
# "weblate.checks.consistency.SamePluralsCheck",
# "weblate.checks.consistency.ConsistencyCheck",
# "weblate.checks.consistency.ReusedCheck",
# "weblate.checks.consistency.TranslatedCheck",
# "weblate.checks.chars.EscapedNewlineCountingCheck",
# "weblate.checks.chars.NewLineCountCheck",
# "weblate.checks.markup.BBCodeCheck",
# "weblate.checks.chars.ZeroWidthSpaceCheck",
# "weblate.checks.render.MaxSizeCheck",
# "weblate.checks.markup.XMLValidityCheck",
# "weblate.checks.markup.XMLTagsCheck",
# "weblate.checks.markup.MarkdownRefLinkCheck",
# "weblate.checks.markup.MarkdownLinkCheck",
# "weblate.checks.markup.MarkdownSyntaxCheck",
# "weblate.checks.markup.URLCheck",
# "weblate.checks.markup.SafeHTMLCheck",
# "weblate.checks.placeholders.PlaceholderCheck",
# "weblate.checks.placeholders.RegexCheck",
# "weblate.checks.duplicate.DuplicateCheck",
# "weblate.checks.source.OptionalPluralCheck",
# "weblate.checks.source.EllipsisCheck",
# "weblate.checks.source.MultipleFailingCheck",
# "weblate.checks.source.LongUntranslatedCheck",
# "weblate.checks.format.MultipleUnnamedFormatsCheck",
# "weblate.checks.glossary.GlossaryCheck",
# )
# List of automatic fixups
# AUTOFIX_LIST = (
# "weblate.trans.autofixes.whitespace.SameBookendingWhitespace",
# "weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis",
# "weblate.trans.autofixes.chars.RemoveZeroSpace",
# "weblate.trans.autofixes.chars.RemoveControlChars",
# "weblate.trans.autofixes.chars.DevanagariDanda",
# "weblate.trans.autofixes.html.BleachHTML",
# )
# List of enabled addons
# WEBLATE_ADDONS = (
# "weblate.addons.gettext.GenerateMoAddon",
# "weblate.addons.gettext.UpdateLinguasAddon",
# "weblate.addons.gettext.UpdateConfigureAddon",
# "weblate.addons.gettext.MsgmergeAddon",
# "weblate.addons.gettext.GettextCustomizeAddon",
# "weblate.addons.gettext.GettextAuthorComments",
# "weblate.addons.cleanup.CleanupAddon",
# "weblate.addons.cleanup.RemoveBlankAddon",
# "weblate.addons.consistency.LangaugeConsistencyAddon",
# "weblate.addons.discovery.DiscoveryAddon",
# "weblate.addons.autotranslate.AutoTranslateAddon",
# "weblate.addons.flags.SourceEditAddon",
# "weblate.addons.flags.TargetEditAddon",
# "weblate.addons.flags.SameEditAddon",
# "weblate.addons.flags.BulkEditAddon",
# "weblate.addons.generate.GenerateFileAddon",
# "weblate.addons.generate.PseudolocaleAddon",
# "weblate.addons.generate.PrefillAddon",
# "weblate.addons.generate.FillReadOnlyAddon",
# "weblate.addons.json.JSONCustomizeAddon",
# "weblate.addons.xml.XMLCustomizeAddon",
# "weblate.addons.properties.PropertiesSortAddon",
# "weblate.addons.git.GitSquashAddon",
# "weblate.addons.removal.RemoveComments",
# "weblate.addons.removal.RemoveSuggestions",
# "weblate.addons.resx.ResxUpdateAddon",
# "weblate.addons.yaml.YAMLCustomizeAddon",
# "weblate.addons.cdn.CDNJSAddon",
# )
# E-mail address that error messages come from.
SERVER_EMAIL = "noreply@example.com"
# Default email address to use for various automated correspondence from
# the site managers. Used for registration emails.
DEFAULT_FROM_EMAIL = "noreply@example.com"
# List of URLs your site is supposed to serve
ALLOWED_HOSTS = ["*"]
# Configuration for caching
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
# If redis is running on same host as Weblate, you might
# want to use unix sockets instead:
# "LOCATION": "unix:///var/run/redis/redis.sock?db=1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
# If you set password here, adjust CELERY_BROKER_URL as well
"PASSWORD": None,
"CONNECTION_POOL_KWARGS": {},
},
"KEY_PREFIX": "weblate",
"TIMEOUT": 3600,
},
"avatar": {
"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
"LOCATION": os.path.join(CACHE_DIR, "avatar"),
"TIMEOUT": 86400,
"OPTIONS": {"MAX_ENTRIES": 1000},
},
}
# Store sessions in cache
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# Store messages in session
MESSAGE_STORAGE = "django.contrib.messages.storage.session.SessionStorage"
# REST framework settings for API
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
"DEFAULT_PERMISSION_CLASSES": [
# Require authentication for login required sites
"rest_framework.permissions.IsAuthenticated"
if REQUIRE_LOGIN
else "rest_framework.permissions.IsAuthenticatedOrReadOnly"
],
"DEFAULT_AUTHENTICATION_CLASSES": (
"rest_framework.authentication.TokenAuthentication",
"weblate.api.authentication.BearerAuthentication",
"rest_framework.authentication.SessionAuthentication",
),
"DEFAULT_THROTTLE_CLASSES": (
"weblate.api.throttling.UserRateThrottle",
"weblate.api.throttling.AnonRateThrottle",
),
"DEFAULT_THROTTLE_RATES": {"anon": "100/day", "user": "5000/hour"},
"DEFAULT_PAGINATION_CLASS": "weblate.api.pagination.StandardPagination",
"PAGE_SIZE": 50,
"VIEW_DESCRIPTION_FUNCTION": "weblate.api.views.get_view_description",
"UNAUTHENTICATED_USER": "weblate.auth.models.get_anonymous",
}
# Fonts CDN URL
FONTS_CDN_URL = None
# Django compressor offline mode
COMPRESS_OFFLINE = False
COMPRESS_OFFLINE_CONTEXT = "weblate.utils.compress.offline_context"
# Require login for all URLs
if REQUIRE_LOGIN:
LOGIN_REQUIRED_URLS = (r"/(.*)$",)
# In such case you will want to include some of the exceptions
# LOGIN_REQUIRED_URLS_EXCEPTIONS = (
# rf"{URL_PREFIX}/accounts/(.*)$", # Required for login
# rf"{URL_PREFIX}/admin/login/(.*)$", # Required for admin login
# rf"{URL_PREFIX}/static/(.*)$", # Required for development mode
# rf"{URL_PREFIX}/widgets/(.*)$", # Allowing public access to widgets
# rf"{URL_PREFIX}/data/(.*)$", # Allowing public access to data exports
# rf"{URL_PREFIX}/hooks/(.*)$", # Allowing public access to notification hooks
# rf"{URL_PREFIX}/healthz/$", # Allowing public access to health check
# rf"{URL_PREFIX}/api/(.*)$", # Allowing access to API
# rf"{URL_PREFIX}/js/i18n/$", # JavaScript localization
# rf"{URL_PREFIX}/contact/$", # Optional for contact form
# rf"{URL_PREFIX}/legal/(.*)$", # Optional for legal app
# rf"{URL_PREFIX}/avatar/(.*)$", # Optional for avatars
# )
# Silence some of the Django system checks
SILENCED_SYSTEM_CHECKS = [
# We have modified django.contrib.auth.middleware.AuthenticationMiddleware
# as weblate.accounts.middleware.AuthenticationMiddleware
"admin.E408"
]
# Celery worker configuration for testing
# CELERY_TASK_ALWAYS_EAGER = True
# CELERY_BROKER_URL = "memory://"
# CELERY_TASK_EAGER_PROPAGATES = True
# Celery worker configuration for production
CELERY_TASK_ALWAYS_EAGER = False
CELERY_BROKER_URL = "redis://localhost:6379"
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
# Celery settings, it is not recommended to change these
CELERY_WORKER_MAX_MEMORY_PER_CHILD = 200000
CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler"
CELERY_TASK_ROUTES = {
"weblate.trans.tasks.auto_translate*": {"queue": "translate"},
"weblate.accounts.tasks.notify_*": {"queue": "notify"},
"weblate.accounts.tasks.send_mails": {"queue": "notify"},
"weblate.utils.tasks.settings_backup": {"queue": "backup"},
"weblate.utils.tasks.database_backup": {"queue": "backup"},
"weblate.wladmin.tasks.backup": {"queue": "backup"},
"weblate.wladmin.tasks.backup_service": {"queue": "backup"},
"weblate.memory.tasks.*": {"queue": "memory"},
}
# CORS allowed origins
CORS_ALLOWED_ORIGINS = []
CORS_URLS_REGEX = r"^/api/.*$"
# Enable plain database backups
DATABASE_BACKUP = "plain"
# Enable auto updating
AUTO_UPDATE = False
# PGP commits signing
WEBLATE_GPG_IDENTITY = None
# Third party services integration
MATOMO_SITE_ID = None
MATOMO_URL = None
GOOGLE_ANALYTICS_ID = None
SENTRY_DSN = None
SENTRY_ENVIRONMENT = SITE_DOMAIN
AKISMET_API_KEY = None
Yönetim komutları#
Not
Yönetim komutlarını site sunucunuzu çalıştıran kullanıcıdan başka bir kullanıcı ile çalıştırmak, dosya izinlerinin yanlış olmasına neden olabilir. Bilgi almak için: Dosya sistemi izinleri.
Temel yönetim komutlarını (Django kaynaklarında ./manage.py
dosyasında ya da genişletilmiş bir küme olarak Weblate üzerine kurulabilen weblate adlı betik dosyasında bulabilirsiniz).
Yönetim komutlarını çağırmak#
Daha önce de belirtildiği gibi, çağrı yöntemi Weblate kurulumunuza bağlıdır.
Weblate için virtualenv kullanıyorsanız, weblate komutunun tam yolunu belirtebilir ya da çağırmadan önce virtualenv etkinleştirebilirsiniz:
# Direct invocation
~/weblate-env/bin/weblate
# Activating virtualenv adds it to search path
. ~/weblate-env/bin/activate
weblate
Kaynak kodunu doğrudan kullanıyorsanız (tarball ya da Git checkout menüsünden), Weblate kaynaklarındaki yönetim betiği ./manage.py
dosyasıdır. Çalıştırmak için:
python ./manage.py list_versions
Weblate kurulumu için pip kurucusunu ya da ./setup.py
betiğini kullandıysanız, Weblate denetimi için kullanılacak weblate yolunuza (ya da kullandığınız virtualenv yoluna) kurulur:
weblate list_versions
Docker kalıbında betik yukarıdaki gibi kurulur ve docker exec komutuyla çalıştırıllabilir:
docker exec --user weblate <container> weblate list_versions
docker-compose-plugin için de işlem benzerdir. Yalnızca docker compose exec kullanmanız gerekir:
docker compose exec --user weblate weblate weblate list_versions
Bir dosya belirtleniz gerekirse, geçici olarak bir birim ekleyebilirsiniz:
docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json
docker-compose için de işlem benzerdir. Yalnızca docker-compose exec kullanmanız gerekir:
docker-compose exec --user weblate weblate weblate list_versions
Bir dosya belirtleniz gerekirse, geçici olarak bir birim ekleyebilirsiniz:
docker-compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json
add_suggestions#
- weblate add_suggestions <project> <component> <language> <file>#
Dosyadaki çeviriyi belirtilen çeviri için öneri olarak içe aktarır. Aynı olan çevirileri atlar. Yalnızca farklı olanları ekler.
- --author USER@EXAMPLE.COM#
Önerileriniz için sorumlu e-posta adresi. Bu kullanıcının içe aktarma işleminden önce var olması gerekir (gerekirse yönetici arayüzünden bir kullanıcı oluşturabilirsiniz).
Örnek:
weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po
auto_translate#
- weblate auto_translate <project> <component> <language>#
4.6 sürümünde değişti: Çeviri kipi parametresi eklenir.
Diğer bileşen çevirilerini temel alarak kendiliğinden çeviri yapar.
- --source PROJECT/COMPONENT#
Çeviri için kaynak olarak kullanılacak bileşeni belirtir. Belirtilmediğinde, projedeki tüm bileşenler kullanılır.
- --user USERNAME#
Çevirilerin yazarı olarak görüntülenecek kullanıcı adını belirtir. Belirtilmediğinde “Anonim” olarak görüntülenir.
- --overwrite#
Var olan çevirilerin üzerine yazılıp yazılmayacağını belirler.
- --inconsistent#
Tutarsız olan var olan çevirilerin üzerine yazılıp yazılmayacağını belirler (bilgi almak için Tutarsız).
- --add#
Belirtilen bir çeviri bulunmuyorsa dili kendiliğinden ekler.
- --mt MT#
Makine çevirisi olarak diğer bileşenler yerine makine çevirisini kullanır.
- --threshold THRESHOLD#
Makine çevirisi için benzerlik eşiği. Varsayılan değer: 80.
- --mode MODE#
Çeviri kipini belirtir. Varsayılan değer:
translate
.fuzzy
ya dasuggest
seçenekleri de kullanılabilir.
Örnek:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
Ayrıca bakınız
celery_queues#
- weblate celery_queues#
3.7 sürümünde geldi.
Celery görev kuyruklarının uzunluğunu görüntüler.
checkgit#
- weblate checkgit <project|project/component>#
Arka uç Git deposunun geçerli durumunu yazdırır.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
commitgit#
- weblate commitgit <project|project/component>#
Arka uç Git deposunda bekliyor olabilecek değişiklikleri işler.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilir (weblate/application
gibi), var olan tüm bileşenleri güncellemek için -all
seçeneğini kullanabilir ya da dosya biçimine göre süzmek için --file-format
seçeneğini kullanabilirsiniz.
commit_pending#
- weblate commit_pending <project|project/component>#
Belirli bir süreden daha önce bekleyen değişiklikleri işler.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
- --age HOURS#
İşleme için saat olarak yaş. Belirtilmezse, Bileşen yapılandırması içinde yapılandırılmış değer kullanılır.
Not
Bu işlem, Weblate tarafından arka planda kendiliğinden yapılır. Bu nedenle Bileşen yapılandırması tarafından belirtilenden daha erken bir işlemeyi dayatmanın yanında, bunu el ile çağırmaya gerek yoktur.
Ayrıca bakınız
cleanuptrans#
- weblate cleanuptrans#
Arta kalmış denetimleri ve çeviri önerilerini temizler. Normalde bunu el ile çalıştırmaya gerek yoktur. Temizlik arka planda kendiliğinden yapılır.
Ayrıca bakınız
cleanup_ssh_keys#
- weblate cleanup_ssh_keys#
4.9.1 sürümünde geldi.
Depolanmış SSH sunucu anahtarlarını temizler:
GitHub tarafından kullanımdan kaldırılmış RSA anahtarlarını GitHub ile bağlantı kurma sorunlarına yol açmaması için kaldırır.
Çift sunucu anahtarı kayıtlarını kaldırır.
Ayrıca bakınız
createadmin#
- weblate createadmin#
Parola belirtilmemişse rastgele bir parolay ile bir admin
hesabı oluşturur.
- --password PASSWORD#
Rastgele bir parola oluşturulmaması için komut satırından bir parola belirtilmesini sağlar.
- --no-password#
Parola ayarlanmaz. Bu kullanım –update seçeneği ile yararlı olabilir.
- --username USERNAME#
Admin
yerine belirtilen ad kullanılır.
- --email USER@EXAMPLE.COM#
Yönetici e-posta adresini belirtir.
- --name#
Yönetici adını belirtir (görüntülenecek).
- --update#
Var olan kullanıcıyı günceller (parolaları değiştirmek için bunu kullanabilirsiniz).
dump_memory#
- weblate dump_memory#
Weblate çeviri belleği içeriğini bir JSON dosyası olarak dışa aktarır.
Ayrıca bakınız
dumpuserdata#
- weblate dumpuserdata <file.json>#
Kullanıcı verilerini daha sonra weblate weblate importuserdata
tarafından kullanılabilecek biçimde bir dosyaya kaydeder.
İpucu
Bu seçenek, Weblate kopyalarını taşırken ya da birleştirirken işe yarar.
import_demo#
- weblate import_demo#
4.1 sürümünde geldi.
<https://github.com/WeblateOrg/demo> bileşenlerini temel alan bir tanıtım projesi oluşturur. Bu komutu çalıştırmadan önce Celery görevlerinin çalıştığından emin olun.
Bu seçenek, Weblate geliştirme çalıştırmaları için yararlı olabilir.
import_json#
- weblate import_json <json-file>#
JSON verileri kullanan bileşenleri toplu olarak içe aktarır.
İçe aktarılan JSON dosya yapısı aşağı yukarı bileşen nesnesine karşılık gelir (bilgi almak için: GET /api/components/(string:project)/(string:component)/
). name
ve filemask
alanlarını katmanız gerekir.
- --project PROJECT#
Bileşenlerin nereden içe aktarılacağını belirtir.
- --main-component COMPONENT#
Bunların tümü için bu bileşenden verilen sürüm denetimi sistemi deposunu kullanır.
- --ignore#
İçe aktarılmış (zaten) bileşenleri atlar.
- --update#
İçe aktarılmış (zaten) bileşenleri günceller.
JSON dosyası örneği:
[
{
"slug": "po",
"name": "Gettext PO",
"file_format": "po",
"filemask": "po/*.po",
"new_lang": "none"
},
{
"name": "Android",
"filemask": "android/values-*/strings.xml",
"template": "android/values/strings.xml",
"repo": "weblate://test/test",
"file_format": "aresource"
}
]
Ayrıca bakınız
import_memory#
- weblate import_memory <file>#
TMX ya da JSON dosyasını Weblate çeviri belleği içine aktarır.
- --language-map LANGMAP#
TMX dosyasındaki dillerin Weblate çeviri belleği ile eşlenmesini sağlar. Dil kodları genellikle Weblate tarafından yapılan normalleştirmeden sonra eşlenir.
Örneğin,
--language-map en_US:en
, tümen_US
dizgelerinien
dizgeleri olarak içe aktarır.Bu seçenek, TMX dosyasının yerel ayarlarının Weblate üzerindekiler ile eşleşmemesi durumunda yararlı olabilir.
Ayrıca bakınız
import_project#
- weblate import_project <project> <gitrepo> <branch> <filemask>#
3.0 sürümünde değişti: import_project komutu artık Bileşen keşfi eklentisini temel aldığından davranışında ve kabul ettiği parametrelerde bazı değişiklikler vardır.
Toplu işlem, bileşenleri dosya maskesine göre projeye aktarır.
<project>, bileşenlerin içe aktarılacağı var olan bir projeyi adlandırır.
<gitrepo>, kullanılacak Git deposu adresini tanımlar ve <branch> Git dalını belirtir. Var olan bir Weblate bileşeninden ek çeviri bileşenlerini içe aktarmak için, <gitrepo> için bir weblate://<project>/<component> adresi kullanın.
<filemask>, depoda aranacak dosyaları tanımlar. Genel arama karakterleri kullanılarak basitleştirilebilir ya da kurallı ifadelerin tüm gücünü kullanabilir.
Basit eşleştirmede, bileşen adı için **
ve dil için *
kullanılır. Örnek: **/*.po
Kurallı ifadede component ve `language adlı gruplar bulunmalıdır. Örneğin: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po
İçe aktarma, dosyalara bakarak var olan bileşenleri bulur ve var olmayanları ekler. Zaten var olanları değiştirmez.
- --name-template TEMPLATE#
Django kalıp söz dizimini kullanarak bir bileşenin adını özelleştirin.
Örnek:
Belgeler: {{ component }}
- --base-file-template TEMPLATE#
Tek dilli çeviriler için temel dosyayı özelleştirin.
Örnek:
{{ component }}/res/values/string.xml
- --new-base-template TEMPLATE#
Yeni çevirilerin eklenmesi için temel dosyayı özelleştirin.
Örnek:
{{ component }}/ts/en.ts
- --file-format FORMAT#
Kullanılacak dosya biçimini de belirtebilirsiniz (bilgi almak için: Desteklenen dosya biçimleri). Varsayılan değer: otomatik algılama.
- --language-regex REGEX#
Bu parametreyle süzülecek dili belirtebilirsiniz (bilgi almak için: Bileşen yapılandırması). Kurallı ifade geçerli olmalıdır.
- --main-component#
Hangi bileşenin ana bileşen olarak seçileceğini belirtebilirsiniz. VCS deposunu içeren bileşen olmalıdır.
- --license NAME#
Genel, proje veya bileşen çeviri lisansını belirtin.
- --license-url URL#
Çeviri lisansının bulunduğu adresi belirtin.
- --vcs NAME#
Hangi sürüm denetim sistemini kullanacağınızı belirtmeniz gerekirse, buradan yapabilirsiniz. Varsayılan sürüm denetimi: Git.
Örnek olması için, iki projeyi içe aktarmayı deneyelim.
İlk olarak, her dilin her bölümün çevirilerinin ayrı bir klasörde bulunan Debian el kitabı çevirileri:
weblate import_project \
debian-handbook \
git://anonscm.debian.org/debian-handbook/debian-handbook.git \
squeeze/master \
'*/**.po'
Ardından, temel dosya kalıbıyla birlikte dosya biçiminin belirtilmesi gereken Tanaguru aracı ve tüm bileşenler ile çevirilerin tek bir klasörde nasıl bulunduğu:
weblate import_project \
--file-format=properties \
--base-file-template=web-app/tgol-web-app/src/main/resources/i18n/%s-I18N.properties \
tanaguru \
https://github.com/Tanaguru/Tanaguru \
master \
web-app/tgol-web-app/src/main/resources/i18n/**-I18N_*.properties
Daha karmaşık bir örnek olarak, src/security/Numerous_security_holes_in_0.10.1.de.po
gibi bir dosya adından doğru bileşeni ve dili ayıklamak:
weblate import_project \
tails \
git://git.tails.boum.org/tails master \
'wiki/src/security/(?P<component>.*)\.(?P<language>[^.]*)\.po$'
Yalnızca seçilmiş bir dildeki çevirileri süzme:
./manage import_project \
--language-regex '^(cs|sk)$' \
weblate \
https://github.com/WeblateOrg/weblate.git \
'weblate/locale/*/LC_MESSAGES/**.po'
Birden çok dosyaya ayrılmış Sphinx belgelerini içe aktarmak:
$ weblate import_project --name-template 'Documentation: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/**.po'
Birden çok dosya ve klasöre ayrılmış Sphinx belgelerini içe aktarmak:
$ weblate import_project --name-template 'Directory 1: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/dir1/**.po'
$ weblate import_project --name-template 'Directory 2: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/dir2/**.po'
Ayrıca bakınız
Daha ayrıntılı örnekler Yerelleştirmeye başlamak bölümünde bulunabilir. Alternatif olarak weblate weblate import_json
kullanmak isteyebilirsiniz.
importuserdata#
- weblate importuserdata <file.json>#
weblate weblate dumpuserdata
ile oluşturulmuş bir dosyadan kullanıcı verilerini içe aktarır.
importusers#
- weblate importusers --check <file.json>#
Django auth_users veri tabanının JSON dökümünden kullanıcıları içe aktarır.
- --check#
Bu seçenekle, yalnızca belirli bir dosyanın içe aktarılıp aktarılamayacağı denetlenir ve kullanıcı adlarından ya da e-posta adreslerinden kaynaklanan olası çakışmalar bildirilir.
Şunu kullanarak kullanıcıları var olan Django kurulumundan dökebilirsiniz:
weblate dumpdata auth.User > users.json
install_addon#
3.2 sürümünde geldi.
- weblate install_addon --addon ADDON <project|project/component>#
Bir bileşen kümesine bir eklenti kurar.
- --addon ADDON#
Kurulacak eklentinin adı. Örneğin
weblate.gettext.customize
.
- --configuration CONFIG#
Bir eklentinin JSON olarak kodlanmış yapılandırması.
- --update#
Var olan eklenti yapılandırmasını güncelle.
Eklentinin hangi projeye ya da bileşene kurulacağını belirtebilir (weblate/application
gibi) ya da var olan tüm bileşenleri katmak için --all
kullanabilirsiniz.
Tüm bileşenler için Gettext çıktısını özelleştirme kurmak için:
weblate install_addon --addon weblate.gettext.customize --configuration '{"width": -1}' --update --all
Ayrıca bakınız
install_machinery#
4.18 sürümünde geldi.
- weblate install_machinery --service SERVICE#
Site genelinde çalışacak bir kendiliğinden öneri hizmeti kurar.
- --service SERVICE#
Kurulacak hizmetin adı. Örneğin
deepl
.
- --configuration CONFIG#
Bir hizmetin JSON olarak kodlanmış yapılandırması.
- --update#
Var olan hizmet yapılandırmasını güncelle.
Kurmak için DeepL:
weblate install_service --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update
Ayrıca bakınız
list_languages#
- weblate list_languages <locale>#
MediaWiki kodlarında desteklenen dilleri listeler. Dil kodları, İngilizce adlar ve yerelleştirilmiş adlar.
Bu, <https://wiki.l10n.cz/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF> oluşturmak için kullanılır.
list_translators#
- weblate list_translators <project|project/component>#
Belirtilen projeye katkıda bulunan çevirmenleri dile göre listeler:
[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
- --language-code#
Adları dil adı yerine dil koduna göre listeler.
Hangi projenin ya da bileşenin kullanılacağını belirtebilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenlerin çevirmenlerini listelemek için --all
seçeneğini kullanabilirsiniz.
list_versions#
- weblate list_versions#
Tüm Weblate bağımlılıklarını ve sürümlerini listeler.
loadpo#
- weblate loadpo <project|project/component>#
Çevirileri diskten yeniden yükler (örneğin, sürüm denetimi sistemi deposunda bazı güncellemeler yaptıysanız).
- --force#
Dosyalar güncel olsa bile güncellemeye dayatın.
- --lang LANGUAGE#
İşlemi tek bir dille sınırlandırın.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
Not
Bunu nadiren çağırmanız gerekir, Weblate her sürüm denetimi sistemi güncellemesi için değiştirilen dosyaları otomatik olarak yükler. Bu işlem, temel alınan bir Weblate sürüm denetimi sistemi deposunu el ile değiştirmeniz durumunda ya da yükseltmenin ardından bazı özel durumlarda gerekir.
lock_translation#
- weblate lock_translation <project|project/component>#
Bir bileşen üzerinde çeviri yapılmasını önler.
İpucu
Temel alınan depoda bazı bakım işlemleri yapmak istediğinizde yararlıdır.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
Ayrıca bakınız
migrate#
- weblate migrate#
Veri tabanını geçerli Weblate şemasına aktarır. Komut satırı seçenekleri Django migrate
bölümünde açıklanmıştır.
İpucu
Bir kurulumu etkileşimsiz olarak yapmak isterseniz, weblate migrate --noinput
komutunu kullanabilir ve ardından weblate weblate createadmin
komutu ile bir yönetici kullanıcı oluşturabilirsiniz.
Ayrıca bakınız
move_language#
- weblate move_language source target#
3.0 sürümünde geldi.
Dil içeriğini birleştirmenizi sağlar. Bu seçenek, (generated) son ekiyle oluşturulmuş daha önce bilinmeyen dillerin diğer adlarını içeren yeni bir sürüme güncellerken yararlıdır. Tüm içeriği kaynak dilden hedef dile taşır.
Örnek:
weblate move_language cze cs
İçeriği taşıdıktan sonra, geride bir şey kalıp kalmadığını denetleyip (bu arada birisi depoyu güncellerse yarış koşulları geçerli olur) ve (generated) dili kaldırmalısınız.
pushgit#
- weblate pushgit <project|project/component>#
İşlenen değişiklikleri yukarı akış sürüm denetimi deposuna iter.
- --force-commit#
Bekleyen değişikliklerin itilmeden önce işlenmesini dayatır.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
Not
Weblate Bileşen yapılandırması içindeki İşleme ile itme seçeneği açılmış ise değişiklikler otomatik olarak gönderilir ve bu varsayılan değerdir.
unlock_translation#
- weblate unlock_translation <project|project/component>#
Belirli bir bileşenin kilidini açarak çeviri yapılmasına izin verir.
İpucu
Temel alınan depoda bazı bakım işlemleri yapmak istediğinizde yararlıdır.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
Ayrıca bakınız
setupgroups#
- weblate setupgroups#
Varsayılan grupları yapılandırır ve isteğe bağlı olarak tüm kullanıcıları bu varsayılan gruba atar.
- --no-privs-update#
Var olan grupların otomatik olarak güncellenmesini kapatır (yalnızca yeniler eklenir).
- --no-projects-update#
Var olan projeler için grupların otomatik olarak güncellenmesini engeller. Bu seçenek, var olan projelere yeni grupların eklenmesine izin verir. Bilgi almak için: Proje erişim denetimi.
Ayrıca bakınız
setuplang#
- weblate setuplang#
Weblate üzerinde tanımlanmış dillerin listesini günceller.
- --no-update#
Var olan dillerin otomatik olarak güncellenmesini kapatır (yalnızca yeniler eklenir).
updatechecks#
- weblate updatechecks <project|project/component>#
Tüm dizgeler için tüm denetimleri günceller.
İpucu
Denetimlerde büyük değişiklikler yapılmış olan yükseltmelerde yararlıdır.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
Not
Denetimler Weblate tarafından düzenli olarak arka planda yeniden hesaplanır. Sıklık BACKGROUND_TASKS
seçeneği ile yapılandırılabilir.
updategit#
- weblate updategit <project|project/component>#
Uzak sürüm denetimi sistemi depolarını getirir ve iç ön belleği günceller.
Hangi projenin veya bileşenin güncelleneceğini tanımlayabilirsiniz (weblate/application
gibi) ya da var olan tüm bileşenleri güncellemek için --all
seçeneğini kullanabilirsiniz.
Not
Genellikle depodaki kancaları, weblate weblate updategit
ile düzenli olarak yoklamak yerine, Bildirim kancaları ögesini tetikleyecek şekilde yapılandırmak daha iyidir.
Duyurular#
4.0 sürümünde değişti: Önceki sürümlerde bu özelliğe beyaz tahta iletileri adı veriliyordu.
Site genelinde, projeye, bileşene ya da dile özel duyurular yayınlayarak çevirmenlerinize bilgi sağlayın.
Amacı, bitiş tarihlerini ve durumu duyurun ya da çeviri hedeflerini belirtin.
Kullanıcılar, izledikleri projelerin duyuruları ile ilgili bir bildirim alır (devre dışı bırakmadıkları sürece).
Bu özellik, sitenin amacını duyurmaktan çeviriler için hedefler belirlemeye kadar çeşitli konularda yararlı olabilir.
Duyurular, Yönetim menüsündeki Duyuru yayınla seçeneği ile istenilen düzeyde yayınlanabilir:

Yönetim arayüzü kullanılarak da eklenebilir:

Duyurular daha sonra belirtilen bağlamlarına göre görüntülenir:
Herhangi bir bağlam belirtilmediğinde
Panoda görüntülenir (giriş sayfası).
Proje belirtildiğinde
Projenin tüm bileşenleri ve çevirilerinde görüntülenir.
Bileşen belirtildiğinde
Belirtilen bileşen ve tüm çevirilerinde görüntülenir.
Dil belirtildiğinde
Dil özeti ve bu dildeki tüm çevirilerde görüntülenir.
Dil özet sayfası şöyle görüntülenir:

Bileşen listeleri#
Kullanıcı panosunda seçenek olarak görüntülenecek ve kullanıcıların varsayılan görünümleri olarak birini seçebileceği birkaç bileşen listesi belirtin. Bilgi almak için Pano.
İpucu
Panoda sunulan her bileşen listesi için bir durum görüntülenir.
Bileşen listelerinin adları ve içeriği, yönetim arayüzünde, Bileşen listeleri bölümünde belirtilebilir. Her bileşen listesinin kullanıcıya görüntülenen bir adı ve adresi ile onu temsil eden bir kısaltması olmalıdır.
İpucu
Yönetim bölümünden anonim kullanıcılar için pano ayarlarını değiştirerek kimliği doğrulanmamış kullanıcılara hangi panonun sunulacağını belirtin.
Kendiliğinden bileşen listeleri#
Kendiliğinden bileşen listesi ataması kuralları oluşturarak bileşenleri kısaltmalarına göre kendiliğinden listeye ekleyebilirsiniz.
Büyük kurulumlarda bileşen listelerini korumak için ya da Weblate kurulumunuzdaki tüm bileşenleri içeren tek bir bileşen listesi elde etmek istediğinizde kullanışlıdır.
İpucu
Weblate kurulumunuzdaki tüm bileşenlerin bulunduğu bir bileşen listesi oluşturun.
1. Define Automatic component list assignment with ^.*$
as regular expression
in both the project and the component fields, as shown on this image:

İsteğe bağlı Weblate modülleri#
Kurulumunuz için isteğe bağlı çeşitli modüller vardır.
Git dışa aktarıcı#
HTTP(S) kullanarak temel alınan Git deposuna salt okunur erişim sağlar.
Kurulum#
settings.py
dosyasındaki kurulu uygulamalaraweblate.gitexport
ekleyin:
INSTALLED_APPS += ("weblate.gitexport",)
Kurulumdan sonra veri tabanınızı aktararak var olan depoları dışa aktarın:
weblate migrate
Kullanım#
Modül otomatik olarak Weblate bağlantısı kurar ve Bileşen yapılandırması içinde dışa aktarılan depo adresini ayarlar. Depolara Weblate adresinin /git/
bölümünden erişilebilir. örneğin https://site.org/git/weblate/main/
.
Herkese açık projelerin depoları kimlik doğrulaması olmadan kopyalanabilir:
git clone 'https://example.org/git/weblate/main/'
Sınırlanmış erişimi olan depolara göz atmak için erişim (Gizli erişim denetimi ile ya da REQUIRE_LOGIN
seçeneği etkinleştirilerek), <user-profile> kullanıcı profilinizden alabileceğiniz bir API kodu ile sağlanır:
git clone 'https://user:KEY@example.org/git/weblate/main/'
İpucu
Varsayılan olarak, üyeler veya Kullanıcılar grubu ve anonim kullanıcı, herkese açık projeler için depolara Depo erişimi ve Uzman kullanıcı rolleri ile erişebilir.
Faturalama#
Bu seçenek, faturalama tarifelerini tanımlamak, faturaları ve kullanım sınırlarını izlemek için Hosted Weblate üzerinde kullanılır.
Kurulum#
1. Add weblate.billing
to installed apps in
settings.py
:
INSTALLED_APPS += ("weblate.billing",)
İsteğe bağlı olarak modül için ek veri tabanı yapıları kurmak üzere veri tabanı aktarımını çalıştırın:
weblate migrate
Kullanım#
Kurulumdan sonra faturalamayı yönetici arayüzünden yönetebilirsiniz. Faturalamanın etkin olduğu kullanıcılara Kullanıcı profili içinde Faturalama sekmesi görüntülenir.
Faturalama modülü ayrıca proje yöneticilerinin süper kullanıcı olmadan yeni projeler ve bileşenler oluşturmasını sağlar (bilgi almak için: Çeviri projelerini ve bileşenleri eklemek). Bunun için şu koşullar yerine getirilmelidir:
Faturalama yapılandırılmış sınırlar içindedir (aşırı kullanım, proje/bileşen oluşturulmasını engeller) ve ödenmiştir (fiyatı sıfır değilse)
Kullanıcı, faturalama ile var olan projenin yöneticisidir ya da kullanıcı faturalamanın sahibidir (ikincisi, kullanıcıların yeni projeleri içe aktarabilmesi için yeni faturalama oluştururken gereklidir).
Proje oluşturulduktan sonra kullanıcı, daha fazla özelliğe erişebilmesi durumunda proje için hangi fatura ücretlendirmesinin uygulanacağını seçebilir.
Yasal#
Bu seçenek, gerekli yasal belgeleri sağlamak için Hosted Weblate üzerinde kullanılır. Boş belgelerle gelir ve belgelerde aşağıdaki kalıpları doldurmanız beklenir:
legal/documents/tos.html
Hizmet koşulları belgesi
legal/documents/privacy.html
Gizlilik ilkesi belgesi
legal/documents/summary.html
Hizmet koşulları ve gizlilik ilkeleri metinlerinin özeti
Hizmet koşulları belgelerini değiştirirken, lütfen LEGAL_TOS_DATE
ayarını yapın, böylece kullanıcılara güncellenmiş belgeleri kabul etmeleri dayatılır.
Not
Hosted Weblate hizmeti için yasal belgeler <https://github.com/WeblateOrg/wllegal/tree/main/wllegal/templates/legal/documents> Git deposunda bulunabilir.
Büyük olasılıkla bunları olduğu gibi kullanamazsınız. Ancak gereksinimlerinize uygun olarak ayarlamakta başlangıç noktası olarak yararlı olabilir.
Kurulum#
1. Add weblate.legal
to installed apps in
settings.py
:
INSTALLED_APPS += ("weblate.legal",)
# Optional:
# Social auth pipeline to confirm TOS upon registration/subsequent sign in
SOCIAL_AUTH_PIPELINE += ("weblate.legal.pipeline.tos_confirm",)
# Middleware to enforce TOS confirmation of signed in users
MIDDLEWARE += [
"weblate.legal.middleware.RequireTOSMiddleware",
]
İsteğe bağlı olarak modül için ek veri tabanı yapıları kurmak üzere veri tabanı aktarımını çalıştırın:
weblate migrate
weblate/legal/templates/legal/
klasöründeki yasal belgeleri size uygun şekilde düzenleyin.
Kullanım#
Kurulum ve düzenlemeden sonra, yasal belgeler Weblate arayüzünde görüntülenir.
Avatarlar#
Avatarlar, varsayılan olarak hizmet verdikleri sitelerden bilgi sızıntılarını azaltmak için sunucu tarafına indirilir ve ön belleğe alınır. Bunun için yapılandırılmış e-posta adreslerinden avatarları almayı sağlama özelliği ENABLE_AVATARS
seçeneği kullanılarak kapatılabilir.
Weblate şu anda şunları destekliyor:
Ayrıca bakınız
İstenmeyen gönderim koruması#
Akismet hizmetiyle kullanıcıların istenmeyen gönderimler yapmasını engelleyebilirsiniz.
Akismet Python modülünü kurun (resmi Docker kalıbında zaten vardır).
Akismet API anahtarını edinin.
WEBLATE_AKISMET_API_KEY
ayarına ya da Docker üzerindeAKISMET_API_KEY
ayarına ekleyin.
Şu içerikler denetlenmesi için Akismet üzerine gönderilir:
Kimliği doğrulanmamış kullanıcılardan öneriler
Proje ve bileşen açıklamaları ve bağlantıları
Not
Bu (diğer şeylerin yanında) istemcinin IP adresini kullanır. Lütfen bu yapılandırmayı düzgün bir şekilde yapmak için Ters vekil sunucu arkasında çalıştırmak bölümüne bakın.
Git işlemelerini GnuPG ile imzalamak#
3.1 sürümünde geldi.
Tüm işlemeler Weblate kopyasının GnuPG anahtarı tarafından imzalanabilir.
1. Turn on WEBLATE_GPG_IDENTITY
. (Weblate will generate a GnuPG
key when needed and will use it to sign all translation commits.)
Bu özellik için GnuPG 2.1 ya da üzerindeki bir sürüm kurulu olmalıdır.
Anahtarı DATA_DIR
içinde bulabilirsiniz. Herkese açık anahtar “Hakkında” sayfasında görüntülenir:

2. Alternatively you can also import existing keys into Weblate, just set
HOME=$DATA_DIR/home
when invoking gpg.
Ayrıca bakınız
Hızı sınırlamak#
3.2 sürümünde değişti: Hız sınırlaması artık daha ayrıntlı yapılandırabiliyor.
4.6 sürümünde değişti: Hız sınırlaması artık süper kullanıcılara uygulanmıyor.
Weblate üzerinde bazı işlemlere hız sınırlaması uygulanır. RATELIMIT_WINDOW
saniye içinde en fazla RATELIMIT_ATTEMPTS
girişim yapılmasına izin verilir. Kullanıcı daha sonra RATELIMIT_LOCKOUT
süreyle engellenir. Kapsamlara özgü ayarlar da vardır. Örneğin RATELIMIT_CONTACT_ATTEMPTS
ya da RATELIMIT_TRANSLATE_ATTEMPTS
. Aşağıdaki tabloda, kullanılabilecek kapsamların tam listesini görebilirsiniz.
Hız sınırlaması uygulanan işlemler şunlardır:
Ad |
Kapsam |
İzin verilen girişimler |
Hız sınırlaması aralığı |
Kilitleme süresi |
---|---|---|---|---|
Hesap açılışı |
|
5 |
300 |
600 |
Yöneticilere ileti göndermek |
|
2 |
300 |
600 |
Oturum açarken parola kimlik doğrulaması |
|
5 |
300 |
600 |
Site genelinde arama |
|
6 |
60 |
60 |
Çeviri |
|
30 |
60 |
600 |
Sözlüğe ekleme |
|
30 |
60 |
600 |
Yeni bir dil çevirisi başlatma |
|
2 |
300 |
600 |
Yeni proje oluşturma |
|
5 |
600 |
600 |
Bir kullanıcı AUTH_LOCK_ATTEMPTS
kez oturum açamazsa, parola sıfırlama işlemini yapana kadar hesabın parola kimlik doğrulaması kapatılır.
Ayarlar, seçenek adına WEBLATE_
ön eki eklenerek Docker kapsayıcısına da uygulanabilir. Örneğin RATELIMIT_ATTEMPTS
seçeneği WEBLATE_RATELIMIT_ATTEMPTS
olur.
API için ayrı hız sınırlama ayarları vardır. Bilgi almak için: API hız sınırlaması.
Ayrıca bakınız
Hızı sınırlamak, Ters vekil sunucu arkasında çalıştırmak, API hız sınırlaması
Fedora iletileri bütünleştirmesi#
Fedora Messaging, Weblate üzerinde yapılan tüm değişiklikleri ileten AMQP temelli bir yayınlayıcıdır. Bunu kullanarak Weblate üzerindeki değişikliklere ek hizmetler bağlayabilirsiniz.
Fedora Messagin bütünleştirmesi, weblate-fedora-messaging
ile ayrı bir Python modülü olarak kullanılabilir. Kurulum yönergeleri için <https://github.com/WeblateOrg/fedora_messaging/> adresine bakabilirsiniz.
Weblate platformunu özelleştirmek#
Django ve Python kullanarak zenginleştirebilir ve özelleştirebilirsiniz. Herkesin yararlanabilmesi için değişikliklerinizi yukarı akışa katın. Bu yöntem, bakım maliyetlerinizi azaltır. İç arayüzler değiştirilirken veya kod yeniden düzenlenirken Weblate üzerindeki kod ele alınır.
Uyarı
Ne iç arayüzler ne de kalıplar kararlı bir API olarak kabul edilmez. Lütfen her yükseltme için kendi özelleştirmelerinizi gözden geçirin. Arayüzler veya bağlamları önceden bildirilmeksizin değişebilir.
Ayrıca bakınız
Bir Python modülü oluşturmak#
Python ile ilgili değilseniz, temel bilgileri açıklayan ve eğitimlerin bulunduğu ‘Yeni başlayanlar için Python <https://www.python.org/about/gettingstarted/>’_ bölümüne bakmak isteyebilirsiniz.
Özel Python kodu (modül olarak adlandırılır) içeren bir dosya yazmak için, sistem yolunda (genellikle /usr/lib/python3.9/site-packages/
gibi bir şey) veya yorumlayıcı arama yoluna da eklenen Weblate klasöründe bir depolama alanına gerek duyulur.
3.8-5 sürümünde geldi: Docker kullanıldığında, Python modüllerini /app/data/python/
(see Docker kapsayıcısı birimleri) içine yerleştirebilirsiniz. Böylece Weblate bunları yükleyebilir. Örneğin bir ayar değiştirme dosyası kullanabilirsiniz.
Daha da iyisi, özelleştirmenizi uygun bir Python paketine dönüştürebilirsiniz:
Paketiniz için bir klasör oluşturun (`weblate_customization’ kullanacağız).
İçinde paketi açıklayan bir
setup.py
dosyası oluşturun:from setuptools import setup setup( name="weblate_customization", version="0.0.1", author="Your name", author_email="yourname@example.com", description="Sample Custom check for Weblate.", license="GPLv3+", keywords="Weblate check example", packages=["weblate_customization"], )
Özelleştirme kodunun bulunduğu Python modülü için bir klasör oluşturun (
weblate_customization
olarak da adlandırılır).İçinde bir
__init__.py
dosyası oluşturarak modülün Python tarafından içe aktarabildiğinden emin olun.Bu paket artık pip install -e kullanılarak kurulabilir. Bilgi almak için: Editable installs.
Kurulduktan sonra, modül Weblate yapılandırmasında kullanılabilir (
weblate_customization.checks.FooCheck
gibi).
Paket yapınız şöyle görünmelidir:
weblate_customization
├── setup.py
└── weblate_customization
├── __init__.py
├── addons.py
└── checks.py
<https://github.com/WeblateOrg/customize-example> adresinde bir Weblate özelleştirme örneği bulabilirsiniz. Bu örnek aşağıda açıklanan tüm konuları kapsar.
Logoyu değiştirmek#
Üzerine yazmak istediğiniz durağan dosyaların bulunduğu basit bir Django uygulaması oluşturun (bilgi almak için: Bir Python modülü oluşturmak).
Marka şu dosyalarda bulunur:
icons/weblate.svg
Gezinme çubuğunda görüntülenecek logo.
logo-*.png
Ekran çözünürlüğüne ve tarayıcıya bağlı olarak internet simgeleri.
favicon.ico
Eski tarayıcılar tarafından kullanılan internet simgesi.
weblate-*.png
Botlar ve anonim kullanıcılar için avatarlar. Bazı tarayıcılar bunları kısayol simgeleri olarak kullanır.
email-logo.png
Bildirim e-postalarında kullanılır.
INSTALLED_APPS
içine ekleyin:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
İstemcilere sunuculacak durağan dosyaları derlemek için
weblate collectstatic --noinput
komutunu yürütün.
Özel kalite denetimleri, eklentiler ve kendiliğinden düzeltmeler#
Weblate üzerine Özel kendiliğinden düzeltmeler, Kendi denetimlerinizi oluşturmak ya da Eklenti yazma kodunuzu kurmak için:
Dosyaları Weblate özelleştirmesinin bulunduğu Python modülünüze yerleştirin (bilgi almak için: Bir Python modülü oluşturmak).
Python sınıfının tam yolunu özel ayarlara ekleyin (
WEBLATE_ADDONS
,CHECK_LIST
ya daAUTOFIX_LIST
):
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)
Yönetim arayüzü#
Yönetim bölümü, /manage/
adresinden yönetim ayarlarının yapılmasını sağlar. Yönetici yetkileri ile oturum açmış kullanıcılar tarafından kullanılabilir ve sağ üstteki İngiliz anahtarı simgesi kullanılarak erişilebilir:

Weblate ile ilgili temel bilgileri içerir:
Destek durumu. Bilgi almak için Weblate için destek almak
Yedekler. Bilgi almak için Weblate yedeğini alma ve taşıma
Paylaşılan çeviri belleği. Bilgi almak için Çeviri belleği
Weblate sağlığı ve Celery kuyruklarının uzunluğunu gösteren başarım raporu
SSH anahtar yönetimi. Bilgi almak için SSH depoları
Tüm bileşenlerin uyarı özeti. Bilgi almak için Çeviri bileşeni uyarıları
Django yönetim arayüzü#
Uyarı
Bu arayüz düşük düzeyde olduğundan kullanırken dikkatli olun. Genellikle bunu kullanmaya gerek duymamalısınız. Çoğu şeye Weblate kullanıcı arayüzü veya API üzerinden rahatça ulaşılabilir.
Bu bölümden kullanıcılar, çeviriler gibi veri tabanında depolanan nesneleri ve diğer ayarları yönetebilirsiniz:

In the Raporlar bölümünden, sitenizin durumuna bakabilirsiniz. Üretim kurulumu kipine geçebilir ya da Depolara erişmek erişimi için SSH anahtarlarını yönetebilirsiniz.
Bölümlerden herhangi birinin altındaki veri tabanı nesnelerini yönetin. Büyük olasılıkla en ilginç olanı, çevrilebilir projeleri yönetebileceğiniz Weblate çevirileri. Bilgi almak için: Proje yapılandırması ve Bileşen yapılandırması.
Weblate dilleri bölümünde dil tanımları bulunur. Bilgi almak için: Dil tanımları.
Proje ekleme#
Eklenen bir proje, tüm bileşenler için bir kapsayıcı görevi görür. Genellikle bir yazılım ya da kitap parçası için bir proje oluşturursunuz (kullanılabilecek parametreler ile ilgili bilgi almak için: Proje yapılandırması bölümüne bakabilirsiniz):

Ayrıca bakınız
Çift dilde bileşenler#
Bir proje ekledikten sonra, ona çeviri bileşenleri ekleyebilirsiniz. (kullanılabilecek parametrelerle ilgili bilgi almak için Bileşen yapılandırması bölümüne bakabilirsiniz):

Ayrıca bakınız
Tek dilde bileşenler#
Bunların daha kolay çevrilmesi için, ileti kimliklerinin ilgili kaynak diliyle (genellikle İngilizce) eşlenebileceği bir kalıp dosyası sağlayın (kullanılabilecek parametrelerle ilgili bilgi almak için Bileşen yapılandırması bölümüne bakabilirsiniz):

Ayrıca bakınız
Weblate için destek almak#
Weblate, topluluk destekli telif hakkı olmayan özgür bir yazılımdır. Aboneler ek ücret ödemeden öncelikli destek alırlar. Ön ödemeli yardım paketleri herkes tarafından kullanılabilir. Geçerli destek teklifleri ile ilgili bilgi almak için: <https://weblate.org/support/>.
Destek bütünleştirmesi#
3.8 sürümünde geldi.
Satın alınan destek paketleri, isteğe bağlı olarak, Weblate abonelik yönetimi arayüzünüzle bütünleştirilebilir ve buradan bir bağlantı bulabilirsiniz. Kopyanızla ilgili temel bulut sunucusu bilgileri de bu şekilde Weblate tarafına bildirilir.

Weblate üzerine gönderilen veriler#
Weblate kopyanızın yapılandırıldığı adres
Sitenizin başlığı
Kullandığınız Weblate sürümü
Weblate veri tabanınızdaki bazı nesnelerin günlükleri (projeler, bileşenler, diller, kaynak dizgeler ve kullanıcılar)
Kopyanızın herkese açık SSH anahtarı
Ayrıca, Weblate uygulamasını keşfedin özelliği açık olduğunda:
Herkese açık projelerin listesi (ad, adres ve site)
Başka herhangi bir veri gönderilmez.
Bütünleştirme hizmetleri#
Destek paketinizin hala geçerli olup olmadığını görmek
İpucu
Satın alınan destek paketleri o sırada etkinleştirilir ve bütünleştirilmeden kullanılabilir.
Weblate uygulamasını keşfedin#
4.5.2 sürümünde geldi.
Discover Weblate, kullanıcıların Weblate sunucularını ve topluluklarını bulmasını kolaylaştıran bir abonelik hizmetidir. Kullanıcılar <https://weblate.org/discover/> adresinden kaydedilmiş hizmetlere göz atabilir ve katkıda bulunulacak projeleri bulabilir.
Listelenme#
İpucu
Discover Weblate hizmetine katılmak, Weblate kopyanızın sunucunuz ile ilgili bazı bilgiler göndermesini sağlar. Bilgi almak için: Weblate üzerine gönderilen veriler.
Sunucunuzun etkin bir destek aboneliği ile Discovery Weblate hizmetinde listelenmesi için (bilgi almak için: Destek bütünleştirmesi) yönetim panosundan şu seçeneği açmanız yeterlidir:

Sunucunuzu destek aboneliği olmadan Discover Weblate hizmetinde listeleme:
<https://weblate.org/user/> adresinden kendinizi kaydedin
Weblate sunucunuzu <https://weblate.org/subscription/discovery/> adresindeki Discover Weblate veri tabanına kaydedin
Weblate kopyanızda hizmetin etkinleştirmesini onaylayın ve Weblate Discovery kullanılsın düğmesini kullanarak Weblate yönetimi sayfanızda keşif listesini açın:

Listelemeyi özelleştirme#
<https://weblate.org/user/> adresinden bir metin ve görsel (570 x 260 piksel) belirterek listelemeyi özelleştirebilirsiniz.
Yasal belgeler#
Not
Burada, belirli yasal yargı yetkisindeki bölgelerde Weblate işletmek için gerek duyabileceğiniz çeşitli yasal bilgileri bulabilirsiniz. Herhangi bir kesinlik veya doğruluk garantisi olmadan yol göstermek için verilmiştir. Weblate kullanımınızın yürürlükteki tüm yasa ve yönetmeliklere uygun olmasını sağlamak asıl olarak sizin sorumluluğunuzdadır.
Lisans uyumluluğu#
Weblate, REUSE 3.0 uyumlu lisans koşulları altında dağıtılır.
ITAR ve diğer ihracat denetimleri#
Weblate, kendi veri merkezinizde veya özel sanal bulutunuzda çalıştırılabilir. Bu nedenle, ITAR veya diğer ihracat denetimi bilgilerini tutmak için kullanılabilir. Ancak bu uyumluluğu sağlamak son kullanıcıların sorumluluğundadır.
Hosted Weblate hizmeti, ITAR veya diğer ihracat denetimleriyle uyumluluğu açısından denetlenmemiştir ve şu anda ülkeye göre çeviri erişimini kısıtlama olanağı sunmamaktadır.
ABD şifreleme denetimleri#
Weblate içinde herhangi bir şifreleme kodu bulunmaz. Ancak kimlik doğrulama, veri bütünlüğü ve gizlilik için şifreleme kullanan üçüncü taraf bileşenleri kullandığından ihracat denetimlerine tabi olabilir.
Büyük olasılıkla Weblate, ECCN 5D002 veya 5D992 olarak sınıflandırılacaktır ve herkese açık özgür yazılım olarak EAR kapsamına girmemelidir (bilgi almak için: EAR kapsamına girmeyen şifreleme ögeleri).
Weblate tarafından kullanılan yazılım bileşenleri (yalnızca şifreleme işleviyle ilgili bileşenler listelenmiştir):
- Python
Bilgi almak için: https://wiki.python.org/moin/PythonSoftwareFoundationLicenseFaq#Is_Python_subject_to_export_laws.3F
- GnuPG
Weblate tarafından isteğe bağlı olarak kullanılır
- Git
Weblate tarafından isteğe bağlı olarak kullanılır
- curl
Git tarafından kullanılır
- OpenSSL
Python ve cURL tarafından kullanılır
Şifreleme anahtarlarının gücü, Weblate yapılandırmasına ve etkileşime girdiği üçüncü taraf bileşenlerine bağlıdır. Ancak herhangi bir iyi kurulumda, tüm dışa aktarma kısıtlamalı şifreleme işlevlerini kapsayacaktır:
Simetrik algoritma için 56 bitten fazla
Asimetrik bir algoritma için 512 biti aşan tamsayıların çarpanlara ayrılması
Asimetrik bir algoritma için 512 biti aşan bir sonlu alanın çarpım grubundaki ayrık logaritmaların hesaplanması
Asimetrik bir algoritma için yukarıdakinden farklı bir grupta 112 biti aşan ayrık logaritma
Weblate üzerinde herhangi bir şifreleme etkinleştirme özelliği yoktur. Ancak hiçbir şifreleme kodu bulunmayacak şekilde yapılandırılabilir. Şifreleme özellikleri şu işlemlerde kullanılır:
Güvenli iletişim kuralı (HTTPS) kullanarak uzak sunuculara erişme
Kod işlemeleri için imza oluşturma (PGP)
Ayrıca bakınız
Yerelleştirmeye başlamak#
Bir projeniz var ve onu birkaç dile çevirmek mi istiyorsunuz? Bu rehber bunu yapmanıza yardımcı olur. Birkaç tipik durum ele alınır, ancak örneklerin çoğu geneldir ve diğer senaryolara da uygulanabilir.
Herhangi bir yazılımı çevirmeden önce, dünyadaki dillerin gerçekten farklı olduğunu fark etmeli ve deneyimlerinize dayanarak herhangi bir varsayımda bulunmamalısınız. Çoğu dil için, bir cümleyi çevrilmiş bölümlerden birleştirmeye çalışırsanız garip görünür. Ayrıca çoğul biçimleri düzgün bir şekilde ele almalısınız. Birçok dilin çoğul biçimler için karmaşık kuralları vardır ve kullandığınız yerelleştirme çatısı bunu desteklemelidir.
Son olarak, bir çevirmenin çeviriyi yapabilmesi için bazen çevrilen dizgeye biraz bağlam eklemek gerekebilir. Çevirmenin İngilizce Sun
dizgesini gördüğünü düşünün. Bağlam olmadan çoğu insan bunu Güneş olarak çevirir. Ancak aslında Pazar gününün kısaltması olabilir.
Yerelleştirme çatısının seçilmesi#
Platformunuzda standart olan çatıyı seçin. Yerelleştirmeleri işlemek için kendi çatınızı oluşturarak tekerleği yeniden icat etmekten kaçınmaya çalışın. Weblate, yaygın olarak kullanılan çatıların çoğunu destekler. Bilgi almak için format bölümüne bakabilirsiniz (özellikle Çeviri türü yetenekleri).
Bazı platformlar için kişisel önerimizi aşağıdaki tabloda görebilirsiniz. Bu öneriler, deneyimlerimize dayanmaktadır. Ancak bunlar tüm kullanım örneklerini kapsayamaz. Bu nedenle seçimi yaparken her zaman ortamınızı göz önünde bulundurun.
Platform |
Önerilen biçim |
---|---|
Android |
|
iOS |
|
Qt |
|
Python |
|
PHP |
|
C/C++ |
|
C# |
|
Perl |
|
Ruby |
|
Web uzantıları |
|
Java |
|
JavaScript |
Yerel PHP gettext desteği buggy ile sağlanır ve genellikle Windows yapımlarında eksiktir. Bunun yerine motranslator üçüncü taraf kitaplığının kullanılması önerilir.
Çoğullara gerek yoksa Java özellikleri kullanabilirsiniz.
Çoğullara gerek yoksa plain JSON dosyaları kullanabilirsiniz.
Bazı biçimler için daha ayrıntılı iş akışını şu bölümlerde bulabilirsiniz:
Ayrıca bakınız
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 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).
İç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 Çevirilerin yayılmasını sağlamak seçeneği kullanılarak çevirilerin yayılması devre dışı bırakılabilir.
Yerelleştirme projesini Weblate içine aktarmak#
Weblete, 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 erişimi izni vermektir. İçe aktarma işlemi, çevirilerinizi bileşenlere yapılandırma konusunda size yol gösterir.
Alternatif olarak, bütünleştirmeler olmadan tüm çevirileri içeren yerel bir depo kurmak için Weblate kullanabilirsiniz.
Weblate üzerinden güncellenmiş çevirileri almak#
Weblate, güncellenen dizgeleri bir veri tabanında tutar ve bunları yerel bir sürüm denetimi deposuna gönderir. Weblate deposunu ( Git dışa aktarıcı açıkken) uzak depo olarak ekleyebilir ve çeviri güncellemelerini alabilirsiniz.
Bundan önce, bekleyen değişiklikleri göndermek isteyebilirsiniz (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.
Weblate için deponuza itme erişimi verir ve Bileşen yapılandırması içinde Depo itme adresi değerini yapılandırırsanız, değişiklikleri itme işlemi kendiliğinden yapılabilir. Bilgi almak için: Weblate üzerindeki değişiklikleri itmek.
Alternatif olarak, çevirileri son sürümleriyle eşleşecek şekilde güncellemek için Weblate REST API uygulaması kullanabilirsiniz.
Ayrıca bakınız
Sürekli yerelleştirme, Weblate üzerindeki değişiklikleri itmek, Depolara erişmek
Uzak değişiklikleri Weblate üzerine almak#
Deponuzda yeni güncellenen dizgeleri Weblate üzerine getirmek için, yukarı akış deposundan çekmesine izin vermeniz yeterlidir. 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.
Bu işlem, yeni bir işleme olduğunda Weblate tetiklemesi için deponuzda bir internet kancası ayarlayarak kendiliğinden yapılabilir. 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.
Ayrıca bakınız
Yeni dizgeler eklemek#
Çeviri dosyalarınızın kodla birlikte bir sürüm denetimi sisteminde bulunması durumunda, 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ı 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ğini kullanarak.
Programlamada API kullanarak
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. Bilgi almak için: İçe aktarma yöntemleri.
Not
Weblate üzerine dizge eklenebilmesi Dizge yönetimi ögesine bağlıdır.
Hedef dil dosyalarını güncellemek#
Tek dilli dosyalar için (bilgi almak için: format) 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 iki dilli dosyaları hiçbir şekilde 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.
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.
Tek dilli biçimlerde Tek dilli temel dil dosyası için yeni dizgenin eklenmesi gerekir. Bu genellikle kod geliştirme sırasında geliştiriciler tarafından yapılır. Kaynak dizgeler için kalite aracısı kullanarak bu dizgeleri onaya sunmak isteyebilirsiniz.
İki dilli biçimlerde dizgeler tipik olarak bazı araçlar kullanılarak kaynak koddan çıkarılır. Bununla ilgili yönergeler 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. Bilgi almak için: Hedef dil dosyalarını güncellemek.
İpucu
Yeni dizgelerin kendiliğinden çeviri olarak görünmesini sağlamak için bunu sürekli 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.
Sürüm denetim deposunu yönetmek#
Weblate, tüm çevirileri sürüm denetimi deposunda tutar. Yukarı akışa bağlanabilir ya da yalnızca içeride olabilir. Depo bakımı bölümünden depoyla ilgili işlemleri yapabilirsiniz.
İpucu
Sürekli yerelleştirme ile depo, değişiklik olduğunda kendiliğinden gönderilir ve genellikle el ile işlem yapmak gerekmez.

Ayrıca bakınız
GNU gettext ile yazılım çevirisi#
‘GNU gettext’_, özgür yazılımın yerelleştirilmesi için en yaygın kullanılan araçlardan biridir. Yazılımı yerelleştirmek için basit ama esnek bir yol sağlar. Büyük bir çoğul biçim desteği vardır. Çevrilmiş dizgeye bağlam ekleyebilir ve etrafında geliştirilmiş pek çok araç vardır. Tabii ki büyük bir Weblate desteği de var (bilgi almak için: ref: gettext dosya biçimi açıklaması).
Not
Ticari bir yazılımda kullanmak üzereyseniz, lütfen önce lisanslamaya bakın, sizin için uygun olmayabilir.
GNU gettext çeşitli dillerle (C, Python, PHP, Ruby, JavaScript ve daha fazlası) kullanılabilir ve genellikle kullanıcı arayüzü çatıları zaten bazı desteklerle gelir. Standart olarak, kodu daha basit ve okunması daha kolay kılmak için genellikle _() biçiminde takma ad ile verilen gettext() işlevi çağrısı kullanılır.
Ek olarak, çevirmenlere ek bağlam sağlamak için pgettext() çağrısı ve hedef dil için tanımlanan çoğul türleri işleyebilen ngettext() çağrısı sağlar.
Yaygın kullanılan bir araç olarak, kullanımını gerçekten basitleştiren birçok sarmalayıcı vardır. Aşağıda açıklanan el ile gettext çağrısı yerine, bunlardan birini denemek isteyebilirsiniz. Örneğin intltool.
İş akışı özeti#
GNU gettext, yerelleştirmeyi yönetmek için birkaç dosya kullanır:
PACKAGE.pot
, genellikle xgettext ya da intltool gibi bazı üst düzey sarmalayıcılar kullanılarak kaynak kodunuzdan ayıklanan dizgeleri içerir.LANGUAGE.po
tek bir dilde çevirisi olan dizgeleri içerir.PACKAGE.pot
güncellendikten sonra msgmerge tarafından güncellenmesi gerekir. msginit ile ya da Weblate içinde yeni dil dosyaları oluşturabilirsiniz.LANGUAGE.mo
,LANGUAGE.po
binary biçimini içerir ve uygulamanın çalıştırıcısında kullanılır. Genellikle sürüm denetimi altında tutulmaz, ancak derleme zamanında msgfmt kullanılarak oluşturulur. Sürüm denetiminde olmasını istiyorsanız, MO dosyaları üretme eklentisini kullanarak Weblate üzerinde de oluşturabilirsiniz.
GNU gettext iş akışı genel olarak şöyle görünür:
Ayrıca bakınız
Örnek program#
C ile yazılmış basit bir gettext kullanma programı şöyle görünür:
#include <libintl.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int count = 1;
setlocale(LC_ALL, "");
bindtextdomain("hello", "/usr/share/locale");
textdomain("hello");
printf(
ngettext(
"Orangutan has %d banana.\n",
"Orangutan has %d bananas.\n",
count
),
count
);
printf("%s\n", gettext("Thank you for using Weblate."));
exit(0);
}
Çevrilebilir dizgeleri ayıklamak#
Gettext çağrıları ile kodu aldıktan sonra, xgettext kullanarak iletileri ayıklayabilir ve bunları bir .pot dosyası içine kaydedebilirsiniz:
$ xgettext main.c -o po/hello.pot
Not
Koddan dizgeleri ayıklamak için alternatif programlar vardır. Örneğin pybabel.
Böylece, yeni çeviriler başlatmak (msginit ile) ya da kod değişikliğinden sonra var olan çevirileri güncellemek (bunun için msgmerge kullabilirsiniz) için kullanabileceğiniz bir kalıp dosyası oluşturulur. Oluşturulan dosya yalnızca yapılandırılmış bir metin dosyasıdır:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-23 11:02+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: main.c:14
#, c-format
msgid "Orangutan has %d banana.\n"
msgid_plural "Orangutan has %d bananas.\n"
msgstr[0] ""
msgstr[1] ""
#: main.c:20
msgid "Thank you for using Weblate."
msgstr ""
Her msgid
satırı çevrilecek bir dizgeyi tanımlar. Başlangıçtaki özel boş dizge, çeviriyle ilgili üst verileri içeren dosya üst bilgisidir.
Yeni çeviriye başlamak#
Kalıp hazır olduğunda, ilk çevirimize başlayabiliriz:
$ msginit -i po/hello.pot -l cs --no-translator -o po/cs.po
Created cs.po.
Yeni oluşturulan cs.po
dosyasında zaten doldurulmuş olan bazı bilgiler bulunur. En önemlisi, seçilmiş dil için uygun çoğul biçim tanımı yapılmıştır ve çoğul biçimlerin sayısının buna göre değiştiğini görebilirsiniz:
# Czech translations for PACKAGE package.
# Copyright (C) 2015 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Automatically generated, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-23 11:02+0200\n"
"PO-Revision-Date: 2015-10-23 11:02+0200\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: main.c:14
#, c-format
msgid "Orangutan has %d banana.\n"
msgid_plural "Orangutan has %d bananas.\n"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: main.c:20
msgid "Thank you for using Weblate."
msgstr ""
Bu dosya, çalıştırma ortamında GNU gettext işlevleri tarafından kullanılmaya uygun binary .mo dosyası biçiminde derlenir.
Dizgeleri güncellemek#
Yeni dizgeler eklediğinizde ya da programınızdaki bazı dizgeleri değiştirdiğinizde, kalıp dosyasını yeniden oluşturan xgettext komutunu yeniden çalıştırırsınız:
$ xgettext main.c -o po/hello.pot
Ardından, yeni oluşturulan kalıplarla eşleşecek şekilde tek tek çeviri dosyalarını güncelleyebilirsiniz (bu işlem, dizgeleri yeni kalıpla eşleşecek şekilde yeniden sıralar):
$ msgmerge --previous --update po/cs.po po/hello.pot
Weblate içine aktarmak#
Böyle bir çeviriyi Weblate içine aktarmak için, bileşen oluştururken tanımlamanız gereken tek şey aşağıdaki alanlardır (alanlarla ilgili bilgi almak için: Bileşen yapılandırması):
Alan |
Değer |
---|---|
Kaynak kod deposu |
Projenizle birlikte sürüm denetimi sistemi deposunun adresi |
Dosya maskesi |
|
Yeni çeviriler kalıbı |
|
Dosya biçimi |
Seçin Gettext PO dosyası |
Yeni dil |
Yeni dil dosyası oluştur seçeneğini seçin |
Bu kadar, artık yazılımınızı çevirmeye başlayabilirsiniz!
Ayrıca bakınız
GitHub üzerindeki Weblate Hello projesinde birçok dilde bir gettext örneği bulabilirsiniz: <https://github.com/WeblateOrg/hello>.
Sphinx kullanarak belgeleri çevirmek#
Sphinx güzel belgeler oluşturmakta kullanılan bir araçtır. Basit reStructuredText söz dizimini kullanır ve birçok biçimde çıktı oluşturabilir. Bir örnek arıyorsanız, bu belge de onunla oluşturulmuştur. Sphinx ile birlikte kullanılabilecek çok yararlı bir arkadaş, belgelerinizi ücretsiz olarak oluşturup yayınlayacak olan Read the Docs hizmetidir.
Belgeleri yazmaya odaklanmayacağım, bununla ilgili rehberliğe gerek duyuyorsanız, yalnızca Sphinx sitesindeki yönergeleri izleyin. Belgeler hazır olduğunda, Spihinx bunu desteklediğinden çevirisini yapmak oldukça kolaydır ve Internationalization bölümünde oldukça güzel bir şekilde ele alınmıştır. Bunun için, birkaç yapılandırma yönergesi ve “sphinx-intl” aracının çağrılması gereklidir.
Read the Docs hizmetini kullanıyorsanız, Read the Docs sitesinde çevrilmiş belgeler oluşturmaya başlayabilirsiniz. Localization of documentation gerek duyduğunuz hemen her şeyi kapsar. Başka bir proje oluşturabilir, dilini ayarlayabilir ve ana projeye çeviri olarak bağlayabilirsiniz.
Şimdi tek gereken belgelerin içeriğini çevirmeniz. Sphinx, her klasör ya da üst düzey dosya için bir PO dosyası oluşturur. Bu da çevrilmesi gereken oldukça fazla dosya olmasına yol açabilir (gettext_compact
ayarlarına bağlı olarak). index.po
dosyasını Weblate üzerine ilk bileşen olarak alabilir ve ardından Bileşen keşfi eklentisini diğer tüm ögeleri kendiliğinden bulacak şekilde yapılandırabilirsiniz.
|
|
|
|
|
|
Gettext PO dosyası |
|
|
Çeviri dosyalarıyla eşleştirilecek kurallı ifade |
|
Bileşen adını özelleştirme |
|
Yeni çeviriler için temel dosyayı tanımlama |
|
İpucu
Sphinx tarafından yalnızca tek bir PO dosyasının oluşturmasını yeğler misiniz? Sphinx 3.3.0 sürümünden beri şöyle yapabilirsiniz:
gettext_compact = "docs"
Bu yaklaşım kullanılarak çevrilmekte olan birkaç belge projesi bulabilirsiniz:
Weblate belgeleri (şu anda okuyorsunuz)
Weblate içerik aktarım ağını kullanarak HTML ve JavaScript çevirmek#
Weblate 4.2 sürümünden başlayarak, JavaScript yerelleştirme CDN eklentisini kullanarak yerelleştirme bir içerik aktarımı ağı (CDN) üzerine dışa aktarılabilir.
Not
Bu özellik, Hosted Weblate hizmetinden yapılandırılır. Kurulumunuz için ek yapılandırma gerekir. Bilgi almak için: LOCALIZE_CDN_URL
ve LOCALIZE_CDN_PATH
.
Bileşeninize kurulduktan sonra, kaydedilmiş çevirileri (bilgi almak için: Lazy commit işlemeleri) içerik aktarım ağına iter ve bu çeviriler site sayfalarınızı yerelleştirmek için kullanılabilir.
Bileşen oluşturmak#
İlk olarak, dizgelerinizi tutacak tek dilli bir bileşen oluşturmanız gerekir. Bununla ilgili genel yönergeler için Çeviri projelerini ve bileşenleri eklemek bölümüne bakın.
Başlamak için var olan bir deponuz varsa (HTML dosyalarının bulunduğu bir depo gibi), kaynak dil için depoda boş bir JSON dosyası oluşturun (bilgi almak için: Kaynak dil). Örneğin locales/en.json
. Nesnenin boş olduğunu belirtmek için içerik {}
olmalıdır. Bundan sonra, depoyu Weblate üzerine aktarabilir ve bir eklenti yapılandırmasıyla başlayabilirsiniz.
İpucu
Var olan çevirileriniz varsa, bunları JSON dil dosyalarına yerleştirerek Weblate üzerinde kullanabilirsiniz.
Var olan depoyu kullanmak istemeyenler için (ya da bir deposu olmayanlar için), bileşen oluştururken Sıfırdan başla seçeneğini ve dosya biçimi olarak JSON dosyası seçeneğini seçin (bu noktada herhangi bir tek dilli biçim seçilmesi sorun değildir).
Weblate CDN eklentisini yapılandırmak#
JavaScript yerelleştirme CDN eklentisi birkaç yapılandırma seçeneği sunar.
- Çeviri eşiği
Bu eşiği aşan çeviriler içerik aktarım ağına katılır.
- CSS seçici
HTML belgelerinde hangi dizgelerin çevrilebilir olduğunu yapılandırır. Bilgi almak için: Weblate CDN için dizge ayıklamak ve Weblate CDN kullanarak HTML yerelleştirmek.
- Dil tanımlama bilgisinin adı
Kullanıcının seçtiği dili içeren çerezin adı. JavaScript kod parçasında Weblate CDN kullanarak HTML yerelleştirmek için kullanılır.
- Dizgeleri HTML dosyalarından ayıklama
Weblate tarafından çevrilebilir dizgelerin aranacağı ve bunları çeviri için sunulacağı depodaki dosyaların ya da adreslerin listesi. Bilgi almak için: Weblate CDN için dizge ayıklamak.
Weblate CDN için dizge ayıklamak#
Çeviri dizgeleri Weblate üzerinde bulunmalıdır. Bunları el ile yönetebilir, oluşturmak için API kullanabilir ya da HTML dosyalarından dizgeleri ayıkla komutunu kullanarak dosyaları ya da adresleri listeleyebilirsiniz. Weblate bunları kendiliğinden ayıklar. Dosyalar depoda ya da Weblate tarafından düzenli olarak indirilecek ve ayrıştırılacak uzak adreslerde bulunmalıdır.
CSS seçici için varsayılan yapılandırma, CSS sınıfı l10n
olan ögeleri ayıklar. Örneğin aşağıdaki parçacıklardan iki dizge ayıklanır:
<section class="content">
<div class="row">
<div class="wrap">
<h1 class="section-title min-m l10n">Maintenance in progress</h1>
<div class="page-desc">
<p class="l10n">We're sorry, but this site is currently down for maintenance.</p>
</div>
</div>
</div>
</section>
Var olan kodu değiştirmek istemiyorsanız, tüm ögelerin işlenmesi için seçici olarak *
kullanabilirsiniz.
Not
Şu anda, yalnızca ögelerin metni ayıklanıyor. Bu eklenti, öge özniteliklerinin ya da alt ögeleri olan ögelerin yerelleştirilmesini desteklemez.
Weblate CDN kullanarak HTML yerelleştirmek#
Bir HTML belgesini yerelleştirmek için weblate.js
betiğini yüklemelisiniz:
<script src="https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/weblate.js" async></script>
Yüklendikten sonra, eşleşen tüm çevrilebilir ögeler kendiliğinden bulunur (CSS seçici yapılandırmasına göre) ve metinleri bir çeviriyle değiştirir.
Kullanıcı dili, yapılandırılmış çerezden algılanır ve tarayıcıda yapılandırılan kullanıcı tarafından yeğlenen dillere döner.
Dil çerezi adı diğer uygulamalarla bütünleştirme için yararlı olabilir (örneğin, Django kullanırken django_language
olarak seçin).
JavaScript yerelleştirmek#
Tek tek çeviriler, içerik aktarım ağı altında iki dilli JSON dosyaları olarak hazırlanır. Birini almak için şu kodu kullanabilirsiniz:
fetch(("https://weblate-cdn.com/a5ba5dc29f39498aa734528a54b50d0a/cs.json")
.then(response => response.json())
.then(data => console.log(data));
Bu durumda gerçek yerelleştirme mantığının uygulanması gerekir.
Yerelleştirme kitaplıkları ve paketleri#
Weblate, Weblate REST API uygulaması kullanılarak çatınızla bütünleştirilebilir. Bu sayfada, Weblate ile bütünleştirilmiş üçüncü taraf kitaplıkları görebilirsiniz.
‘Weblate için GoLang API kitaplığı <https://gitlab.com/gajdusek/goweblate>`_
İpucu
Çatınız için bir Weblate bütünleştirmesi mi oluşturuyorsunuz? Burada yer alabilirsiniz! Doğrudan değişikliklerin bulunduğu bir çekme isteği gönderin ya da listeye eklenmek için care@weblate.org adresine yazın.
Çeviri bileşeni uyarıları#
Herhangi bir çeviri bileşeni için Weblate yapılandırmasındaki veya çeviri projesindeki hataları görüntüler. Bulunan sorunların nasıl ele alınacağı ile ilgili yol gösterir.
Şu anda şu listedeki sorunlar ele alınıyor:
Çeviri dosyalarında çift kaynak dizgeler
Çevirilerde çift diller
Depo birleştirme, güncelleme ya da itme sorunları
Çeviri dosyalarında işleme hataları
Faturalama (bilgi almak için: Faturalama)
Depoda çok fazla sayıda giden ya da eksik işlemeler var
Eksik lisanslar
Eklenti çalıştırılırken çıkan sorunlar (bilgi almak için: Eklentiler)
Yanlış yapılandırılmış tek dilli çeviri.
Bozuk Bileşen yapılandırması
Bozuk adresler
Kullanılmayan ekran görüntüleri
Dil kodu anlaşılamadı
Bileşen ayarlarında kullanılmayan yeni temel
Bağlantılı bileşenlerde çift dosya maskesi kullanılması
Bileşen kullanılmıyor gibi görünüyor
Uyarılar günlük olarak veya ilgili değişiklik yapıldığında güncellenir (:ref:’component’ değiştirildiğinde veya depo güncellendiğinde gibi).
Uyarılar, ilgili her bileşenin sayfasında Uyarılar olarak görüntülenir. Eksikse, bileşen tüm geçerli denetimleri temizler. Uyarılar yok sayılamaz, ancak uyarıya yol açan sorun çözüldükten sonra kaybolur.
Hem kopyalanmış dizgeleri hem de dilleri olan bir bileşen şöyle görünür:

Ayrıca bakınız
Çevirmen topluluğu oluşturmak#
Bu önerilere uymak, tam, çok dilli bir son düzenleme aracının oluşturulmasını sağlar. İyi çeviriler, bağlamsal doğru bir çeviriyi amaçlayan sistemik-işlevsel House modeli ile tanımlanır. Kendi düzenleme sonrası rehberinizi yazın ve bu önerileri kendi tanımlarınıza uyacak şekilde değiştirin. Çoğu durumda languageTool tarayıcı eklentisi düzeltme aracı olarak kullanışlıdır.
Topluluk yerelleştirme denetim listesi#
3.9 sürümünde geldi.
Her bileşenin menüsünde bulunan Topluluk yerelleştirme denetim listesi, size yerelleştirme sürecinizi topluluk çevirmenleri için kolaylaştırmak üzere yol gösterebilir.

Terminolojileri yönetmek#
Makine çevirisinin terminoloji ataması ile sonradan düzenlenmesi, çeviri sürecinin her düzeyini etkiler. Makine çevirisi sistemi, sürekli bir eğitim veya nöral bulanık onarım <https://aclanthology.org/P19-1175.pdf> ile belirli sözcük dağarcığına ve biçeme uyarlanabilir. Var olan çeviri belleğinizi Weblate içine aktarın ya da temel terminolojinizle bir başlangıç kapsamı oluşturun. Sonuçta, kapsamla ilgili iyi bir bilgi almasını ve çıktı kalitesini garanti etmek için çevirmene ek terminoloji belgeleri ile yol gösterilmelidir.
Makine çevirilerini kullanmak#
Kendiliğinden çevirinin kalitesi (genellikle BLEU skoru ile ölçülür) düzenleme süresi ile ilişkilidir [1]. Gerekli dilleri ve etki alanlarını destekleyen bir makine çevirisi hizmeti seçin. Çeviri hizmetinin nasıl çalıştığını ve son düzenleyicinin hangi kaliteyi beklemesi gerektiğini açıkça belirtin.
Çevirileri onaylamak#
Çeviriler, son düzenlemeden sonra ikinci bir kişi tarafından gözden geçirilmelidir. Tarafsız ve yetkin bir onaylayıcı ile iki adam kuralı hataları azaltır ve içeriğin kalitesi ile tutarlılığını artırır.
Yapılandırılmış geri bildirim almak#
Weblate üzerinde çevirilerin kalitesi ile ilgili yapılandırılmış geri bildirim sağlayan birçok Denetimler ve düzeltmeler bulunur.
Çeviri yönergeleri#
Güçlü bir azalma sağlayan zihinsel ve etki temelli tanımlara ek olarak, metin tabanlı dilbilimsel yaklaşım, uygulanan çeviri yöntemlerine en iyi şekilde uyar. Çeviri değerlendirmesi için iyi formüle edilmiş bir teori, özgün ve çeviri arasındaki ilişkiye odaklanan sistemik-işlevsel House modelidir. Model, çevirinin, bir dilsel koddan diğerine geçerken bir metnin anlamsal, pragmatik ve metinsel anlamını eşdeğer tutma girişimi olduğunu varsayar.
Bir çevirinin kalite düzeyi, eşdeğerlik derecesine, metin profili ile metin işlevi arasındaki yazışmalara dayanır. Kendiliğinden hesaplanamayacağından, tek türde bir insan değerlendirmesi yapabilmek için yeterli bilgi toplanmalıdır. Karşılık gelen bir modeldeki anlaşmanın iki ana parametresi, makro-bağlam (yani daha geniş bir sosyal ve edebi bağlamda gömülme) ve alan, tenor ve moddan oluşan mikro bağlamdır.
Kaynaklar#
Marina Sanchez-Torron ve Philipp Koehn, Makine Çevirisi Kalitesi ve Düzenleme Sonrası Verimlilik, Şekil 1: https://www.cs.jhu.edu/~phi/publications/machine-translation-quality.pdf
Joanna Best und Sylvia Kalina. Übersetzen und Dolmetschen: eine Orientierungs-hilfe. A. Francke Verlag Tübingen und Base, 2002. Möglichkeiten der Übersetzungskritik 101. sayfadan başlayarak
Nöral bulanık onarım, Bram Bulté and Arda Tezcan in Neural Fuzzy Repair: Integrating Fuzzy Matches into Neural MachineTranslation, 2019 https://aclanthology.org/P19-1175.pdf
Çevirileri yönetmek#
Yeni dizgeler eklemek#
Yeni dizgeler, Yeni çeviriler kalıbı temel dosyasında göründüğünde çevirilmeye hazır olur (bilgi almak için: Bileşen yapılandırması). Dosya biçiminiz böyle bir dosya gerektirmiyorsa, çoğu tek dilli çeviri akışında olduğu gibi, boş dosyalarla başlayabilirsiniz).
Yeni çevirileri eklemek#
Yeni diller, Weblate üzerindeki bir kullanıcı tarafından istendiğinde hemen eklenebilir ya da onay bekleme ve el ile ekleme için proje yöneticilerine bir bildirim gönderilir. Bunun için, Bileşen yapılandırması içindeki Yeni çeviri ekleme kullanılabilir.
Bazı dosya biçimleri boş bir dosyayla başlamayı ve yalnızca çevrilmiş dizgelerin eklenmesini bekler (Android dizge kaynakları gibi). Bazıları ise tüm anahtarların var olmasını bekler (GNU gettext gibi). Belge temelli biçimler (OpenDocument biçimi gibi) kaynak belgenin bir kopyasıyla ve tüm düzenlenmesi gerekli olarak imlenmiş dizgelerle başlar. Bazı durumlarda bu gerçekten biçime değil, çeviriyi işlemek için kullandığınız çatıya bağlıdır (JSON dosyaları ile olduğu gibi).
Bileşen yapılandırması içinde Yeni çeviriler kalıbı ayarlandığında, Weblate yeni çeviriler başlatmak için belirtilen dosyayı kullanır. Bu yapıldığında, dosyada var olan çeviriler silinir.
Yeni çeviriler kalıbı boş bırakıldığında ve dosya biçimi desteklediğinde, çevrildikten sonra yeni dizgelerin ekleneceği boş bir dosya oluşturulur.
Dil kodu biçemi, oluşturulan dosya adlarında kullanılan dil kodunu özelleştirmenizi sağlar. Ek olarak Dil kod adları ile tanımlanmış eşleştirmeler ters yönde uygulanır.
Ayrıca bakınız
Yeni çeviri ekleme, Yeni çeviriler kalıbı, Dil kodu biçemi, Dil kodu, Dil kod adları, Dil kodlarını işlemek
Not
Bağlı uzak depoya bir dil dosyası eklerseniz, Weblate yerel depoyu güncellediğinde ilgili çeviri bileşene eklenir.
Depo güncelleme ayarları ile ilgili bilgi almak için Depoları güncellemek bölümüne bakabilirsiniz.
Var olan çevirileri kaldırmak#
Diller, bileşenler ya da içinde bulundukları projeler, her projenin, bileşenin ya da dilin Yönetim ↓ :guilabel:`Kaldır’ menüsünden kaldırılabilir (Weblate üzerinden ve kullanılıyorsa uzak depodan silinir).
Kaldır işlemi başlatıldığında, kaldırılacak bileşenlerin listesi gösterilir. Kaldırma işlemini onaylamak için nesnenin kısaltmasını yazmanız gerekir. Kısaltma, adreste görülebilen projenin, dilin ya da bileşenin yol adıdır.
Yalnızca belirli bazı dizgeleri kaldırmak istiyorsanız, şu yolları kullanabilirsiniz:
Kaynak dosyadan el ile. Weblate depo güncellemesi yaptığında çeviri projesinden de kaldırılır.
4.5 sürümünde geldi.
Weblate kullanıcı arayüzünden. Dizgeyi düzenlerken Araçlar`↓ :guilabel:`Kaldır düğmesi ile. Bu işlem dosya biçimlerine göre farklılık gösterebilir. Bilgi almak için: Dizge yönetimi
Not
Bağlı uzak depodaki bir dil dosyasını silerek. Weblate yerel depoyu güncellediğinde ilgili çeviri bileşenden kaldırılır.
Depo güncelleme ayarları ile ilgili bilgi almak için Depoları güncellemek bölümüne bakabilirsiniz.
Dizge çeşitleri#
Değişkenler, çevirmenlerin dizgenin tüm değişkenlerini tek bir yerde görebilmeleri için birkaç dizgeyi gruplandırmaya yarar.
İpucu
Kısaltmalar (kısaltılmış biçimler) değişkenlere iyi bir örnektir.
Kendiliğinden oluşturulan anahtar tabanlı çeşitler#
3.11 sürümünde geldi.
Dizgeleri kurallı ifade tanımlayarak, Bileşen yapılandırması içindeki tek dilli çevirilerin anahtarına göre gruplayabilirsiniz:

Anahtar ifadeyle eşleşirse, çeşidin kök anahtarını oluşturmak için eşleşen kısım kaldırılır. Ardından, kök anahtarı aynı olan tüm dizgeler, kök anahtarla tam olarak eşleşen anahtarı olan dizge ile birlikte tek bir çeşit grubunun parçası olur.
Aşağıdaki tabloda bazı kullanım örneklerini bulabilirsiniz:
Kullanım amacı |
Kurallı ifade değişkeni |
Eşleşen çeviri anahtarları |
---|---|---|
Son ek tanımlama |
|
|
Satır arası tanımlamalar |
|
|
El ile çeşit belirlemek#
4.5 sürümünde geldi.
variant:SOURCE
imini kullanarak belirli dizgeleri el ile bağlayabilirsiniz. Bu kullanım, dizgeleri otomatik olarak gruplandırmak için anahtarları olmayan iki dilli çeviriler ya da anahtarları eşleşmeyen, ancak çeviri sırasında birlikte değerlendirilmesi gereken dizgeleri gruplandırmak için yararlı olabilir.
Bir dizgenin ek çeşidi, çeviri sırasında Araçlar kullanılarak da eklenebilir (Dizge yönetimi seçeneği açıldığında):

Not
Çeşit kaynak dizgesi en fazla 768 karakter uzunluğunda olmalıdır. Bu sınırlama, MySQL veri tabanı ile uyumluluk için gereklidir.
Ayrıca bakınız
Çeviri yapılırken çeşitler#
Çeşit daha sonra çeviri yapılırken gruplandırılır:

Dizge etiketleri#
Proje yapılandırmasında bileşen çeviri dizgelerini metin ve renge göre kategorilere ayırabilirsiniz.

İpucu
Etiketler Kaynak dizgeler ile ilgili ek bilgiler içindeki birimler toplu düzenlenerek ya da Toplu düzenleme eklentisi kullanılarak atanabilir.
Dizgeleri onaylamak#
Etkinlik raporları#
Etkinlik raporları, projeler, bileşenler ya da bireysel kullanıcılar için çeviri değişikliklerini denetler.
Bir proje ya da bileşenin etkinlik raporlarına panodaki Bilgiler sekmesinden erişilebilir.

Daha fazla rapora İstatistikler sekmesinden Çeviri raporları seçilerek erişilebilir.
Oturum açmış olan kullanıcının etkinliği, sağ üstteki kullanıcı menüsünden kullanıcı adına tıklanarak görülebilir.
Kaynak dizge denetimleri#
Birçok Kalite denetimleri vardır. Bazıları kaynak dizgelerinin kalitesini artırmaya odaklanır. Başarısız olan birçok denetim, kaynak dizgelerin çevrilmesini kolaylaştırmak için bir ipucu önerir. Başarısız olan tüm kaynak denetimi türleri, her bileşenin kaynak dilinde görüntülenir.
Çeviri dizgesi denetimleri#
Hatalı olan çeviri dizgesi denetimleri, sorunun kaynak dizgede olduğunu gösterir. Çevirmenler bazen çevirideki hataları bildirmek yerine düzeltirler. Tipik bir örnek, bir cümlenin sonundaki eksik bir noktadır.
Başarısız olan tüm denetimleri gözden geçirmek, kaynak dizgelerini geliştirmek için değerli geri bildirimler sağlayabilir. Kaynak dizgelerinin gözden geçirilmesini kolaylaştırmak için, Weblate kendiliğinden kaynak dil için bir çeviri oluşturur ve kaynak düzeyi denetimlerini orada gösterir:

En ilginç denetimlerden biri Birden çok denetim hatası, belirli bir dizgenin birden fazla çevirisinde hata olduğunda tetiklenir. Genellikle bu durum, çevirmenlerin düzgün çeviri yapmakta zorlandığı bir dizge olduğu için istenen bir şeydir.
Ayrıntılı liste, her dilin özetini görüntüler:

Kaynak dizge geri bildirimi almak#
Çevirmenler hem çeviriler hem de kaynak dizgeler ile ilgili yorum yapabilir. Her Bileşen yapılandırması bu tür yorumları bir e-posta adresine alacak şekilde yapılandırılabilir (bilgi almak için: Kaynak dizge hata bildirme adresi) ve geliştiricilerin e-posta listesini kullanmak genellikle en iyi yaklaşımdır. Böylece, çeviride sorunlar ortaya çıktığında farkedebilir, ilgilenebilir ve hızlı bir şekilde düzeltebilirsiniz.
Ayrıca bakınız
Çeviriyi tanıtmak#
Weblate, çeviri projesini tanıtmak için sitenizde ya da diğer kaynaklarda paylaşabileceğiniz gereçler sağlar. Ayrıca, yeni katkıda bulunacakların çeviri ile ilgili temel bilgileri almaları için güzel bir karşılama sayfası sunar. Bunların yanında, Facebook ya da Twitter kullanarak çeviriyle ilgili bilgileri paylaşabilirsiniz. Tüm bu olasılıklar Paylaş sekmesinde bulunabilir:

Tüm bu simgeler, kullanıcılara Weblate ile çeviriyi nasıl yapacaklarını açıklayan basit bir sayfa bağlantısıyla birlikte sunulur:

Çeviri ilerlemesi raporu#
Raporlama özellikleri, bir çevirinin belirli bir dönemde nasıl ilerlediği ile ilgili fikir verir. Herhangi bir bileşene zaman içinde yapılan katkıların özeti sunulur. Raporlama aracı, herhangi bir çeviri bileşeninin, projenin ya da panodaki İçgörüler menüsünde bulunur:

Bu sayfada çeşitli raporlama araçları vardır ve hepsi HTML, reStructuredText ya da JSON olarak çıktı oluşturabilir. İlk iki biçim, istatistikleri var olan belgelere gömmek için uygundur. JSON ise verilerin dışarıda işlenmesi için kullanışlıdır.
Sözcük sayısı#
Bir sözcük, beyaz boşluklar (boşluklar, sekmeler, yeni satırlar) arasındaki herhangi bir karakter dizisidir (harfler, sayısal değerler, özel karakterler). Aşağıdaki örnek dizgede 9 sözcük vardır.
I've just realized that they have 5 %(color)s cats.
Çoğul dizgeler için, sözcük sayısı, tüm çoğul biçimlerin sözcüklerinin toplamı olarak hesaplanır.
Çevirmen hesapları#
Çevirmen hesapları için kullanılabilen bir belge oluşturur. Diller ada göre sıralanır ve belirli bir dile katkıda bulunan tüm kişiler listelenir:
* Czech
* John Doe <john@example.com> (5)
* Jane Doe <jane@example.com> (1)
* Dutch
* Jane Doe <jane@example.com> (42)
İpucu
Parantez içindeki sayı, belirli bir dönemde yapılan katkıların sayısını gösterir.
Katılımcı istatistikleri#
Çevirmen adına göre çevrilmiş sözcük ve dizge sayılarını oluşturur:
======================================== ======================================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ========================
Name Email Count total Source words total Source chars total Target words total Target chars total Count new Source words new Source chars new Target words new Target chars new Count approved Source words approved Source chars approved Target words approved Target chars approved Count edited Source words edited Source chars edited Target words edited Target chars edited
======================================== ======================================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ========================
John Done john@example.com 1 3 24 3 21 1 3 24 3 21 0 0 0 0 0 0 0 0 0 0
Jane Done jane@example.com 2 5 25 4 28 2 3 24 3 21 0 0 0 0 0 0 0 0 0 0
======================================== ======================================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ======================== ========================
Çevirmenlerinize çalışma miktarlarına göre ödeme yaparsanız yararlı olabilir. Size çevirmenlerin çalışmaları ile ilgili çeşitli istatistikler verir.
Tüm istatistiklerin üç çeşidi bulunur:
- Toplam
Düzenlenen dizgelerin toplam sayısı.
- Yeni
Daha önce çevrilmemiş, ilk kez çevrilmiş dizge sayısı.
- Onaylanmış
Gözden geçirme iş akışı ile onaylanmış dizge sayısı (bilgi almak için :referans:`reviews`).
- Düzenlenmiş
Daha önce çevrilmiş, yeni düzenlenmiş dizge sayısı.
Şunların her biri için şu ölçümler kullanılabilir:
- Sayı
Dizge sayısı.
- Düzenlenen karakter sayısı
Dizgede düzenlenmiş karakter sayısı, Damerau-Levenshtein boyu olarak ölçülür.
- Kaynak sözcük sayısı
Kaynak dizgedeki sözcük sayısı.
- Kaynak karakter sayısı
Kaynak dizgedeki karakter sayısı.
- Hedef sözcük sayısı
Hedef dizgedeki sözcük sayısı.
- Hedef karakter sayısı
Hedef dizgedeki karakter sayısı.
Weblate için katkıda bulunmak#
Weblate platformunu geliştirmenin pek çok yolu vardır. Kodlama, görsel tasarım, belge hazırlama, destek olma veya fikir verme gibi size uygun olan birini seçebilirsiniz:
Weblate arayüzünü çevirme#
Weblate, gene Weblate kullanılarak sürekli olarak çevriliyor. Weblate kullanımının olabildiğince çok dilde sağlanmasına yardımcı olmaktan çekinmeyin. Böylece Weblate kullanıcıları ile yakınlaşır!
Kaynak dizgede olası bir hata bulursanız, bunu Weblate düzenleyicisinde bir yorumla belirtebilirsiniz. Böylece üzerinde tartışılabilir ve düzeltilebilir. Eminseniz, Kaynak dizge konumu bölümündeki bağlantıya tıklayabilir ve düzeltmenizle birlikte bir çekme isteği gönderebilirsiniz.
Weblate belgelerine katkıda bulunun#
İstediğiniz belgeler sayfasını iyileştirebilirsiniz. Bunun için sayfanın sağ üst köşesindeki GitHub üzerinde düzenle düğmesine tıklayarak kolayca yapabilirsiniz.
Lütfen yazarken şu yönergelere uyun:
Geçerliyse, belgenin bir bölümünü kaldırmayın.
Açık ve kolay anlaşılır bir dil kullanın. Teknoloji belgeleri yazıyorsunuz, şiir değil. Belgeleri okuyacak herkesin ana dili İngilizce değildir, düşünceli olun.
Emin değilseniz sormaktan çekinmeyin. Düzenleme yaparken bazı özellikler ile ilgili soru sormanız gerekiyorsa, yanıtı almadan önce belgeleri değiştirmeyin. Özetle: Değiştirin ya da sorun. İkisini aynı anda yapmayın.
Belgeleri izlerken açıklanan işlemleri yaparak değişikliklerinizi doğrulayın.
Onaylama ve birleştirmenin daha kolay ve hızlı yapılması için çekme isteğinde küçük değişiklik parçaları gönderin.
Büyük bir makaleyi yeniden yazmak ve yapısını değiştirmek istiyorsanız, bunu iki adımda yapın:
Yeniden yazın
Yeniden yazma onaylandıktan, iyileştirildikten ve birleştirildikten sonra, başka bir çekme isteğinde paragrafların yapısını değiştirin.
İpucu
İç dil tanımlarını zenginleştirmek#
Dil tanımları weblate-language-data deposunda bulunur.
Eksik dil tanımlarını languages.csv
dosyasına ekleyebilirsiniz. Diğer dosyalar bu dosyadan oluşturulur.
Weblate tartışmaları#
Bir fikriniz varsa ve bir sorun olarak bildirmeye uygun olup olmadığından emin değilseniz endişelenmeyin. GitHub tartışmaları ile topluluğa katılıp tartışabilirsiniz.
Weblate geliştirilme çalışmalarına maddi destek vermek#
Weblate geliştirme çalışmalarını bağış sayfasından destekleyebilirsiniz. Buradan toplanan fonlar, özgür yazılım projeleri için ücretsiz barındırma hizmeti sağlanması ve Weblate özelliklerinin geliştirilmesi için kullanılır. Fonlama hedefleri ile gururlu bir fon sağlayıcı olarak alacağınız ödüller gibi konular için `bağış sayfasına`_ bakabilirsiniz.
Weblate için bağış yapan destekçiler#
Weblate destekçilerinin listesi:
Yashiro Ccs
Cheng-Chia Tseng
Timon Reinhard
Loic Dachary
Marozed
Richard Nespithal
MyExpenses.Mobi
Michael Totschnig
James Valleroy
Bu listede yer almak ister misiniz? Weblate için bağış seçeneklerine bakabilirsiniz.
Weblate kodlarına katkıda bulunmak#
Weblate kaynak kodlarını anlamak için lütfen önce Weblate kaynak kodları, Weblate ön yüzü ve Weblate iç yapısı bölümlerine bakın.
Kod tabanı ile başlamak#
Weblate kod tabanına alışmak için bazı hatalar arıyorsanız, good first issue olarak etiketlenmiş olanlara bakın.
Bu konular üzerinde sormadan çalışmaya başlayabilirsiniz. Yalnızca çalışmaya başladığınızı duyurun. Böylece herkes birisinin bu konu üzerinde çalıştığını bilir.
Weblate platformunu yerel olarak çalıştırma#
Weblate geliştirmeye başlamanın en kolay yolu Kaynaklardan kurulum bölümündeki yönergeleri izlemektir. Böylece, düzenlenebilir Weblate kaynaklarını içeren bir virtualenv oluşturabilirsiniz.
Weblate kaynak kodlarını kopyalayın:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Bir virtualenv oluşturun:
virtualenv .venv . .venv/bin/activate
Weblate kurulumunu yapın (bunun için bazı sistem bağımlılıklarına gerek duyulur. Bilgi almak için: Kaynaklardan kurulum):
pip install -e '.[all]'
Geliştirme için yararlı olacak tüm bağımlılıkları kurun:
pip install -r requirements-dev.txt
Bir geliştirme sunucusu başlatın:
weblate runserver
Yapılandırmanıza bağlı olarak, Celery işlemlerini de başlatmak isteyebilirsiniz:
./weblate/examples/celery start
Bir deneme yapın (bilgi almak için: Yerel sınama):
. scripts/test-database.sh ./manage.py test
Ayrıca bakınız
Weblate platformunu Docker üzerinde yerel olarak çalıştırma#
Docker ve docker-compose-plugin kuruluysa, yalnızca şu komutu yürüterek geliştirme ortamını çalıştırabilirsiniz:
./rundev.sh
Bir geliştirme Docker kalıbı oluşturur ve başlatır. Weblate ile <http://127.0.0.1:8080/> adresinden admin
kullanıcı adı ve admin
parolası ile oturum açabilirsiniz. Yeni kurulum boştur, bu nedenle Çeviri projelerini ve bileşenleri eklemek ile ilerlemek isteyebilirsiniz.
Bunun için Dockerfile
ve docker-compose.yml
, dev-docker
klasöründe bulunur.
Betik ayrıca sınamaları yürütmek için bazı parametreleri kabul eder. test
parametresiyle çalıştırılır ve ardından herhangi bir test
parametresi belirtilir. Örneğin sınamaları yalnızca weblate.machine
modülünde çalıştırır:
./rundev.sh test --failfast weblate.machine
Not
Sınamaları çalıştırmadan önce Docker kapsayıcılarınızın çalışır durumda olduğundan emin olun. Bunu docker ps
komutunu çalıştırarak denetleyebilirsiniz.
Günlükleri görüntülemek için:
./rundev.sh logs
Arka plan kapsayıcılarını durdurmak için şunu çalıştırın:
./rundev.sh stop
Betiği bağımsız değişkenler olmadan çalıştırmak, Docker kapsayıcısını yeniden oluşturur ve yeniden başlatır.
Not
Bu, üretim için uygun bir kurulum değildir. Güvenli olmayan birkaç ayar yapılmıştır, ancak geliştirmeyi kolaylaştırır.
Devel kopyanızı ön yüklemek#
Deneme çevirileri oluşturmak için weblate weblate import_demo
ve yönetici kullanıcı oluşturmak için weblate weblate createadmin
komutlarını kullanmak isteyebilirsiniz.
PyCharm ile Weblate kodlamak#
PyCharm, Python için bilinen bir IDE uygulamasıdır. Weblate projenizi PyCharm içinde ayarlamanıza yardımcı olacak bazı yönergeleri aşağıda bulabilirsiniz.
GitHub deposunu bir klasöre kopyaladığınızı düşünürsek, PyCharm ile açmanız yeterlidir. IDE açıldıktan sonra, ilk adım kullanmak istediğiniz yorumlayıcıyı belirtmektir:

PyCharm sizin için bir virtualenv oluşturabilir ya da zaten var olan bir virtualenv kullanmayı seçebilirsiniz:

Yorumlayıcı ayarlandıktan sonra bağımlılıkları kurmayı unutmayın: Konsol üzerinden (IDE içindeki konsol varsayılan olarak doğrudan belirttiğiniz virtualenv kullanır) ya da eksik bağımlılıklar ile ilgili bir uyarı aldığınızda arayüz üzerinden.
İkinci adım, PyCharm içinde yerel olarak Django kullanmak için doğru bilgiyi ayarlamaktır: Buradaki fikir, IDE üzerindeki birim sınamalarını hemen tetikleyebilmektir. Bunun için Django projesinin kök yolunu ve ayarlarına giden yolu belirtmeniz gerekir:

Dikkatli olun, Django proje kökü deponun gerçek kök klasörüdür, Weblate alt klasörü değildir. Ayarlar ile ilgili olarak, depodaki weblate/settings_test.py
dosyasını kullanabilirsiniz. Bununla birlikte kendi ayarınızı da oluşturarak oradan da ayarlayabilirsiniz.
Son adım, sunucuyu çalıştırmak ve hata ayıklayabilmek için koda kesme noktaları koymaktır. Bunun için, yeni bir Django Server yapılandırması oluşturulur:


İpucu
No reload özelliğine dikkat edin: Dosyaları değiştirirseniz sunucunun canlı olarak yeniden yüklenmesini engeller. Bu durum, var olan hata ayıklayıcı kesme noktalarının, normalde sunucu yeniden yüklendikten sonra yok sayılacakları zaman kalıcı olmasına yol açar.
Weblate kaynak kodları#
Weblate, GitHub üzerinde geliştirilmektedir. Kodu çatallayabilir ve çekme istekleri yapabilirsiniz. Başka herhangi bir biçimdeki yamalar da kabul edilir.
Ayrıca bakınız
Weblate platformunun içeriden nasıl göründüğünü anlamak için Weblate iç yapısı bölümüne bakabilirsiniz.
Kodlama rehberi#
Weblate için geliştirilen kodlar Tasarım ilkelerine uygun güvenlik göz önünde bulundurularak yazılmalıdır.
Tüm kodlar, kodun davranışını açıklayan belgelerle birlikte iletilmelidir. Yöntemler, karmaşık kod blokları veya kullanıcı tarafından görülebilen özellikleri belgelemeyi unutmayın.
Herhangi bir yeni kod PEP 484 türünde ipuçları kullanmalıdır. Var olan kod henüz bunları içermediğinden bunu henüz CI ile denetlemiyoruz.
Kodlama standardı ve kodu temizlemek#
Kod, PEP-8 kodlama yönergelerine uymalı ve black kod biçimlendiricisi ile biçimlendirilmelidir.
Kod kalitesini denetlemek için flake8 kullanabilirsiniz. Önerilen eklentiler .pre-commit-config.yaml
içinde bulunur ve geçerli yapılandırması setup.cfg
dosyasındadır.
Tüm bunları dayatmak için en kolay yaklaşım pre-commit kurmaktır. Depoda, gönderilen dosyaların düzgün olduğunu doğrulayacak bir yapılandırma bulunur. Kurulumdan sonra (requirements-lint.txt
içinde bulunur) Weblate checkout sırasında pre-commit install
komutunu çalıştırarak açın. Böylece tüm değişiklikleriniz kendiliğinden denetlenir.
Denetimi el ile de başlatabilirsiniz. Tüm dosyaları denetlemek için şunu yürütün:
pre-commit run --all
Weblate hatalarını ayıklamak#
Hatalar, uygulama çökmelerine veya çeşitli yanlış davranışlara yol açabilir. Böyle bir sorun ile ilgili bilgi toplayabilir ve sorun izleyici üzerine gönderebilirsiniz.
Hata ayıklama kipi#
Hata ayıklama kipinin açılması, özel durumların tarayıcıda görüntülenmesini sağlar. Bu kip, site arayüzündeki sorunları ayıklamak için yararlıdır. Ancak başarımı olumsuz etkilediğinden ve kişisel verileri sızdırabileceğinden üretim ortamı için uygun değildir.
Üretim ortamında, hata raporları ile ilgili e-postaları almak için ADMINS
komutunu kullanın ya da bir üçüncü taraf hizmeti kullanarak hata toplamayı yapılandırın.
Weblate günlükleri#
Weblate, arka planda neler olup bittiği ile ilgili ayrıntılı günlükler tutabilir. Varsayılan yapılandırmada syslog kullanılır ve bu da günlüğün /var/log/messages
veya /var/log/syslog
içinde tutulmasını sağlar (syslog daemon yapılandırmanıza bağlı olarak).
Celery işlemi (bilgi almak için Celery ile arka plan görevlerini kullanmak) genellikle kendi günlüklerini de tutar. Örnek sistem genelindeki kurulumlarda günlükler /var/log/celery/
altındaki birkaç dosyaya kaydedilir.
Docker kapsayıcıları çıktılarını günlüğe kaydeder (Docker dünyası için her zaman olduğu gibi). Bu günlüklere docker-compose logs
komutuyla bakabilirsiniz. Günlük ayrıntı düzeyini WEBLATE_LOGLEVEL
seçeneği ile değiştirebilirsiniz.
Ayrıca bakınız
Örnek yapılandırma içinde LOGGING
yapılandırması bulunur.
Arka plan görevleri yapılamıyor#
Celery işlemleri tarafından arka planda birçok şey yapılır. E-posta gönderme ya da bileşen kaldırma gibi işlemler yapılmıyorsa, bununla ilgili bir sorun olabilir.
Bu durumda şunlar denetlenmelidir:
Celery işleminin çalışıp çalışmadığını denetleyin. Bilgi almak için: ref:celery
Celery kuyruğunun durumunu Yönetim arayüzü içinden ya da
weblate weblate celery_queues
komutuyla denetleyinHatalar için Celery günlüklerine bakın (bilgi almak için: Weblate günlükleri)
Weblate e-postaları alınamıyor#
Giden e-postanın düzgün çalışıp çalışmadığını sendtestemail
yönetim komutuyla (farklı ortamlarda nasıl çağrılacağı ile ilgili bilgi almak için: Yönetim komutlarını çağırmak) ya da Araçlar sekmesi altındaki Yönetim arayüzü komutuyla doğrulayabilirsiniz.
Bunlar e-postaları doğrudan gönderir. Böylece SMTP yapılandırmanızın doğru olduğunu doğrular (bilgi almak için: Giden e-postayı yapılandırmak). Bununla birlikte, Weblate üzerinden gelen e-postaların çoğu arka planda gönderilir ve Celery ile ilgili bazı sorunlar da olabilir. Hata ayıklama için Arka plan görevleri yapılamıyor bölümüne bakabilirsiniz.
Uygulama çökmelerini incelemek#
Uygulamanın çökmesi durumunda, çökme ile ilgili olabildiğince fazla bilgi toplamak yararlıdır. Bunun için, bu tür bilgileri kendiliğinden toplayabilen üçüncü taraf hizmetleri kullanılabilir. Nasıl ayarlanacağı ile ilgili bilgi almak için Hata raporlarını derlemek.
Sessiz hatalar#
Arka plan işleme için birçok görev Celery üzerine aktarılmıştır. Hatalar kullanıcı arabiriminde görüntülenmez, ancak Celery günlüklerinde görünür. Hata raporlarını derlemek komutunu yapılandırmak, bu tür hataları daha kolay fark etmenizi sağlar.
Başarım sorunları#
Bazı senaryolarda Weblate başarımı kötü oluyorsa, sorunu gösteren günlük kayıtlarını ve kodun nasıl geliştirilebileceğini anlamamıza yardımcı olabilecek her şeyi toplayın.
Bazı isteklerin herhangi bir belirti olmadan çok uzun sürmesi durumunda, Hata raporlarını derlemek ile birlikte dogslow kurmak ve hata toplama aracında kesin ve ayrıntılı geri izlemeler almak isteyebilirsiniz.
Yavaş başarımın veri tabanına bağlı olması durumunda, DEBUG
komutunu etkinleştirdikten sonra aşağıdaki yapılandırmayı kullanarak tüm veri tabanı sorgularının günlüğe kaydedilmesini de sağlayabilirsiniz:
LOGGING["loggers"]["django.db.backends"] = {"handlers": ["console"], "level": "DEBUG"}
Weblate iç yapısı#
Not
Bu bölüm size Weblate iç yapısına temel bir genel bakış sunar.
Weblate, kod yapısının çoğu Django temelinden türetilmiştir.
Klasör yapısı#
Weblate ana deposunun klasör yapısına hızlı bir bakış:
docs
Bu belgelerin ‘Sphinks <https://www.sphinx-doc.org/>`_ kullanılarak oluşturulabilen kaynak kodu.
dev-docker
Geliştirme sunucusunu çalıştırmak için Docker kodu. Bilgi almak için: Weblate platformunu Docker üzerinde yerel olarak çalıştırma.
weblate
Bir Django uygulaması olarak Weblate kaynak kodu. Bilgi almak için: Weblate iç yapısı.
weblate/static
İstemci dosyaları (CSS, JavaScript ve görseller). Bilgi almak için: Weblate ön yüzü.
Modüller#
Weblate birkaç Django uygulamasından oluşur (bazıları isteğe bağlıdır. Bilgi almak için: İsteğe bağlı Weblate modülleri):
accounts
Kullanıcı hesabı, profiller ve bildirimler.
addons
Weblate davranışını değiştiren eklentiler. Bilgi almak için: Eklentiler.
api
Django REST çatısı üzerine geliştirilmiş API.
auth
Kimlik doğrulama ve izinler.
billing
İsteğe bağlı Faturalama modülü.
checks
Çeviri dizgesi: ref: checks modülü.
fonts
Yazı tipi görüntüleme denetimleri modülü.
formats
Tranlate-toolkit temelli dosya biçimi soyutlama katmanı.
gitexport
İsteğe bağlı Git dışa aktarıcı modülü.
lang
Dil ve çoğul modelleri tanımlayan modül.
legal
İsteğe bağlı Yasal modülü.
machinery
Makine çevirisi hizmetleri bütünleştirmesi.
memory
İç çeviri belleği, bkz: Çeviri belleği.
screenshots
Ekran görüntüsü yönetimi ve optik karakter tanıma (OCR) modülü.
trans
Çevirileri işleyen ana modül.
utils
Çeşitli yardımcı programlar.
vcs
Sürüm denetimi sistemi soyutlaması.
wladmin
Django yönetim arayüzü özelleştirmesi.
Eklentileri geliştirmek#
Weblate üzerinde yerelleştirme iş akışını özelleştirmek için Eklentiler kullanılabilir.
- class weblate.addons.base.BaseAddon(storage=None)#
Weblate eklentileri için temel sınıf.
- classmethod can_install(component, user)#
Eklentinin belirtilen bileşenle uyumlu olup olmadığını denetler.
- configure(settings)#
Yapılandırmayı kaydeder.
- daily(component)#
Kanca günlük olarak tetiklenir.
- classmethod get_add_form(user, component, **kwargs)#
Yeni eklenti eklemek için yapılandırma formunu görüntüler.
- get_settings_form(user, **kwargs)#
Bu eklenti için yapılandırma formunu görüntüler.
- post_add(translation)#
Kanca yeni çeviri eklendikten sonra tetiklenir.
- post_commit(component)#
Kanca değişiklikler depoya işlendikten sonra tetiklenir.
- post_push(component)#
Kanca depo yukarı akışa yollandıktan sonra tetiklenir.
- post_update(component, previous_head: str, skip_push: bool)#
Kanca depo yukarı akıştan güncellendikten sonra tetiklenir.
- Parametreler:
previous_head (str) – Güncellemeden önce deponun HEAD bölümü. İlk kopyalamada boş olabilir.
skip_push (bool) – Eklenti işleminin değişiklikleri yukarı akışa itmeyi atlayıp atlamayacağı. Genellikle bunu temeldeki yöntemlere
commit_and_push
ya dacommit_pending
olarak iletebilirsiniz.
- pre_commit(translation, author)#
Kanca değişiklikler depoya işlenmeden önce tetiklenir.
- pre_push(component)#
Kanca depo yukarı akışa yollanmadan önce tetiklenir.
- pre_update(component)#
Kanca depo yukarı akıştan güncellenmeden önce tetiklenir.
- save_state()#
Eklenti durum bilgilerini kaydeder.
- store_post_load(translation, store)#
Kanca bir dosya işlendikten sonra tetiklenir.
Parametre olarak bir dosya biçimi sınıfının bir kopyasını alır.
Bu seçenek, dosyanın nasıl kaydedileceğini ayarlamak gibi dosya biçimi sınıfı parametrelerini değiştirmek için faydalıdır.
- unit_pre_create(unit)#
Kanca yeni birim oluşturulmadan önce tetiklenir.
İşte örnek bir eklenti:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
from django.utils.translation import gettext_lazy
from weblate.addons.base import BaseAddon
from weblate.addons.events import EVENT_PRE_COMMIT
class ExampleAddon(BaseAddon):
# Filter for compatible components, every key is
# matched against property of component
compat = {"file_format": {"po", "po-mono"}}
# List of events add-on should receive
events = (EVENT_PRE_COMMIT,)
# Add-on unique identifier
name = "weblate.example.example"
# Verbose name shown in the user interface
verbose = gettext_lazy("Example add-on")
# Detailed add-on description
description = gettext_lazy("This add-on does nothing it is just an example.")
# Callback to implement custom behavior
def pre_commit(self, translation, author):
return
Weblate ön yüzü#
Ön yüz şu anda Bootstrap, jQuery ve birkaç üçüncü taraf kitaplığı kullanılarak oluşturulmuştur.
Desteklenen tarayıcılar#
Weblate, tüm bilinen tarayıcıların ve platformların en yeni ve kararlı sürümlerini destekler.
Güncel WebKit, Blink ya da Gecko sürümünü kullanan alternatif tarayıcılar, doğrudan ya da platformun site görünümü API uygulaması üzerinden açıkça desteklenmez. Bununla birlikte, Weblate (çoğu durumda) bu tarayıcılarda da düzgün bir şekilde görüntülenmeli ve çalışmalıdır.
Eski tarayıcılar çalışabilir, ancak bazı özellikler sınırlı olabilir.
Bağımlılık yönetimi#
Üçüncü taraf kitaplıklarını güncellemek için Yarn paket yöneticisi kullanılır. Yapılandırma scripts/yarn
içindedir ve kitaplıkları yükseltmek, bunları oluşturmak ve üçüncü taraf ön yüz kodunun bulunduğu weblate/static/vendor
içindeki konumlara kopyalamak için scripts/yarn-update
sarmalayıcı betiği kullanılır. Weblate kodu doğrudan weblate/static
içine yerleştirilmeli ya da belirli alt klasörler bulunmalıdır (weblate/static/editor
gibi).
Yeni üçüncü taraf kitaplığı eklemek genellikle şu şekildedir:
# Add a yarn package
yarn --cwd scripts/yarn add PACKAGE
# Edit the script to copy package to the static folder
edit scripts/yarn-update
# Run the update script
./scripts/yarn-update
# Add files to git
git add .
Kodlama biçemi#
Weblate, hem JavaScript hem de CSS dosyalarının kod biçimlendirmesi için Prettier kullanır.
Ek olarak JavaScript kodunu denetlemek için ESLint kullanıyoruz.
Yerelleştirme#
Ön yüz kodunda kullanıcı tarafından görülebilecek herhangi bir metne gerek duyuyorsanız, bu yerelleştirilebilir olmalıdır. Çoğu durumda yalnızca, metninizi gettext
işlevinin içine kaydırmanız yeterlidir. Ancak kullanılabilecek daha karmaşık özellikler de vardır:
document.write(gettext('this is to be translated'));
var object_count = 1 // or 0, or 2, or 3, ...
s = ngettext('literal for the singular case',
'literal for the plural case', object_count);
fmts = ngettext('There is %s object. Remaining: %s',
'There are %s objects. Remaining: %s', 11);
s = interpolate(fmts, [11, 20]);
// s is 'There are 11 objects. Remaining: 20'
Ayrıca bakınız
Simgeler#
Weblate şu anda material design simgelerini kullanıyor. Yeni simgeler arıyorsanız, Material Design Icons ya da Material Design Resources seçeneğini işaretleyin.
Ek olarak, SVG boyutunu küçültmek için scripts/optimize-svg
kullanılır. Çünkü simgelerin çoğu yolların biçemine izin vermek için HTML içine gömülüdür.
Weblate sorunlarını bildirmek#
Weblate hata izleyicisi GitHub üzerinde bulunur.
Karşılaştığınız sorunları bildirmeye ya da Weblate için iyileştirme önerilerinde bulunmaktan çekinmeyen. Sorun bildirimi için size kolaylık sağlayacak çeşitli kalıplar hazırlanmıştır.
Bulduğunuz şey bir Weblate güvenlik sorunuysa, lütfen aşağıdaki Güvenlik sorunları bölümüne bakın.
Hata bildiriminiz ya da özellik isteğiniz ile ilgili emin değilseniz, Weblate tartışmaları bölümünü deneyebilirsiniz.
Güvenlik sorunları#
Topluluğa yanıt vermesi ve yükseltmesi için zaman tanımak amacıyla, tüm güvenlik sorunlarını gizlice bildirmeniz önemle önerilir. Güvenlik sorunlarını ele almak için HackerOne kullanılır ve doğrudan HackerOne adresinden bildirilebilir. Oraya gönderdikten sonra, topluluğun olayı çözmek için sınırlı ama yeterli zamanı vardır.
Alternatif olarak, HackerOne üzerine aktarılan security@weblate.org adresine bildirebilirsiniz.
Herhangi bir nedenle HackerOne kullanmak istemiyorsanız, bildirimi michal@weblate.org adresine e-posta olarak gönderebilirsiniz. İletiyi ‘3CB 1DF1 EF12 CF2A C0EE 5A32 9C27 B313 42B7 511D’ PGP anahtarıyla şifrelemeyi seçebilirsiniz. PGP anahtarını Keybase üzerinden de alabilirsiniz.
Not
Weblate, birçok şey için üçüncü taraf bileşenleri kullanır. Genel olarak bu bileşenlerden birini etkileyen bir güvenlik açığı bulursanız, lütfen bunu doğrudan ilgili projeye bildirin.
Bunların bazıları şunlardır:
Weblate sınama paketi ve sürekli bütünleştirme#
Sınama paketleri geçerli kodun çoğu için bulunabilir. Herhangi bir yeni özellik için sınama çalışmaları ekleyerek kapsamı artırın ve çalıştığını doğrulayın.
Sürekli bütünleştirme#
Güncel sınama sonuçları GitHub işlemleri bölümünde bulunabilir ve kapsama alanı Codecov bölümünde raporlanır.
Farklı yönleri doğrulayacak birkaç görev vardır:
Birim sınamaları
Belge oluşturma ve dış bağlantılar
Desteklenen tüm sürümlerden aktarım sınaması
Kod standardı
Kurulum doğrulaması (oluşturulan dist dosyalarının hiçbir şeyi kaçırmamasını ve sınanabilmesini sağlar)
CI yapılandırması .github/workflows
klasöründe bulunur ve yoğun olarak ci
klasöründeki yardımcı betikleri kullanır. Betikler el ile de yürütülebilir, ancak çoğunlukla kullanılacak Django ayarları dosyasını ve veri tabanı bağlantısını tanımlayan birkaç ortam değişkeni gereklidir. Bunun örnek tanımını scripts/test-database.sh
içinde bulabilirsiniz:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
# Simple way to configure test database from environment
# shellcheck shell=sh
# Database backend to use postgresql / mysql / mariadb
export CI_DATABASE="${1:-postgresql}"
# Database server configuration
export CI_DB_USER=weblate
export CI_DB_PASSWORD=weblate
export CI_DB_HOST=127.0.0.1
# Django settings module to use
export DJANGO_SETTINGS_MODULE=weblate.settings_test
Basit yürütme şöyle görünebilir:
. scripts/test-database.sh
./ci/run-migrate
./ci/run-test
./ci/run-docs
Yerel sınama#
Bir sınama paketini yerel olarak çalıştırmak için şunu kullanın:
DJANGO_SETTINGS_MODULE=weblate.settings_test ./manage.py test
İpucu
Sınama kullanılacak bir veri tabanı (PostgreSQL) sunucusuna gerek duyacaksınız. Django varsayılan olarak, test_
ön eki olan sınamaları çalıştırmak için ayrı bir veri tabanı oluşturur. Bu nedenle ayarlarınızın weblate
kullanacak şekilde yapılandırılması durumunda, sınamalar test_weblate
veri tabanını kullanır. Kurulum yönergeleri için Weblate için veri tabanı kurulumu bölümüne bakabilirsiniz.
weblate/settings_test.py
CI ortamında da kullanılır (bilgi almak için: Sürekli bütünleştirme) ve ortam değişkenleri kullanılarak ayarlanabilir:
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
# Simple way to configure test database from environment
# shellcheck shell=sh
# Database backend to use postgresql / mysql / mariadb
export CI_DATABASE="${1:-postgresql}"
# Database server configuration
export CI_DB_USER=weblate
export CI_DB_PASSWORD=weblate
export CI_DB_HOST=127.0.0.1
# Django settings module to use
export DJANGO_SETTINGS_MODULE=weblate.settings_test
Sınamaları çalıştırmadan önce, bazı sınamalar için var olmaları gerektiğinden durağan dosyaları toplamalısınız:
DJANGO_SETTINGS_MODULE=weblate.settings_test ./manage.py collectstatic
Çalıştırılacak sınamaları tek tek de belirtebilirsiniz:
DJANGO_SETTINGS_MODULE=weblate.settings_test ./manage.py test weblate.gitexport
İpucu
Sınamalar geliştirici docker kapsayıcısı içinde de yürütülebilir. Bilgi almak için: Weblate platformunu Docker üzerinde yerel olarak çalıştırma.
Ayrıca bakınız
Django sınamalarını çalıştırmak ve yazmak ile ilgili bilgi almak için Testing in Django bölümüne bakabilirsiniz.
Veri şemaları#
Weblate, dış JSON dosyalarının düzenini tanımlamak için JSON şeması kullanır.
Weblate çeviri belleği şeması#
tür |
dizi |
||
ögeler |
Çeviri belleği ögesi |
||
tür |
nesne |
||
özellikler |
|||
|
Dizge kategorisi |
||
1 genel, 2 paylaşılmış, 10000000+ projeye özel, 20000000+ kullanıcıya özel |
|||
tür |
integer |
||
examples |
1 |
||
minimum |
0 |
||
default |
1 |
||
|
Dizge kaynağı |
||
Dosya adı veya bileşen adı |
|||
tür |
string |
||
examples |
test.tmx |
||
project/component |
|||
default |
|||
|
Kaynak dizge |
||
tür |
string |
||
examples |
Merhaba |
||
minLength |
1 |
||
default |
|||
|
Kaynak dil |
||
ISO 639-1 / ISO 639-2 / IETF BCP 47 |
|||
tür |
string |
||
examples |
en |
||
pattern |
^[^ ]+$ |
||
default |
|||
|
Hedef dizge |
||
tür |
string |
||
examples |
Ahoy |
||
minLength |
1 |
||
default |
|||
|
Hedef dil |
||
ISO 639-1 / ISO 639-2 / IETF BCP 47 |
|||
tür |
string |
||
examples |
tr |
||
pattern |
^[^ ]+$ |
||
default |
|||
additionalProperties |
False |
||
definitions |
Ayrıca bakınız
Çeviri belleği,
weblate weblate dump_memory
,
weblate weblate import_memory
Weblate kullanıcı verilerini dışa aktarma#
tür |
nesne |
|||
özellikler |
||||
|
Temel |
|||
tür |
nesne |
|||
özellikler |
||||
|
Kullanıcı adı |
|||
tür |
string |
|||
examples |
admin |
|||
default |
||||
|
Ad soyad |
|||
tür |
string |
|||
examples |
Weblate Yöneticisi |
|||
default |
||||
|
E-posta |
|||
tür |
string |
|||
examples |
||||
default |
||||
format |
||||
|
Katılma tarihi |
|||
tür |
string |
|||
examples |
2019-11-18T18:53:54.862Z |
|||
default |
||||
format |
date-time |
|||
additionalProperties |
False |
|||
|
Profil |
|||
tür |
nesne |
|||
özellikler |
||||
|
Dil |
|||
tür |
string |
|||
examples |
tr |
|||
pattern |
^[^ ]*$ |
|||
default |
||||
|
Önerilmiş dizge sayısı |
|||
tür |
integer |
|||
examples |
1 |
|||
default |
0 |
|||
|
Çevrilmiş dizge sayısı |
|||
tür |
integer |
|||
examples |
24 |
|||
default |
0 |
|||
|
Yüklenmiş ekran görüntüsü sayısı |
|||
tür |
integer |
|||
examples |
1 |
|||
default |
0 |
|||
|
Tamamlanmış çevirileri panoda gizler |
|||
tür |
boolean |
|||
examples |
False |
|||
default |
True |
|||
|
Zen kipinde ikincil çevirileri görüntüler |
|||
tür |
boolean |
|||
examples |
True |
|||
default |
True |
|||
|
İkincil çeviri varsa kaynağı gizler |
|||
tür |
boolean |
|||
examples |
False |
|||
default |
True |
|||
|
Düzenleyici bağlantısı |
|||
tür |
string |
|||
examples |
||||
pattern |
^.*$ |
|||
default |
||||
|
Çeviri düzenleyici kipi |
|||
tür |
integer |
|||
examples |
0 |
|||
default |
0 |
|||
|
Zen düzenleyici kipi |
|||
tür |
integer |
|||
examples |
0 |
|||
default |
0 |
|||
|
Özel karakterler |
|||
tür |
string |
|||
examples |
||||
pattern |
^.*$ |
|||
default |
||||
|
Tema |
|||
tür |
string |
|||
examples |
auto |
|||
pattern |
^(auto|dark|light)$ |
|||
default |
auto |
|||
|
Varsayılan pano görünümü |
|||
tür |
integer |
|||
examples |
1 |
|||
default |
0 |
|||
|
Varsayılan bileşen listesi |
|||
default |
null |
|||
anyOf |
tür |
null |
||
tür |
integer |
|||
|
Çevrilmiş diller |
|||
tür |
dizi |
|||
default |
||||
ögeler |
Dil kodu |
|||
tür |
string |
|||
examples |
tr |
|||
pattern |
^.*$ |
|||
default |
||||
|
İkincil diller |
|||
tür |
dizi |
|||
default |
||||
ögeler |
Dil kodu |
|||
tür |
string |
|||
examples |
sk |
|||
pattern |
^.*$ |
|||
default |
||||
|
İzlenen projeler |
|||
tür |
dizi |
|||
default |
||||
ögeler |
Proje kısaltması |
|||
tür |
string |
|||
examples |
weblate |
|||
pattern |
^.*$ |
|||
default |
||||
additionalProperties |
False |
|||
|
Denetim günlüğü |
|||
tür |
dizi |
|||
default |
||||
ögeler |
Ögeler |
|||
tür |
nesne |
|||
özellikler |
||||
|
IP adresi |
|||
tür |
string |
|||
examples |
127.0.0.1 |
|||
pattern |
^.*$ |
|||
default |
||||
|
Kullanıcı uygulaması |
|||
tür |
string |
|||
examples |
PC / Linux / Firefox 70.0 |
|||
pattern |
^.*$ |
|||
default |
||||
|
Zaman damgası |
|||
tür |
string |
|||
examples |
2019-11-18T18:58:30.845Z |
|||
default |
||||
format |
date-time |
|||
|
Etkinlik |
|||
tür |
string |
|||
examples |
oturum açma |
|||
pattern |
^.*$ |
|||
default |
||||
additionalProperties |
False |
|||
definitions |
Ayrıca bakınız
Weblate yayınları#
Yayın zamanlaması#
Weblate, sürümler, iki aylık aralıklarla yayınlanır (x.y). Bunları genellikle gözden kaçan sorunları düzeltmek için bir dizi hata düzeltme sürümü izler (x.y.z).
Ana sürümün değişmesi, yükseltme işleminin bu sürümü atlayamayacağını gösterir. Daha yüksek x.y sürümlerine yükseltmeden önce her zaman x.0 sürümüne yükseltilmesi gerekir.
Ayrıca bakınız
Yayın planlaması#
Yakında yayınlancak sürümlerin özellikleri GitHub kilometre taşları kullanılarak derlenir. Yol haritamızı <https://github.com/WeblateOrg/weblate/milestones> adresinde görebilirsiniz.
Yayınlama süreci#
Yayınlanma öncesi denetlenmesi gerekenler:
Yeni çevrilen dilleri ./scripts/list-translated-languages ile denetleyin.
Son sürümü :command:`./scripts/prepare-release’ ile ayarlayın.
Ekran görüntülerinin güncel olduğundan emin olun :command:`make -j 12 -C docs update-screenshots’.
Bekliyor olabilecek çevirileri birleştirin wlc push; git remote update; git merge origin/weblate
Yayını gerçekleştirin:
Yayını oluşturun ./scripts/create-release --tag (gereksinimler için aşağı bakın).
Yayın sonrası el ile yapılacak adımlar:
Docker kalıbını güncelleyin.
GitHub kilometre taşını kapatın.
Docker kalıbı sınandıktan sonra bir etiket ekleyip itin.
Helm çizelgesini yeni sürüme güncelleyin.
Birleştirme sınamasında işlenmesi için
.github/workflows/migrations.yml
içine yeni sürümü ekleyin.Site indirme bağlantılarındaki sürümü artırın.
Depodaki sürümü ./scripts/set-version ile artırın.
Tüm readthedocs.org çevirilerinin ./scripts/rtd-projects ile oluşturulup oluşturulmadığını denetleyin.
To create tags using the ./scripts/create-release script you will need following:
Yayını imzalamak için kişisel anahtar ile GnuPG
Weblate Git depolarına itme erişimi (etiketleri iter)
Yapılandırılmış hub aracı ve Weblate deposunda sürüm oluşturma erişimi
Weblate indirme sunucusuna SSH erişimi (site indirmeleri oraya kopyalanır)
Güvenlik ve gizlilik#
Tüyo
Weblate üzerinde güvenlik, kullanıcılarımızın gizliliğine önem veren bir ortam sağlar.
Weblate geliştirme çalışmaları, Linux Vakfı Temel Altyapı Girişiminin İyi Örneklerini izlemektedir.
Ayrıca bakınız
Güvenlik güncellemeleri#
Yalnızca son sürümün güvenlik güncellemelerini alacağı garanti edilir.
Güvenlik açıkları için bağımlılıkları izlemek#
Bağımlılıklarımızdaki güvenlik sorunları Dependabot ile izlenir. Python ve JavaScript kitaplıkları kapsanır ve son kararlı sürümde, güvenlik açıklarını önlemek için bağımlılıklar güncellenir.
İpucu
Üçüncü taraf kitaplıklarında Weblate üzerinde etkisi olmayan güvenlik açıkları olabilir. Bu nedenle Weblate hata düzeltme sürümleri yayınlanmaz ve bunlar giderilmez.
Docker kapsayıcısı güvenliği#
Docker kapsayıcıları Anchore ve Trivy güvenlik tarayıcıları ile düzenli olarak taranır.
Böylece, güvenlik açıklarını erken bulmamız ve iyileştirmeleri hızlı bir şekilde yayınlamamız sağlanır.
Bu taramaların sonuçlarını GitHub üzerinden alabilirsiniz. Bunlar CI üzerinde SARIF (Statik Analiz Sonuçları Değişim Biçimi) yapıları biçiminde tutulur.
Ayrıca bakınız
Weblate modüllerine katkıda bulunmak#
Ana deponun yanında, Weblate birkaç Python modülünden oluşur. Bütün bunlar aynı yapıyı izler ve bu belgelerde tümü kapsanır.
Örneğin, bu şunları kapsar:
wlc, Python istemci kitaplığı, Weblate istemcisi bölümüne bakın
translation-finder, depodaki çevrilebilir dosyaları keşfetmek için kullanılır
language-data, Weblate dil tanımları, Dil tanımları bölümüne bakın
Kodlama rehberi#
Weblate için geliştirilen kodlar Tasarım ilkelerine uygun güvenlik göz önünde bulundurularak yazılmalıdır.
Tüm kodlar, kodun davranışını açıklayan belgelerle birlikte iletilmelidir. Yöntemler, karmaşık kod blokları veya kullanıcı tarafından görülebilen özellikleri belgelemeyi unutmayın.
Herhangi bir yeni kod PEP 484 türünde ipuçları kullanmalıdır. Var olan kod henüz bunları içermediğinden bunu henüz CI ile denetlemiyoruz.
Sınamaları yürütmek#
Sınamalar py.test kullanılarak yürütülür. Öncelikle sınama gereksinimlerini kurmanız gerekir:
pip install -r requirements-test.txt
Daha sonra depo checkout sayfasında sınama paketini yürütebilirsiniz:
py.test
Ayrıca bakınız
CI bütünleştirmesi Weblate sınama paketi ve sürekli bütünleştirme ile çok benzer.
Kodlama standardı ve kodu temizlemek#
Kod, PEP-8 kodlama yönergelerine uymalı ve black kod biçimlendiricisi ile biçimlendirilmelidir.
Kod kalitesini denetlemek için flake8 kullanabilirsiniz. Önerilen eklentiler .pre-commit-config.yaml
içinde bulunur ve geçerli yapılandırması setup.cfg
dosyasındadır.
Tüm bunları dayatmak için en kolay yaklaşım pre-commit kurmaktır. Depoda, gönderilen dosyaların düzgün olduğunu doğrulayacak bir yapılandırma bulunur. Kurulumdan sonra (requirements-lint.txt
içinde bulunur) Weblate checkout sırasında pre-commit install
komutunu çalıştırarak açın. Böylece tüm değişiklikleriniz kendiliğinden denetlenir.
Denetimi el ile de başlatabilirsiniz. Tüm dosyaları denetlemek için şunu yürütün:
pre-commit run --all
Ayrıca bakınız
Weblate hakkında#
Proje hedefleri#
Çevirmenlerin katkıda bulunmasını kolaylaştıran, geniş bir Desteklenen dosya biçimleri yelpazesini destekleyen sıkı Sürüm denetimi bütünleştirmesi bütünleşmesi ile internet temelli sürekli yerelleştirme aracı.
Proje adı#
“Weblate”, “web” ve “translate” sözcüklerinin birleşimidir.
Proje sitesi#
Açılış sayfası https://weblate.org ve bulut barındırma hizmeti https://hosted.weblate.org adresinde bulunur. Belgeler https://docs.weblate.org adresinde görülebilir.
Proje logoları#
Proje logoları ve diğer çizelgeler https://github.com/WeblateOrg/graphics adresinde bulunabilir.
Liderlik#
Bu proje, michal@cihar.com adresinden ulaşılabileceğiniz Michal Čihař tarafından geliştiriliyor.
Lisans#
Daha ayrıntılı lisans bilgileri Weblate kaynak kodunda bulunabilir ve REUSE 3.0 teknik özellikleri yönergelerini izler.
Telif Hakkı © Michal Čihař michal@cihar.com
Bu yazılım özgürdür: Yeniden dağıtabilir ve/veya Özgür Yazılım Vakfı tarafından yayınlanan GNU Genel Kamu Lisansı koşulları altında, lisansın 3. sürümü ya da (seçiminize göre) daha sonraki bir sürümü koşullarına uygun olarak değiştirebilirsiniz.
Bu yazılım, yararlı olacağı umuduyla dağıtılır. Ancak HERHANGİ BİR GARANTİ VERİLMEZ; TİCARETE UYGUNLUK VEYA BELİRLİ BİR AMACA UYGUNLUK GARANTİSİ VERİLMEZ. Ayrıntılı bilgi almak için GNU Genel Kamu Lisansı koşullarına bakabilirsiniz.
Bu yazılımla birlikte GNU Genel Kamu Lisansı metninin bir kopyasını almış olmalısınız. Bulamıyorsanız <https://www.gnu.org/licenses/> adresine bakabilirsiniz.
Weblate 4.18#
15 Haziran 2023 tarihinde yayınlandı.
İzin verilmeyen durumların API hata iletileri iyileştirildi.
XML denetimlerinde yaşanan yanlış pozitif sonuçlar azaltıldı.
Çevrilmiş denetiminin kararlılığı iyileştirildi.
Fluent dosya biçiminin desteği genişletildi.
Bazı hız sınırlamalarında kullanıcı oturumunun kapatılması engellendi.
TBX biçimine sözlük açıklamalarını ekleme desteği eklendi.
Dizgeleri son güncellemeye göre sıralama özelliği eklendi.
Kullanıcıları bulmak için arama yetenekleri artırıldı.
Ekran görüntülerinin bir depodan kendiliğinden güncellenmesi özelliği eklendi.
Çeviri belleği başarımı iyileştirildi.
JSON/CSV dosyasına dışa aktarılan proje istatistiklerine daha fazla ayrıntı eklendi. Artık API içerikleri ile eşleşiyor.
Yeniden kullanılan çeviri denetimi eklendi.
Kendiliğinden önerilerde önerilen değişikliğin vurgulanması sağlandı.
Koyu tema eklendi. Tarayıcı ile aynı ve el ile ayarlama seçenekleri bulunuyor.
Docker kapsayıcısı artık salt okunur kök dosya sistemiyle kullanılabiliyor.
Bir projeye kullanıcı eklenirken kullanıcı adının otomatik olarak tamamlanması sağlandı.
Projeler, bileşenler, diller ve kullanıcılar için site genelinde arama özelliği eklendi.
New add-on Fill read-only strings with source.
Weblate 4.17#
17 Nisan 2023 tarihinde yayınlandı.
Raporların dile göre süzülmesi sağlandı.
Kullanımdan kaldırılan
cleanup_celery
komutu kaldırıldı.Bazı ekiplerin yaşadığı özel proje görünürlüğü sorunları düzeltildi.
Kendiliğinden çevirinin diğer bileşenlerden çeviri yaparken hedef durumunu dikkate alması sağlandı.
Herkese açık kullanıcı profillerinin başarımı iyileştirildi.
Sentry bütünleştirmesi başarımı iyileştirildi.
Ed25519 SSH anahtarları desteği eklendi.
Ölçümlerin depolanması yeniden yazıldı.
Dizgeleri konuma göre arama özelliği eklendi.
Belgelerde iyileştirmeler yapıldı.
Çeviri değiştirilmemiş denetiminin sözlükte çevrilemez olarak imlenmiş terimlere uygun davranması sağlandı.
Kendiliğinden Devanagari danda düzeltme özelliği eklendi.
Her dilin proje çeviri belleğini indirme özelliği eklendi.
Kullanılmayan bileşenler için yeni uyarı eklendi.
Weblate 4.16.4#
16 Mart 2023 tarihinde yayınlandı.
Bağımlılıklar güncellendi.
Arka plan görevlerinin zamanlaması geliştirildi.
Weblate 4.16.3#
15 Mart 2023 tarihinde yayınlandı.
Proje yedeklemelerinde oturum işlenmesi iyileştirildi.
Bağımlılıklar güncellendi.
Yerelleştirme güncelleştirmeleri yapıldı.
Belgelerde iyileştirmeler yapıldı.
Weblate 4.16.2#
8 Mart 2023 tarihinde yayınlandı.
Çeviri belleğinde arama sorunu düzeltildi.
Kendiliğinden çeviri daha fazla hizmet ile düzeltildi.
Örtüşen sözlük terim eşleşmelerinin sunumu geliştirildi.
Bazı biçimlerde İngilizce olmayan kaynak dil için çoğul ayrıştırması düzeltildi.
go-i18n v2 JSON dosyaları desteği eklendi.
Weblate 4.16.1#
1 Mart 2023 tarihinde yayınlandı.
Sınama paketi sorunu düzeltildi.
Weblate 4.16#
1 Mart 2023 tarihinde yayınlandı.
Biçim dizesi denetimlerinin yinelenen biçimleri de algılaması sağlandı.
Bazı özel biçimlendirilmiş dizgelerin arama başarımı iyileştirildi.
Celery görev zamanlamasının kayıt yeri veri tabanı olarak değiştirildi.
IBM Watson Language Translator desteği eklendi.
4.14 sürümünde kullanımdan kaldırılan sürüm denetimi sistemi bütünleştirmesi desteği kaldırıldı.
Bitbucket sunucusu çekme istekleri desteği eklendi.
Gettext PO dosyalarında çakışmaların işlenmesi iyileştirildi.
API ile ekleme sırasında dizge durumunu tanımlama desteği eklendi.
CORS tarafından izin verilen kaynakları yapılandırma desteği eklendi.
Çoğul biçimler için kendiliğinden öneri desteği eklendi.
Weblate 4.15.2#
25 Ocak 2023 tarihinde yayınlandı.
Varsayılan yapılandırmada gotext JSON ve i18next v4 biçimleri etkinleştirildi.
Bozuk dosyalar yüklendiğinde yaşanan çökme sorunu düzeltildi.
Git depo durumunda eski klasörlerin görüntülenmesi sağlandı.
Weblate 4.15.1#
19 Ocak 2023 tarihinde yayınlandı.
Kendiliğinden çeviri önerileri düzeltildi.
Bazı uç durumlarda yaşanan eklenti sayfasının çökmesi sorunu düzeltildi.
Bazı durumlarda yeni çevirilerde yaşanan kalıbın çevrilmemesi sorunu düzeltildi.
REUSE 3.0 kullanılarak lisanslama belgelendirildi.
Takım yönetiminde kullanıcıların sayfalandırması düzeltildi.
Proje oluşturma ve kaydetme başarımı iyileştirildi.
gotext JSON dosyaları desteği eklendi.
i18next v4 dosyaları desteği eklendi.
API üzerinde sayfalandırma artık özelleştirilebilir.
Weblate 4.15#
16 Aralık 2022 tarihinde yayınlandı.
Tek bir dizge için değişikliklere göz atma özelliği eklendi.
Diğer bileşenlerden kendiliğinden çeviri yapılırken çoğulların işlenmesi düzeltildi.
Dizgeyi öneri olarak göndermek için Alt+Enter klavye kısayolu eklendi.
Fluent biçiminde yerleştirilebilir ögeler desteği eklendi.
Çeviri belleğinin başarımı iyileştirildi.
İyi bilinen kod barındırma hizmetleri için repoweb tarama bağlantılarının kendiliğinden oluşturulması sağlandı.
Birkaç görünümün başarımı iyileştirildi.
Çoğul biçimleri olan dizgelerin listelenmesi iyileştirildi.
HTML head bölümüne markup kodu eklenmesi sağlandı.
Eklentide, MO dosyaları oluşturulurken yalnızca çevrilen dosyaların katılması sağlandı.
Kurallı ifade imlerinin işlenmesi düzeltildi.
Çoğul biçimlerde yer belirtici denetimi davranışı iyileştirildi.
Çeviri dosyalarının Google Play ile uyumlu biçimde adlandırılması özelliği eklendi.
API üzerine etiket desteği eklendi.
İşlemeler için bildirimlerden farklı e-posta seçme özelliği eklendi.
Docker kalıbı artık hata ayıklama kipini varsayılan olarak etkinleştirmiyor.
Sözlük terimleri sözlük bileşeni önceliğine göre sıralandı.
Takım üyeleri ekleyebilen ya da kaldırabilen takım yöneticileri eklendi.
Kullanıcıları silmeden önce bir açılır pencere onayı eklendi.
XML çıktısını özelleştirmek için eklenti eklendi.
Weblate 4.14.2#
5 Kasım 2022 tarihinde yayınlandı.
Çeviri belleğinden kayıtları kaldırma özelliği eklendi.
Çift dil uyarısında çözümleme iyileştirildi.
Ard arda yinelenen sözcük denetiminin doğruluğu iyileştirildi.
Çok sayıda bildirim gönderme ölçeklendirilmesi iyileştirildi.
Alt yazı çevirisi için dizge durumunun işlenmesi iyileştirildi.
VCS hizmeti API anahtarlarının _CREDENTIALS listesi yerine _TOKEN/_USERNAME yapılandırması ile güvenli olmayan yapılandırması kullanımdan kaldırıldı.
Yüklenen bazı CSV dosyalarının işlenmesi düzeltildi.
Fark görünümünde boşluk değişimlerinin işlenmesi iyileştirildi.
Yönetim sayfalarına kendiliğinden öneri yönetimi bağlantısı eklendi.
Geçmiş yorumların kaldırılması/çözümlenmesi için izleme eklendi.
İlişkili bileşenlerle proje yedeklerinin geri yüklenmesi düzeltildi.
Hesap açılamadığında captcha girişi düzeltildi.
DeepL dil desteği iyileştirildi.
Kimliği doğrulanan depolarla internet kancaları uyumluluğu iyileştirildi.
Python 3.11 desteği eklendi.
Weblate 4.14.1#
15 Eylül 2022 tarihinde yayınlandı.
Bazı durumlarda yaşanan proje yedeklerinin oluşturulması sorunu düzeltildi.
Dosya yüklemede hata bildirimi iyileştirildi.
Kimlik doğrulama yapılırken GitHub üzerinden e-postaları doğrulanmış tüm kullanıcıların alınması sağlandı.
Sözlük terimlerinin bağlam ya da anahtarlarla eşleştirmesi engellendi.
Dizge kaldırma bildirimleri eklendi.
Sözlükte çevrilemeyen terimlerin yönetimi iyileştirildi.
Takım yönetimi sayfasında takım üyelerinin sayısı listelendi.
Grup yönetimi arayüzü eklendi.
Onaylama kullanıldığında onaylama istatistiklerinin her zaman görüntülenmesi sağlandı.
Birim API uygulamasına arama özelliği eklendi.
Onaylama iş akışında, salt okunur dizgeler için ilerleme çubuğunun görüntülenme sorunu düzeltildi.
Birmanca için noktalama denetimleri iyileştirildi.
Ölçüm verilerinin çöp biriktirmesi düzeltildi.
Weblate 4.14#
22 Ağustos 2022 tarihinde yayınlandı.
Geçmişteki eklenti değişikliklerinin izlenmesi sağlandı.
Windows RC, HTML ve metin dosyalarından yaşanan çeviri işleme sorunu düzeltildi.
Dil kodu biçemi yapılandırma seçenekleri genişletildi.
Son CLDR sürümlerinde güncellenen çoğul biçimler desteği eklendi.
Çok sayıda çeviri içeren bileşenler güncellenirken bellek kullanımı azaltıldı.
SAP Translation Hub çeviri etki alanı desteği eklendi.
Kaynak dizge konumlarında mutlak bağlantıların kullanılabilmesi sağlandı.
Bazı ters vekil sunucuların arkasında çalışma iyileştirildi.
API, çeviri belleğini kapsayacak şekilde genişletildi.
Belge çevirisi iş akışı iyileştirildi.
HTML ve metin dosyaları çevirisinin güvenilirliği artırıldı.
Proje düzeyinde yedekleme özelliği eklendi.
Çeviri belleği aramalarının başarımı ve bellek kullanımı iyileştirildi.
Weblate 4.13.1#
1 Temmuz 2022 tarihinde yayınlandı.
Geçmiş kayıtlarında yaşanan önerilerin izlenmesi sorunu düzeltildi.
Cloudflare üzerinden yaşanan ters vekil sunucu bilgisini işleme sorunu düzeltildi.
Ayrıştırma hatasının bir bileşenin çevrilmesini kilitlemesi sağlandı.
Keşif eklentisinde yaşanan ara dosyayı yapılandırma sorunu düzeltildi.
Yer belirticilerde DeepL çeviri davranışı düzeltildi.
API üzerinden dizgelerin çevrilmemesi sorunu düzeltildi.
API üzerine bir gruptan kullanıcı kaldırma özelliği eklendi.
Kullanıcı davet e-postalarında yaşanan denetim günlüğü sorunu düzeltildi.
Java biçimlendirme dizgelerinde yaşanan im adları sorunu düzeltildi.
Weblate 4.13#
15 Haziran 2022 tarihinde yayınlandı.
Dil adlarını güncelleme davranışı değiştirildi.
Proje listesine sayfalandırma eklendi.
Yeni birimler oluşturma API uygulaması artık yeni oluşturulan birim ile ilgili bilgiler veriyor.
Bileşen keşfinde bir ara dilin yapılandırılması eklendi.
CSV biçimlerine sabit kodlama çeşitleri eklendi.
Temeldeki uygulamaya daha iyi uyması amacıyla bazı biçimler için bağlam ve konumun işlenmesi değiştirildi.
ResourceDictionary biçimi desteği eklendi.
Renk körleri için ilerleme çubuğu renkleri iyileştirildi.
Dizge kaldırılırken yaşanan çeşitlerin temizlenmesi sorunu düzeltildi.
Django 4.1 uyumluluğu sağlandı.
XLIFF içinde kaçırılan XML ögelerini depolama özelliği eklendi.
Yer belirtici denetim hatalarının biçimlendirilmesi iyileştirildi.
/.well-known/change-password /accounts/password/ adresine yönlendirildi.
Makine çevirisi hizmetleri artık her proje için ayrı olarak yapılandırılabilir.
Yorumların çözümlenmesi için ayrı bir izin eklendi ve Dizgeleri onaylama rolüne verildi.
Alternatif çevirileri CSV dosyasında depolama özelliği eklendi.
Yer belirtici denetimi artık büyük/küçük harfe duyarsız olarak da yapılabilir.
Weblate 4.12.2#
11 Mayıs 2022 tarihinde yayınlandı.
Bazı bileşenlerde yaşanan proje çeviri belleğinin yeniden oluşturulması sorunu düzeltildi.
Bileşenlerin çevrilmemiş dizgelere göre sıralanması sorunu düzeltildi.
Yeni dil eklenirken yaşanan olası çeviri kaybı sorunu düzeltildi.
Aktarım işlemleri yapılırken Weblate SSH anahtarının oluşturulduğundan emin olunması sağlandı.
Weblate 4.12.1#
29 Nisan 2022 tarihinde yayınlandı.
Çekme isteği ileti başlığı düzeltildi.
Fluent biçiminde söz dizimi hatalarının işlenmesi iyileştirildi.
Bildirim e-postalarında yaşanan avatar görüntülenme sorunu düzeltildi.
İnternet üzerinden para kazanma özelliği eklendi.
Çeviriler kaldırılırken yaşanan eski kaynak dizgelerinin kaldırılması sorunu düzeltildi.
Weblate 4.12#
20 Nisan 2022 tarihinde yayınlandı.
Nokta işareti farklı için Amharca desteği eklendi.
Soru işareti farklı için Birmanca desteği eklendi.
Sözde yerel oluşturma eklentisinin seçenekleri genişletildi.
Bir dizgedeki tüm kalite denetimlerini yok saymak için
ignore-all-checks
imi eklendi.Sözde yerel oluşturma eklentisinin denetim hatalarını tetiklemesi engellendi.
Gitea çekme isteği özelliği eklendi.
Dil kodu biçemi için Linux biçemi dil kodu eklendi.
Proje çeviri belleğini yeniden oluşturma özelliği eklendi.
API bir dosyadan bileşenler oluşturma için iyileştirildi.
Diğer çevirilere kopyala ve çoğalt düğmeleri eklendi.
Birleştirme isteği iletisi bileşen düzeyinde yapılandırılabilir kılındı.
XML etiketlerinde en fazla uzunluk kısıtlama davranışı iyileştirildi.
Fluent dosyalarının ek yorumlarla yüklenmesi sorunu düzeltildi.
Weblate 4.11.2#
4 Mart 2022 tarihinde yayınlandı.
Binary sürümdeki bozuk MO dosyaları sorunu düzeltildi.
Weblate 4.11.1#
4 Mart 2022 tarihinde yayınlandı.
Git ve Mercurial ile yaşanan argümanların eksik temizlenmesi sorunu düzeltildi - CVE-2022-23915. Ayrıntılı bilgi almak için GHSA-3872-f48p-pxqj bölümüne bakabilirsiniz.
CSV dosyalarından belirsiz dizgelerin yüklenmesi sorunu düzeltildi.
API üzerinden takım oluşturma özelliği eklendi.
Kullanıcı anma önerilerinin görüntülenmesi sorunu düzeltildi.
Proje belirteçlerine erişim artık özelleştirilebilir.
Weblate 4.11#
25 Şubat 2022 tarihinde yayınlandı.
XSS - CVE-2022-24710 sorunları düzeltildi. Ayrıntılı bilgi almak için GHSA-6jp6-9rf9-gc66 adresine bakabilirsiniz.
API kullanarak eklenti kurulumu sorunu düzeltildi.
İşlem gereken dizgeler adı Tamamlanmamış dizgeler olarak değiştirildi.
ICU MessageFormat söz dizimi kaynaklı yanlış pozitif sonuç sorunu düzeltildi.
Diğer kullanımlar listesinde kilit ve katılımcı anlaşmasının görüntülenmesi sağlandı.
Eski dizgeler ya da eksik çoğullar bulunduran PO dosyalarının güncellenme sorunu düzeltildi.
Gerrit ile bir araya toplama eklentisi uyumluluğu iyileştirildi.
Kullanıcı dillerinin Accept-Language üst bilgisine göre kendiliğinden hazırlanması sağlandı.
Dizge kaldırılırken sorunların işlenmesi iyileştirildi.
Weblate için artık Django 3.2 gerekiyor.
Proje kodu kimlik doğrulaması ile bazı yazma işlemleri düzeltildi.
Depodaki dizgeler değiştiğinde dizge durumunun izlenmesi sorunu düzeltildi.
Depodaki dizge değişikliklerinin izlenmesi sağlandı.
Gezinmeyi iyileştirmek için çeviriler listesine sabitlenebilen başlık eklendi.
Java özellikleri ile yaşanan çevrilmeyen dizgeler sorunu düzeltildi.
ASCII olmayan dal adlarıyla Git işlemi sorunu düzeltildi.
Çeviriyi kaynak dizgeyle önceden doldurma eklentisi eklendi.
Hızlı ileri almadan birleştir Birleştirme biçemi özelliği eklendi.
Yeni eklenen dizgelerde Kendiliğinden çeviri eklentisinin tetiklenmesi sorunu düzeltildi.
Birmanca için noktalama denetimleri iyileştirildi.
Kullanıcılara erişim izni vermek için proje düzeyinde özel takımların tanımlanması sağlandı. Bilgi almak için: Her proje için erişim denetimi yönetimi.
Uyarılara belge bağlantıları eklendi.
Docker kapsayıcının, gerektiğinde giden e-posta için TLS/SSL seçeneğini kendiliğinden etkinleştirmesi sağlandı.
Çözümlenmiş yorumları arama özelliği eklendi.
borgbackup 1.2 desteği eklendi.
Kendiliğinden çevrilmiş etiketinin uygulanması sorunu düzeltildi.
Weblate 4.10.1#
22 Aralık 2021 tarihinde yayınlandı.
Django 4.0 yükseltmesi ile gelen değişiklikler belgelendirildi.
Kendiliğinden çevrilmiş etiketinin görüntülenmesi sorunu düzeltildi.
Paylaşılan bir deposu olan bileşenlerde yaşanan dalın API ile görüntülenmesi sorunu düzeltildi.
Başarısız olan itme uyarısının çözümlenmesi iyileştirildi.
Değişikliklere göz atarken sayfayı el ile düzenleme sorunu düzeltildi.
Kashida harfi kullanılmış doğruluğu iyileştirildi.
Weblate Docker kapsayıcısı artık Python 3.10 kullanıyor.
Weblate 4.10#
16 Aralık 2021 tarihinde yayınlandı.
DeepL ile düzenlilik ve yer belirtici özelliği eklendi.
Artık proje ve dil düzeyinde toplu düzenleme ve arama/değiştirme kullanılabilir.
Arama ve değiştirme için süzme eklendi.
Düzeltme: “Kendiliğinden çevir” yetkisi artık Diller grubunun bir parçası değil.
“Kendiliğinden çevir”, Yönetim ve yeni Kendiliğinden çeviri grubuna eklendi.
Özel karakterlerle XLSX dosyalarının oluşturulması sorunu düzeltildi.
GitHub kimlik doğrulama yönetim bölümüne, kullanıcının belirli bir GitHub kuruluşunda veya takımında olup olmadığını denetleme özelliği eklendi.
API üzerine iletilen geçersiz parametrelerle ilgili geri bildirim iyileştirildi.
API için proje kapsamında erişim kodları özelliği eklendi.
Bazı durumlarda yaşanan dizge silme sorunu düzeltildi.
Yeni eklenen dizgelerin çevrilmesi sorunu düzeltildi.
Süzülmesini kolaylaştırmak için kendiliğinden çevrilmiş dizgeler etiketlendi.
Weblate 4.9.1#
19 Kasım 2021 tarihinde yayınlandı.
Kalıp değiştirildikten sonra yaşanan tek dilli dosyaların yüklenmesi sorunu düzeltildi.
İmlerdeki boşlukların işlenmesi iyileştirildi.
İndirme API uygulamasına süzme özelliği eklendi.
Yeni çeviriler eklerken yaşanan istatistik görünümü sorunu düzeltildi.
GitHub SSH anahtar değişikliği ile ilgili sorunlar çözüldü.
Weblate 4.9#
10 Kasım 2021 tarihinde yayınlandı.
Geçmiş etkinliklerin ayrıntı düzeyi artırıldı.
Geçmişin görüntülenmesi iyileştirildi.
Çeviri sayfalarının başarımı iyileştirildi.
Çeviri dosyası indirmelerini kısıtlama özelliği eklendi.
safe-html
artıkmd-text
ile kullanıldığında Markdown kodlarını anlayabiliyor.max-length
kod imi artıkxml-text
ile kullanıldığında XML kodlamasını yok sayıyor.Çevirinin en fazla uzunluğu içinde oluşturulan metinlerin boyutları sorunu düzeltildi.
Yaklaşan Google ilke değişikliklerine yardımcı olmak için uygulama mağazası başlığının uzunluğu 30 karaktere düşürüldü.
SSH çağrısını
SSH_EXTRA_ARGS
aracılığıyla özelleştirme özelliği eklendi.ICU MessageFormat için denetimler eklendi.
Makine çevirisi arka uçlarında hata durumunun ele alınması iyileştirildi.
Dizgelerdeki olağan dışı boşluk karakterleri vurgulandı.
Düzenleme yaparken çevrilen dizgede kalma seçeneği eklendi.
Borg çağrısını
BORG_EXTRA_ARGS
aracılığıyla özelleştirme özelliği eklendi.Tek dilli çevirilerde yaşanan MO dosyalarının oluşturulması sorunu düzeltildi.
Tüm bileşen çevirilerini ZIP dosyası olarak indirmek için API uç noktası eklendi.
Python 3.10 desteği eklendi.
Yönetim arayüzüne e-posta davetini yeniden gönderme özelliği eklendi.
Weblate 4.8.1#
10 Eylül 2021 tarihinde yayınlandı.
Django yönetici arayüzünde yaşanan kullanıcı silme sorunu düzeltildi.
Eklenti parametreleri daha ayrıntılı olarak belgelendirildi.
Sözlükte yaşanan JavaScript sorunu düzeltildi.
Tutarlılık denetimlerinde eşleşme sayısına sınır eklendi.
Makine çevirilerinde yer belirticilerin işlenmesi iyileştirildi.
API kullanarak eklenti oluşturma sorunu düzeltildi.
Alt bilgiye gizlilik ilkesi bağlantısı eklemek için
PRIVACY_URL
seçeneği eklendi.Üye e-posta adresleri proje yöneticilerinden gizlendi.
Çakışma durumunda Gettext PO birleştirmesi iyileştirildi.
Sözlük vurgulaması iyileştirildi.
XML denetimleriyle
safe-html
iminin davranışı iyileştirildi.Bağlantılı bileşenler için işleme iletileri düzeltildi.
Weblate 4.8#
21 Ağustos 2021 tarihinde yayınlandı.
Apple stringsdict biçimine destek eklendi.
PostgreSQL ile tam arama işlemine büyük/küçük harfe duyarlılık özelliği eklendi.
Bazı durumlarda yaşanan sözlük açıklamalarının kaydedilmesi sorunu düzeltildi.
Belgelerde iyileştirmeler yapıldı.
Başarım iyileştirmeleri yapıldı.
Gerrit ile bir araya toplama eklentisi uyumluluğu iyileştirildi.
Tek dilli sözlük bileşenlerine dizge ekleme sorunu düzeltildi.
Çeşitler işlenirken başarım iyileştirildi.
Bir araya toplama eklentisinde yaşanan yukarı akış değişikliklerinin işlenmesini atlama sorunu düzeltildi.
İndirmelerin dosya uzantısını korunsun.
Fluent biçimi desteği eklendi.
JSON biçimlerini girintilemek için sekmeleri kullanma özelliği eklendi.
Weblate 4.7.2#
15 Temmuz 2021 tarihinde yayınlandı.
Bir projede daha fazla dil kısaltmasının yapılandırılması özelliği eklendi.
API üzerinde yaşanan arama dizgesini doğrulama sorunu düzeltildi.
Bir etki alanı değişikliğinden sonra Git dışa aktarıcı adresleri düzeltildi.
Windows RC dosyaları için temizleme eklentisi düzeltildi.
XLIFF güncellemesinde yaşanabilecek çökme sorunu düzeltildi.
Weblate 4.7.1#
30 Haziran 2021 tarihinde yayınlandı.
Sözlüğe terim ekleme açılır penceresi iyileştirildi.
LibreTranslate makine çevirisi hizmeti desteği eklendi.
Yeni projeler oluşturulurken hız sınırlaması eklendi.
Dosya güncelleme başarımı iyileştirildi.
Weblate 4.7#
17 Haziran 2021 tarihinde yayınlandı.
Yapılandırma sağlığı denetimi iyileştirildi.
Gettext PO dosyasında kullanılan
object-pascal-format
desteği eklendi. Ayrıntılı bilgi: Object Pascal biçimi.Amacı daha iyi açıklamak için Yakındaki dizgeler, Benzer dizgeler olarak yeniden adlandırıldı.
mi18n lang dosyaları desteği eklendi.
SAML kimlik doğrulama bütünleştirmesi iyileştirildi.
Uç durumları daha iyi işlemek için Gerrit bütünleştirmesi düzeltildi.
Weblate gereksinimi Django 3.2 olarak güncellendi.
E-posta kimlik doğrulaması devre dışı bırakıldığında yaşanan kullanıcıları davet etme sorunu düzeltildi.
Dil tanımları iyileştirildi.
Kullanıcıların bir projeye katkıda bulunmalarını engelleme özelliği eklendi.
Sözlük dillerinin kendiliğinden oluşturulması sorunu düzeltildi.
Eklentilerle ilgili belgeler zenginleştirildi.
Bağlantılı depoları olan bileşenlerin başarımları iyileştirildi.
Ücretsiz DeepL API desteği eklendi.
Kullanıcı yönetimi için artık Django yönetici arayüzüne gerek duyulmuyor.
Weblate 4.6.2#
8 Mayıs 2021 tarihinde yayınlandı.
Paylaşılan bileşenin projeler arasında taşınmasından sonra yaşanan çökme sorunu düzeltildi.
Boş özellikler dosyalarına yeni dizgelerin eklenmesi sorunu düzeltildi.
Sağdan sola yazılan dillerde kopya simgesinin hizalaması düzeltildi.
Bilgi sekmesindeki dizge istatistikleri zenginleştirildi.
Git üzerinde yok sayılan çeviri dosyalarının işlenmesi sorunu düzeltildi.
Ölçüm başarımı iyileştirildi.
Sözlükleri kaydederken ortaya çıkabilen sorun düzeltildi.
Farklı çoğul kuralları olan dillerde tutarlılık denetiminin davranışı düzeltildi.
Weblate 4.6.1#
2 Mayıs 2021 tarihinde yayınlandı.
Eski istenmeyen ileti koruma kodu kaldırıldı.
Kaynak çoğul denetiminin doğruluğu iyileştirildi.
Docker kullanıcı arayüzü dilleri listesi güncellendi.
Çekme istekleri oluşturulurken alınan hata iletileri iyileştirildi.
Pagure üzerinde çekme istekleri oluşturma sorunu düzeltildi.
Kurulmuş eklentilerin kendiliğinden tetiklenmesi sorunu düzeltildi.
Yükseltme yapılırken olası ön belleğe alma sorunları düzeltildi.
Yükleme yapılırken tek dilli çevirilere yeni birimler eklenmesi sorunu düzeltildi.
Weblate 4.6#
19 Nisan 2021 tarihinde yayınlandı.
auto_translate yönetim komutuna çeviri kipini belirten bir parametre eklendi.
Metin dosyaları desteği eklendi.
Tüm nesneler için eğilimler ve ölçümler eklendi.
İkincil dillerdeki metinleri doğrudan kopyalama özelliği eklendi.
Değişikliklere göz atarken tarihe göre süzme özelliği eklendi.
Etkinlik çizelgeleri iyileştirildi.
İletişim formu e-postalarının göndericisini yapılandırma özelliği eklendi.
Bileşen oluşturma API uygulamasında parametre doğrulaması iyileştirildi.
Hız sınırlaması artık süper kullanıcılara uygulanmıyor.
Kendiliğinden çeviri eklentisinin başarımı ve güvenilirliği iyileştirildi.
Docker kapsayıcısına hız sınırlamasını özelleştirme özelliği eklendi.
Bileşen oluşturma API uygulamasına kendiliğinden İç Weblate adresleri kullanma özelliği eklendi.
Dizge listesinde durumun gösterilmesi sadeleştirildi.
Parola karması varsayılan olarak Argon2 kullanacak biçimde güncellendi.
Çeviri durumunu gösteren ilerleme çubukları sadeleştirildi.
Amacı netleştirmek için Eksik dilleri ekleme adı değiştirildi.
Dizge durumunu XLIFF olarak kaydetme sorunu düzeltildi.
Dil genelinde arama özelliği eklendi.
Docker dağıtımında ilk kez Yatay ölçeklendirme desteği eklendi.
Weblate 4.5.3#
1 Nisan 2021 tarihinde yayınlandı.
Ölçümlerin toplanması sorunu düzeltildi.
Dizge eklenirken yaşanabilecek çökme sorunu düzeltildi.
Arama sorgusu örnekleri iyileştirildi.
Değiştirme yüklemesinde yaşanması olası yeni eklenen dizgelerin kaybolması sorunu düzeltildi.
Weblate 4.5.2#
26 Mart 2021 tarihinde yayınlandı.
Kendiliğinden çeviri için zamanlama yapılandırması eklendi.
Lua biçim denetimi eklendi.
Art arda yinelenen sözcükler var denetiminde biçim dizgeleri yok sayıldı.
Çeviri sayfasından ekran görüntüsü yüklenmesi sağlandı.
Depo bakımına zorunlu dosya eşitlemesi eklendi.
Daha uzun kodlu diller için kendiliğinden öneriler düzeltildi.
Yeni dizge ekleme başarımı iyileştirildi.
Kalite denetimlerinde çeşitli hata düzeltmeleri yapıldı.
Çeşitli başarım iyileştirmeleri yapıldı.
Weblate uygulamasını keşfedin ile bütünleştirme eklendi.
Salt okunur dizgelerin denetlenmesi davranışı düzeltildi.
Weblate 4.5.1#
5 Mart 2021 tarihinde yayınlandı.
Bazı uç durumlarda yaşanan sözlük imlerinin düzenlenmesi sorunu düzeltildi.
Birkaç sayfanın başarımını artırmak için ölçümlerin kullanımı artırıldı.
TMX dosyalarında doğru kaynak dilin kaydedilmesi sağlandı.
API kullanarak tek dilli PO yüklemelerinin işlenmesi iyileştirildi.
Sözlük bileşenlerinde uyarı davranışı iyileştirildi.
Markdown bağlantı denetimleri iyileştirildi.
Öge yollarında sözlük ve kaynak dil belirtildi.
Büyük projelerde bileşen listeleri sayfalandı.
Çeviri, bileşen ya da proje silme başarımı iyileştirildi.
Toplu düzenleme başarımı iyileştirildi.
ODF dosyaları için “Düzenlenmesi gerekli” ve “Onaylandı” durumlarının korunması sorunu düzeltildi.
Çeviri dosyası indirmelerini özelleştirme arayüzü iyileştirildi
Weblate 4.5#
19 Şubat 2021 tarihinde yayınlandı.
Gettext PO dosyasında kullanılan
lua-format
desteği eklendi.Bir bileşeni projeler arasında paylaşma özelliği eklendi.
Birden çok biçim imiyle birden çok adsız değişken denetimi davranışı düzeltildi.
Posta listesi alanı projelerden kaldırıldı ve yerine çevirmenler için genel yönergeler eklendi.
Sahte yerel oluşturma eklentisi eklendi.
TermBase eXchange dosyaları desteği eklendi.
Bir im kullanarak dizge çeşitlerini el ile tanımlama desteği eklendi.
Tutarlılık denetimlerinin başarımı iyileştirildi.
Uzun dizgeler için çeviri belleği başarımı iyileştirildi.
Açıklama metinlerinde arama desteği eklendi.
İki dilli biçimlerde dizgelerin eklenmesi ve silinmesi özelliği eklendi.
Amazon Translate makine çevirisinde desteklenen dillerin listesi artırıldı.
Java özellikleri için Java MessageFormat denetimleri kendiliğinden etkinleştirildi.
Bir çeviriye yeni dizgeler eklemek için yeni bir yükleme yöntemi eklendi.
Çeviriye göz atmak için basit bir arayüz eklendi.
Sözlükler artık normal bileşenler olarak tutuluyor.
Artık bileşen API uygulaması kullanıldığından sözlüklere özel API kaldırıldı.
Bazı imleri değiştirmek için basitleştirilmiş arayüz eklendi.
Sözlüğe çevrilemeyen veya yasak terimler desteği eklendi.
Sözlüklere terminoloji tanımlama özelliği eklendi.
Görsel klavyeye daha fazla alan sağlamak için metin yönünü değiştirme seçeneği taşındı.
Kullanıcının katkıda bulunduğu projeleri kendiliğinden izleme seçeneği eklendi.
Çevirinin sözlük ile eşleşip eşleşmediği denetimi eklendi.
Gezinme metninin rengini belirleme özelliği eklendi.
Weblate 4.4.2#
14 Ocak 2021 tarihinde yayınlandı.
Dağıtılan bir MO dosyasının bozulması sorunu düzeltildi.
Weblate 4.4.1#
13 Ocak 2021 tarihinde yayınlandı.
Çoğul değişikliklerini geri alma sorunu düzeltildi.
Proje ayarları için yardım görüntüleme sorunu düzeltildi.
Kullanıcı yönetimi iyileştirildi.
Tek dilli PO dosyalarında bağlamın işlenmesi iyileştirildi.
Temizleme eklentisinin HTML, ODF, IDML ve Windows RC biçimlerine davranışı düzeltildi.
CSV dosyalarında yaşanan konumun işlenmesi sorunu düzeltildi.
Dosya indirmeleri için içerik sıkıştırmasının kullanılması sağlandı.
ZIP dosyasından içe aktarmada kullanıcı deneyimi iyileştirildi.
Yüklemelerde dosya biçimlerinin algılanması iyileştirildi.
Pagure için yinelenen çekme istekleri engellendi.
Hayalet çevirilerin görüntülenmesi başarımı iyileştirildi.
Çeviri düzenleyicisi yerel tarayıcı metin alanını kullanacak biçimde yeniden uygulandı.
Temizleme eklentisinin eklenen yeni dizgeleri bozması sorunu düzeltildi.
Eklentiler için API eklendi.
Weblate 4.4#
15 Aralık 2020 tarihinde yayınlandı.
Bileşen oluştururken doğrulama iyileştirildi.
Weblate gereksinimi Django 3.1 olarak güncellendi.
Yönetim arayüzüne görünümü özelleştirme özelliği eklendi.
Toplu düzenlemede yaşanan salt okunur durum işleme sorunu düzeltildi.
CodeMirror bütünleştirmesi iyileştirildi.
Çeviri dosyalarından boş dizgeleri kaldırma eklentisi eklendi.
Çeviriler için CodeMirror düzenleyicisinin kullanılması sağlandı.
XML, HTML, Markdown ve reStructuredText için çeviri düzenleyiciye söz dizimi vurgulaması eklendi.
Çeviri düzenleyicide yerleştirilebilir ögelerin vurgulanması sağlandı.
Standart olmayan dil kodlarının desteği iyileştirildi.
Belirsiz dil kodları kullanıldığında uyarı eklendi.
Yeni bir çeviri eklenirken kullanıcıya süzülmüş bir dil listesinin sunulması sağlandı.
Geçmişteki değişiklikler için arama yetenekleri artırıldı.
Fatura ayrıntı sayfaları ve Libre barındırma iş akışı iyileştirildi.
Çeviri istatistikleri API uygulaması zenginleştirildi.
Çeviri yaparken “diğer çeviriler” sekmesi iyileştirildi.
Görevler API uygulaması eklendi.
Dosya yükleme başarımı iyileştirildi.
Kullanıcı tarafından tanımlanan özel karakterlerin görüntülenmesi iyileştirildi.
Kendiliğinden çeviri başarımı iyileştirildi.
Kullanıcı arayüzünde birkaç küçük iyileştirme yapıldı.
ZIP indirmelerinin adlandırılması iyileştirildi.
İzlenmeyen projelerin bildirimlerini alma seçeneği eklendi.
Weblate 4.3.2#
4 Kasım 2020 tarihinde yayınlandı.
Belirli bileşen dosya maskeleriyle yaşanan çökme sorunu düzeltildi.
Ard arda yinelenen sözcük denetiminin doğruluğu iyileştirildi.
Pagure çekme istekleri desteği eklendi.
Başarısız olan hesap açma işlemlerinin hata iletileri iyileştirildi.
Geliştirici yorumlarının Markdown olarak görüntülenmesi geri alındı.
“master” dalından farklı bir varsayılan dal kullanan Git depolarının kurulumu basitleştirildi.
Yeni oluşturulan iç depoların varsayılan dal olarak main kullanması sağlandı.
reStructuredText çevrilirken değiştirilmemiş çevirinin yanlış pozitif sonuç oranı azaltıldı.
Bazı durumlarda karşılaşılan CodeMirror görüntüleme sorunları düzeltildi.
Anlamını netleştirmek için Kalıp grubunun adı “Kaynaklar” olarak değiştirildi.
Yolları uzun olan depolar için GitLab çekme istekleri düzeltildi.
Weblate 4.3.1#
21 Ekim 2020 tarihinde yayınlandı.
Kendiliğinden çeviri başarımı iyileştirildi.
Kimliği doğrulanmış kullanıcıların oturumlarının sona ermesi sorunu düzeltildi.
Sürüm bilgilerini gizleme özelliği eklendi.
Bitbucket sunucusuyla kanca uyumluluğu iyileştirildi.
Çeviri belleği güncellemelerinin başarımı iyileştirildi.
Bellek kullanımı azaltıldı.
Matris görünümünün başarımı iyileştirildi.
Bir kullanıcının bir projeden kaldırılması için onay adımı eklendi.
Weblate 4.3#
15 Ekim 2020 tarihinde yayınlandı.
API uygulamasına kullanıcı istatistikleri eklendi.
Sayfalanmış sayfalardaki bileşen sıralaması sorunu düzeltildi.
Bir sözlük için kaynak dil tanımlaması eklendi.
GitHub ve GitLab çekme istekleri desteği yeniden yazıldı.
Öneri kaldırıldıktan sonra istatistik sayılarının doğru olması sorunu düzeltildi.
Herkese açık kullanıcı profili zenginleştirildi.
Zorunlu denetimlerin yapılandırılması sorunu düzeltildi.
İç yedekleme belgeleri iyileştirildi.
Kaynak dil özniteliği projeden bir bileşene taşındı.
Vue I18n biçimlendirme denetimi eklendi.
Genel yer belirtici denetimine kurallı ifade desteği eklendi.
Matris kipinin görünümü iyileştirildi.
Makine çevirisinin adı kendiliğinden öneriler olarak değiştirildi.
Birden çok GitLab ya da GitHub kopyası ile etkileşim desteği eklendi.
API, proje güncellemelerini, birim güncellemeleri ve silmeleri ile sözlükleri kapsayacak şekilde zenginleştirildi.
Birim API uygulamasının çoğul dizgeleri düzgün şekilde işlemesi sağlandı.
Bileşen oluşturmanın ZIP dosyası ya da belge yüklemesini işleyebilmesi sağlandı.
API yanıt durum kodları birleştirildi.
Katılımcı anlaşmasında Markdown kullanılabilmesi sağlandı.
Kaynak dizge izlemesi iyileştirildi.
JSON, YAML ve CSV biçimleriyle uyumluluk iyileştirildi.
Dizgeleri silme özelliği eklendi.
Dosya indirme başarımı iyileştirildi.
Depo yönetimi görünümü iyileştirildi.
Android için Java biçiminin kendiliğinden etkinleştirilmesi sağlandı.
Yerelleştirilmiş ekran görüntüleri özelliği eklendi.
Python 3.9 desteği eklendi.
Belirli koşullarda yaşanan HTML dosyalarının çevrilmesi sorunu düzeltildi.
Weblate 4.2.2#
2 Eylül 2020 tarihinde yayınlandı.
JSON biçimlerinde yaşanan kaynak dizgelerin eşleşmesi sorunu düzeltildi.
Bazı kimlik doğrulama yapılandırmaları için oturum açma yönlendirmesi düzeltildi.
Grup eşitleme ile LDAP kimlik doğrulaması sorunu düzeltildi.
Kendiliğinden çeviri ilerlemesini bildirirken yaşanan çökme sorunu düzeltildi.
Art bilgiler etkinken Git işlemelerinin bir araya toplanması sorunu düzeltildi.
API kullanarak yerel sürüm denetimi sistemi bileşenleri oluşturma sorunu düzeltildi.
Weblate 4.2.1#
21 Ağustos 2020 tarihinde yayınlandı.
Android kaynaklarında yaşanan bazı yerel ayarlar için çoğul biçimlerin kaydedilmesi sorunu düzeltildi.
Bazı XLIFF dosyaları için temizleme eklentisinde yaşanan çökme sorunu düzeltildi.
Docker kalıbında yerelleştirme CDN sunucusu kurulması sağlandı.
Weblate 4.2#
18 Ağustos 2020 tarihinde yayınlandı.
Kullanıcı sayfaları iyileştirildi ve kullanıcı listesi eklendi.
3.x sürümlerinden aktarım desteği kaldırıldı. 4.1 ya da 4.0 sürümünden aktarım yapın.
Birkaç tek dilli biçime dışa aktarım özelliği eklendi.
Etkinlik çizelgeleri iyileştirildi.
Görüntülenecek Yakındaki dizgeler sayısının yapılandırılması sağlandı.
Depo hataları ile karşılaşılan bileşenler için kilitleme desteği eklendi.
Ana gezinme basitleştirildi (düğmeler simgelerle değiştirildi).
Google Çeviri bütünleştirmesinde dil kodunun işlenmesi iyileştirildi.
Git bir araya toplama eklentisi
Co-authored-by:
art bilgileri oluşturabilir.Arama sorgusu işleyici iyileştirildi.
Biçim dizgesi denetimlerinin kullanıcıya bildirilmesi iyileştirildi.
Toplu durum değişikliklerinin başarımı iyileştirildi.
Proje ya da bileşen yeniden adlandırıldıktan sonra uyumluluk yönlendirmeleri eklendi.
Dizge onayı, bileşen kilitleme ve lisans değişikliği bildirimleri eklendi.
ModernMT desteği eklendi.
Dosya yüklenirken onaylanan çevirilerin üzerine yazılmasından kaçınılması sağlandı.
Bazı uyumluluk adres yönlendirmelerinin desteği kaldırıldı.
ECMAScript kalıp sabitleri denetimi eklendi.
Bir bileşeni izleme seçeneği eklendi.
JSON birim anahtarlarının başındaki nokta kaldırıldı.
Çeviri belleği için ayrı Celery kuyruğu kaldırıldı.
Tüm bileşenlerin bir dili bir kerede çevirmesi sağlandı.
Content-Security-Policy
HTTP üst bilgilerinin yapılandırılması sağlandı.Dillere proje düzeyinde takma ad verme özelliği eklendi.
HTML ya da JavaScript yerelleştirmesine yardımcı olmak için yeni eklenti eklendi. Bilgi almak için: JavaScript yerelleştirme CDN.
Weblate etki alanının ayarlar bölümünden yapılandırılması sağlandı. Bilgi almak için:
SITE_DOMAIN
.Bileşene ve projeye göre arama desteği eklendi.
Weblate 4.1.1#
19 Haziran 2020 tarihinde yayınlandı.
Docker üzerinde kendiliğinden düzeltme ya da eklenti yapılandırmasının değiştirilmesi sorunu düzeltildi.
“Hakkında” sayfasında yaşanabilecek çökme sorunu düzeltildi.
Bayt koduna derlenmiş yerel ayar dosyalarının kurulumu iyileştirildi.
Sözlüğe sözcük ekleme sorunu düzeltildi.
Makine çevirisi için klavye kısayolları sorunu düzeltildi.
Bazı kurulumlarda günlük olaylarının atlanmasına neden olan hata ayıklama çıktısı kaldırıldı.
Proje listesindeki kilit göstergesi sorunu düzeltildi.
Bazı kurulumlarda GPG anahtarlarının listelenmesi sorunu düzeltildi.
Kullanılacak DeepL API sürümünün seçme özelliği eklendi.
SAML hizmet sağlayıcısı olarak davranma özelliği eklendi. Bilgi almak için: SAML kimlik doğrulaması.
Weblate 4.1#
15 Haziran 2020 tarihinde yayınlandı.
Belirtilen ülke koduyla yeni çeviriler oluşturma özelliği eklendi.
Ekran görüntüsü ile kaynak dizgeleri arama özelliği eklendi.
İstatistik içgörülerindeki bilgiler zenginleştirildi.
“Çeviri” sayfalarında arama düzenlemesi iyileştirildi.
Eşzamanlı depo güncellemelerinin işlenmesi iyileştirildi.
Proje oluşturma formuna kaynak dil eklendi.
Çevirmen hesaplarına değişiklik sayısı eklendi.
Bazı durumlarda kullanıcı arayüzü dil seçimi düzeltildi.
Hesap açma kapalıyken kayıt yöntemlerinin beyaz listeye eklenmesi sağlandı.
Sözlükte ilgili terimlerin aranması iyileştirildi.
Çeviri belleği eşleşmeleri iyileştirildi.
Aynı makine sonuçları gruplandırıldı.
Ekran görüntüsünü çeviri sayfasında düzenlemek için doğrudan bağlantı eklendi.
Silme onayı penceresi iyileştirildi.
ZIP indirmeye kalıplar katıldı.
Duyurulara Markdown ve bildirim yapılandırması özellikleri eklendi.
Denetim listelerindeki ayrıntılar artırıldı.
Yeni dosya biçimleri desteği eklendi: Laravel PHP dizgeleri, HTML dosyaları, OpenDocument biçimi, IDML biçimi, Windows RC dosyaları, INI çevirileri, Inno Setup INI çevirileri, GWT özellikleri, go-i18n JSON dosyaları, ARB dosyası.
Yok sayılan denetimlerin durumu için tutarlı olarak yok sayıldı kullanıldı.
Etkinleştirilecek varsayılan eklentileri yapılandırma özelliği eklendi.
Yok sayılan denetimler için düzenleyici klavye kısayolu düzeltildi.
Yer belirtici bulunan dizgelerin makine çevirisi iyileştirildi.
Kullanıcı dillerini başlatmayı kolaylaştırmak için hayalet çevirinin görüntülenmesi sağlandı.
Dil kodunun işlenmesi iyileştirildi.
Kullanıcı dilindeki çevirilerin listenin ilk sırasında görüntülenmesi sağlandı.
Şekillendiriciler adı daha genel olan Çeşitler olarak değiştirildi.
Yeni kalite denetimleri eklendi: Birden çok değişken adlandırılmamış, Uzun süredir çevrilmemiş, Art arda yinelenen sözcükler var.
Çeviri belleğini boşaltma özelliği yeniden eklendi.
Kaynak denetimlerini yok sayma seçeneği düzeltildi.
Değişiklikleri itmek için farklı dallar yapılandırma özelliği eklendi.
API uygulamasına HTTP üst bilgilerinde hız sınırlama durumunu bildirme özelliği eklendi.
Google Translate V3 API (gelişmiş) desteği eklendi.
Bileşen düzeyinde erişimi kısıtlama özelliği eklendi.
Çeviri imlerinde boşluk ve diğer özel karakterleri kullanma desteği eklendi. Bilgi almak için: Parametreleri kullanarak davranışı özelleştirmek.
Etkinse oluşturulan metin denetiminin her zaman görüntülenmesi sağlandı.
API uygulamasına değişiklikleri süzme özelliği eklendi.
Sözlüklerin projeler arasında paylaşılması özelliği eklendi.
Weblate 4.0.4#
7 Mayıs 2020 tarihinde yayınlandı.
Bazı Python 3.8 ortamlarında yaşanan sınama paketini çalıştırma sorunu düzeltildi.
Belgelerdeki yazım hataları düzeltildi.
Bazı durumlarda yaşanan API kullanılarak bileşenlerin oluşturulması sorunu düzeltildi.
Mobil gezinmeyi bozan JavaScript hataları düzeltildi.
Bazı denetimlerin görüntülenmesinde yaşanan çökme sorunu düzeltildi.
Ekran görüntüleri listesi düzeltildi.
Aylık özet bildirimleri düzeltildi.
Çeviride bulunmayan birimlerdeki ara çeviri davranışı düzeltildi.
Weblate 4.0.3#
2 Mayıs 2020 tarihinde yayınlandı.
Raporlarda yaşanabilecek kilitlenme sorunu düzeltildi.
Yorumlardaki kullanıcı anmalarının büyük/küçük harfe duyarsız olması sağlandı.
Süper kullanıcı olmayan kullanıcılar için PostgreSQL aktarımı düzeltildi.
Bileşen oluşturulurken depo adresinin değiştirilmesi sorunu düzeltildi.
Yukarı akış deposu kaybolduğunda yaşanan kilitlenme sorunu düzeltildi.
Weblate 4.0.2#
27 Nisan 2020 tarihinde yayınlandı.
Çeviri istatistiklerinin başarımı iyileştirildi.
Etiketleri değiştirme başarımı iyileştirildi.
Toplu düzenleme başarımı iyileştirildi.
Çeviri belleği başarımı iyileştirildi.
Bileşen silinirken yaşanabilecek çökme sorunu düzeltildi.
Bazı uç durumlarda yaşanan çeviri değişikliklerinin görüntülenme sorunu düzeltildi.
Çok uzun Celery kuyruğu uyarısı iyileştirildi.
Tutarlılık denetiminde yaşanması olası yanlış pozitif sonuç sorunu düzeltildi.
Bağlı bileşen deposu değiştirilirken yaşanan kilitlenme sorunu düzeltildi.
Değişiklik listesine, CSV dosyalarına ve raporlara düzenleme uzaklığı eklendi.
Kanada Fransızcası için noktalama işareti aralığı denetimlerinde yaşanan yanlış pozitif sonuç sorunu düzeltildi.
XLIFF dışa aktarmasında yaşanan yer belirticiler sorunu düzeltildi.
Sıfır genişlik denetiminde yaşanan yanlış pozitif sonuç sorunu düzeltildi.
Yapılandırma hatalarının raporlanması iyileştirildi.
İki dilli kaynak yükleme sorunu düzeltildi.
DeepL makine çevirisi için desteklenen dillerin kendiliğinden algılanması sağlandı.
Bazı uç durumlarda yaşanan sabit ilerleme çubuğu görüntüsü sorunu düzeltildi.
Çevrilmemiş dizgelerde yaşanan bazı denetimlerin tetiklenmesi sorunu düzeltildi.
Weblate 4.0.1#
16 Nisan 2020 tarihinde yayınlandı.
PyPI ile yaşanan paket kurulumu sorunu düzeltildi.
Weblate 4.0#
16 Nisan 2020 tarihinde yayınlandı.
Weblate için artık Python 3.6 ya da üzeri gerekiyor.
Bileşen uyarılarına yönetim özeti eklendi.
Bozuk depo tarayıcı adreslerine bileşen uyarısı eklendi.
Oturum ve hesap açma sayfaları iyileştirildi.
Proje erişim denetimi ve iş akışı yapılandırması proje ayarlarıyla bütünleştirildi.
i18next için ara değerleme ve iç içe işleme denetimi ve vurgulayıcı eklendi.
Yüzde yer belirticileri için denetim ve vurgulayıcı eklendi.
Denetim hatalarında önerilerin görüntülenmesi sağlandı.
Geçmişe kaynak dizge değişikliklerinin kaydedilmesi sağlandı.
Microsoft Translator, API 3 sürümüne yükseltildi.
Çeviri belleği arka ucu yeniden yazıldı.
Arama içine birkaç
is:
araması desteği eklendi.İç kara listeler için Çeviri değiştirilmemiş kullanılması sağlandı.
Tek dilli po dosyalarındaki yorumların ayıklanması iyileştirildi.
Beyaz tahta iletileri duyurular olarak yeniden adlandırıldı.
Hesap açma e-postalarında bazen yaşanan sorunlar düzeltildi.
Daha fazla söz dizimi çeşidini işlemek için LINGUAS güncelleme eklentisi iyileştirildi.
Tek dilli XLIFF kaynak dosyasını düzenlenme sorunu düzeltildi.
Arama içine tam eşleşme desteği eklendi.
API, ekran görüntüleri, kullanıcılar, gruplar, bileşen listeleri ve gelişmiş proje oluşturma işlemlerini kapsayacak biçimde zenginleştirildi.
İki dilli çevirilere kaynak yükleme desteği eklendi.
Geliştiricilerden ara dil desteği eklendi.
Kaynak dizgeleri onaylama desteği eklendi.
Platform genelinde çeviri belleği için indirme seçenekleri zenginleştirildi.
Weblate 3.x serisi#
Weblate 3.11.3#
11 Mart 2020 tarihinde yayınlandı.
Belirli önceliği olan alanların aranması sorunu düzeltildi.
Son eklenen dizgeler için önceden tanımlanmış sorgu düzeltildi.
Aramada çift eşleşmelerin görüntülenmesi sorunu düzeltildi.
Gmail üzerinde bildirimlerin görüntülenmesi sorunu düzeltildi.
Geçmişteki değişikliklerin geri alınması sorunu düzeltildi.
Özet bildirimlerindeki etkinliklere bağlantılar eklendi.
Hesap silme onayı e-postası düzeltildi.
Docker kapsayıcısında Slack kimlik doğrulaması desteği eklendi.
Abone olunmayan diller için bildirim gönderilmesi engellendi.
Başarım özetine Celery kuyrukları katıldı.
Eklentiler için belge bağlantıları sorunu düzeltildi.
Değiştirilmemiş çeviri denetiminde hatalı negatifler azaltıldı.
CVE-2020-6802 sorununu çözmek için bleach bağımlılığı artırıldı.
Geçmişte projesi düzeyindeki değişikliklerin listelenmesi sorunu düzeltildi.
Bazı uç durumlarda yaşanan istatistiklerin geçersiz kılınması sorunu düzeltildi.
Belirli dizge durumları için arama düzeltildi.
Biçim dizgesi denetimi, eksik yüzde simgesini algılayacak şekilde iyileştirildi.
Bazı üçüncü taraf hizmet sağlayıcılarında yaşanan kimlik doğrulama sorunu düzeltildi.
Weblate 3.11.2#
22 Şubat 2020 tarihinde yayınlandı.
Önerilerin görüntülenmesi düzeltildi.
Bazı dizgelerin yanlış bir biçimde sözcük içermediğinin bildirilmesine yol açan sorun düzeltildi.
Weblate 3.11.1#
20 Şubat 2020 tarihinde yayınlandı.
Celery kurulum değişiklikleri belgesi yazıldı.
Bileşen oluşturulurken dosya adı doğrulaması iyileştirildi.
Bazı bağımlılıkların en düşük sürümleri düzeltildi.
Belirli Django sürümlerini kullanan grupların eklenmesi sorunu düzeltildi.
Yukarı akış deposuna el ile itme sorunu düzeltildi.
Sözlük eşleştirmesi iyileştirildi.
Weblate 3.11#
17 Şubat 2020 tarihinde yayınlandı.
API ile bileşen oluşturulurken sürüm denetimi sistemi itme adresinin kullanılması sağlandı.
Görüntülenen genişlik denetimi artık görüntüye görseli de ekliyor.
Bildirim e-postalarındaki bağlantılar düzeltildi.
Düz metin içerikli e-postaların görünümü iyileştirildi.
Yok sayılan denetimlerin görüntülenmesi ve yeniden etkinleştirilmesi sağlandı.
Tek dilli çevirilerde yakın anahtarların görüntülenmesi sağlandı.
Dizge şekillendirmelerini gruplama özelliği eklendi.
Sistem denetimlerine yeni Weblate sürümlerine yükseltme önerisi eklendi.
Yinelenen dil uyarısı için daha ayrıntılı inceleme sağlandı.
Proje sayfalarına ayrıntılı lisans bilgileri eklendi.
Gerektiğinde yerel kopyaların sığlık düzeyinin kendiliğinden kaldırılması sağlandı.
İşlem gerektiren dizgelerin indirilmesinde yaşanan sorun düzeltildi.
Aynı dosya modelinin iki kez kullanılmasına karşı uyarı eklendi.
Yerleştirilebilir XML ögelerinin ayıklanması iyileştirildi.
SINGLE_PROJECT
ayarına seçilmiş projeye yönlendirme dayatması eklendi.Yorumları çözümleme özelliği eklendi.
İmleri toplu olarak düzenlenme özelliği eklendi.
Dizge etiketleri desteği eklendi.
Toplu düzenleme eklentisi eklendi.
Denetimleri dayatmak seçeneği eklendi.
Onay bağlantılarının varsayılan geçerlilik süresi artırıldı.
Matomo bütünleştirmesi iyileştirildi.
Kaynak dizge değişikliklerinin düzgün işlenmesi için Çevrilmiş düzeltildi.
Kendiliğinden güncelleme yapılandırması
AUTO_UPDATE
seçeneği ile zenginleştirildi.LINGUAS eklentilerinin Weblate üzerindeki çevirileri tam olarak eşitlemesi sağlandı.
Weblate 3.10.3#
18 Ocak 2020 tarihinde yayınlandı.
translate-toolkit 2.5.0 desteği eklendi.
Weblate 3.10.2#
18 Ocak 2020 tarihinde yayınlandı.
Projelere kilit göstergesi eklendi.
Bazı tarayıcılarda titremeye neden olan CSS hatası düzeltildi.
Yerel ayarları İngilizce olmayan sistemlerde yaşanan arama sorunu düzeltildi.
GitHub ve Bitbucket kancaları için depo eşleştirmesi iyileştirildi.
Bazı Python 2.7 kurulumlarında yaşanan veri aktarımı sorunları düzeltildi.
Git için sığlık düzeyi ile kopyalama yapılandırılması özelliği eklendi.
Arka planda bildirimlerin işlenmesi iyileştirildi.
Web tarayıcısına geri dönerken yaşanan formun bozuk gönderilmesi sorunu düzeltildi.
YAML biçimlendirmesini yapılandırmak için yeni eklenti eklendi.
Tek çoğul biçimli dillerde tetiklenmemesi için çoğul biçimler aynı denetimi düzeltildi.
Bazı alanlarda kurallı ifade aramasında yaşanan sorun düzeltildi.
Weblate 3.10.1#
9 Ocak 2020 tarihinde yayınlandı.
API çeviri oluşturma özelliği ile zenginleştirildi.
Veri aktarımlarında yaşanan bazı uç durumlar düzeltildi.
Django 3.0 uyumluluğu sağlandı.
Veri temizleme başarımı iyileştirildi.
Özelleştirilebilir security.txt desteği eklendi.
Değişiklik günlüğünde sayfa yolları iyileştirildi.
Panoda çeviri listesinin görünümü iyileştirildi.
Web kancaları için HTTP yanıtları iyileştirildi.
Docker kapsayıcısına GitLab birleştirme istekleri desteği eklendi.
Weblate 3.10#
20 Aralık 2019 tarihinde yayınlandı.
Uygulama kullanıcı arayüzü iyileştirildi.
Çift boşluk denetimi eklendi.
Yeni diller oluşturulurken yaşanan sorun düzeltildi.
Silinmiş e-posta adreslerine denetim günlüğü bildirimlerinin gönderilmesi engellendi.
Salt okunur dizge desteği eklendi.
Yorumlara Markdown desteği eklendi.
Proje bilgilerine çeviri yönerge metninin yerleştirilmesi sağlandı.
İkincil diller için panoya kopyalama özelliği eklendi.
Mercurial desteği iyileştirildi.
Git deposundan alma başarımı iyileştirildi.
Dizge yaşını arama özelliği eklendi.
Tüm çeviriler için kaynak dilin görüntülenmesi sağlandı.
Yakın dizgelerin bağlamının görüntülenmesi sağlandı.
Depo işlemleriyle ilgili bildirimler desteği eklendi.
Çevirilerin listelenmesi iyileştirildi.
Arama yetenekleri artırıldı.
Düzenlenecek olarak imlenmiş kendiliğinden çeviri dizgeleri desteği eklendi.
Bağlı bileşen uyarıları için yinelenen bildirimlerin gönderilmesi engellendi.
Varsayılan birleştirme isteği iletisi iyileştirildi.
Zen kipinde dizge durumunun daha iyi belirtilmesi sağlandı.
Yandex Translate için daha fazla dil desteği eklendi.
Bildirim e-postalarının görünümü iyileştirildi.
Çeviri lisansı için seçenek sunuldu.
Weblate 3.9.1#
28 Ekim 2019 tarihinde yayınlandı.
Yedeklerden bazı gereksiz dosyalar kaldırıldı.
Raporlardaki yaşanması olası kilitlenme sorunları düzeltildi.
Veri tabanları arasında aktarma sorunu düzeltildi.
Git depolarına dayatarak itme desteği eklendi.
Kayıt belirtecinin geçersiz kılınması riski azaltıldı.
Hesap silme işleminin hız sınırlayıcıya takılma sorunu düzeltildi.
Önceliğe göre arama özelliği eklendi.
JSON dosyasına dizge eklenirken yaşanabilecek çökme sorunu düzeltildi.
Güvenli HTML denetimi ve düzeltmesinin kaynak dizgenin markup koduna uyması sağlandı.
Davet edilmiş ve silinmiş kullanıcılara bildirim gönderilmesi engellendi.
Docker kapsayıcısında Celery içindeki Redis SSL bağlantısı düzeltildi.
Weblate 3.9#
15 Ekim 2019 tarihinde yayınlandı.
İndirilen dosyalara Weblate üst verileri eklendi.
Başarısız olan denetimler için kullanıcı arayüzü iyileştirildi.
Biçim denetimlerinde eksik dizgeler belirtildi.
Fransızca noktalama aralığı için özel denetim eklendi.
Bazı kalite denetimi hatalarını düzeltme desteği eklendi.
Yeni projeler oluşturmak için ayrı izinler eklendi.
İstatistiklere karakter sayıları eklendi.
Java biçemi dil kodları desteği iyileştirildi.
Yer belirticiler için yeni genel denetim eklendi.
WebExtension JSON yer belirticileri desteği eklendi.
Düz XML biçimi desteği eklendi.
API, proje, bileşen ve çeviri silme ve oluşturma özellikleri ile zenginleştirildi.
Gitea ve Gitee internet kancaları desteği eklendi.
Yeni özel kurallı ifade temelli denetim eklendi.
Paylaşılan çeviri belleğine katkıda bulunma yapılandırması sağlandı.
Birden fazla çeviri dosyasını indirmek için ZIP desteği eklendi.
XLIFF standardı, en fazla genişlik ve yazı tipi işlenmesi ile uyumlu hale getirildi.
Web uygulamalarını çevirmek üzere güvenli HTML biçimlendirmesi için yeni denetim ve düzeltici eklendi.
Desteklenmeyen yapılandırma için bileşen uyarısı eklendi.
İlk çevirileri hazırlamak için kendiliğinden çeviri eklentisi eklendi.
Kendiliğinden çeviri, önerileri ekleyecek şekilde zenginleştirildi.
Özet görünümüne eklenti parametreleri eklendi.
Sentry için Raven yerine modern Sentry SDK desteği eklendi.
Örnek ayarları, üretim ortamına daha uygun olacak biçimde değiştirildi.
BorgBackup kullanılarak kendiliğinden yedekleme özelliği eklendi.
İstenmeyen dosya güncellemelerini önlemek için RESX için temizleme eklentisi ayrıldı.
Gelişmiş arama özellikleri eklendi.
Kullanıcıların kendi raporlarını indirmeleri sağlandı.
Bileşenlerin yapılandırılmasına yardımcı olacak yerelleştirme rehberi eklendi.
GitLab birleştirme istekleri desteği eklendi.
Depo durumunun görüntülenmesi iyileştirildi.
Kendiliğinden çeviri işlemlerinin arka planda yapılması sağlandı.
Weblate 3.8#
15 Ağustos 2019 tarihinde yayınlandı.
Benzer bileşenlerin basitleştirilmiş oluşturulması desteği eklendi.
XML temelli dosya biçimleri için çeviri imlerini işleme desteği eklendi.
İstisnaların Celery günlüğüne kaydedilmesi sağlandı.
Depo kapsamındaki eklentilerin başarımı iyileştirildi.
Bildirim e-postalarının görünümü iyileştirildi.
Parola sıfırlama davranışı düzeltildi.
Çeviri sayfalarının çoğunda başarım iyileştirildi.
Weblate tarafından bilinmeyen dillerin listesi düzeltildi.
Keşfedilen bileşenlere eklentileri kopyalama özelliği eklendi.
Dosya içeriğinin yüklenenlerle değiştirilmesi desteği eklendi.
Sürüm denetimi sistemi temelli olmayan içeriğin çevrilmesi desteği eklendi.
Sosyal ağlarda kullanılmak üzere OpenGraph pano bileşeni görseli eklendi.
Canlandırmalı ekran görüntüleri desteği eklendi.
Tek dilli XLIFF dosyalarının işlenmesi iyileştirildi.
Tek bir etkinlik için birden fazla bildirim gönderilmesi engellendi.
Değişiklikleri süzme desteği eklendi.
Raporlama için önceden tanımlanmış süreler artırıldı.
Azure depoları için internet kancası desteği eklendi.
Bekleyen öneriler veya çevrilmemiş dizgeler ile ilgili yeni abone olma bildirimleri eklendi.
Bildirim e-postalarına tek tıkla abonelikten ayrılma bağlantısı eklendi.
Çevrilmiş denetiminde yaşanan yanlış pozitif sonuç sorunu düzeltildi.
Yöneticiler için yeni yönetim arayüzü eklendi.
Dizge önceliğinin imler kullanılarak belirlenmesi sağlandı.
Dil yönetimi görünümleri eklendi.
Qt kitaplığı ve Ruby biçim dizgeleri için denetimler eklendi.
Tek proje kurulumlarına daha uygun yapılandırma eklendi.
Tek dilli çevirilerdeki kaynak dizge değişikliğinde yeni dizge için bildirim eklendi.
Arama özelliği olan çeviri belleği için ayrı bir görünüm eklendi.
Weblate 3.7.1#
28 Haziran 2019 tarihinde yayınlandı.
Belgeler güncellendi.
Bazı gereksinim kısıtlamaları düzeltildi.
Dil veri tabanı güncellendi.
Yerelleştirme güncelleştirmeleri yapıldı.
Çeşitli kullanıcı arayüzü iyileştirmeleri yapıldı.
Desteklenmeyen ancak keşfedilen çeviri dosyalarının işlenmesi iyileştirildi.
Eksik dosya biçimi gereksinimlerinin daha ayrıntılı olarak bildirilmesi sağlandı.
Weblate 3.7#
21 Haziran 2019 tarihinde yayınlandı.
Bildirimler için ayrı Celery kuyruğu eklendi.
API ile göz atarken uygulamayla tutarlı bir görünüm kullanıldı.
Raporlara onaylanmış istatistikleri eklendi.
Çeviri bileşeni güncellenirken ilerleme durumunun bildirilmesi sağlandı.
Çalışan arka plan bileşeni güncellemesini iptal etme özelliği eklendi.
Dosya adı değiştirme işlemleri için kalıp dili zenginleştirildi.
Düzenleyici bağlantısı ve depo tarayıcı adresi için kalıplar kullanıldı.
Çeviri düzenirken en fazla uzunluk ve geçerli karakter sayısının belirtilmesi sağlandı.
Değiştirilmemiş çeviri denetiminde kısaltmaların işlenmesi iyileştirildi.
Yeni katkıda bulunanlar için giriş sayfası yenilendi.
msgmerge eklentisini yapılandırma desteği eklendi.
Bildirim gönderirken SMTP bağlantısının açılması geciktirildi.
Hata günlüğü iyileştirildi.
MO oluşturma eklentisinde özel konum kullanılması sağlandı.
Eski önerileri veya yorumları temizleme eklentileri eklendi.
Zen düzenleyicisinde yatay kipi etkinleştirme seçeneği eklendi.
Birçok bağlı bileşenle içe aktarma başarımı iyileştirildi.
Bazı durumlardaki kurulum örnekleri düzeltildi.
Değişiklik uyarılarının görüntülenmesi iyileştirildi.
Yeni yatay istatistikler pano bileşeni eklendi.
Çoğul biçimler için biçim dizgeleri denetimi iyileştirildi.
Yazı tipi yönetim aracı eklendi.
Görüntülenen metin boyutları için yeni denetim eklendi.
Alt yazı biçimleri desteği eklendi.
Diller için genel tamamlanma istatistikleri eklendi.
Proje kapsamı ve genel kapsamda raporlama özelliği eklendi.
Çeviri durumunu görüntüleyen kullanıcı arayüzü iyileştirildi.
Weblate logosu ve renk şeması yenilendi.
Bit eşlem simgelerinin görünümü yenilendi.
Weblate 3.6.1#
26 Nisan 2019 tarihinde yayınlandı.
Tek dilli XLIFF dosyalarının işlenmesi iyileştirildi.
Bazı uç durumlarda yaşanan özet bildirimleri sorunu düzeltildi.
Eklenti betiği hata uyarısı sorunu düzeltildi.
Tek dilli PO dosyaları için MO dosyası oluşturma sorunu düzeltildi.
Kaldırılan denetimlerin görüntülenmesi sorunu düzeltildi.
Proje listesinde yönetilen projelerin belirtilmesi sağlandı.
Eksik sürüm denetimi sistemi deposundan kurtarma için güncellemeye izin verildi.
Weblate 3.6#
20 Nisan 2019 tarihinde yayınlandı.
Kullanıcı verilerini indirme desteği eklendi.
Eklentilerin kurulum sırasında kendiliğinden tetiklenmesi sağlandı.
Aktarım çakışmalarını çözümlemek için yönergeler iyileştirildi.
Temizleme eklentisinin uygulama mağazası üst veri çevirileriyle uyumlu olması sağlandı.
Yeni çeviriler eklenirken dil kodu söz diziminin yapılandırılabilmesi sağlandı.
2020 Nisan ayında desteğinin bitmesi planlanan Python 2 sürümünün kullanıldığı ile ilgili uyarı eklendi.
Görsel klavye için kaynak dizgeden özel karakterlerin ayıklanması sağlandı.
Katılımcı istatistikleri, kaynak ve hedef sayılarını yansıtacak şekilde zenginleştirildi.
Çeviriler kullanıcılar için devre dışı bırakılmış olsa bile, yöneticilerin ve tutarlılık eklentilerinin çeviri yapabilmesi sağlandı.
Language-Team
üst bilgi değişikliğini devre dışı bırakma düğmesinin açıklaması düzeltildi.Yorumlarda anılan kullanıcıların bilgilendirilmesi sağlandı.
Bileşen kurulumunda dosya biçiminin kendiliğinden algılanması özelliği kaldırıldı.
Tek dilli PO dosyaları için MO dosyası oluşturma sorunu düzeltildi.
Özet bildirimleri eklendi.
Bileşen bildirimlerini sessize alma desteği eklendi.
Yeni uyarılar, beyaz tahta iletileri ve bileşenler için bildirimler eklendi.
Yönetilen projelerin bildirimlerinin yapılandırılabilmesi sağlandı.
Üç harfli dil kodlarının işlenmesi iyileştirildi.
Weblate 3.5.1#
10 Mart 2019 tarihinde yayınlandı.
Celery systemd birimi örneği düzeltildi.
Oturum açma ile HTTP depolarından gelen bildirimler düzeltildi.
Tek dilli çeviriler için kaynak dizgeyi düzenlemedeki yarış durumu düzeltildi.
Günlüklere başarısız olan eklenti çalıştırma çıktısı eklendi.
Yeni dil ekleme seçeneklerinin doğrulanması iyileştirildi.
Bileşen ayarlarında dosya biçimlerinin düzenlenmesi sağlandı.
Kurulum yönergeleri Python 3 kullanacak biçimde güncellendi.
Çevirilerin yüklenmesinde başarım ve tutarlılık iyileştirmeleri yapıldı.
Microsoft Terminology hizmetinin geçerli Zeep sürümleriyle uyumlu olması sağlandı.
Yerelleştirme güncelleştirmeleri yapıldı.
Weblate 3.5#
3 Mart 2019 tarihinde yayınlandı.
İç çeviri belleğinin başarımı iyileştirildi.
Genel çeviri belleği yönetimi arayüzü eklendi.
Hatalı bileşen durumu uyarısı iyileştirildi.
Beyaz tahta iletilerini yönetme kullanıcı arayüzü eklendi.
Eklenti işleme iletisinin yapılandırılabilmesi sağlandı.
Yukarı akış deposu güncellenirken işleme sayısı azaltıldı.
Bileşenler projeler arasında taşınırken yaşanabilecek üst veri kaybı sorunu düzeltildi.
Zen kipinde gezinme iyileştirildi.
Birkaç yeni kalite denetimi eklendi (Markdown ve adresler ile ilgili).
Uygulama mağazası üst veri dosyaları desteği eklendi.
GitHub ya da Gerrit bütünleştirmesini değiştirme desteği eklendi.
Kashida harfleri için denetim eklendi.
İşlemeleri sorumluya göre bir araya toplama seçeneği eklendi.
XLSX dosya biçimi desteği iyileştirildi.
Tesseract 4.0 ile uyumluluk sağlandı.
Faturalama eklentisine, ödenmemiş faturalar için 45 gün sonra projeleri silme özelliği eklendi.
Weblate 3.4#
22 Ocak 2019 tarihinde yayınlandı.
XLIFF yer belirticileri desteği eklendi.
Birden fazla Celery görev kuyruğu kullanma özelliği eklendi.
Projeleri ve bileşenleri yeniden adlandırma ve taşıma desteği eklendi.
Raporlara karakter sayıları eklendi.
Çeviri dosyalarının kendiliğinden algılanmasıyla çeviri bileşenlerinin yönlendirme ile oluşturulması özelliği eklendi.
Git işlemeleri birleştirme iletilerinin özelleştirilebilmesi sağlandı.
Gezinmede bileşen uyarılarının görsel olarak görüntülenmesini sağlandı.
Çeviri dosyalarını yükleme başarımı iyileştirildi.
Yollamadan önce Git işlemelerini bir araya toplama eklentisi eklendi.
Çeviri değişikliklerinin görüntülenmesi iyileştirildi.
Varsayılan birleştirme biçemi değiştirilerek yeniden temellendirildi ve yapılandırılabilmesi sağlandı.
Dil kodundaki alt etiketlerin özel kullanımının işlenmesi iyileştirildi.
Tam metin dizini güncelleme başarımı iyileştirildi.
Dosya yükleme API işlevi daha fazla parametreyi destekleyecek biçimde zenginleştirildi.
Weblate 3.3#
30 Kasım 2018 tarihinde yayınlandı.
Bileşen ve proje silme desteği eklendi.
Bazı tek dilli çeviriler için başarım iyileştirildi.
Bir çeviriyle ilgili sorunları vurgulamak için çeviri bileşeni uyarıları eklendi.
Yapılabildiğinde, XLIFF dizgesi resname değerinin bağlam olarak sunulması sağlandı.
XLIFF durumları desteği eklendi.
DATA_DIR içindeki yazılamayan dosyalar denetimi eklendi.
Değişiklikler için CSV dışa aktarma işlemi iyileştirildi.
Weblate 3.2.2#
20 Ekim 2018 tarihinde yayınlandı.
Artık gerek duyulmayan Babel bağımlılığı kaldırıldı.
Dil tanımları güncellendi.
LDAP ve Celery eklentilerinin belgeleri iyileştirildi.
Yeni dos-eol ve auto-java-messageformat imlerinin etkinleştirilmesinde yaşanan sorun düzeltildi.
PyPI paketindeki setup.py sınamasının çalıştırılmasında yaşanan sorun düzeltildi.
Çoğul biçimlerin işlenmesi iyileştirildi.
Bazı uç durumlarda yaşanan çeviri yükleme API sorunu düzeltildi.
El ile değiştirilirken Git yapılandırmasının güncellenmesinde yaşanan sorun düzeltildi.
Weblate 3.2.1#
10 Ekim 2018 tarihinde yayınlandı.
Python 2.7 sürümünde backports.csv belge bağımlılığı eklendi.
Sınamaların Root olarak çalıştırılması sorunu düzeltildi.
Gitexport modülünde hataların işlenmesi iyileştirildi.
Yeni eklenen dillerin ilerleme raporlaması düzeltildi.
Celery işlemi hatalarının Sentry üzerine doğru şekilde bildirilmesi sağlandı.
Qt Linguist ile yeni çeviriler oluştururken yaşanan sorun düzeltildi.
Ara sıra yaşanan tam metin dizini güncelleme sorunları düzeltildi.
Yeni bileşenler oluşturulurken doğrulama iyileştirildi.
Eski önerilerin temizlenmesi desteği eklendi.
Weblate 3.2#
6 Ekim 2018 tarihinde yayınlandı.
Kendiliğinden eklenti kurulumu için install_addon yönetim komutu eklendi.
Hız sınırı ayarlarının daha ayrıntılı olması sağlandı.
Excel dosyalarının dışa ve içe aktarılması desteği eklendi.
Birden çok bileşen bulma eklentisi olması durumunda bileşen temizleme iyileştirildi.
Microsoft Terminology makine çevirisi arka ucu yeniden yazıldı.
Weblate üzerindeki bazı işlemlerin yükü Celery üzerine aktarıldı.
Arama yetenekleri geliştirildi ve kurallı ifade araması eklendi.
Youdao Zhiyun API makine çevirisi desteği eklendi.
Baidu API makine çevirisi desteği eklendi.
Celery kullanan bütünleşik bakım ve temizleme görevleri eklendi.
Çeviri yükleme başarımı neredeyse %25 oranında iyileştirildi.
Yükleme sırasında üst bilgilerin birleştirilmesi özelliği kaldırıldı.
Özel işleme iletileri özelliği kaldırıldı.
Düzenleme kipinin (zen/tam) yapılandırılabilmesi sağlandı.
Hataların Sentry üzerine bildirilmesi desteği eklendi.
Depolara kendiliğinden güncelleme desteği eklendi.
Kullanıcılar tarafından proje ve bileşen oluşturma özelliği eklendi.
İç çeviri belleğinin yapılan çevirileri kendiliğinden kaydetmesi sağlandı.
Kullanıcı ve projeler için var olan çeviri belleklerini içe aktarma özelliği eklendi.
Ekran görüntüleri ile ilgili dizgelerin daha iyi yönetilmesi sağlandı.
Java MessageFormat denetimi desteği eklendi.
Çözülen sorunların ayrıntılı listesine bakmak için GitHub üzerindeki 3.2 kilometre taşı bölümüne bakabilirsiniz.
Weblate 3.1.1#
27 Temmuz 2018 tarihinde yayınlandı.
Bazı kurulumlarda yaşanan sınama paketi sorunu düzeltildi.
Weblate 3.1#
27 Temmuz 2018 tarihinde yayınlandı.
3.0.1 öncesi sürümlerden yükseltmeler desteklenmiyor.
Ayarlar bölümüne varsayılan işleme iletilerini değiştirme özelliği eklendi.
Web kancalarının kendi kendine barındırma ortamları ile uyumluluğunu iyileştirildi.
Amazon Translate desteği eklendi.
Django 2.1 uyumluluğu sağlandı.
Django sistem denetimlerine kurulumla ilgili sorunları tanılama özelliği eklendi.
Yakında kapatılacak libravatar hizmetinin desteği kaldırıldı.
Değiştirilmemiş çevirileri “Düzenlenmesi gerekli” olarak imleyen eklenti eklendi.
Çeviri yaparken belirli bir konuma atlama desteği eklendi.
Çeviri indirme işleminin özelleştirilebilmesi sağlandı.
Çeviri belleği eşleşmelerinde dizge benzerliğinin hesaplanması iyileştirildi.
Git işlemelerini GnuPG tarafından imzalama özelliği eklendi.
Weblate 3.0.1#
10 Haziran 2018 tarihinde yayınlandı.
2.20 sürümünden geçişte yaşanabilecek sorun düzeltildi.
Yerelleştirme güncelleştirmeleri yapıldı.
Kullanımdan kaldırılmış kanca örnekleri silindi.
Ön bellek belgeleri iyileştirildi.
Yönetici belgelerinin görüntülenmesinde yaşanan sorun düzeltildi.
Uzun dil adlarının işlenmesi iyileştirildi.
Weblate 3.0#
1 Haziran 2018 tarihinde yayınlandı.
Erişim denetimi yeniden yazıldı.
Modüllerin taşınmasına ve yeniden adlandırılmasına yol açan çeşitli kod temizlemeleri yapıldı.
Yeni kendiliğinden bileşen bulma eklentisi eklendi.
import_project yönetim komutunun parametreleri biraz değiştirildi.
Windows RC dosyaları için temel destek eklendi.
Katkıda bulunan adlarını PO dosya üst bilgilerinde kaydeden yeni eklenti eklendi.
Her bileşene özgü kanca betikleri özelliği kaldırıldı. Bunun yerine eklentiler kullanıldı.
Katılımcı anlaşmalarını toplama desteği eklendi.
Erişim denetimi değişikliklerinin geçmiş kayıtlarında görülmesi sağlandı.
Bir projedeki tüm bileşenlerin çevirilerinin aynı olmasını sağlayan eklenti eklendi.
İşleme iletisi kalıplarının daha fazla değişkeni desteklemesi sağlandı.
Ek metin bağlamı yazma desteği eklendi.
Weblate 2.x serisi#
Weblate 2.20#
4 Nisan 2018 tarihinde yayınlandı.
Subversion depolarını kopyalama hızı iyileştirildi.
Depo kilitleme özelliği, üçüncü taraf kitaplığı kullanacak biçimde değiştirildi.
Yalnızca işlem gerektiren dizgeleri indirme desteği eklendi.
Aynı anda birkaç dilde arama yapma özelliği eklendi.
Gettext çıktı kaydırmasını yapılandıran yeni eklenti eklendi.
JSON biçimlendirmesini yapılandıran yeni eklenti eklendi.
RFC 6750 uyumlu Bearer kimlik doğrulaması kullanılarak, API üzerine kimlik doğrulama desteği eklendi.
Makine çevirisi hizmetlerini kullanan kendiliğinden çeviri özelliği eklendi.
Beyaz tahta iletilerine HTML kod imi desteği eklendi.
Dizge durumlarını toplu değiştirme özelliği eklendi.
En düşük translate-toolkit sürümü 2.3.0 olarak güncellendi. Eski sürümler artık desteklenmiyor.
İç çeviri belleği eklendi.
Panoya bileşen listeleri özeti ve her bileşen listesinin özeti sayfaları eklendi.
DeepL makine çevirisi hizmeti desteği eklendi.
Makine çevirisi sonuçlarının Weblate ön belleğine alınması sağlandı.
İşlenmiş değişiklikleri yeniden sıralama özelliği eklendi.
Weblate 2.19.1#
20 Şubat 2018 tarihinde yayınlandı.
2.18 sürümünden yükseltme sırasında yaşanan aktarım sorunu düzeltildi.
Dosya yükleme API doğrulaması iyileştirildi.
Weblate 2.19#
15 Şubat 2018 tarihinde yayınlandı.
Bazı dosya biçimlerinde yaşanan içe aktarma sorunları düzeltildi.
İnsan dostu tarayıcı bilgilerinin denetim günlüğünde görüntülenmesi sağlandı.
Dosyalar için TMX dışa aktarıcısı eklendi.
Çeviri dosyalarının yüklenmesinde çeşitli başarım iyileştirmeleri yapıldı.
Django kullanımını öne alacak biçimde Weblate erişim yönetimini devre dışı bırakma seçeneği eklendi.
Büyük dizgeler için sözlük arama hızı iyileştirildi.
django_auth_ldap 1.3.0 uyumluluğu sağlandı.
Yapılandırma hatalarının kaydedilmesi ve kalıcı olarak bildirilmesi sağlandı.
Beyaz boşluk düzelticisinde imlerin yok sayılmasına uyuldu.
Bazı Subversion kurulumlarıyla uyumluluk geliştirildi.
İç makine çevirisi hizmeti iyileştirildi.
SAP Translation Hub hizmeti desteği eklendi.
Microsoft Terminology hizmeti desteği eklendi.
Bildirim e-postalarındaki reklam özelliği kaldırıldı.
Dil düzeyinde çeviri ilerleme raporları iyileştirildi.
Farklı çoğul biçim formülleri desteği iyileştirildi.
stdlayout kullanmayan Subversion depoları desteği eklendi.
Çeviri iş akışlarını özelleştirme eklentileri eklendi.
Weblate 2.18#
15 Aralık 2017 tarihinde yayınlandı.
Katılımcı istatistikleri zenginleştirildi.
Özel karakterler sanal klavye yapılandırması iyileştirildi.
DTD dosya biçimi desteği eklendi.
Klavye kısayolları, tarayıcı ve sistem kısayolları ile çakışma olasılığını düşürmek için değiştirildi.
XLIFF dosyaları için onaylandı imi desteği iyileştirildi.
Gettext PO dosyalarında uzun dizgelerin kaydırılmaması özelliği eklendi.
Geçerli çevirinin kalıcı bağlantısını kopyalama düğmesi eklendi.
Django 1.10 desteği kaldırıldı ve Django 2.0 desteği eklendi.
Çeviri sırasında çevirilerin kilitlenmesi özelliği kaldırıldı.
Tek dilli çevirilere yeni dizgeler ekleme özelliği eklendi.
Seçilmiş onaylayıcılar ile çeviri iş akışı özelliği eklendi.
Weblate 2.17.1#
13 Ekim 2017 tarihinde yayınlandı.
Bazı özel durumlarda sınama paketinin çalıştırılmasında yaşanan sorun düzeltildi.
Yereller güncellendi.
Weblate 2.17#
13 Ekim 2017 tarihinde yayınlandı.
Git kopyalarının varsayılan olarak sığ olması sağlandı.
Büyük çeviri dosyalarını güncelleme başarımı artırıldı.
Belirli e-posta adresleri ile hesap açılması engelleme özelliği eklendi.
Kullanıcıların kendi yorumlarını silebilmesi özelliği eklendi.
Arama ve değiştirme özelliği için ön izleme adımı eklendi.
Arama ve yükleme formlarındaki ayarların istemci tarafında tutulması sağlandı.
Arama yetenekleri artırıldı.
Her projeye özel erişim denetimi yapılandırmasının ayrıntıları artırıldı.
BASE_DIR varsayılan değeri değiştirildi.
Yanlışlıkla silmeyi önlemek için hesap silme işleminin iki adımda yapılması sağlandı.
Proje erişim denetimi ayarlarını düzenleme özelliği eklendi.
Öneriler için Akismet ile istenmeyen içerikleri engelleme özelliği eklendi.
Weblate 2.16#
11 Ağustos 2017 tarihinde yayınlandı.
Çeşitli başarım iyileştirmeleri yapıldı.
İç içe geçmiş JSON biçimi desteği eklendi.
WebExtension JSON biçimi desteği eklendi.
Git dışa aktarıcıda yaşanan kimlik doğrulaması sorunu düzeltildi.
Belirli durumlar için CSV içe aktarma işlemi iyileştirildi.
Diğer çeviriler pano bileşeni görünümü iyileştirildi.
En fazla uzunluk denetimlerinin formda metnin uzunluğunu dayatması sağlandı.
commit_pending yaşının her bileşene özel yapılandırılabilmesi sağlandı.
Kullanıcı arayüzünde bazı sadeleştirmeler yapıldı.
Çevirilerin bileşen/proje/site genelinde aramasında yaşanan sorun düzeltildi.
Weblate 2.15#
30 Haziran 2017 tarihinde yayınlandı.
Diğer çevirilerden daha fazla ilgili çevirinin görüntülenmesi sağlandı.
Geçerli dizgenin diğer dillerdeki çevirilerini görüntüleme özelliği eklendi.
Litvanyaca için varsayılan olarak 4 çoğul biçimin kullanılması sağlandı.
Farklı biçimdeki tek dilli dosyalarda yaşanan yükleme sorunu düzeltildi.
Başarısız olan kimlik doğrulaması hata iletileri iyileştirildi.
Sözcüğü sözlükten silerken sayfa durumunun korunması sağlandı.
İkincil dil çevirisini düzenlemek için doğrudan bağlantı eklendi.
Perl biçimi kalite denetimi eklendi.
Yeniden kullanılan parolaları reddetme özelliği eklendi.
Araç çubuğu sağdan sola yazılan dilleri düzenlemek için zenginleştirildi.
Weblate 2.14.1#
24 Mayıs 2017 tarihinde yayınlandı.
Arama sonuçları sayfalandırılırken yaşanabilecek sorun düzeltildi.
Bazı uç durumlarda yaşanan eski sürümlerden aktarım sorunu düzeltildi.
Proje izleme ve izlemeyi bırakma işlemlerinde yaşanabilecek CSRF sorunu düzeltildi.
Parola sıfırlama işleminde kullanıcı kimliğinin doğrulanması özelliği kaldırıldı.
Parola unutulduğunda yaşanabilecek CAPTCHA atlama sorunu düzeltildi.
Weblate 2.14#
17 Mayıs 2017 tarihinde yayınlandı.
Sözlük kayıtlarının eklenmesinde AJAX kullanıldı.
Oturumu kapatma işleminde CSRF engellemesi için POST kullanımına geçildi.
API anahtarı belirtecini sıfırlama işleminde CSRF engellemesi için POST kullanımına geçildi.
Weblate tarafından, Content-Security-Policy ayarının varsayılan olarak yapılması sağlandı.
Yerel düzenleyici adresinin, kendi kendine XSS tehlikesini önlemek için doğrulanması sağlandı.
Parolanın varsayılan olarak bilinen sorunlara karşı doğrulanması sağlandı.
Kullanıcıların, hesaplarında yapılan parola değişikliği gibi önemli işlemlerle ilgili bilgilendirilmesi sağlandı.
CSV dışa aktarımlarında olabilecek formüllerden kaçınılması sağlandı.
Güvenlikte bazı küçük iyileştirmeler yapıldı.
Kimlik doğrulama girişimlerine hız sınırlama özelliği eklendi.
Geçmişe öneri içeriklerinin kaydedilmesi sağlandı.
Önemli hesap işlemlerinin denetim günlüğüne kaydedilmesi sağlandı.
Hesap silme ya da ilişkilendirme işlemlerinde parola onayı istenmesi özelliği eklendi.
Önerinin yapıldığı zamanın görüntülenmesi sağlandı.
Sondaki noktalı virgül karakteri kalite denetimi eklendi.
Arama bağlantılarının paylaşılabildiğinden emin olunması sağlandı.
API üzerine kaynak dizge bilgileri ve ekran görüntüleri eklendi.
API yüklemesi ile çevirilerin üzerine yazma özelliği eklendi.
Weblate 2.13.1#
12 Nisan 2017 tarihinde yayınlandı.
Yönetilen projelerin kullanıcı profilinde listelenmesinde yaşanan sorun düzeltildi.
Bazı izinlerin eksik olmasına neden olan aktarım sorunu düzeltildi.
Çevirileri indirirken geçerli dosya biçiminin listelenmesinde yaşanan sorun düzeltildi.
Kullanıcı izinlerinin yetersiz olduğu bir projeye erişmeye çalıştığında HTTP 404 sayfasının görüntülenmesi sağlandı.
Weblate 2.13#
12 Nisan 2017 tarihinde yayınlandı.
Çeviri kalıplarında yaşanan kalite denetimleri sorunu düzeltildi.
Çeviri kaybında tetiklenen kalite denetimi eklendi.
Bekleyen kullanıcı önerilerini görüntüleme seçeneği eklendi.
Bileşen listelerini kendiliğinden oluşturma seçeneği eklendi.
Kimliğini doğrulamamış kullanıcılara görüntülenecek varsayılan panonun yapılandırılabilmesi sağlandı.
Onaylama işlemi için 25 rastgele dizgeye göz atma seçeneği eklendi.
Geçmişe dizge değişikliği işlemlerinin kaydedilmesi sağlandı.
Yeni çeviri ekleme sırasındaki hata bildirimleri iyileştirildi.
Proje içindeki her dile özel arama özelliği eklendi.
Grup erişim denetimi listeleri belirli izinlerle sınırlandırıldı.
Her projeye özel ayrı erişim denetimi listesi için grup erişim denetimi listesinin kullanılması sağlandı.
İzin denetiminin daha ayrıntılı yapılması sağlandı.
Kullanıcı arayüzünde bazı küçük iyileştirmeler yapıldı.
Weblate 2.12#
3 Mart 2017 tarihinde yayınlandı.
Grup yönetimi arayüzü iyileştirildi.
Yandex Translate API desteği eklendi.
Site genelinde arama hızı iyileştirildi.
Proje ve bileşen kapsamında arama özelliği eklendi.
Proje ve bileşen kapsamında arama ve değiştirme özelliği eklendi.
Tutarsız çevirilerin görüntülenmesi iyileştirildi.
Kaynak dosyaları yerel düzenleyicide açma desteği eklendi.
Görsel klavyeyi özel karakterlerle yapılandırma desteği eklendi.
Kaynak dizgeleri eşleştirmek için görsel karakter tanıma (OCR) desteği ile ekran görüntüsü yönetimi iyileştirildi.
Varsayılan işleme iletisine çeviri bilgileri ve adresi eklendi.
Joomla! çeviri biçimi desteği eklendi.
Farklı dosya biçimleri için içe aktarma güvenilirliği iyileştirildi.
Weblate 2.11#
31 Ocak 2017 tarihinde yayınlandı.
Dil sayfasına ayrıntılı dil bilgileri eklendi.
Mercurial arka ucunda iyileştirmeler yapıldı.
Çeviri bileşeni önceliğini belirtme özelliği eklendi.
Daha az kullanılan izinlerle bile Grup erişim denetiminin daha tutarlı kullanılması sağlandı.
Kanca betiklerine WL_BRANCH değişkeni eklendi.
Geliştirici belgeleri iyileştirildi.
Git dışa aktarma eklentisinde çeşitli Git sürümleriyle daha iyi uyumluluk sağlandı.
Her proje ve her bileşen için ayrı istatistikler özelliği eklendi.
Microsoft Translate API desteğine iyileştirmek için dil kodu eşleme özelliği eklendi.
Çeviri silme işleminin daha hızlı yapılabilmesi için tam metin temizleme işlemi arka plan görevine taşındı.
Tek çoğul biçimi olan dillerde çoğul kaynağın görüntülenme sorunu düzeltildi.
import_project komutunda hata işleme iyileştirildi.
Çeşitli başarım iyileştirmeleri yapıldı.
Weblate 2.10.1#
20 Ocak 2017 tarihinde yayınlandı.
Parola sıfırlama formundan hesabın varlığı bilgisinin sızdırılması engellendi (CVE-2017-5537).
Weblate 2.10#
15 Aralık 2016 tarihinde yayınlandı.
Çoğul biçimlerin aynı olup olmadığına bakan kalite denetimi eklendi.
Kimlik doğrulaması kullanan depolarda yaşanan GitHub kancaları sorunu düzeltildi.
İsteğe bağlı Git dışa aktarma modülü eklendi.
Microsoft Cognitive Services Translator API desteği eklendi.
Proje ve bileşen kullanıcı arayüzü basitleştirildi.
Kontrol karakterlerini kaldıran kendiliğinden düzeltme özelliği eklendi.
Projelere her dilin özeti görünümü eklendi.
CSV dışa aktarma özelliği eklendi.
İstatistiklerin CSV olarak indirilmesi özelliği eklendi.
Tüm çevirilere hızlı özet için matris görünümü eklendi.
Değişiklikler ve dizgeler için temel API eklendi.
Makine çevirileri için Apertium APy sunucusu desteği eklendi.
Weblate 2.9#
4 Kasım 2016 tarihinde yayınlandı.
createadmin yönetim komutu parametreleri artırıldı.
import_json komutu var olan bileşenleri işlemek için zenginleştirildi.
YAML dosyaları desteği eklendi.
Proje sahiplerinin çeviri bileşenini ve proje ayrıntılarını yapılandırması özelliği eklendi.
Projeler için “Abone olma” terimi “İzleme” terimi ile değiştirildi.
Projelerin doğrudan proje sayfasından izlenebilmesi sağlandı.
Çok dilli durum pano bileşeni eklendi.
Kaynak gösterilmiyorsa ikincil dilin vurgulanması sağlandı.
Geçmişe öneri silme işlemlerinin kaydedilmesi sağlandı.
Kullanıcı profilinde dil seçimi arayüzü iyileştirildi.
Bileşen için beyaz tahta iletilerinin görüntülenmesinde yaşanan sorun düzeltildi.
Kaydettikten sonra ayarlar sekmesinin seçili tutulması sağlandı.
Kaynak dizge yorumunun daha belirgin görüntülenmesi sağlandı.
Git depoları için Gettext PO birleştirme sürücüsünün kendiliğinden kurulması sağlandı.
Arama ve değiştirme özelliği eklendi.
Çeviriler için görsel bağlam (ekran görüntüleri) yükleme özelliği eklendi.
Weblate 2.8#
31 Ağustos 2016 tarihinde yayınlandı.
Belgelerde iyileştirmeler yapıldı.
Çeviriler.
Paketlenmiş JavaScript kitaplıkları güncellendi.
list_translators yönetim komutu eklendi.
Django 1.8 desteği eklendi.
Django 1.10 uyumluluğunda yaşanan sorun düzeltildi.
Subversion desteği eklendi.
XML geçerlilik denetimi uyumsuz XML kod imlerinden ayrıldı.
API, HIDE_REPO_CREDENTIALS ayarlarına uyacak biçimde düzeltildi.
Zen kipinde kaynak değişikliğinin görüntülenmesi sağlandı.
Alt + PageUp/PageDown/Home/End kısayol tuşlarının Zen kipinde de çalışması sağlandı.
Değişikliklerin tam zamanını görüntüleyen ipucu eklendi.
Çeviri sayfasına süzgeç seçme ve arama yapma seçeneği eklendi.
Çeviri silme kullanıcı arayüzü eklendi.
Yerleştirilebilir ögeleri ekleme davranışı iyileştirildi.
Zen kipinde yaşanan kendiliğinden kilitleme sorunları düzeltildi.
Weblate 2.7#
10 Temmuz 2016 tarihinde yayınlandı.
Google internet çeviri makine çeviri hizmeti kaldırıldı.
Çeviri eklenirken işleme iletisi iyileştirildi.
İbranice için Google Çeviri API düzeltildi.
Mercurial 3.8 ile uyumluluk sağlandı.
import_json yönetim komutu eklendi.
Listelenen çevirilerin doğru sıralanması sağlandı.
Yalnızca bir farkın değil, tam öneri metninin görüntülenmesi sağlandı.
API zenginleştirildi (ayrıntılı depo durumu, istatistikler, …).
Deneme paketindeki deneme depoları için ağ erişimi gereksinimi kaldırıldı.
Weblate 2.6#
28 Nisan 2016 tarihinde yayınlandı.
Dil süzgeci ile bileşenlerin doğrulanmasında yaşanan sorun düzeltildi.
XLIFF dosyaları desteği iyileştirildi.
İngilizce olmayan kaynakların makine çevirisi sorunu düzeltildi.
REST API eklendi.
Django 1.10 uyumluluğu sağlandı.
Beyaz tahta iletilerine kategori özelliği eklendi.
Weblate 2.5#
10 Mart 2016 tarihinde yayınlandı.
Proje sahipleri için kendiliğinden çeviri düzeltildi.
İşleme ve itme işlemlerinin başarımı iyileştirildi.
Komut satırından öneriler eklemek için yeni yönetim komutu eklendi.
Dosya yüklerken yorumları birleştirme özelliği eklendi.
C printf biçimindeki bazı GNU eklentileri desteği eklendi.
Belgelerde iyileştirmeler yapıldı.
Çevirmen hesaplarını tutma özelliği eklendi.
Katılımcı istatistikleri oluşturma özelliği eklendi.
Site genelinde aramanın yalnızca bir dilde arama yapması sağlandı.
Ermenice için kalite denetimleri iyileştirildi.
Çeviriler var olmadan çeviri bileşenlerini başlatma özelliği eklendi.
Qt TS ile yeni çeviriler ekleme özelliği eklendi.
PHP dosyalarını çevirme desteği iyileştirildi.
Kalite denetimlerinin başarımı iyileştirildi.
Denetim hatalarının site genelinde aranması sorunu düzeltildi.
Kaynak dili belirtme seçeneği eklendi.
XLIFF dosyaları desteği iyileştirildi.
import_project için seçenekler listesi zenginleştirildi.
Beyaz tahta iletileri için hedefleme iyileştirildi.
Projeler arasında kendiliğinden çeviri özelliği eklendi.
Tam metin arama dizini iyileştirildi.
Kendiliğinden çeviri için yönetim komutu eklendi.
Yerleştirilebilir ögeleri vurgulama özelliği eklendi.
Yerleştirilebilir ögeler, denetimler ve makine çevirileri için klavye kısayolları eklendi.
Çeviri kilitleme özelliği iyileştirildi.
AngularJS ara değerlemesi için kalite denetimi eklendi.
Kapsamlı grup tabanlı erişim denetimi listeleri eklendi.
Düzenlenmesi gereken dizgeler (eski adıyla belirsiz) terimi açıklığa kavuşturuldu.
İşlem yapılması gereken ve çevrilmemiş dizgelerle ilgili terimler açıklığa kavuşturuldu.
Python 3 desteği eklendi.
Django 1.7 desteği kaldırıldı.
Yeni Gettext PO dosyaları oluşturmak için msginit bağımlılığı kaldırıldı.
Yapılandırılabilir pano görünümleri eklendi.
İşleme hatalarıyla ilgili bildirimler iyileştirildi.
Aynı adlı bileşenleri import_project komutu ile içe aktarma seçeneği eklendi.
PHP dosyalarını çevirme desteği iyileştirildi.
Sözlüğü XLIFF olarak dışa aktarma özelliği eklendi.
Tüm çevirileri XLIFF ve Gettext PO olarak dışa aktarma özelliği eklendi.
Belgelerde iyileştirmeler yapıldı.
Kendiliğinden grup atamalarını yapılandırma özelliği eklendi.
Yeni çevirilerin eklenmesi iyileştirildi.
Weblate 2.4#
20 Eylül 2015 tarihinde yayınlandı.
PHP dosyaları desteği iyileştirildi.
Anonim kullanıcıya erişim denetimi listesi ekleme özelliği eklendi.
import_project komutunun yapılandırılabilirliği iyileştirildi.
Geçmişin CSV dökümünü alma özelliği eklendi.
Kopyalama/yapıştırma işlemlerinde boşluk karakteri hataları engellendi.
Bitbucket internet kancaları desteği eklendi.
Çeviri yüklerken belirsiz dizgeler üzerine uygulanan denetim sıkışlaştırıldı.
Birkaç adres değişti. Yer imlerinizi güncellemeniz gerekebilir.
Kanca betiklerinin, geçerli klasör olarak sürüm denetimi sistemi kökü ile yürütülmesi sağlandı.
Kanca betiklerinin, geçerli bileşeni tanımlayan ortam değişkenleriyle yürütülmesi sağlandı.
Tam metin dizinini en iyi duruma getiren yönetim komutu eklendi.
Rollbar üzerine hata bildirme desteği eklendi.
Projelere birden fazla sahip olabilmesi özelliği eklendi.
Proje sahiplerinin kendilerini yönetebilmesi özelliği eklendi.
Gettext PO ile kullanılan
javascript-format
desteği eklendi.XLIFF olarak yeni çeviri ekleme özelliği eklendi.
Dosya biçiminin kendiliğinden algılanması iyileştirildi.
Klavye kısayolları artırıldı.
Birkaç dil için sözlük eşleştirmesi iyileştirildi.
Sayfaların çoğunun düzeni iyileştirildi.
Çeviri yaparken sözlüğe sözcük ekleme özelliği eklendi.
Weblate tarafından yönetilen dilleri süzme özelliği eklendi.
CSV dosyalarını çevirme ve içe aktarma özelliği eklendi.
Durağan dosyaların işlenmesi yeniden yazıldı.
Tek seçenek olduğunda, üçüncü taraf hizmetine doğrudan oturum / hesap açma bağlantılarının sunulması sağlandı.
Hesap silinirken bekleyen değişikliklerin işlenmesi sağlandı.
Site adını değiştiren yönetim komutu eklendi.
Varsayılan işleyeni yapılandırma seçeneği eklendi.
Yeni çeviri eklenmesinden sonra kancası eklendi.
İşlemeye birden çok dosya eklemek için ekle seçeneği eklendi.
Weblate 2.3#
22 Mayıs 2015 tarihinde yayınlandı.
Django 1.6 ve South aktarımlarının desteği kaldırıldı.
Java özellik dosyaları kullanılırken yeni çeviriler ekleme özelliği eklendi.
Düzenleme yapmadan öneriyi onaylama özelliği eklendi.
Google OAuth 2.0 desteği iyileştirildi.
Microsoft .resx dosyaları desteği eklendi.
Varsayılan robots.txt dosyası çevirilerin kapsamlı olarak taranmasını engelleyecek biçimde ayarlandı.
Önerileri kabul etme iş akışı basitleştirildi.
Önemli bildirimleri her zaman alacak proje sahipleri eklendi.
Tek dilli kalıbın düzenlenmesini devre dışı bırakma özelliği eklendi..
Depo durumu görünümünde ayrıntılar artırıldı.
Çeviriyi değiştirirken kalıbı düzenlemek için doğrudan bağlantı eklendi.
Proje sahiplerine daha fazla izin eklenmesi sağlandı.
Zen kipinde ikincil dilin görüntülenmesi sağlandı.
Kaynak dizgenin ikincil dil için gizlenmesi özelliği eklendi.
Weblate 2.2#
19 Şubat 2015 tarihinde yayınlandı.
Başarım iyileştirmeleri yapıldı.
Konum ve yorum alanlarında tam metin arama özelliği eklendi.
Yeni SVG/JavaScript temelli etkinlik çizelgeleri eklendi.
Django 1.8 desteği eklendi.
Yorumları silme özelliği eklendi.
Sahip SVG simgesi eklendi.
Google Analytics desteği eklendi.
Çeviri dosyası adlarının işlenmesi iyileştirildi.
Tek dilli JSON çevirileri desteği eklendi.
Geçmişe bileşen kilitleme işlemlerinin kaydedilmesi sağlandı.
Tek dilli çeviriler için kaynak (kalıp) dilini düzenleme özelliği eklendi.
Temel Gerrit desteği eklendi.
Weblate 2.1#
5 Aralık 2014 tarihinde yayınlandı.
Mercurial depoları desteği eklendi.
Glyphicon yazı tipi Awesome ile değiştirildi.
Sosyal ağ kimlik doğrulama hizmetlerinin simgeleri eklendi.
Düğme renklerinin ve simgelerinin tutarlılığı artırıldı.
Belgelerde iyileştirmeler yapıldı.
Çeşitli hata düzeltmeleri yapıldı.
Küçük ekranlar için çeviri listesindeki sütunların kendiliğinden gizlenmesi sağlandı.
Dosya sistemi yollarının yapılandırması değiştirildi.
SSH anahtarlarının işlenmesi ve depolanması iyileştirildi.
Depo kilitleme özelliği iyileştirildi.
Her kaynak dizge için özelleştirilebilir kalite denetimleri eklendi.
Tamamlanan çevirilerin panoda gizlenmesi sağlanması.
Weblate 2.0#
6 Kasım 2014 tarihinde yayınlandı.
Bootstrap kullanan yeni uyumlu kullanıcı arayüzü eklendi.
Sürüm denetimi sistemi arka ucu yeniden yazıldı.
Belgelerde iyileştirmeler yapıldı.
Site genelindeki iletiler için beyaz tahta eklendi.
Dizgelerin önceğinin yapılandırılabilmesi sağlandı.
JSON dosya biçimi desteği eklendi.
Bazı durumlarda mo dosyaları oluşturulurken yaşanan sorun düzeltildi.
GitLab bildirimleri özelliği eklendi.
Çeviri önerilerini devre dışı bırakma özelliği eklendi.
Django 1.7 desteği eklendi.
Erişim denetimi listesi projelerine kullanıcı yönetimi eklendi.
Arama olanakları genişletildi.
Çevirmenlere çoğul biçimler ile ilgili daha fazla ipucu verilmesi sağlandı.
Git deposunun kilitlenmesi sorunu düzeltildi.
Eski Git sürümleriyle uyumluluk sağlandı.
Erişim denetimi listesi desteği geliştirildi.
Her dil için tırnak ve diğer özel karakter düğmeleri eklendi.
İstatistikleri JSONP olarak dışa aktarma özelliği eklendi.
Weblate 1.x serisi#
Weblate 1.9#
6 Mayıs 2014 tarihinde yayınlandı.
Django 1.6 uyumluluğu sağlandı.
Artık Django 1.4 uyumluluğu korunmuyor.
Çeviriler için kilitleme ve kilit açma yönetim komutları eklendi.
Qt TS dosyaları desteği iyileştirildi.
Kullanıcıların hesaplarını silebilmesi sağlandı.
Avatarları devre dışı bırakma özelliği eklendi.
Ad ve soyad öznitelikleri birleştirildi.
Avatarların sunucu tarafında tutulması ve ön belleğe alınması sağlandı.
shields.io simgeleri desteği eklendi.
Weblate 1.8#
7 Kasım 2013 tarihinde yayınlandı.
Lütfen yükseltme yönergeleri için rehbere bakın.
Proje özetinin görünümü güzelleştirildi.
Paylaşım seçeneklerinin daha iyi görünmesi sağlandı.
Anonim kullanıcı izinleri üzerinde daha fazla denetim sağlandı.
Üçüncü taraf hizmetlerini kullanarak oturum açma desteği eklendi. Bilgi almak için rehbere bakabilirsiniz.
Kullanıcı adı yerine e-posta ile oturum açılabilmesi sağlandı.
Belgelerde iyileştirmeler yapıldı.
Kaynak dizge onaylama işlemi geliştirildi.
Tüm dizgelerde arama özelliği eklendi.
Kaynak dizgelerin izlenmesi iyileştirildi.
Hesap açılışına Captcha koruması eklendi.
Weblate 1.7#
7 Ekim 2013 tarihinde yayınlandı.
Lütfen yükseltme yönergeleri için rehbere bakın.
Python parantezi biçim dizgesini denetleme desteği eklendi.
Kalite denetimlerinin her bileşen için ayrı özelleştirilmesi sağlandı.
Çeviri istatistiklerine göre ayrıntılar eklendi.
Öneri, denetim ve yorumların dizgelerle ilişkilendirme yöntemi değiştirildi.
Kullanıcıların işleme iletisine metin ekleyebilmesi sağlandı.
Yeni dil isteklerine abone olma özelliği eklendi.
Yeni çeviriler ekleme özelliği eklendi.
Pano bileşenleri ve çizelgelerde Pango + Cairo yerine Pillow kullanılması sağlandı.
Durum simgesi pano bileşeni eklendi.
Geçersiz metin yönü denetimi kaldırıldı.
Sözlükte yapılan değişiklikler geçmiş kayıtlarına eklendi.
Çeviri görünümü başarımı iyileştirildi.
Weblate 1.6#
25 Temmuz 2013 tarihinde yayınlandı.
Hesap açarken çıkabilecek sorunların işlenmesi iyileştirildi.
Değişikliklere göz atma özelliği eklendi.
Makine çevirisi önerilerinin sıralanması düzeltildi.
MyMemory makine çevirisi desteği iyileştirildi.
Amagama makine çevirisi desteği eklendi.
Sık kullanılan sayfalarda çeşitli iyileştirmeler yapıldı.
Arama sonuçlarında aranan ifadenin vurgulanması sağlandı.
İleti kaydedilirken kendiliğinden düzeltme özelliği eklendi.
Çeviri geçmişini izleme ve geri döndürme özellikleri eklendi.
Google Çeviri API desteği eklendi.
SSH sunucu anahtarları yönetimi desteği eklendi.
Çeşitli form doğrulama iyileştirmeleri yapıldı.
Çeşitli kalite denetimi iyileştirmeleri yapıldı.
İçe aktarma başarımı iyileştirildi.
Önerilere oy verme desteği eklendi.
Yönetim arayüzü sadeleştirildi.
Weblate 1.5#
16 Nisan 2013 tarihinde yayınlandı.
Lütfen yükseltme yönergeleri için rehbere bakın.
Herkese açık kullanıcı sayfaları eklendi.
Çoğul biçimlerin adlandırılması iyileştirildi.
Sözlüğün TBX olarak dışa aktarılması desteği eklendi.
Bitbucket bildirimleri desteği eklendi.
Etkinlik çizelgelerinin her çeviri, dil ya da kullanıcı için görülebilmesi sağlandı.
import_project yönetici komutunun seçenekleri artırıldı.
Django 1.5 uyumluluğu sağlandı.
Avatarların libravatar kullanılarak görüntülenmesi sağlandı.
JSON dışa aktarımının güzel biçimde yazdırılabilmesi sağlandı.
Çeşitli başarım iyileştirmeleri yapıldı.
Başarısız olan denetimlerin veya belirsiz dizgelerin projelerin veya dillerin ilerleme çubuklarında görüntülenmesi sağlandı.
Özel ön işleme kancaları ve ek dosyaların işlenmesi özellikleri eklendi.
Arama özelliği daha iyi başarım ve kullanıcı deneyimi sağlamak için yeniden yazıldı.
Makine çevirileri arayüzü yenilendi.
Tek dilli po dosyaları desteği eklendi.
Çeşitli aramaların hızını artırmak için ön belleğe alınmış üst veri miktarı artırıldı.
Sözcük sayılarının görüntülenmesi sağlandı.
Weblate 1.4#
23 Ocak 2013 tarihinde yayınlandı.
Dizge silme işlemiyle ilgili denetimlerin ve yorumların silinmesinde yaşanan sorun düzeltildi.
Çevirilerin kendiliğinden yayılmasını engelleme seçeneği eklendi.
Birleştirme hatalarına abone olma seçeneği eklendi.
Özel ttkit yükleyiciye gerek duyan projelerin doğru biçimde içe aktarılması sağlandı.
Arama motoru robotlarının erişimini kolaylaştırmak için site haritaları eklendi.
Bildirim e-postalarına veya özet akışlarına doğrudan dizge bağlantısı eklendi.
Yönetim arayüzünde çeşitli iyileştirmeler yapıldı.
Yönetim arayüzünde üretim ortamı kurulumu için ipuçları sunuldu.
Her dil için ayrı pano bileşeni ve etkileşim sayfası eklendi.
Çeviri kilitleme işlemi iyileştirildi.
Pano bileşenleri için daha fazla kod parçası çeşidinin görüntülenmesi sağlandı.
Başarısız olan denetimlerin veya belirsiz dizgelerin ilerleme çubuklarında belirtilmesi sağlandı.
İşleme iletisine daha fazla biçimlendirme seçeneği eklendi.
Makine çevirisi hizmetleriyle ilgili hataların işlenmesinde yaşanan sorun düzeltildi.
Kendiliğinden çeviri kilitleme davranışı iyileştirildi.
Önceki kaynak dizgeye göre yapılan değişikliklerin görüntülenmesi sağlandı.
Alt dizge arama özelliği eklendi.
Çeşitli kalite denetimi iyileştirmeleri yapıldı.
Her proje için erişim denetimi listesi özelliği eklendi.
Birim sınamalarına göre temel kod kapsamı.
Weblate 1.3#
16 Kasım 2012 tarihinde yayınlandı.
PostgreSQL veri tabanı arka ucuyla uyumluluk sağlandı.
Yukarı akış Git deposunda silinen dillerin kaldırılması sağlandı.
Kalite denetimlerinin işlenmesi iyileştirildi.
Yeni denetimler eklendi (BBCode, XML biçimlendirmesi ve yeni satır karakterleri).
Birleştirme yerine isteğe bağlı yeniden temellendirme desteği sağlandı.
Weblate kurulumunun yerinin değiştirilmesi sağlandı (örneğin /weblate yolu altında çalıştırmak için).
Kendiliğinden algılamanın başarısız olması durumunda dosya türünü el ile seçme özelliği eklendi.
Android kaynakları için daha iyi destek sağlandı.
Web arayüzünden SSH anahtarı oluşturma özelliği eklendi.
Veri dışa aktarımlarının daha görünür olması sağlandı.
Bazı özel karakterleri yazmak için yeni düğmeler eklendi.
Sözlüğü dışa aktarma özelliği eklendi.
Tüm Weblate kurulumunu kilitleme özelliği eklendi.
Kaynak dizge denetimleri ve kaynak dizge onaylama özellikleri eklendi.
Hem çeviriler hem de kaynak dizgeler için kullanıcı yorumları özelliği eklendi.
Günlük izleme iyileştirildi.
Değişikliklerin RSS ile izlenebilmesi sağlandı.
Sağdan sola yazılan dillerin desteği iyileştirildi.
Weblate 1.2#
14 Ağustos 2012 tarihinde yayınlandı.
Weblate veri tabanı aktarımı için South kullanımına geçildi. Yükseltme yapıyorsanız lütfen yükseltme yönergelerine bakın.
Bağlı Git depolarıyla ilgili yaşanan küçük sorunlar düzeltildi.
Giriş sayfası Weblate kullanarak çeviri yapan kişilerin ilgisini çekecek biçimde yenilendi.
Çeviri projelerini tanıtmak için kullanılabilecek pano bileşenleri eklendi.
Depoyu özgün durumuna sıfırlama seçeneği eklendi (izin verilmiş kullanıcılar için).
Proje ve bileşenlere çevirileri kilitleme özelliği eklendi.
Bazı çevirilerin devre dışı bırakılabilmesi sağlandı.
Yeni çevirilerin eklenmesine yapılandırılabilir seçenekler eklendi.
Her proje için Git işlemelerini yapılandırma özelliği eklendi.
Basit antispam koruması eklendi.
Ana sayfanın düzeni iyileştirildi.
Her işlemede değişikliklerin kendiliğinden itilmesi sağlandı.
Çevirmenlere e-posta bildirimleri gönderme özelliği eklendi.
Ayarlarda yalnızca kullanılan dillerin listelenmesi sağlandı.
Proje içe aktarılırken bilinmeyen dillerin işlenmesi iyileştirildi.
Çevirmen tarafından çeviriyi kilitleme özelliği eklendi.
İsteğe bağlı olarak po dosyasında “Language-Team” üst bilgisinin korunması sağlandı.
Hakkında sayfasına bazı istatistikler eklendi.
Django-registration 0.8 sürümü desteği eklendi (ve zorunlu kılındı).
Denetim hatası olan dizge sayısının ön belleğe alınması sağlandı.
Kurulum sırasında gereksinimlerin denetlenmesi sağlandı.
Belgelerde iyileştirmeler yapıldı.
Weblate 1.1#
4 Temmuz 2012 tarihinde yayınlandı.
Birkaç çeviri iyileştirildi.
Bileşen oluştururken doğrulama iyileştirildi.
Bileşenler arasında paylaşılan Git depoları desteği eklendi.
Uzak depoyu çekmek için her girişimin işlenmesinin gerekmemesi sağlandı.
Dizin oluşturma yükünü aktarma desteği eklendi.
Weblate 1.0#
10 Mayıs 2012 tarihinde yayınlandı.
Bileşen eklenirken ve kaydedilirken doğrulama iyileştirildi.
Android bileşen dosyaları için deneysel destek eklendi (yamanmış ttkit gerekir).
Kancalardan gelen güncellemelerin arka planda yapılması sağlandı.
Yükleme yönergeleri iyileştirildi.
Sözlükte gezinme iyileştirildi.
Weblate 0.x serisi#
Weblate 0.9#
18 Nisan 2012 tarihinde yayınlandı.
Bilinmeyen diller içe aktarılırken yaşanan sorun düzeltildi.
Yakındaki iletilerin listelenmesi iyileştirildi.
Birkaç denetim iyileştirildi.
Belgeler güncellendi.
Birkaç dilin tanımları eklendi.
Çeşitli kod temizlemeleri yapıldı.
Belgelerde iyileştirmeler yapıldı.
Dosya düzeni değiştirildi.
Yardım betikleri Django 1.4 sürümüne güncellendi.
Çeviri sırasında gezinme iyileştirildi.
PO dosyası ad değişikliklerinin işlenmesi iyileştirildi.
Bileşen oluştururken doğrulama iyileştirildi.
syncdb ile bütünleşik tam kurulum sağlandı.
Tüm çeviri sayfalarına yapılan son değişikliklerin listesi eklendi.
Çevrilmemiş dizge denetiminin, yalnızca biçim dizgesi iletilerini yok sayması sağlandı.
Weblate 0.8#
3 Nisan 2012 tarihinde yayınlandı.
Tam metin araması Whoosh ile değiştirildi.
Denetimlerde çeşitli düzeltme ve iyileştirmeler yapıldı.
Yeni updatechecks komutu eklendi.
Çok sayıda çeviri güncellemesi yapıldı.
Sık kullanılan terimlerin kaydedilebilmesi için sözlük eklendi.
Depoların durumu özeti için /admin/report/ eklendi.
Makine çevirisi hizmetlerinin sayfa yüklemesini engellemesi önlendi.
Yönetim arayüzüne yararlı verileri güncelleme işlemleri eklendi.
Kullanıcılar tarafından yapılan değişikliklerin günlük kayıtlarının tutulması sağlandı.
Tek bir kullanıcıdan daha az işleme oluşturmak için Git işlemesini erteleme özelliği eklendi.
Başarısız olan denetimlere göz atma özelliği eklendi.
Önceden çevrilmiş dizgeleri kullanan kendiliğinden çeviri özelliği eklendi.
Kullanılan sürümleri görüntüleyen, yeni Hakkında sayfası eklendi.
Django 1.4 uyumluluğu sağlandı.
Değişiklikleri site arayüzünden uzak depoya itme özelliği eklendi.
Başkaları tarafından yapılmış çevirileri gözden geçirme özelliği eklendi.
Weblate 0.7#
16 Şubat 2012 tarihinde yayınlandı.
GitHub bildirimlerinin doğrudan desteklenmesi sağlandı.
Sahipsiz denetim ve çevirileri temizleme desteği eklendi.
Çeviri sırasında yakındaki dizgeleri görüntüleme özelliği eklendi.
Çeviri sırasında benzer dizgeleri görüntüleme özelliği eklendi.
Dizge araması iyileştirildi.
Weblate 0.6#
14 Şubat 2012 tarihinde yayınlandı.
Çevrilmiş iletiler için çeşitli denetimler eklendi.
Ayarlanabilir erişim denetimi özelliği eklendi.
Yeni satır karakterleri bulunan çevirilerin işlenmesi iyileştirildi.
Tabloların istemci tarafında sıralanması özelliği eklendi.
Yükseltme yapıyorsanız lütfen yükseltme yönergelerini inceleyin.
Weblate 0.5#
12 Şubat 2012 tarihinde yayınlandı.
- Şu çevrimiçi hizmetleri kullanan makine çevirisi desteği eklendi:
Apertium
Microsoft Translator
MyMemory
Birkaç yeni çeviri.
Yukarı akış değişikliklerinin birleştirilmesi iyileştirildi.
Eşzamanlı Git çekme ve çevirilerinin işlenmesi iyileştirildi.
Belirsiz değişikliklerin de yayılması sağlandı.
Yüklenen dosyalardaki çevirilerin de yayılması sağlandı.
FastCGI (ve büyük olasılıkla diğerleri) kullanılırken dosya indirmelerinde yaşanan sorun düzeltildi.
Weblate 0.4#
8 Şubat 2012 tarihinde yayınlandı.
Belgelere kullanım rehberi eklendi.
API kancaları CSRF koruması gerektirmeyecek biçimde düzeltildi.
Weblate 0.3#
8 Şubat 2012 tarihinde yayınlandı.
Çoğul çevirilerde kaynağın daha iyi görüntülenmesi sağlandı.
Sphinxs biçiminde yeni belgeler hazırlandı.
Çeviri yapılırken ikincil dillerin görüntülenmesi sağlandı.
Hata sayfası var olan projelerin listesini verecek biçimde geliştirildi.
Her dil için istatistikler eklendi.
Weblate 0.2#
7 Şubat 2012 tarihinde yayınlandı.
Çeşitli formların doğrulaması iyileştirildi.
Profili yükseltildiğinde kullanıcıların uyarılması sağlandı.
Oturum açma adresinin anımsanması sağlandı.
Çoğul biçimler yazılırken metin aralarının adlandırılması sağlandı.
Çeviri alanının kendiliğinden genişletilmesi sağlandı.
Weblate 0.1#
6 Şubat 2012 tarihinde yayınlandı.
İlk sürüm.
Yorumlar#
Üç tür yorum yapılabilir: Çeviriler için, kaynak dizgeler için ve Kaynak onaylama kullanılsın seçeneği açıldığında kaynak dizge hataları için. Tartışmak istediğiniz konuya uygun türü seçin. Kaynak dizge yorumları, her durumda özgün dizge hakkında geri bildirim vermek için iyidir. Örneğin ifadenin düzeltilmesi ya da bağlam hakkında açıklama istenebilir.
Tüm yorumlarda Markdown söz dizimi kullanabilir ve
@kullanıcı_adı
yazarak diğer kullanıcıları anabilirsiniz.Ayrıca bakınız
Kaynak dizge geri bildirimi almak, Kaynak dizge onayları, Kaynak onaylama kullanılsın