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.

I will not focus on writing documentation itself, if you need guidance with that, just follow instructions on the Sphinx website. Once you have documentation ready, translating it is quite easy as Sphinx comes with support for this and it is quite nicely covered in their Internationalization. It’s matter of a few configuration directives and invoking the sphinx-intl tool.

If you are using Read the Docs service, you can start building translated documentation on Read the Docs. Their Localization and Internationalization covers pretty much everything you need - creating another project, setting its language, and linking it from the main project as a translation.

Now all you need is translating the documentation content. Sphinx generates PO file for each directory or top-level file, which can lead to quite a lot of files to translate (depending on gettext_compact settings). You can import the index.po into Weblate as an initial component and then configure Bileşen keşfi add-on to automatically discover all others.

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: