bpo-38821: Fix crash in argparse when using gettext (GH-17192)

diff --git a/Lib/argparse.py b/Lib/argparse.py
index 94e1b8a..5a8eff2 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -2148,10 +2148,11 @@
                 OPTIONAL: _('expected at most one argument'),
                 ONE_OR_MORE: _('expected at least one argument'),
             }
-            default = ngettext('expected %s argument',
+            msg = nargs_errors.get(action.nargs)
+            if msg is None:
+                msg = ngettext('expected %s argument',
                                'expected %s arguments',
                                action.nargs) % action.nargs
-            msg = nargs_errors.get(action.nargs, default)
             raise ArgumentError(action, msg)
 
         # return the number of arguments matched