diff --git a/database/updates.inc b/database/updates.inc
index 6c2a64e189992249a2313afa318eb19b3ef33cae..d0f3ffc26f30fc0ef2d83a40c9813b53eeb65d08 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -975,7 +975,7 @@ function update_80() {
     user_save($account, $edit, 'Personal information');
   }
 
-  // This variable is needed to distinguish betweene 4.5-RC sites which ran a faulty
+  // This variable is needed to distinguish between 4.5-RC sites which ran a faulty
   // update_80() and 4.5-final sites. See update_108.
   variable_set('update_80_fix', true);
 
diff --git a/includes/common.inc b/includes/common.inc
index 1984796c9bf49f23e75ede2e7a6605044601aebe..cb40c7f54f0fdea144556146d9dd8666880e5dee 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -1064,7 +1064,7 @@ function format_name($object) {
  *
  * Drupal uses these functions to achieve consistency in its form presentation,
  * while at the same time simplifying code and reducing the amount of HTML that
- * must be explicily generated by modules.
+ * must be explicitly generated by modules.
  */
 
 /**
@@ -1253,7 +1253,7 @@ function form_checkbox($title, $name, $value = 1, $checked = FALSE, $description
  * @param $name
  *   The internal name used to refer to the buttons.
  * @param $values
- *   A linear array of keys of the initally checked boxes.
+ *   A linear array of keys of the initially checked boxes.
  * @param $options
  *   An associative array of buttons to display. The keys in this array are
  *   button values, while the values are the labels to display for each button.
diff --git a/includes/conf.php b/includes/conf.php
index 90d4dd62c7c9b109d5b31a8c844a4c49e9eb2a33..1fb92208ae82e95d70cd4fc952eb6b5845420af4 100644
--- a/includes/conf.php
+++ b/includes/conf.php
@@ -45,7 +45,7 @@
 #
 #   To see what PHP settings are known to work well, take a look at
 #   the .htaccesss file in Drupal's root directory.  If you get
-#   unexcepted warnings or errors, double-check your PHP settings.
+#   unexpected warnings or errors, double-check your PHP settings.
 
 # If required, update PHP's include path to include your PEAR directory:
 // ini_set("include_path", ".:/path/to/pear");
diff --git a/includes/file.inc b/includes/file.inc
index 027b9f125e79c5548e962afccb048a4d9025e20f..c32ce6e78467d6d17009e32a47825253ba15c91f 100644
--- a/includes/file.inc
+++ b/includes/file.inc
@@ -44,7 +44,7 @@ function file_create_url($path) {
  * file system directory, if it is not prepend the
  * file system directory.
  *
- * @param $dest Path to verifiy
+ * @param $dest Path to verify
  * @return Path to file with file system directory appended if necessary.
  */
 function file_create_path($dest = 0) {
diff --git a/includes/locale.inc b/includes/locale.inc
index ec6884935fc61552790329059f12c7d4f6f040a8..ad8521fe28ded894629f942bea94bcdb55bbd764 100644
--- a/includes/locale.inc
+++ b/includes/locale.inc
@@ -77,7 +77,7 @@ function _locale_admin_manage_add_screen() {
   $edit = &$_POST['edit'];
   $output .= '<h2>'. t('Custom language') .'</h2>';
   $form = form_textfield(t('Language code'), 'langcode', $edit['langcode'], 70, 12, t("Commonly this is an <a href=\"%iso-codes\">ISO 639 language code</a> with an optional country code for regional variants. Examples include 'en', 'en-US' and 'zh-cn'.", array('%iso-codes' => 'http://www.w3.org/WAI/ER/IG/ert/iso639.htm')));
-  $form .= form_textfield(t('Language name in English'), 'langname', $edit['langname'], 70, 64, t('Name of the language. Will be availabale for translation in all languages.'));
+  $form .= form_textfield(t('Language name in English'), 'langname', $edit['langname'], 70, 64, t('Name of the language. Will be available for translation in all languages.'));
   $form .= form_submit(t('Add language'));
   $output .= form($form);
 
@@ -249,7 +249,7 @@ function _locale_import_po($file, $lang, $mode) {
     }
   }
 
-  // Successfull import
+  // Successful import
   // rebuild locale cache
   cache_clear_all("locale:$lang");
 
diff --git a/includes/module.inc b/includes/module.inc
index 6c7ce15bbadc367d0312a2b6778d3409f2c49847..543c51057b1956682b9c1de9f9a186bcaa9bbeec 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -117,12 +117,12 @@ function module_get_path($module) {
 }
 
 /**
- * Load a module into Drupal, but check first wether a module by the same name
+ * Load a module into Drupal, but check first whether a module by the same name
  * has been loaded, and that the filename being included exists.
  * @param $module
  *   The name of the module to be loaded.
  * @return
- *   TRUE if the load was successfull.
+ *   TRUE if the load was successful.
  */
 function module_load($module) {
   static $loaded = array();
diff --git a/includes/xmlrpc.inc b/includes/xmlrpc.inc
index 9ad7f8ea1d6d9f8ae09c4c25e17a84ea9e0739f3..42f90693f227867fec65645f8e41941d2ae70445 100644
--- a/includes/xmlrpc.inc
+++ b/includes/xmlrpc.inc
@@ -1008,7 +1008,7 @@ function iso8601_decode($idate, $utc=0) {
 
 /*****************************************************************
  * _xmlrpc_decode takes a message in PHP xmlrpc object format and *
- * tranlates it into native PHP types.                            *
+ * translates it into native PHP types.                            *
  *                                                                *
  * author: Dan Libby (dan@libby.com)                              *
  *****************************************************************/
diff --git a/modules/aggregator.module b/modules/aggregator.module
index 7adbb24b8e06382a41c70916f177be535166b285..dae3f08b2da9dc368ab431a6f8ccdd5c2721922a 100644
--- a/modules/aggregator.module
+++ b/modules/aggregator.module
@@ -414,7 +414,7 @@ function aggregator_refresh($feed) {
  * Origionally from MagpieRSS (http://magpierss.sourceforge.net/).
  *
  * @param $date_str A string with a potentially W3C DTF date.
- * @return A timestamp if parsed sucessfully or -1 if not.
+ * @return A timestamp if parsed successfully or -1 if not.
  */
 function aggregator_parse_w3cdtf($date_str) {
   if (preg_match('/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(:(\d{2}))?(?:([-+])(\d{2}):?(\d{2})|(Z))?/', $date_str, $match)) {
diff --git a/modules/aggregator/aggregator.module b/modules/aggregator/aggregator.module
index 7adbb24b8e06382a41c70916f177be535166b285..dae3f08b2da9dc368ab431a6f8ccdd5c2721922a 100644
--- a/modules/aggregator/aggregator.module
+++ b/modules/aggregator/aggregator.module
@@ -414,7 +414,7 @@ function aggregator_refresh($feed) {
  * Origionally from MagpieRSS (http://magpierss.sourceforge.net/).
  *
  * @param $date_str A string with a potentially W3C DTF date.
- * @return A timestamp if parsed sucessfully or -1 if not.
+ * @return A timestamp if parsed successfully or -1 if not.
  */
 function aggregator_parse_w3cdtf($date_str) {
   if (preg_match('/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(:(\d{2}))?(?:([-+])(\d{2}):?(\d{2})|(Z))?/', $date_str, $match)) {
diff --git a/modules/book.module b/modules/book.module
index 25b8204a708e264b00914d14672ca006a6a0919b..8fc2555b3e86aa1fc8b4fdd6cd2114ce7f50a3c6 100644
--- a/modules/book.module
+++ b/modules/book.module
@@ -792,7 +792,7 @@ function book_help($section) {
       <p>A book is simply a collection of nodes that have been linked together. These nodes are usually of type <em>book page</em>, but you can insert nodes of any type into a book outline. Every node in the book has a <em>parent</em> node which  \"contains\" it. This is how book.module establishes its hierarchy. At any given level in the hierarchy, a book can contain many nodes. All these sibling nodes are sorted according to the <em>weight</em> that you give them.</p>
       <p>Book pages contain a <em>log message</em> field which helps your users understand the motivation behind an edit of a book page. Each edited version of a book page is stored as a new revision of a node. This capability makes it easy to revert to an old version of a page, should that be desirable.</p>
       <p>Like other node types, book submissions and edits may be subject to moderation, depending on your configuration.  Similarly, books use <a href=\"%permissions\">permissions</a> to determine who may read and write to them. Only administrators are allowed to create new books, which are really just nodes whose parent is <em>&lt;top-level&gt;</em>.  To include an existing node in your book, click on the \"outline\"-tab on the node's page.  This enables you to place the node wherever you'd like within the book hierarchy. To add a new node into your book, use the <a href=\"%create\">create content &raquo; book page</a> link.</p>
-      <p>Administrators may review the hierarchy of their books by clicking on the <a href=\"%collaborative-book\">collaborative book</a> link in the adminstration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes.  These nodes are now <em>orphans</em>. Administrators should periodically <a href=\"%orphans-book\">review their books for orphans</a> and reaffiliate those pages as desired. Finally, administrators may also <a href=\"%export-book\">export their books</a> to a single, flat HTML page which is suitable for printing.</p>
+      <p>Administrators may review the hierarchy of their books by clicking on the <a href=\"%collaborative-book\">collaborative book</a> link in the administration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes.  These nodes are now <em>orphans</em>. Administrators should periodically <a href=\"%orphans-book\">review their books for orphans</a> and reaffiliate those pages as desired. Finally, administrators may also <a href=\"%export-book\">export their books</a> to a single, flat HTML page which is suitable for printing.</p>
       <h3>Maintaining a FAQ using a collaborative book</h3>
       <p>Collaborative books let you easily set up a Frequently Asked Questions (FAQ) section on your web site. The main benefit is that you don't have to write all the questions/answers by yourself - let the community do it for you!</p>
       <p>In order to set up the FAQ, you have to create a new book which will hold all your content. To do so, click on the <a href=\"%create\">create content &raquo; book page</a> link. Give it a thoughtful title, and body. A title like \"Estonia Travel - FAQ\" is nice. You may always edit these fields later. You will probably want to designate <em>&lt;top-level&gt;</em> as the parent of this page. Leave the <em>log message</em> and <em>type</em> fields blank for now. After you have submitted this book page, you are ready to begin filling up your book with questions that are frequently asked.</p>
diff --git a/modules/book/book.module b/modules/book/book.module
index 25b8204a708e264b00914d14672ca006a6a0919b..8fc2555b3e86aa1fc8b4fdd6cd2114ce7f50a3c6 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -792,7 +792,7 @@ function book_help($section) {
       <p>A book is simply a collection of nodes that have been linked together. These nodes are usually of type <em>book page</em>, but you can insert nodes of any type into a book outline. Every node in the book has a <em>parent</em> node which  \"contains\" it. This is how book.module establishes its hierarchy. At any given level in the hierarchy, a book can contain many nodes. All these sibling nodes are sorted according to the <em>weight</em> that you give them.</p>
       <p>Book pages contain a <em>log message</em> field which helps your users understand the motivation behind an edit of a book page. Each edited version of a book page is stored as a new revision of a node. This capability makes it easy to revert to an old version of a page, should that be desirable.</p>
       <p>Like other node types, book submissions and edits may be subject to moderation, depending on your configuration.  Similarly, books use <a href=\"%permissions\">permissions</a> to determine who may read and write to them. Only administrators are allowed to create new books, which are really just nodes whose parent is <em>&lt;top-level&gt;</em>.  To include an existing node in your book, click on the \"outline\"-tab on the node's page.  This enables you to place the node wherever you'd like within the book hierarchy. To add a new node into your book, use the <a href=\"%create\">create content &raquo; book page</a> link.</p>
-      <p>Administrators may review the hierarchy of their books by clicking on the <a href=\"%collaborative-book\">collaborative book</a> link in the adminstration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes.  These nodes are now <em>orphans</em>. Administrators should periodically <a href=\"%orphans-book\">review their books for orphans</a> and reaffiliate those pages as desired. Finally, administrators may also <a href=\"%export-book\">export their books</a> to a single, flat HTML page which is suitable for printing.</p>
+      <p>Administrators may review the hierarchy of their books by clicking on the <a href=\"%collaborative-book\">collaborative book</a> link in the administration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes.  These nodes are now <em>orphans</em>. Administrators should periodically <a href=\"%orphans-book\">review their books for orphans</a> and reaffiliate those pages as desired. Finally, administrators may also <a href=\"%export-book\">export their books</a> to a single, flat HTML page which is suitable for printing.</p>
       <h3>Maintaining a FAQ using a collaborative book</h3>
       <p>Collaborative books let you easily set up a Frequently Asked Questions (FAQ) section on your web site. The main benefit is that you don't have to write all the questions/answers by yourself - let the community do it for you!</p>
       <p>In order to set up the FAQ, you have to create a new book which will hold all your content. To do so, click on the <a href=\"%create\">create content &raquo; book page</a> link. Give it a thoughtful title, and body. A title like \"Estonia Travel - FAQ\" is nice. You may always edit these fields later. You will probably want to designate <em>&lt;top-level&gt;</em> as the parent of this page. Leave the <em>log message</em> and <em>type</em> fields blank for now. After you have submitted this book page, you are ready to begin filling up your book with questions that are frequently asked.</p>
diff --git a/modules/drupal.module b/modules/drupal.module
index a4da752087b3d7830f56a22f38c1a5a98340084c..8ad5395dd38ccb2d449ee53860c5666100b957a3 100644
--- a/modules/drupal.module
+++ b/modules/drupal.module
@@ -106,7 +106,7 @@ function drupal_directory_ping($arguments) {
 }
 
 /**
- * Formats a list of all sites indexed in the ddirectory.
+ * Formats a list of all sites indexed in the directory.
  *
  * This function may be called from a custom page on sites that are
  * Drupal directory servers.
diff --git a/modules/drupal/drupal.module b/modules/drupal/drupal.module
index a4da752087b3d7830f56a22f38c1a5a98340084c..8ad5395dd38ccb2d449ee53860c5666100b957a3 100644
--- a/modules/drupal/drupal.module
+++ b/modules/drupal/drupal.module
@@ -106,7 +106,7 @@ function drupal_directory_ping($arguments) {
 }
 
 /**
- * Formats a list of all sites indexed in the ddirectory.
+ * Formats a list of all sites indexed in the directory.
  *
  * This function may be called from a custom page on sites that are
  * Drupal directory servers.
diff --git a/modules/forum.module b/modules/forum.module
index 7845b673ed261570695b8824ac1ee6fd03a5394d..a6e8a02d06ca7e4f51d2c239999f8eb7b5281df3 100644
--- a/modules/forum.module
+++ b/modules/forum.module
@@ -14,7 +14,7 @@ function forum_help($section) {
     case 'admin/help#forum':
       return t("
       <h3>Creating a forum</h3>
-      <p>The forum module uses taxonomy to organize itself. To create a forum you first have to create a <a href=\"%taxonomy\">taxonomy vocabulary</a>. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, <a href=\"%taxo-terms\">add some terms</a> to it. Each term will become a forum. If you fill in the description field, users will be given additonal information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"</p>
+      <p>The forum module uses taxonomy to organize itself. To create a forum you first have to create a <a href=\"%taxonomy\">taxonomy vocabulary</a>. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, <a href=\"%taxo-terms\">add some terms</a> to it. Each term will become a forum. If you fill in the description field, users will be given additional information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"</p>
       <p>When you are happy with your vocabulary, go to <a href=\"%forums\">administer &raquo; settings &raquo; forum</a> and set <strong>Forum vocabulary</strong> to the one you have just created. There will now be fora active on the site. For users to access them they must have the \"access content\" <a href=\"%permission\">permission</a> and to create a topic they must have the \"create forum topics\" <a href=\"%permission\">permission</a>. These permissions can be set in the <a href=\"%permission\">permission</a> pages.</p>
       <h4>Icons</h4>
       <p>To disable icons, set the icon path as blank in <a href=\"%forums\">administer &raquo; settings &raquo; forum</a>.</p>
@@ -315,7 +315,7 @@ function forum_delete(&$node) {
 /**
  * Formats a topic for display
  *
- * @TODO Give a better description. Not sure where this funciton is used yet.
+ * @TODO Give a better description. Not sure where this function is used yet.
  */
 function _forum_format($topic) {
   if ($topic && $topic->timestamp) {
@@ -329,7 +329,7 @@ function _forum_format($topic) {
 /**
  * Returns a list of all forums for a given taxonomy id
  *
- * Forum objects containt the following fields
+ * Forum objects contain the following fields
  * -num_topics Number of topics in the forum
  * -num_posts Total number of posts in all topics
  * -last_post Most recent post for the forum
diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index 7845b673ed261570695b8824ac1ee6fd03a5394d..a6e8a02d06ca7e4f51d2c239999f8eb7b5281df3 100644
--- a/modules/forum/forum.module
+++ b/modules/forum/forum.module
@@ -14,7 +14,7 @@ function forum_help($section) {
     case 'admin/help#forum':
       return t("
       <h3>Creating a forum</h3>
-      <p>The forum module uses taxonomy to organize itself. To create a forum you first have to create a <a href=\"%taxonomy\">taxonomy vocabulary</a>. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, <a href=\"%taxo-terms\">add some terms</a> to it. Each term will become a forum. If you fill in the description field, users will be given additonal information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"</p>
+      <p>The forum module uses taxonomy to organize itself. To create a forum you first have to create a <a href=\"%taxonomy\">taxonomy vocabulary</a>. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, <a href=\"%taxo-terms\">add some terms</a> to it. Each term will become a forum. If you fill in the description field, users will be given additional information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"</p>
       <p>When you are happy with your vocabulary, go to <a href=\"%forums\">administer &raquo; settings &raquo; forum</a> and set <strong>Forum vocabulary</strong> to the one you have just created. There will now be fora active on the site. For users to access them they must have the \"access content\" <a href=\"%permission\">permission</a> and to create a topic they must have the \"create forum topics\" <a href=\"%permission\">permission</a>. These permissions can be set in the <a href=\"%permission\">permission</a> pages.</p>
       <h4>Icons</h4>
       <p>To disable icons, set the icon path as blank in <a href=\"%forums\">administer &raquo; settings &raquo; forum</a>.</p>
@@ -315,7 +315,7 @@ function forum_delete(&$node) {
 /**
  * Formats a topic for display
  *
- * @TODO Give a better description. Not sure where this funciton is used yet.
+ * @TODO Give a better description. Not sure where this function is used yet.
  */
 function _forum_format($topic) {
   if ($topic && $topic->timestamp) {
@@ -329,7 +329,7 @@ function _forum_format($topic) {
 /**
  * Returns a list of all forums for a given taxonomy id
  *
- * Forum objects containt the following fields
+ * Forum objects contain the following fields
  * -num_topics Number of topics in the forum
  * -num_posts Total number of posts in all topics
  * -last_post Most recent post for the forum
diff --git a/modules/help.module b/modules/help.module
index 7baff2a943e4017704dc1ef32cad58c780133dab..54625260c591c94eb9c908d1730983adfb2794d0 100644
--- a/modules/help.module
+++ b/modules/help.module
@@ -49,7 +49,7 @@ function help_main() {
   <dt>Approved</dt><dd>A moderated post which has been accepted by the moderators for publication. (See published).</dd>
   <dt>Waiting</dt><dd>A moderated post which is still being voted on to be accepted for publication. (See published.)</dd>
   <dt>Moderators</dt><dd>The group of Drupal users that reviews posts before they are published. These users have the \"access submission queue\" permission. (See Published).</dd></dl></dd>
-  <dt>Node</dt><dd>The basic data unit in Drupal. Everything is a node or an extention of a node.</dd>
+  <dt>Node</dt><dd>The basic data unit in Drupal. Everything is a node or an extension of a node.</dd>
   <dt>Public</dt><dd>See published.</dd>
   <dt>Published</dt><dd>A node that is viewable by everyone. (See unpublished.)</dd>
   <dt>Role</dt><dd>A classification users are placed into for the purpose of setting users' permissions.</dd>
diff --git a/modules/help/help.module b/modules/help/help.module
index 7baff2a943e4017704dc1ef32cad58c780133dab..54625260c591c94eb9c908d1730983adfb2794d0 100644
--- a/modules/help/help.module
+++ b/modules/help/help.module
@@ -49,7 +49,7 @@ function help_main() {
   <dt>Approved</dt><dd>A moderated post which has been accepted by the moderators for publication. (See published).</dd>
   <dt>Waiting</dt><dd>A moderated post which is still being voted on to be accepted for publication. (See published.)</dd>
   <dt>Moderators</dt><dd>The group of Drupal users that reviews posts before they are published. These users have the \"access submission queue\" permission. (See Published).</dd></dl></dd>
-  <dt>Node</dt><dd>The basic data unit in Drupal. Everything is a node or an extention of a node.</dd>
+  <dt>Node</dt><dd>The basic data unit in Drupal. Everything is a node or an extension of a node.</dd>
   <dt>Public</dt><dd>See published.</dd>
   <dt>Published</dt><dd>A node that is viewable by everyone. (See unpublished.)</dd>
   <dt>Role</dt><dd>A classification users are placed into for the purpose of setting users' permissions.</dd>
diff --git a/modules/locale.module b/modules/locale.module
index 319de1889a06c1ee21e6b0aab0aeeeb6ef435c03..a5920ea89d1e6c4222f587d8e63071506df245e0 100644
--- a/modules/locale.module
+++ b/modules/locale.module
@@ -30,14 +30,14 @@ function locale_help($section = "admin/help#locale") {
     case 'admin/locale/language/export':
       return t("<p>This page allows you to export Drupal strings. The first option is to export a translation so it can be shared. The second option is to generate a translation template, which contains all Drupal strings, but without their translations. You can use this template to start a new translation using a specialized desktop application.</p>");
     case 'admin/locale/string/search':
-      return t("<p>It is often more convinient to get the strings of your setup on the <a href=\"%export\">export page</a>, and start with a desktop Gettext translation editor though. Here you can search in the translated and untranslated strings, and the default English texts provided by Drupal.</p>", array("%export" => url("admin/locale/language/export")));
+      return t("<p>It is often more convenient to get the strings of your setup on the <a href=\"%export\">export page</a>, and start with a desktop Gettext translation editor though. Here you can search in the translated and untranslated strings, and the default English texts provided by Drupal.</p>", array("%export" => url("admin/locale/language/export")));
 
     case 'admin/help#locale':
       return t("
       <p>Most programs are written and documented in English, and primarily use English to interact with users. This is also true for a great deal of web sites. However, most people are less comfortable with English than with their native language, and would prefer to use their mother tongue as much as possible. Many people love to see their web site showing a lot less English, and far more of their own language. Therefore Drupal provides a framework to setup a multi-lingual web site, or to overwrite the default English texts.</p>
       <h3>How to interface translation works</h3>
       <p>Whenever Drupal encounters an interface string which needs to be displayed, it tries to translate it into the currently selected language. If a translation is not available, then the string is remembered, so you can look up untranslated strings easily.</p>
-      <p>Drupal provides two options to translate these strings. First is the integrated web interface, where you can search for untranslated strings, and specify their translations via simple web forms. An easier, and much less time consuming method is to import translations already done for your language. This is achieved by the use of GNU gettext Portable Object files. These are editable with quite convinient desktop editors specifically architected for supporting your work with GNU Gettext files. The import feature allows you to add strings from such files into the site database. The export functionality enables you to share your translations with others, generating Portable Object files from your site strings.");
+      <p>Drupal provides two options to translate these strings. First is the integrated web interface, where you can search for untranslated strings, and specify their translations via simple web forms. An easier, and much less time consuming method is to import translations already done for your language. This is achieved by the use of GNU gettext Portable Object files. These are editable with quite convenient desktop editors specifically architected for supporting your work with GNU Gettext files. The import feature allows you to add strings from such files into the site database. The export functionality enables you to share your translations with others, generating Portable Object files from your site strings.");
       break;
 
       // TODO: integrate a rewritten version of this help into the big help screen above
@@ -268,7 +268,7 @@ function locale_get_plural($count) {
 }
 
 // ---------------------------------------------------------------------------------
-// Language management functionality (admininstration only)
+// Language management functionality (administration only)
 
 /**
  * Page handler for the language management screen
@@ -367,7 +367,7 @@ function locale_admin_manage_add() {
 }
 
 // ---------------------------------------------------------------------------------
-// Gettext Portable Object import functionality (admininstration only)
+// Gettext Portable Object import functionality (administration only)
 
 /**
  * Page handler for the translation import screen
@@ -417,7 +417,7 @@ function locale_admin_export() {
 
 
 // ---------------------------------------------------------------------------------
-// String search and editing functionality (admininstration only)
+// String search and editing functionality (administration only)
 
 /**
  * Page handler for the string search and administration screen
diff --git a/modules/locale/locale.module b/modules/locale/locale.module
index 319de1889a06c1ee21e6b0aab0aeeeb6ef435c03..a5920ea89d1e6c4222f587d8e63071506df245e0 100644
--- a/modules/locale/locale.module
+++ b/modules/locale/locale.module
@@ -30,14 +30,14 @@ function locale_help($section = "admin/help#locale") {
     case 'admin/locale/language/export':
       return t("<p>This page allows you to export Drupal strings. The first option is to export a translation so it can be shared. The second option is to generate a translation template, which contains all Drupal strings, but without their translations. You can use this template to start a new translation using a specialized desktop application.</p>");
     case 'admin/locale/string/search':
-      return t("<p>It is often more convinient to get the strings of your setup on the <a href=\"%export\">export page</a>, and start with a desktop Gettext translation editor though. Here you can search in the translated and untranslated strings, and the default English texts provided by Drupal.</p>", array("%export" => url("admin/locale/language/export")));
+      return t("<p>It is often more convenient to get the strings of your setup on the <a href=\"%export\">export page</a>, and start with a desktop Gettext translation editor though. Here you can search in the translated and untranslated strings, and the default English texts provided by Drupal.</p>", array("%export" => url("admin/locale/language/export")));
 
     case 'admin/help#locale':
       return t("
       <p>Most programs are written and documented in English, and primarily use English to interact with users. This is also true for a great deal of web sites. However, most people are less comfortable with English than with their native language, and would prefer to use their mother tongue as much as possible. Many people love to see their web site showing a lot less English, and far more of their own language. Therefore Drupal provides a framework to setup a multi-lingual web site, or to overwrite the default English texts.</p>
       <h3>How to interface translation works</h3>
       <p>Whenever Drupal encounters an interface string which needs to be displayed, it tries to translate it into the currently selected language. If a translation is not available, then the string is remembered, so you can look up untranslated strings easily.</p>
-      <p>Drupal provides two options to translate these strings. First is the integrated web interface, where you can search for untranslated strings, and specify their translations via simple web forms. An easier, and much less time consuming method is to import translations already done for your language. This is achieved by the use of GNU gettext Portable Object files. These are editable with quite convinient desktop editors specifically architected for supporting your work with GNU Gettext files. The import feature allows you to add strings from such files into the site database. The export functionality enables you to share your translations with others, generating Portable Object files from your site strings.");
+      <p>Drupal provides two options to translate these strings. First is the integrated web interface, where you can search for untranslated strings, and specify their translations via simple web forms. An easier, and much less time consuming method is to import translations already done for your language. This is achieved by the use of GNU gettext Portable Object files. These are editable with quite convenient desktop editors specifically architected for supporting your work with GNU Gettext files. The import feature allows you to add strings from such files into the site database. The export functionality enables you to share your translations with others, generating Portable Object files from your site strings.");
       break;
 
       // TODO: integrate a rewritten version of this help into the big help screen above
@@ -268,7 +268,7 @@ function locale_get_plural($count) {
 }
 
 // ---------------------------------------------------------------------------------
-// Language management functionality (admininstration only)
+// Language management functionality (administration only)
 
 /**
  * Page handler for the language management screen
@@ -367,7 +367,7 @@ function locale_admin_manage_add() {
 }
 
 // ---------------------------------------------------------------------------------
-// Gettext Portable Object import functionality (admininstration only)
+// Gettext Portable Object import functionality (administration only)
 
 /**
  * Page handler for the translation import screen
@@ -417,7 +417,7 @@ function locale_admin_export() {
 
 
 // ---------------------------------------------------------------------------------
-// String search and editing functionality (admininstration only)
+// String search and editing functionality (administration only)
 
 /**
  * Page handler for the string search and administration screen
diff --git a/modules/node.module b/modules/node.module
index dc7598177c5ec8e4e01d6d847afa2879e80c64be..f0d881f726ad368353ef2d708a6d411024fe5d57 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -65,7 +65,7 @@ function node_cron() {
 }
 
 /**
- * Menu callback; presents node-specific imformation from "admin/help".
+ * Menu callback; presents node-specific information from "admin/help".
  */
 function node_help_page() {
   print theme('page', node_help('admin/help#node'));
@@ -496,7 +496,7 @@ function node_save($node) {
 function node_view($node, $teaser = FALSE, $page = FALSE) {
   $node = array2object($node);
 
-  // Remove the delimiter (if any) that seperates the teaser from the body.
+  // Remove the delimiter (if any) that separates the teaser from the body.
   // TODO: this strips legitimate uses of '<!--break-->' also.
   $node->body = str_replace('<!--break-->', '', $node->body);
 
@@ -567,7 +567,7 @@ function node_perm() {
  *
  * "select"'s value is used to relate the data from the specific nodes
  * table to the data that the search_index table has in it, and the the
- * do_search functino will rank it.
+ * do_search function will rank it.
  *
  * The select must always provide the following fields: lno, title,
  * created, uid, name, and count.
@@ -860,7 +860,7 @@ function node_revision_load($node, $revision) {
 function node_revision_create($node) {
   global $user;
 
-  // "Revision" is the name of the field used to indicicate that we have to
+  // "Revision" is the name of the field used to indicate that we have to
   // create a new revision of a node.
   if ($node->nid && $node->revision) {
     $prev = node_load(array('nid' => $node->nid));
@@ -1068,7 +1068,7 @@ function node_validate($node) {
     if (empty($node->name)) {
       // The use of empty() is mandatory in the context of usernames
       // as the empty string denotes the anonymous user.  In case we
-      // are dealing with an anomymous user we set the user ID to 0.
+      // are dealing with an anonymous user we set the user ID to 0.
       $node->uid = 0;
     }
     else if ($account = user_load(array('name' => $node->name))) {
@@ -1083,7 +1083,7 @@ function node_validate($node) {
       $node->created = strtotime($node->date);
     }
     else {
-      form_set_error('date', t('You have to specifiy a valid date.'));
+      form_set_error('date', t('You have to specify a valid date.'));
     }
   }
   else {
diff --git a/modules/node/node.module b/modules/node/node.module
index dc7598177c5ec8e4e01d6d847afa2879e80c64be..f0d881f726ad368353ef2d708a6d411024fe5d57 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -65,7 +65,7 @@ function node_cron() {
 }
 
 /**
- * Menu callback; presents node-specific imformation from "admin/help".
+ * Menu callback; presents node-specific information from "admin/help".
  */
 function node_help_page() {
   print theme('page', node_help('admin/help#node'));
@@ -496,7 +496,7 @@ function node_save($node) {
 function node_view($node, $teaser = FALSE, $page = FALSE) {
   $node = array2object($node);
 
-  // Remove the delimiter (if any) that seperates the teaser from the body.
+  // Remove the delimiter (if any) that separates the teaser from the body.
   // TODO: this strips legitimate uses of '<!--break-->' also.
   $node->body = str_replace('<!--break-->', '', $node->body);
 
@@ -567,7 +567,7 @@ function node_perm() {
  *
  * "select"'s value is used to relate the data from the specific nodes
  * table to the data that the search_index table has in it, and the the
- * do_search functino will rank it.
+ * do_search function will rank it.
  *
  * The select must always provide the following fields: lno, title,
  * created, uid, name, and count.
@@ -860,7 +860,7 @@ function node_revision_load($node, $revision) {
 function node_revision_create($node) {
   global $user;
 
-  // "Revision" is the name of the field used to indicicate that we have to
+  // "Revision" is the name of the field used to indicate that we have to
   // create a new revision of a node.
   if ($node->nid && $node->revision) {
     $prev = node_load(array('nid' => $node->nid));
@@ -1068,7 +1068,7 @@ function node_validate($node) {
     if (empty($node->name)) {
       // The use of empty() is mandatory in the context of usernames
       // as the empty string denotes the anonymous user.  In case we
-      // are dealing with an anomymous user we set the user ID to 0.
+      // are dealing with an anonymous user we set the user ID to 0.
       $node->uid = 0;
     }
     else if ($account = user_load(array('name' => $node->name))) {
@@ -1083,7 +1083,7 @@ function node_validate($node) {
       $node->created = strtotime($node->date);
     }
     else {
-      form_set_error('date', t('You have to specifiy a valid date.'));
+      form_set_error('date', t('You have to specify a valid date.'));
     }
   }
   else {
diff --git a/modules/user.module b/modules/user.module
index 50185acdbe50575a4c288b6892fff25fd228dce6..b7abead152af28f43b278cda6e2b8a8d6dc2462a 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -307,7 +307,7 @@ function user_access($string, $account = NULL) {
   global $user;
   static $perm = array();
 
-  // User #1 has all priveleges:
+  // User #1 has all privileges:
   if ($user->uid == 1) {
     return 1;
   }
@@ -340,7 +340,7 @@ function user_mail($mail, $subject, $message, $header) {
   else {
     /*
     ** Note: if you are having problems with sending mail, or mails look wrong
-    ** when they are recieved you may have to modify the str_replace to suit
+    ** when they are received you may have to modify the str_replace to suit
     ** your systems.
     **  - \r\n will work under dos and windows.
     **  - \n will work for linux, unix and BSDs.
diff --git a/modules/user/user.module b/modules/user/user.module
index 50185acdbe50575a4c288b6892fff25fd228dce6..b7abead152af28f43b278cda6e2b8a8d6dc2462a 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -307,7 +307,7 @@ function user_access($string, $account = NULL) {
   global $user;
   static $perm = array();
 
-  // User #1 has all priveleges:
+  // User #1 has all privileges:
   if ($user->uid == 1) {
     return 1;
   }
@@ -340,7 +340,7 @@ function user_mail($mail, $subject, $message, $header) {
   else {
     /*
     ** Note: if you are having problems with sending mail, or mails look wrong
-    ** when they are recieved you may have to modify the str_replace to suit
+    ** when they are received you may have to modify the str_replace to suit
     ** your systems.
     **  - \r\n will work under dos and windows.
     **  - \n will work for linux, unix and BSDs.
diff --git a/themes/engines/xtemplate/xtemplate.engine b/themes/engines/xtemplate/xtemplate.engine
index 14bd20a5582fd0327c2835b952ad846c9eb0a453..691b1e8d0bb3501094e742e60565193a81161902 100644
--- a/themes/engines/xtemplate/xtemplate.engine
+++ b/themes/engines/xtemplate/xtemplate.engine
@@ -14,7 +14,7 @@ function xtemplate_init($template) {
   }
   $GLOBALS["xtemplate"] = new StdClass();
   $GLOBALS['xtemplate']->template = new XTemplate(basename($template->filename), dirname($template->filename));
-  $GLOBALS['xtemplate']->template->SetNullBlock(' ');  // '' doesnt work!
+  $GLOBALS['xtemplate']->template->SetNullBlock(' ');  // '' doesn't work!
 }
 
 function xtemplate_templates($directory) {