TL;DR: Ça s’écrit comme les f-string, mais ce n’est pas transformé en chaîne sur place : ça vaut une instance d’une nouvelle classe, Template, qui représente la chaîne.
C’est génial pour gettext, car, sans les t-strings :
name = "John"
_(f"Hello {name}")
ne pouvait pas marcher, _ recevait la chaîne Hello John qui n’est évidemment pas dans le fichier de traductions. C’est triste, mais c’est donc soit f-strings, soit i18n, pas les deux, on en était réduits à :
name = "John"
_("Hello {name}").format(name=name)
pour les jeunes, et :
_("Hello %(name)s") % {"name": name}
pour ceux qui ont la barbe bien blanche.
Avec les t-strings j’espère voir bientôt :
_(t"Hello {name}")
5 messages - 3 participant(e)s