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 and Internationalization 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.

Bileşen yapılandırması

Bileşen adı

Documentation

Dosya maskesi

docs/locales/*/LC_MESSAGES/index.po

Yeni çeviriler kalıbı

docs/locales/index.pot

Dosya biçimi

Gettext PO dosyası

Çeviri imleri

rst-text

Bileşen keşif yapılandırması

Çeviri dosyalarıyla eşleştirilecek kurallı ifade

docs/locales/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po

Bileşen adını özelleştirme

Documentation: {{ component|title }}

Yeni çeviriler için temel dosyayı tanımlama

docs/locales/{{ component }}.pot

İ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: