Ana içeriğe geç

İçeriği çevirmek

İngilizce, yazılım geliştiricileri için çok yaygın bir dil olsa da, İngilizce bilmeyen veya akıcı konuşamayan birçok geliştirici vardır. Bu, geliştiriciler için bir erişilebilirlik sorunudur. Bu nedenle, belgelerimizi mümkün olduğunca çok sayıda dilde sunmak istiyoruz.

Maalesef, BeeWare çekirdek ekibi çoğunlukla tek dil olarak İngilizce konuşmaktadır. Belgelerimizi diğer dillere çevirmek için yardımınıza ihtiyacımız var.

Çevirilerimizi yönetmek için Weblate kullanıyoruz. Weblate, belgelerimizdeki her paragrafı tek tek çalışabileceğimiz bir yapılacaklar listesi olarak ele almamızı sağlayan bir araçtır.

İlk çeviri denemesi için makine çevirisi olarak DeepL kullanıyoruz. Makine çevirileri mükemmel olmaktan uzaktır, ancak genellikle ilk taslak olarak yeterince iyidir. Bu makine çevirilerinin gerektiğinde düzenleneceği, gözden geçirileceği ve iyileştirileceği beklenmektedir.

Çevirilere katkıda bulunmak

İçeriği çevir

Çeviriye başlamak

BeeWare'in çeviri çalışmalarına katkıda bulunmak istiyorsanız, Weblate üzerinde bir hesaba ihtiyacınız olacaktır. Henüz bir hesabınız yoksa yeni bir hesap oluşturun; ardından çevirilere yardımcı olmak istediğinizi bize bildirin.

Çevirilere yardımcı olmak istediğinizi bize bildirmek için iki seçenek vardır:

  • Discord kullanıyorsanız, BeeWare sunucusuna katılın ve #translations kanalına gidin.
  • Discord'da değilseniz, BeeWare deposunda yeni bir sorun oluşturabilirsiniz.

Her iki durumda da, aşağıdaki bilgileri içeren bir mesaj bırakın:

  • Weblate kullanıcı adınız
  • İçeriği çevirmeyi planladığınız dil

Bu bilgileri aldığımızda, sizi ekibe ekleyeceğiz.

Yeni bir çeviri ekleme

Yardım etmeyi planladığınız dil henüz mevcut değilse, başlamadan önce bazı ek adımlar atmanız gerekir:

  • Dile özgü içerikle /docs/mkdocs.language-code.yml dosyasını oluşturun.
  • Yeni dil derleme komutlarını eklemek için tox.ini'yi güncelleyin.
  • /docs/config.yml'yi güncelleyerek extra: alternate: altındaki dili ekleyin.

Aşağıda, Almanca örneği kullanılarak gerekli değişiklikler gösterilmektedir; Almanca çevirisi zaten mevcuttur; Almanca, de veya hedeflediğiniz dildeki diğer içeriklere yapılan atıfları değiştirin.

Yeni bir MkDocs yapılandırma dosyası

İlk olarak, mkdocs.de.yml dizininde docs adlı yeni bir dosya oluşturun ve içine aşağıdaki içeriği ekleyin:

INHERIT: config.yml
site_name: BeeWare Dokumentation
site_url: https://beeware.org/de
docs_dir: de

theme:
  language: de

extra:
  translation_type: machine

Bu dosyada neler olduğunu aşağıda görebilirsiniz:

  • Bu dosya, config.yml dosyasından yapılandırma içeriğini devralır.
  • site_name değeri çevrilir.
  • site_url değeri, proje sitesinin URL'sidir ve ardından dil kodu gelir.
  • docs_dir dil kodu olmalıdır.
  • theme: language: değeri, MkDocs Material teması tarafından belirtildiği gibi dil kodu olmalıdır. Çoğu dil için bu, docs_dir dil koduyla aynı olacaktır; ancak bazı dillerde (özellikle zh_CN gibi yerel varyantları olan dillerde) farklılıklar vardır.
  • Çeviri ilk kez %100'e ulaşana kadar extra: translation_type: olmalıdır, bu noktada machine olmalıdır. %90'ın altına düşerse human'den machine'ye geri dönecektir.

Güncelle tox.ini

tox.ini dosyasında birkaç değişiklik yapmanız gerekecektir.

Aşağıdakileri ekleyebilirsiniz:

  • [testenv:docs ile başlayan başlık satırına yeni dil kodu ortamı bayrağı, dil kodunun önüne - eklenir ve boşluk içermez, örneğin -de.
  • İlk komuta eklenen yeni dil kodu hariç tutma, !lint ile başlar, önünde -! bulunur ve boşluk içermez, örneğin -!de.
  • translate : build_po_translations ile başlayan satırın sonuna yeni dil kodu.
  • translate : update_machine_translations ile başlayan satırın sonuna yeni dil kodu
  • Örneğin Almanca için de : build_md_translations ile başlayan yeni bir komut, mevcut diğer dile özgü komutların ardından, bu komutların içeriğini yeni dil koduyla eşleştirir.
  • all,serve : ile başlayan satırın sonuna yeni dil kodu.

Güncelle config.yml

Dili config.yml içine ekleyin, böylece başlıktaki dil seçicide görünecektir. extra: ile başlayan bölümü bulun ve ardından alternate: ile başlayan alt bölümü bulun. Almanca için aşağıdakileri ekleyin:

    - name: Deutsch
      link: /de/
      lang: de

Dil adı, ilgili dile çevrilmelidir. Bağlantı, /s içermelidir.

Yeni dil artık çeviriye hazır.

Çeviri kuralları

Ekibe eklendikten sonra, Weblate adresine giriş yapın ve dizeleri çevirmeye başlayın.

Ton ve kelime kelime çeviri

İngilizce metnin üslubunu korumak, kelime kelime çeviri yapmaya çalışmaktan daha önemlidir. İçeriğimizde samimi ve biraz da konuşma diline yakın bir üslup kullanmaya çalışıyoruz; çevirilerinizde de bu ruhu korumaya çalışın.

İngilizce metin güçlü bir İngilizce deyim içeriyorsa, kendi dilinizde aynı anlamı taşıyan bir eşdeğer varsa, bu deyimi korumak zorunda olduğunuzu düşünmeyin. İngilizce metindeki terim veya ifade özellikle deyimsel veya argo bir terimse, değişiklik yapmayı düşünmemiz gerektiğini bize söylemekten çekinmeyin. İngilizce konuşanlar için bile deyimler ve argo zorluk yaratabilir. Bazen, çevirmenler ve okuyucular için daha anlaşılır hale getirmek için İngilizce metni değiştirmemiz gerekir.

Çevirmeli miyim?

Aşağıdaki öğeler çevrilmemeli veya güncellenmemelidir:

  • Komutlar. Örneğin, "You should run `briefcase create`.", sadece "You should run" kısmı çevrilmelidir.
  • Ad alanları, örneğin sınıf, yöntem veya öznitelik adları.
  • Bağlantı URL'leri. Standart Markdown bağlantıları Weblate'te [Link text]{1} olarak görünmelidir; burada 1 diğer olası bağlantılara göre dizgedeki bağlantının konumudur. Tam URL [Link text](https://example.com), olarak dizgeye dahil edilmişse, URL çeviri için atlanmalıdır.
  • Sınıf, yöntem veya öznitelik adlarını içeren referans bağlantıları. Bunlar, ters eğik çizgiler dahil olmak üzere olduğu gibi bırakılmalıdır. Burada gösterilen örnek bağlantının hiçbir kısmı çevrilmeyecektir.

    [`Class.attribute`][Class.attribute]
    
  • Referans bağlantısının bağlantı içeriği. Örneğin, aşağıdaki örnekte link-content atlanacaktır:

    [Link text][link-content]
    
  • Jinja yönergeleri. Bu, iki çift eşleşen küme parantezi veya her iki ucunda yüzde işareti bulunan bir çift eşleşen tek küme parantezi içinde yer alan herhangi bir içeriktir. Not: Buraya sözdizimi örneği eklemek, Makrolar eklentisinin bunu işleme almaya çalışmasına neden olur; örnekler için Makrolar belgelerine bakın.

  • Özel bağlantılar. Başlıkların ardından veya bazı içeriklerin üzerinde bulunurlar ve { #anchor } biçiminde düzenlenirler.
  • Uyarı sözdizimi. Aşağıdaki örnekte, "uyarı" kelimesi çevrilmemelidir. Bu, notlar, uyarılar vb. dahil olmak üzere tüm uyarı türleri için geçerlidir. İçeriğin geri kalanının çevirisiyle ilgili bilgiler için sonraki bölüme bakın.

    /// admonition | Page Title
    
    Content.
    
    ///
    
  • Ters eğik çizgiler. Bunlar ters eğik çizgi olarak kalmalıdır; hem satır içi kodları hem de kod bloklarını biçimlendirmek için kullanılırlar.

  • Harici içeriği dahil etmek için kullanılan sözdizimi. Bu, -8<- ile aynı satırda veya ayrı satırlarda iki -8<- arasında bulunan her şeydir.

Aşağıdaki öğeler çevrilmelidir:

  • Bağlantı metni. Bağlantı sözdiziminde, metin URL'den önce gelir ve [Link text](URL) gibi köşeli parantezler içine alınır. Standart Markdown bağlantıları Weblate'te [Link text]{1} olarak görünmelidir; burada 1 diğer olası bağlantılara göre dizgedeki bağlantının konumudur.
  • Referans bağlantı metni. Örneğin, Link text aşağıdaki şekilde çevrilir:

    [Link text][link-content]
    
  • Uyarı başlıkları ve içeriği. Önceki uyarı örneğinde, "Sayfa Başlığı" ve "İçerik" çevrilmelidir.

Weblate

İçerik çevirilerimiz için Weblate kullanıyoruz. Yeni bir çeviri eklediğimizde, ilk çeviri denemesini yapmak için makine çevirisi için DeepL kullanıyoruz. Bu, genellikle çevireceğiniz içeriğin zaten makine çevirisi yapılmış olduğu anlamına gelir. Sizden, çevirmen olarak, mevcut makine çevirisini gözden geçirip, düzenleyip ve iyileştirmeniz beklenir.

Weblate her şeyi dize bazında işler. Değişiklikleri toplu olarak işler ve birkaç saatte bir, o aralıkta değişen tüm dizeleri içeren toplu bir gönderim yapar. Bu nedenle, değişikliklerinizin web sitesinde görünmesi birkaç saat sürebilir, ancak güncellemenin dört saat içinde görünmesini bekleyebilirsiniz.

Bu süreden sonra değişiklikleriniz hala görünmüyorsa, bunun muhtemel nedeni bir işaretleme hatasıdır ve bu da o dil için belgelerin oluşturulmasında bir hataya neden olur. Herhangi bir dizede bulunan herhangi bir işaretleme sorunu, çevirinin tamamının yayınlanmasını engeller. Dilinizin oluşturulma sayfasını takip ederek, oluşturma işleminin başarılı olup olmadığını görebilirsiniz. Bağlantı, Fransızca oluşturma sayfasına giden bu bağlantıya benzer şekilde biçimlendirilmiştir https://app.readthedocs.org/projects/beewareorg/; uygun derleme sayfasını görüntülemek için dil kodunu kendi dilinize değiştirin. Bu, sitenin en son derleme durumunu gösterecektir. Derleme başarısız olursa, derleme günlüğüne bakın ve sorunun kaynağını belirleyip belirleyemeyeceğinize bakın.