Skip to content

Commit 9ca670a

Browse files
Initial
1 parent b062cc9 commit 9ca670a

File tree

4 files changed

+218
-53
lines changed

4 files changed

+218
-53
lines changed

contrib/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ major section at the top of each column.]*
7575
* :ref:`documenting`
7676
* :ref:`style-guide`
7777
* :ref:`rst-primer`
78-
* :ref:`translating`
78+
* :doc:`documentation/translations`
7979
* :ref:`devguide`
8080
-
8181
* :ref:`setup`

core-developers/experts.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,4 +372,7 @@ version control merwok, ezio-melotti
372372
Documentation translations
373373
==========================
374374

375-
For a list of translators, see :ref:`this table about translations <translating>`.
375+
Translations fall under the aegis of the
376+
`Editorial Board <https://python.github.io/editorial-board/>`_.
377+
For a list of translations and their coordinators, see
378+
:ref:`this table of translations <translation-coordinators>`.

documentation/translations/coordinating.rst

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@
22
Coordinating
33
============
44

5+
Python documentation translations are governed by :PEP:`545`.
6+
They are built by `docsbuild-scripts
7+
<https://github.com/python/docsbuild-scripts/>`__ and hosted on
8+
docs.python.org.
9+
510
Starting a new translation
611
==========================
712

813
First subscribe to the `translation mailing list <translation_ml_>`_,
914
and introduce yourself and the translation you're starting. Translations
1015
fall under the aegis of the `PSF Translation Workgroup <translation_wg_>`_
1116

17+
.. https://github.com/python/editorial-board/issues/32
18+
1219
Then you can bootstrap your new translation by using `cookiecutter
1320
<https://github.com/JulienPalard/python-docs-cookiecutter>`__ or
1421
`bootstrapper <https://github.com/python-docs-translations/python-docs-bootstrapper>`__.
@@ -28,6 +35,16 @@ The important steps look like this:
2835
your language to be added in the language switcher on docs.python.org.
2936

3037

38+
How to get help
39+
===============
40+
41+
Discussions about translations occur on the Python Docs Discord
42+
`#translations channel <https://discord.gg/h3qDwgyzga>`_, `translation
43+
mailing list <translation_ml_>`_, and and the
44+
`translations subsection <https://discuss.python.org/c/documentation/translations/>`_
45+
of the Python Discourse.
46+
47+
3148
PEP 545 summary
3249
===============
3350

@@ -73,7 +90,8 @@ __ https://github.com/python-docs-translations
7390
How is a coordinator elected?
7491
-----------------------------
7592

76-
There is no election. Each translation will sort out the number of coordinators. We recommend 2 or 3 coordinators, though you may begin with one. Here are some general suggestions.
93+
There is no election. Each translation will sort out the number of coordinators.
94+
We recommend 2 or 3 coordinators, though you may begin with one. Here are some general suggestions.
7795

7896
- Coordinator requests are to be public on the `translation mailing list <translation_ml_>`_.
7997
- If the given language has a native core dev, the core dev has input
@@ -113,11 +131,29 @@ files in the root of the repository using the ``gettext_compact=0``
113131
style.
114132

115133

116-
The entry for my translation is missing/not up to date on this page
117-
-------------------------------------------------------------------
134+
.. XXX Explain necessary folder structure
135+
136+
137+
Which version of the Python documentation should be translated?
138+
---------------------------------------------------------------
139+
140+
Consensus is to work on the current stable version. You can then propagate your
141+
translation from one branch to another using :pypi:`pomerge`.
142+
143+
144+
The entry for my translation is missing/not up to date
145+
------------------------------------------------------
118146

119147
Ask on the `translation mailing list <translation_ml_>`_, or better, make a PR on the `devguide
120148
<https://github.com/python/devguide/>`__.
121149

150+
151+
Is there a Weblate instance we can translate on?
152+
------------------------------------------------
153+
154+
There is currently no Weblate instance for use by Python translations because of
155+
certain limitations, these include word count limits and organization of
156+
translation source.
157+
122158
.. _translation_wg: https://wiki.python.org/psf/TranslationWG/Charter
123159
.. _translation_ml: https://mail.python.org/mailman3/lists/translation.python.org/
Lines changed: 174 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
1-
.. _translating:
2-
31
===========
42
Translating
53
===========
64

75
.. highlight:: rest
86

9-
Python documentation translations are governed by :PEP:`545`.
10-
They are built by `docsbuild-scripts
11-
<https://github.com/python/docsbuild-scripts/>`__ and hosted on
12-
docs.python.org. There are several documentation translations already
13-
in production; others are works in progress. See `the dashboard
14-
<https://python-docs-translations.github.io/dashboard/>`__ for
15-
details.
7+
There are several documentation translations already
8+
in production; others are works in progress. To get started read your
9+
repositories contributing guide, which is generally the ``README``
10+
file, and this page.
11+
If your language isn’t listed below, feel free to start the translation!
12+
See :doc:`coordinating` on how to get started.
13+
14+
For more details about translations and their progress, see `the dashboard
15+
<https://python-docs-translations.github.io/dashboard/>`__.
16+
17+
.. _translation-coordinators:
18+
19+
.. XXX Add explicit links to README/CONTRIBUTING?
1620
1721
.. list-table::
1822
:header-rows: 1
@@ -23,35 +27,36 @@ details.
2327
* - Arabic (ar)
2428
- Abdur-Rahmaan Janhangeer (:github-user:`Abdur-rahmaanJ`)
2529
- :github:`GitHub <Abdur-rahmaanJ/python-docs-ar>`
26-
* - Bengali (bn_IN)
30+
* - `Bengali (bn_IN) <https://docs.python.org/bn-in/>`__
2731
- Kushal Das (:github-user:`kushaldas`)
2832
- :github:`GitHub <python/python-docs-bn-in>`
2933
* - `French (fr) <https://docs.python.org/fr/>`__
3034
- Julien Palard (:github-user:`JulienPalard`)
31-
- :github:`GitHub <python/python-docs-fr>`
32-
* - Greek (gr)
33-
- Lysandros Nikolaou (:github-user:`lysnikolaou`),
34-
Fanis Petkos (:github-user:`thepetk`),
35-
Panagiotis Skias (:github-user:`skpanagiotis`)
35+
- `AFPy/python-docs-fr <https://git.afpy.org/AFPy/python-docs-fr/>`_
36+
:github:`Mirror <python/python-docs-fr>`
37+
* - `Greek (gr) <https://docs.python.org/gr/>`__ XXX Should be added soonish
38+
- | Lysandros Nikolaou (:github-user:`lysnikolaou`),
39+
| Fanis Petkos (:github-user:`thepetk`),
40+
| Panagiotis Skias (:github-user:`skpanagiotis`)
3641
- :github:`GitHub <pygreece/python-docs-gr>`
3742
* - Hindi (hi_IN)
3843
- Sanyam Khurana (:github-user:`CuriousLearner`)
39-
- :github:`GitHub <CuriousLearner/python-docs-hi-in>`
40-
* - Hungarian (hu)
44+
- :github:`GitHub <CuriousLearner/python-docs-hi-in>` XXX Message user in issue tracker https://github.com/CuriousLearner/python-docs-hi-in/issues/5
45+
* - `Hungarian (hu) <https://docs.python.org/hu/>`__ XXX This should probably be added
4146
- Tamás Bajusz (:github-user:`gbtami`)
4247
- :github:`GitHub <python/python-docs-hu>`,
43-
`mailing list <https://mail.python.org/pipermail/python-hu>`__
48+
`Mailing list <https://mail.python.org/pipermail/python-hu>`__
4449
* - `Indonesian (id) <https://docs.python.org/id/>`__
45-
- Irvan Putra (:github-user:`irvan-putra`),
46-
Jeff Jacobson (:github-user:`jwjacobson`)
50+
- | Irvan Putra (:github-user:`irvan-putra`),
51+
| Jeff Jacobson (:github-user:`jwjacobson`)
4752
- :github:`GitHub <python/python-docs-id>`
48-
* - Italian (it)
53+
* - `Italian (it) <https://docs.python.org/it/>`__
4954
- Alessandro Cucci (`email <mailto:alessandro.cucci@gmail.com>`__)
5055
- :github:`GitHub <python/python-docs-it>`,
51-
`original mail <https://mail.python.org/pipermail/doc-sig/2019-April/004114.html>`__
56+
`Original announcement <https://mail.python.org/pipermail/doc-sig/2019-April/004114.html>`__
5257
* - `Japanese (ja) <https://docs.python.org/ja/>`__
53-
- Kinebuchi Tomohiko (:github-user:`cocoatomo`),
54-
Atsuo Ishimoto (:github-user:`atsuoishimoto`)
58+
- | Kinebuchi Tomohiko (:github-user:`cocoatomo`),
59+
| Atsuo Ishimoto (:github-user:`atsuoishimoto`)
5560
- :github:`GitHub <python/python-docs-ja>`
5661
* - `Korean (ko) <https://docs.python.org/ko/>`__
5762
- 오동권 (:github-user:`flowdas`)
@@ -61,32 +66,32 @@ details.
6166
- :github:`GitHub <sanketgarade/python-doc-mr>`
6267
* - Lithuanian (lt)
6368
- Albertas Gimbutas (:github-user:`albertas`, `email <mailto:albertasgim@gmail.com>`__)
64-
- `Original mail <https://mail.python.org/pipermail/doc-sig/2019-July/004138.html>`__
69+
- `Original announcement <https://mail.python.org/pipermail/doc-sig/2019-July/004138.html>`__
6570
* - Persian (fa)
6671
- Alireza Shabani (:github-user:`revisto`)
6772
- :github:`GitHub <revisto/python-docs-fa>`
6873
* - `Polish (pl) <https://docs.python.org/pl/>`__
6974
- Maciej Olko (:github-user:`m-aciek`)
7075
- :github:`GitHub <python/python-docs-pl>`,
7176
`Transifex <tx_>`_,
72-
`original mail <https://mail.python.org/pipermail/doc-sig/2019-April/004106.html>`__
77+
`Original announcement <https://mail.python.org/pipermail/doc-sig/2019-April/004106.html>`__
7378
* - Portuguese (pt)
7479
- Gustavo Toffo
7580
-
7681
* - `Brazilian Portuguese (pt-br) <https://docs.python.org/pt-br/>`__
77-
- Rafael Fontenelle (:github-user:`rffontenelle`),
78-
Marco Rougeth (:github-user:`rougeth`)
82+
- | Rafael Fontenelle (:github-user:`rffontenelle`),
83+
| Marco Rougeth (:github-user:`rougeth`)
7984
- :github:`GitHub <python/python-docs-pt-br>`,
80-
`wiki <https://python.org.br/traducao/>`__,
85+
`Wiki <https://python.org.br/traducao/>`__,
8186
`Telegram <https://t.me/pybr_i18n>`__,
82-
`article <https://rgth.co/blog/python-ptbr-cenario-atual/>`__
83-
* - Romanian (ro)
87+
`Article <https://rgth.co/blog/python-ptbr-cenario-atual/>`__
88+
* - `Romanian (ro) <https://docs.python.org/ro/>`__
8489
- Octavian Mustafa (:github-user:`octaG-M`, `email <mailto:octawian@yahoo.com>`__)
85-
- :github:`GitHub <octaG-M/python-docs-ro>`
90+
- :github:`GitHub <python/python-docs-ro>`
8691
* - Russian (ru)
8792
- Daniil Kolesnikov (:github-user:`MLGRussianXP`, `email <mailto:mlgrussianxp@gmail.com>`__)
8893
- :github:`GitHub <MLGRussianXP/python-docs-ru>`,
89-
`mail <https://mail.python.org/pipermail/doc-sig/2019-May/004131.html>`__
94+
`Original announcement <https://mail.python.org/pipermail/doc-sig/2019-May/004131.html>`__
9095
* - `Simplified Chinese (zh-cn) <https://docs.python.org/zh-cn/>`__
9196
- Shengjing Zhu (:github-user:`zhsj`),
9297
Du, Meng (:github-user:`dumeng`)
@@ -102,39 +107,160 @@ details.
102107
* - `Turkish (tr) <https://docs.python.org/tr/>`__
103108
- Ege Akman (:github-user:`egeakman`)
104109
- :github:`GitHub <python/python-docs-tr>`,
105-
`RTD <https://python-docs-tr.readthedocs.io/>`__
110+
`RTD <https://python-docs-tr.readthedocs.io/>`__ XXX Why keep this with python build? Ask Ege
106111
* - `Ukrainian (uk) <https://docs.python.org/uk/>`__
107112
- Dmytro Kazanzhy (:github-user:`kazanzhy`, `email <mailto:dkazanzhy@gmail.com>`__)
108113
- :github:`GitHub <python/python-docs-uk>`,
109114
`Transifex <tx_>`_
110115

111-
.. _tx: https://explore.transifex.com/python-doc/python-newest/
112-
113116

114117
How to get help
115118
===============
116119

117-
Discussions about translations occur on the Python Docs Discord
120+
If there is already a repository for your language team (there may be links to
121+
Telegrams/Discords in the ``README``), join and introduce
122+
yourself, your fellow translators will be more than happy to help! XXX sounds off
123+
General discussions about translations occur on the Python Docs Discord
118124
`#translations channel <https://discord.gg/h3qDwgyzga>`_, `translation
119-
mailing list <translation_ml_>`_, and there's a `Libera.Chat IRC
120-
<https://libera.chat/>`_ channel, ``#python-doc``.
125+
mailing list <translation_ml_>`_, and the `translations subsection <_discourse>`_
126+
of the Python Discourse.
127+
128+
129+
Style Guide
130+
===========
131+
132+
Before translating, you should familiarize yourself with the general
133+
documentation :doc:`style guide<../style-guide>`. Some translation specific
134+
guidelines are explained below.
135+
136+
137+
Roles and links
138+
---------------
139+
140+
The Python docs contain many roles (``:role:`target```)
141+
to other parts of the documentation.
142+
Leave reStructuredText roles such as ``:func:`print``` or ``:ref:`some-section``` in
143+
place, even if they contain section titles, because it will break the link.
144+
If alternate text (``:role:`text <target>``` is provided, it can be translated.
145+
146+
Links (```text <target>`_``) should be handled similarly.
147+
148+
.. XXX do we want to switch links to target language if possible, ES translation does this (and I do too sometimes...)?
149+
150+
.. seealso::
151+
:doc:`../markup`
152+
153+
154+
Code examples
155+
-------------
156+
157+
Translate values in code examples, that is string literals, and comments.
158+
These may be lines from Monty Python skits or other references, they are, however,
159+
sometimes obscure and lose meaning when translated, so do not feel pressured
160+
to get them perfect.
161+
162+
.. XXX Ask EB can we do this QOL improvement?/Reword too
163+
164+
Don't translate keywords or names, including variable, function, class, argument,
165+
and attribute names. An example of a translated codeblock from the `tutorial <https://docs.python.org/3/tutorial/controlflow.html#keyword-arguments>`_
166+
is provided below:
167+
168+
.. code-block:: python
169+
170+
def cheeseshop(kind, *arguments, **keywords):
171+
print("-- Czy jest może", kind, "?")
172+
print("-- Przykro mi, nie mamy już sera", kind)
173+
for arg in arguments:
174+
print(arg)
175+
print("-" * 40)
176+
for kw in keywords:
177+
print(kw, ":", keywords[kw])
178+
179+
180+
Translation quality
181+
-------------------
182+
183+
Translators should be proficient in both English and the language they are
184+
translating to. Translators should aim for a similar level of quality as that
185+
of the English documentation.
186+
187+
Avoid relying solely on machine translation. These tools can be useful to speed up
188+
work, but often produce inaccurate or misleading results and should be reviewed.
189+
.. XXX ask EB about permission for this section or maybe https://github.com/python/peps/pull/4296/ to ref
190+
191+
192+
Vocabulary
193+
----------
194+
195+
The documentation is full of technical terms, some are common in general
196+
programming and have translations, whereas others are specific to Python.
197+
Translations should keep the translations of these terms consistent, which is
198+
done with glossaries/translation memory.
199+
200+
.. XXX Reword above
201+
.. XXX note that in coordinating.rst
202+
203+
Some general guidelines for deciding on a translation:
204+
205+
.. XXX todo (a lot)
206+
207+
- Use existing community conventions over inventing new terms.
208+
- Use hybrid form
209+
- Use English for common terms ... maybe hard to desc this case
210+
- Use your best judgment
211+
- Use other translations for reference as to what to do
212+
- Be careful to not translate names
213+
- Record in glossary to help peers!!!!!!!!!!!!!!!!!
214+
215+
216+
Dialects
217+
--------
218+
219+
Some translation receive contributions from people of many different dialects,
220+
understandably the language will differ, it is recommended however that
221+
translators try to keep files/large sections consistent.
222+
223+
224+
Transifex
225+
=========
226+
227+
.. XXX maybe add quickstart?
228+
229+
.. important::
230+
231+
There are many translations in the `python transifex <tx_>`_, some of which,
232+
however, not used anymore or do not have a coordinator, please confirm this
233+
is not the case before you begin translating.
234+
235+
Translations on Transifex are carried out via a web interface, similar to Weblate.
236+
For further information about Transifex, and our guides on getting started, see
237+
our `documentation <https://python-docs-transifex-automation.readthedocs.io/new-translators.html>`_.
238+
.. XXX Move stuff here, discuss w Rafael?
239+
240+
If you need help from a Transifex administrator, open an issue on the
241+
`tracker <https://github.com/python-docs-translations/transifex-automations/issues>`_.
242+
.. XXX explain that it is not same as coordinator
121243
122244
123245
Translation FAQ
124246
===============
125247

126-
Which version of the Python documentation should be translated?
127-
---------------------------------------------------------------
248+
Which version of the Python documentation should I work on?
249+
-----------------------------------------------------------
128250

129-
Consensus is to work on the current stable version. You can then propagate your
130-
translation from one branch to another using :pypi:`pomerge`.
251+
You should work on the latest branch available for you translation, the translations
252+
should then be propagated by the languages coordinator.
131253

132254

133-
How should I translate code examples?
134-
-------------------------------------
255+
The coordinator for my language is inactive, what do I do?
256+
----------------------------------------------------------
135257

136-
Translate values in code examples (i.e. string literals) and comments.
137-
Don't translate keywords or names,
138-
including variable, function, class, argument, and attribute names.
258+
If you would like to coordinate, follow the (necessary) steps outlined in
259+
:doc:`coordinating` and open an issue in the
260+
`EB issue tracker <https://github.com/python/editorial-board/issues>`_.
261+
262+
.. XXX Ask EB if this is ok
139263
140264
.. _translation_ml: https://mail.python.org/mailman3/lists/translation.python.org/
265+
.. _discourse: https://discuss.python.org/c/documentation/translations/
266+
.. _tx: https://explore.transifex.com/python-doc/python-newest/

0 commit comments

Comments
 (0)