[script nvda] Re: traduction des F-String

  • From: Patrick ZAJDA <patrick@xxxxxxxx>
  • To: script NVDA <scriptnvda@xxxxxxxxxxxxx>
  • Date: Fri, 22 Apr 2022 19:10:18 +0200

Re bonjour,


De ce que j'ai pu lire sur ce poste (en anglais), c'est normal.

Une méthode, pas recommandé mais qui devrait fonctionner qui est proposée en commentaire :

from copy import copy
from inspect import currentframe

def f(s):
    frame = currentframe().f_back
    kwargs = copy(frame.f_globals)
    kwargs.update(frame.f_locals)
    return eval(s.format(**kwargs))

f(_('Hey, {username}'))


Patrick


Le 22/04/2022 à 18:33, yannick a écrit :
rebonjour, je viens de me rendre compte que les f-strings ne sont pas pris en compte par NVDA !

les  notations _(" ne posent aucun problème à poedit, mais dans les fichiers py des modules, nvda ne les reconnait pas comme termes à  traduire!

Certes je pourrais utilisé la méthode format qui alourdirait le code ou je  pourrais utiliser l'ancienne méthode avec l'opérateur modulo (%), mais bon  la méthode la plus recommandée reste les f string!

avez vous une idée ?

merci !



--
Patrick ZAJDA

PNG image

Other related posts: