En Mercurial, bon nombre des extensions enveloppent leur chaîne aide/syntaxe dans un appel à une fonction underscore, comme ceci:Mercurial/Python - Que fait la fonction Underscore?
_('[OPTION] [QUEUE]')
Cela me confond, car il ne semble pas nécessaire (les instructions Writing Extensions ne le font pas mentionnez-le) et il ne semble pas y avoir de _ défini dans la classe, donc je me demande si c'est une syntaxe particulière que je ne comprends pas, peut-être une autre façon de dire lambda, ou peut-être la fonction identité? De plus, je me demande quel est le bénéfice de cette méthodologie (quelle qu'elle soit) sur la chaîne brute comme le suggère la documentation. Rien de ce que j'ai vu dans la documentation de Python ne mentionne une telle fonction, donc je ne suis pas sûr que ce soit vraiment une question Python ou une question Mercurial.
Voici deux exemples qui utilisent cette structure (regardez le dictionnaire cmdtable
près du fond du fichier)
- https://www.mercurial-scm.org/repo/hg/file/42408cd43f55/hgext/mq.py
- https://www.mercurial-scm.org/repo/hg/file/42408cd43f55/hgext/graphlog.py
Ahaha! D'accord, merci! Donc, c'est par commodité si quelqu'un voulait le faire fonctionner dans sa propre langue - mais il devrait quand même fournir/commettre ses propres traductions, n'est-ce pas? Si j'utilise gettext je ne suis pas censé fournir le mien, non? – dimo414
@ dimo414, avec le 'gettext' de la librairie standard (et avec GNU's pour les autres langages), vous êtes _definitely_ censé fournir vos propres traductions - ce que fait le code de' gettext' est de récupérer et d'utiliser ces expressions traduites, il est certain que ** ne fait pas ** la traduction automatique automatique parmi les différentes langues naturelles !!! –
@Alex, désolé je n'étais pas clair - la question était sur les attentes, pas la fonctionnalité. D'un point de vue «fournir un programme achevé», est-ce que je m'attendrais à créer moi-même ces traductions, ou est-ce que je suis d'accord pour que je libère du code sans eux? – dimo414