Commit 12159150 authored by Éric Araujo's avatar Éric Araujo

Use proper plural forms in argparse (#4391)

parent 13d49ee7
......@@ -88,7 +88,7 @@ import re as _re
import sys as _sys
import textwrap as _textwrap
from gettext import gettext as _
from gettext import gettext as _, ngettext
def _callable(obj):
......@@ -1438,7 +1438,9 @@ class _ActionsContainer(object):
conflict_handler(action, confl_optionals)
def _handle_conflict_error(self, action, conflicting_actions):
message = _('conflicting option string(s): %s')
message = ngettext('conflicting option string: %s',
'conflicting option strings: %s',
len(conflicting_actions))
conflict_string = ', '.join([option_string
for option_string, action
in conflicting_actions])
......@@ -1995,7 +1997,9 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer):
OPTIONAL: _('expected at most one argument'),
ONE_OR_MORE: _('expected at least one argument'),
}
default = _('expected %s argument(s)') % action.nargs
default = ngettext('expected %s argument',
'expected %s arguments',
action.nargs) % action.nargs
msg = nargs_errors.get(action.nargs, default)
raise ArgumentError(action, msg)
......
......@@ -4315,7 +4315,7 @@ class TestImportStar(TestCase):
items = [
name
for name, value in vars(argparse).items()
if not name.startswith("_")
if not (name.startswith("_") or name == 'ngettext')
if not inspect.ismodule(value)
]
self.assertEqual(sorted(items), sorted(argparse.__all__))
......
......@@ -49,6 +49,8 @@ Core and Builtins
Library
-------
- Issue #4391: Use proper plural forms in argparse.
- Issue #10601: sys.displayhook uses 'backslashreplace' error handler on
UnicodeEncodeError.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment