Menerjemahkan dokumentasi menggunakan Sphinx

Sphinx adalah alat untuk membuat dokumentasi yang bagus. Sphinx menggunakan sintaksis reStructuredText sederhana dan dapat menghasilkan keluaran dalam banyak format. Jika Anda ingin melihat contohnya, dokumentasi ini juga dibuat dengan menggunakan Sphinx. Pendamping yang sangat berguna untuk menggunakan Sphinx adalah layanan Read the Docs, yang akan membuat dan mempublikasikan dokumentasi Anda secara gratis.

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 Penemuan komponen add-on to automatically discover all others.

Konfigurasi komponen

Nama komponen

Documentation

Mask berkas

docs/locales/*/LC_MESSAGES/index.po

Templat untuk terjemahan baru

docs/locales/index.pot

Format berkas

berkas PO gettext

Penanda terjemahan

rst-text

Konfigurasi penemuan komponen

Ekspresi reguler untuk mencocokkan berkas terjemahan dengan

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

Sesuaikan nama komponen

Documentation: {{ component|title }}

Definisikan berkas dasar untuk terjemahan baru

docs/locales/{{ component }}.pot

Petunjuk

Apakah Anda lebih suka Sphinx hanya menghasilkan satu berkas PO? Sejak Sphinx 3.3.0, Anda dapat melakukannya menggunakan:

gettext_compact = "docs"

Anda dapat menemukan beberapa proyek dokumentasi yang diterjemahkan menggunakan pendekatan ini: