bpo-37785: Fix xgettext warning in argparse (GH-15161)

diff --git a/Lib/argparse.py b/Lib/argparse.py
index 2e46e76..370692b 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -1214,8 +1214,9 @@
             return open(string, self._mode, self._bufsize, self._encoding,
                         self._errors)
         except OSError as e:
-            message = _("can't open '%s': %s")
-            raise ArgumentTypeError(message % (string, e))
+            args = {'filename': string, 'error': e}
+            message = _("can't open '%(filename)s': %(error)s")
+            raise ArgumentTypeError(message % args)
 
     def __repr__(self):
         args = self._mode, self._bufsize