Thanks to visit codestin.com
Credit goes to github.com

Skip to content

auto fill reStructuredText-only strings #1874

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 19, 2022

Conversation

vpoulailleau
Copy link
Contributor

Based on comment: #1576 (comment)

import re
from pathlib import Path

for path in Path.cwd().rglob("*.po"):
    # print(path)
    lines = path.read_text(encoding="utf-8").splitlines()
    modified = False
    for index, line in enumerate(lines):
        m = re.match(r'msgid "(:[a-z-]+:`[^`<]*?`)"', line)
        if m is not None:
            # print(m)
            if lines[index + 1].startswith('msgstr ""'):
                lines[index + 1] = f'msgstr "{m[1]}"'
                modified = True
    if modified:
        path.write_text("\n".join(lines) + "\n", encoding="utf-8")

@@ -1290,23 +1290,23 @@ msgstr ""

#: install/index.rst:744
msgid ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`"
msgstr ""
msgstr ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ici la traduction n'est pas bonne, il faudrait :file:`{préfixe}/...`. Je n'ai pas trop regardé le reste, mais je ne suis pas 100% convaincu par l'idée de le faire automatiquement, pour cette raison.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le seul cas qui me semble tendancieux dans ce que j'ai fait est effectivement le cas où la chaîne à traduire contient « {…} ». Ce qui représente deux traductions dans le lot, et qui pourraient être évitées en adaptant l'expression régulière dans le script.

Ceci dit, si je regarde la traduction actuelle de cette page, on y voit que {prefix} a été traduit en {prefix} et non {prefixe} comme par exemple (par @JulienPalard) :

  • #: install/index.rst:228
  • #: install/index.rst:237
  • #: install/index.rst:431
  • #: install/index.rst:483

J'ai donc finalement décidé d'inclure ces traductions automatiques. @jean-abou-samra @JulienPalard est-ce qu'il faut changer tous les {prefix} en {prefixe} ?

Copy link
Contributor Author

@vpoulailleau vpoulailleau May 19, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'avais d'ailleurs exclu les chaînes à traduire contenant : :` < >` pour les laisser en mode manuel vu qu'il y a ici une part de traduction.

(Edit: J'arrive pas à écrire ce que je veux en MarkDown, mais je voulais dire une référence avec un texte personnalisé.)
(Edit 2: Finalement si, grâce à @JulienPalard )

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai donc finalement décidé d'inclure ces traductions automatiques. @jean-abou-samra @JulienPalard est-ce qu'il faut changer tous les {prefix} en {prefixe} ?

Probablement mais ceci est une autre issue.

Copy link
Member

@JulienPalard JulienPalard May 19, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Edit: J'arrive pas à écrire ce que je veux en MarkDown, mais je voulais dire une référence avec un texte personnalisé.)

Tu peux généralement t'en sortir juste en ajoutant plus de backticks, avec l'astuce de mettre une espace au début et à la fin (qui ne seront pas rendues graphiquement) juste pour aider le parseur :

  • `foo` donne foo
  • ``foo`` donne foo
  • ```foo``` donne foo
  • ````foo```` donne foo
  • etc…

Donc avec la bonne dose de mélange de backticks tu peux exprimer litéralement n'importe quoi :

  • ` `` ` donne ``
  • `` ` `` donne `
  • ` `` ``` ` donne `` ```
  • ``` `` ``` donne ``

Donc on peut même mettre plus de backticks dans moins de backticks, la seule règle c'est que le nombre de backticks ouvrants corresponde au nombre de backticks fermants.

  • deux: `` trois: ``` quatre: ```` cinq: ````` six: `````` le tout dans des single backticks
  • un: ` trois: ``` quatre: ```` cinq: ````` six: `````` le tout dans des double backticks
  • un: ` deux: `` quatre: ```` cinq: ````` six: `````` le tout dans des triple backticks

(Si ce message s'affiche encore correctement dans 10 ans...)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JulienPalard Super ! Merci pour l'info.

@PyDocTeur
Copy link

Hello @vpoulailleau ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.12.0

1 similar comment
@PyDocTeur
Copy link

Hello @vpoulailleau ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.12.0

@JulienPalard
Copy link
Member

Tu pourrais même mettre le code dans le message de commit. De là à commencer à faire un git show blah | python y'a qu'un pas :D

@PyDocTeur
Copy link

Hello @vpoulailleau ! Désolé, mais ton titre de pull request me semble invalide par rapport à ce que je suis programmé d'accepter.
Merci de le corriger ou d'ajouter le label meta si c'est une PR spéciale. Un exemple de titre valide serait : « Traduction de dossier/fichier.po ».


Disclaimer

Je suis un robot fait par l'équipe de l'AFPy et de Traduction
sur leur temps libre. Je risque de dire des bétises. Ne me blâmez pas, blamez les développeurs.

Code source

I'm a bot made by the Translation and AFPy teams on their free
time. I might say or do dumb things sometimes. Don't blame me, blame the developer !

Source code

(state: incorrect_title)
PyDocTeur v1.12.0

@JulienPalard JulienPalard merged commit fe69851 into python:3.10 May 19, 2022
@vpoulailleau
Copy link
Contributor Author

Tu pourrais même mettre le code dans le message de commit.

@JulienPalard J'ai hésité ! Je me suis finalement contenté du message de PR.

git show blah | python

C'est beau le modernisme, j'adore 😄

@christopheNan
Copy link
Contributor

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants