docsbuild-scripts icon indicating copy to clipboard operation
docsbuild-scripts copied to clipboard

Add Greek translation

Open lysnikolaou opened this issue 11 months ago • 12 comments

  • Add Greek translation (we think we're okay to add this to production since we've done 100% of the prerequisites. If someone could double-check that, it'd be great!
  • Because the iso639 tag for Greek is el, but the more common name is gr, we'd named the repository python-docs-gr. I've added the ability to have an alternative repository name. If people think that's a bad idea, we can always rename the repository as well.

lysnikolaou avatar Feb 14 '25 11:02 lysnikolaou

  • Because the iso639 tag for Greek is el, but the more common name is gr, we'd named the repository python-docs-gr. I've added the ability to have an alternative repository name. If people think that's a bad idea, we can always rename the repository as well.

If we keep the common name, would it be worth to mention allowing exceptions in the repository name in PEP 545? https://peps.python.org/pep-0545/#create-github-repository

Create a repository named “python-docs-{LANGUAGE_TAG}” (IETF language tag, without redundant region subtag, with a dash, and lowercased.) on the Python GitHub organization (See Repository For Po Files.), and grant the language coordinator push rights to this repository.

Maybe: ?

Create a repository named “python-docs-{LANGUAGE_TAG}” (without redundant region subtag, with a dash, and lowercased; IETF language tag is recommended) on the Python GitHub organization (See Repository For Po Files.), and grant the language coordinator push rights to this repository.

m-aciek avatar Feb 14 '25 11:02 m-aciek

Re: https://peps.python.org/pep-0545/#add-translation-to-the-language-switcher

As soon as the translation hits:

  • 100% of bugs.html with proper links to the language repository issue tracker.

https://python-docs-gr.readthedocs.io/el/latest/bugs.html

Looks good.

  • 100% of tutorial.

https://python-docs-gr.readthedocs.io/el/latest/tutorial/index.html

A spot check found a little bit of English in https://python-docs-gr.readthedocs.io/el/latest/tutorial/errors.html#handling-exceptions

  • 100% of library/functions (builtins).

Looks good, except for abs: https://python-docs-gr.readthedocs.io/el/latest/library/functions.html#abs

the translation can be added to the language switcher.

hugovk avatar Feb 14 '25 12:02 hugovk

A spot check found a little bit of English in python-docs-gr.readthedocs.io/el/latest/tutorial/errors.html#handling-exceptions

Hmm, that's odd. It looks like this is implemented in the po file.

Looks good, except for abs: python-docs-gr.readthedocs.io/el/latest/library/functions.html#abs

Again, same thing. It looks like this is implemented in the po file, but does not appear in the built docs.

Does anyone have an idea on why that might be?

lysnikolaou avatar Feb 14 '25 12:02 lysnikolaou

@lysnikolaou most probably there's a slight change in the original sources, on 3.13 branch, it would be best to update the files with the latest sources version.

m-aciek avatar Feb 14 '25 12:02 m-aciek

Looks good, except for abs: python-docs-gr.readthedocs.io/el/latest/library/functions.html#abs

You can see this behavior also in Spanish version https://docs.python.org/es/3.13/library/functions.html#abs

skpanagiotis avatar Feb 14 '25 12:02 skpanagiotis

You can see this behavior also in Spanish version https://docs.python.org/es/3.13/library/functions.html#abs

Brazilian Portuguese looks OK, so it is probably just out-of-date source string.

rffontenelle avatar Feb 14 '25 13:02 rffontenelle

If someone could double-check that, it'd be great!

Checking with the HEAD of 3.13, there seems to be some new content and some differences. Maybe the code snippets blocks affected the numbers 🤔

Doc % make venv
Doc % make gettext   
python-docs-gr % uv pip install git+https://git.afpy.org/maciek/potodo.git@fix-pot-cli
python-docs-gr % potodo --pot ../cpython/Doc/build/gettext --show-finished
…
- bugs.po                         30 /  31 ( 96.0% translated).
…
# library (5.07% done)
…
- functions.po                   413 / 510 ( 80.0% translated).
…
# tutorial (69.95% done)

- appendix.po                     20 /  28 ( 71.0% translated).
- appetite.po                     17 /  17 (100.0% translated).
- classes.po                     115 / 149 ( 77.0% translated).
- controlflow.po                 155 / 223 ( 69.0% translated).
- datastructures.po               82 / 125 ( 65.0% translated).
- errors.po                       67 /  95 ( 70.0% translated).
- floatingpoint.po                43 /  76 ( 56.0% translated).
- index.po                         8 /   8 (100.0% translated).
- inputoutput.po                  72 / 112 ( 64.0% translated).
- interactive.po                   7 /   7 (100.0% translated).
- interpreter.po                  25 /  33 ( 75.0% translated).
- introduction.po                 76 / 119 ( 63.0% translated).
- modules.po                      88 / 117 ( 75.0% translated).
- stdlib.po                       47 /  67 ( 70.0% translated).
- stdlib2.po                      41 /  65 ( 63.0% translated).
- venv.po                         29 /  42 ( 69.0% translated).
- whatnow.po                      18 /  18 (100.0% translated).
…

For comparison locally looks like 100% indeed:

python-docs-gr % potodo --show-finished --no-cache
…
- bugs.po                         30 /  30 (100.0% translated).
…
- functions.po                   461 / 461 (100.0% translated).
…
# tutorial (100.00% done)

- appendix.po                     20 /  20 (100.0% translated).
- appetite.po                     17 /  17 (100.0% translated).
- classes.po                     119 / 119 (100.0% translated).
- controlflow.po                 164 / 164 (100.0% translated).
- datastructures.po               90 /  90 (100.0% translated).
- errors.po                       69 /  69 (100.0% translated).
- floatingpoint.po                48 /  48 (100.0% translated).
- index.po                         8 /   8 (100.0% translated).
- inputoutput.po                  75 /  75 (100.0% translated).
- interactive.po                   7 /   7 (100.0% translated).
- interpreter.po                  27 /  27 (100.0% translated).
- introduction.po                 79 /  79 (100.0% translated).
- modules.po                      89 /  89 (100.0% translated).
- stdlib.po                       48 /  48 (100.0% translated).
- stdlib2.po                      45 /  45 (100.0% translated).
- venv.po                         30 /  30 (100.0% translated).
- whatnow.po                      18 /  18 (100.0% translated).
…

m-aciek avatar Feb 14 '25 15:02 m-aciek

Because the iso639 tag for Greek is el, but the more common name is gr, we'd named the repository python-docs-gr. I've added the ability to have an alternative repository name. If people think that's a bad idea, we can always rename the repository as well.

Unhelpfully, there's divergence between ISO 3166-1 alpha-2 and ISO 639-1. Nevertheless, I think we should stick to ISO 639, the standard for classification of languages, for the avoidance of doubt. I hope this doesn't cause too much trouble.

A

AA-Turner avatar Feb 15 '25 22:02 AA-Turner

We have completed the necessary updates to successfully publish version 3.12 of python-docs-gr:

  • Update cpython submodule to the latest version.
  • Synced all .po files with the latest translation for 3.12.
  • Applied translation fixes and improvements.

skpanagiotis avatar Feb 20 '25 10:02 skpanagiotis

We have completed the necessary updates to successfully publish version 3.12 of python-docs-gr

Do you have updated numbers for the PEP 545 targets for 3.13 (which is /3/) or 3.13 (/dev/)?

AA-Turner avatar Feb 20 '25 11:02 AA-Turner

Do you have updated numbers for the PEP 545 targets for 3.13 (which is /3/) or 3.13 (/dev/)?

For 3.12

# tutorial (100.00% done)

- appendix.po                     24 /  24 (100.0% translated).
- appetite.po                     17 /  17 (100.0% translated).
- classes.po                     149 / 149 (100.0% translated).
- controlflow.po                 223 / 223 (100.0% translated).
- datastructures.po              125 / 125 (100.0% translated).
- errors.po                       95 /  95 (100.0% translated).
- floatingpoint.po                76 /  76 (100.0% translated).
- index.po                         8 /   8 (100.0% translated).
- inputoutput.po                 112 / 112 (100.0% translated).
- interactive.po                   7 /   7 (100.0% translated).
- interpreter.po                  33 /  33 (100.0% translated).
- introduction.po                119 / 119 (100.0% translated).
- modules.po                     117 / 117 (100.0% translated).
- stdlib.po                       67 /  67 (100.0% translated).
- stdlib2.po                      65 /  65 (100.0% translated).
- venv.po                         42 /  42 (100.0% translated).
- whatnow.po                      18 /  18 (100.0% translated).
-----------------------------------------------------------------------------
- functions.po                   497 / 497 (100.0% translated).
-----------------------------------------------------------------------------
- bugs.po                         31 /  31 (100.0% translated).

For 3.13

# tutorial (98.16% done)

- appendix.po                     24 /  28 ( 85.0% translated).
- appetite.po                     17 /  17 (100.0% translated).
- classes.po                     149 / 149 (100.0% translated).
- controlflow.po                 223 / 223 (100.0% translated).
- datastructures.po              125 / 125 (100.0% translated).
- errors.po                       83 /  95 ( 87.0% translated), 12 fuzzy.
- floatingpoint.po                76 /  76 (100.0% translated).
- index.po                         8 /   8 (100.0% translated).
- inputoutput.po                 112 / 112 (100.0% translated).
- interactive.po                   7 /   7 (100.0% translated).
- interpreter.po                  29 /  33 ( 87.0% translated), 4 fuzzy.
- introduction.po                118 / 119 ( 99.0% translated), 1 fuzzy.
- modules.po                     117 / 117 (100.0% translated).
- stdlib.po                       65 /  67 ( 97.0% translated), 2 fuzzy.
- stdlib2.po                      64 /  65 ( 98.0% translated), 1 fuzzy.
- venv.po                         42 /  42 (100.0% translated).
- whatnow.po                      18 /  18 (100.0% translated).
-------------------------------------------------------------------------------------------
- functions.po                   497 / 497 (100.0% translated).
-------------------------------------------------------------------------------------------
- bugs.po                         31 /  31 (100.0% translated).

skpanagiotis avatar Feb 20 '25 18:02 skpanagiotis

There's a convention to focus on the latest stable Python version. It would be recommended to have a 100% on 3.13 when going live with the switcher. For the time being, we could build the Greek documentation yet without including it in the switcher? (in_prod = false)

m-aciek avatar Feb 27 '25 12:02 m-aciek

Ping @lysnikolaou

StanFromIreland avatar Apr 22 '25 21:04 StanFromIreland

@StanFromIreland We're currently working on updating the documentation to 3.13, because we'd been working on 3.12 previously. As soon as we have it all ready, I'll come back to this.

lysnikolaou avatar Apr 23 '25 10:04 lysnikolaou

I see, did you not want to add it to building but not the switcher?

StanFromIreland avatar Apr 23 '25 10:04 StanFromIreland

Yes, but it's probably best to merge this when the 3.13 docs are ready either way. We also don't have very much time to work on this, so we've been a bit slow with the port.

lysnikolaou avatar Apr 23 '25 10:04 lysnikolaou

Folks, this can be merged now, I think.

We've had some slow progress lately, but the minimum requirements are now fulfilled for all of 3.12, 3.13 and 3.14.

lysnikolaou avatar Jun 19 '25 12:06 lysnikolaou

but the minimum requirements are now fulfilled for all of 3.12, 3.13 and 3.14.

Hmm, we don't actually state in PEP 545 which version should meet the requirements. Something we should probably add in future amendments. cc @JulienPalard / @willingc

StanFromIreland avatar Jun 19 '25 12:06 StanFromIreland

Custom & practice is the current latest minor version, or 'what /3/ points to'.

AA-Turner avatar Jun 19 '25 12:06 AA-Turner

The translation is now live:

  • https://docs.python.org/el/dev/
  • https://docs.python.org/el/3/
  • https://docs.python.org/el/3.15/
  • https://docs.python.org/el/3.14/
  • https://docs.python.org/el/3.13/
  • https://docs.python.org/el/3.12/

A

AA-Turner avatar Jun 20 '25 15:06 AA-Turner

Congratulations, Greek team! 👏

rffontenelle avatar Jun 20 '25 16:06 rffontenelle

Greek now appears above English in the language switcher, this might annoy people who are used to clicking the first entry, was this intentional?

StanFromIreland avatar Jun 23 '25 21:06 StanFromIreland

This might be a consequence of placing languages in the alphabetical order. Should English be an exception and always come first?

rffontenelle avatar Jun 23 '25 21:06 rffontenelle

This might be a consequence of placing languages in the alphabetical order.

It is because of the current system, which depends on the order they are read from the file I believe, which is a quite interesting way of doing it.

StanFromIreland avatar Jun 23 '25 21:06 StanFromIreland