Fix spelling (inital), grammar (may translates) in documentation, comments
diff --git a/Doc/whatsnew/2.2.rst b/Doc/whatsnew/2.2.rst
index 212ed04..24dd81d 100644
--- a/Doc/whatsnew/2.2.rst
+++ b/Doc/whatsnew/2.2.rst
@@ -758,7 +758,7 @@
   operators.
 
 * Python 2.2 supports some command-line arguments for testing whether code will
-  works with the changed division semantics.  Running python with :option:`-Q
+  work with the changed division semantics.  Running python with :option:`-Q
   warn <-Q>` will cause a warning to be issued whenever division is applied to two
   integers.  You can use this to find code that's affected by the change and fix
   it.  By default, Python 2.2 will simply perform classic division without a
diff --git a/Lib/gzip.py b/Lib/gzip.py
index de0dab1..07c6db4 100644
--- a/Lib/gzip.py
+++ b/Lib/gzip.py
@@ -55,7 +55,7 @@
         a file object.
 
         When fileobj is not None, the filename argument is only used to be
-        included in the gzip file header, which may includes the original
+        included in the gzip file header, which may include the original
         filename of the uncompressed file.  It defaults to the filename of
         fileobj, if discernible; otherwise, it defaults to the empty string,
         and in this case the original filename is not included in the header.
diff --git a/Lib/optparse.py b/Lib/optparse.py
index f8c70dd..bec492d 100644
--- a/Lib/optparse.py
+++ b/Lib/optparse.py
@@ -914,7 +914,7 @@
       _short_opt : { string : Option }
         dictionary mapping short option strings, eg. "-f" or "-X",
         to the Option instances that implement them.  If an Option
-        has multiple short option strings, it will appears in this
+        has multiple short option strings, it will appear in this
         dictionary multiple times. [1]
       _long_opt : { string : Option }
         dictionary mapping long option strings, eg. "--file" or
diff --git a/Misc/HISTORY b/Misc/HISTORY
index 7119362..bdc6889 100644
--- a/Misc/HISTORY
+++ b/Misc/HISTORY
@@ -12831,7 +12831,7 @@
 - Changed the checks made in Py_Initialize() and Py_Finalize().  It is
 now legal to call these more than once.  The first call to
 Py_Initialize() initializes, the first call to Py_Finalize()
-finalizes.  There's also a new API, Py_IsInitalized() which checks
+finalizes.  There's also a new API, Py_IsInitialized() which checks
 whether we are already initialized (in case you want to leave things
 as they were).
 
diff --git a/Modules/_io/stringio.c b/Modules/_io/stringio.c
index 59a3905..83bb7ac 100644
--- a/Modules/_io/stringio.c
+++ b/Modules/_io/stringio.c
@@ -736,8 +736,8 @@
     Py_DECREF(initarg);
 
     /* Restore the buffer state. Even if __init__ did initialize the buffer,
-       we have to initialize it again since __init__ may translates the
-       newlines in the inital_value string. We clearly do not want that
+       we have to initialize it again since __init__ may translate the
+       newlines in the initial_value string. We clearly do not want that
        because the string value in the state tuple has already been translated
        once by __init__. So we do not take any chance and replace object's
        buffer completely. */