From 8a3a7a40fb56c923e2c9caccd43fff7b85dfdb47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Detrey?= Date: Tue, 24 Sep 2024 21:54:50 +0200 Subject: [PATCH] bpo-44864: Do not translate user-provided strings in ArgumentParser.add_subparsers() (GH-27667) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Call _() on literal strings only. (cherry picked from commit d3c76dff444046504754a437dceebc9a9c87ef18) Co-authored-by: Jérémie Detrey --- Lib/argparse.py | 4 ++-- .../next/Library/2021-08-24-19-37-46.bpo-44864.KzxaDh.rst | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2021-08-24-19-37-46.bpo-44864.KzxaDh.rst diff --git a/Lib/argparse.py b/Lib/argparse.py index 19f86ed4225ab6..d0302ad4fb6fb7 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -1847,8 +1847,8 @@ def add_subparsers(self, **kwargs): kwargs.setdefault('parser_class', type(self)) if 'title' in kwargs or 'description' in kwargs: - title = _(kwargs.pop('title', 'subcommands')) - description = _(kwargs.pop('description', None)) + title = kwargs.pop('title', _('subcommands')) + description = kwargs.pop('description', None) self._subparsers = self.add_argument_group(title, description) else: self._subparsers = self._positionals diff --git a/Misc/NEWS.d/next/Library/2021-08-24-19-37-46.bpo-44864.KzxaDh.rst b/Misc/NEWS.d/next/Library/2021-08-24-19-37-46.bpo-44864.KzxaDh.rst new file mode 100644 index 00000000000000..9610fa90ef0a98 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-08-24-19-37-46.bpo-44864.KzxaDh.rst @@ -0,0 +1 @@ +Do not translate user-provided strings in :class:`argparse.ArgumentParser`.