From 9cff02e91b43dc978023d6cb35ab12ee8c613bf8 Mon Sep 17 00:00:00 2001
From: Neil Drumm <drumm@3064.no-reply.drupal.org>
Date: Sun, 7 May 2006 00:08:36 +0000
Subject: [PATCH] #61802 by Zen, Double spaced sentences clean up

---
 CHANGELOG.txt                                 |  6 ++--
 database/updates.inc                          |  4 +--
 includes/bootstrap.inc                        | 14 ++++----
 includes/common.inc                           | 16 ++++-----
 includes/file.inc                             |  4 +--
 includes/form.inc                             |  8 ++---
 includes/module.inc                           |  2 +-
 includes/session.inc                          |  6 ++--
 includes/theme.inc                            |  6 ++--
 modules/aggregator.module                     | 12 +++----
 modules/aggregator/aggregator.module          | 12 +++----
 modules/archive.module                        |  4 +--
 modules/archive/archive.module                |  4 +--
 modules/block.module                          |  4 +--
 modules/block/block.module                    |  4 +--
 modules/blog.module                           |  6 ++--
 modules/blog/blog.module                      |  6 ++--
 modules/blogapi.module                        |  2 +-
 modules/blogapi/blogapi.module                |  2 +-
 modules/book.module                           | 34 +++++++++----------
 modules/book/book.module                      | 34 +++++++++----------
 modules/comment.module                        | 30 ++++++++--------
 modules/comment/comment.module                | 30 ++++++++--------
 modules/filter.module                         |  6 ++--
 modules/filter/filter.module                  |  6 ++--
 modules/forum.module                          |  2 +-
 modules/forum/forum.module                    |  2 +-
 modules/help.module                           |  2 +-
 modules/help/help.module                      |  2 +-
 modules/legacy.module                         |  6 ++--
 modules/legacy/legacy.module                  |  6 ++--
 modules/locale.module                         | 10 +++---
 modules/locale/locale.module                  | 10 +++---
 modules/menu.module                           |  2 +-
 modules/menu/menu.module                      |  2 +-
 modules/node.module                           |  8 ++---
 modules/node/node.module                      |  8 ++---
 modules/page.module                           |  8 ++---
 modules/page/page.module                      |  8 ++---
 modules/path.module                           | 14 ++++----
 modules/path/path.module                      | 14 ++++----
 modules/ping.module                           |  2 +-
 modules/ping/ping.module                      |  2 +-
 modules/poll.module                           |  2 +-
 modules/poll/poll.module                      |  2 +-
 modules/search.module                         |  4 +--
 modules/search/search.module                  |  4 +--
 modules/statistics.module                     |  4 +--
 modules/statistics/statistics.module          |  4 +--
 modules/story.module                          |  2 +-
 modules/story/story.module                    |  2 +-
 modules/system.module                         | 32 ++++++++---------
 modules/system/system.module                  | 32 ++++++++---------
 modules/taxonomy.module                       |  8 ++---
 modules/taxonomy/taxonomy.module              |  8 ++---
 modules/throttle.module                       | 20 +++++------
 modules/throttle/throttle.module              | 20 +++++------
 modules/tracker.module                        |  4 +--
 modules/tracker/tracker.module                |  4 +--
 modules/upload.module                         |  4 +--
 modules/upload/upload.module                  |  4 +--
 modules/user.module                           | 22 ++++++------
 modules/user/user.module                      | 22 ++++++------
 modules/watchdog.module                       |  4 +--
 modules/watchdog/watchdog.module              |  4 +--
 sites/default/settings.php                    |  2 +-
 themes/engines/phptemplate/phptemplate.engine |  2 +-
 update.php                                    |  4 +--
 68 files changed, 295 insertions(+), 295 deletions(-)

diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index fbaa6e00d970..1de9ad1ca6e1 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -431,9 +431,9 @@ Drupal 3.0.0, 2001-09-15
 - rewrote headline code and renamed it to import.module and export.module:
     * added various improvements, including a better parser, bundles and better control over individual feeds.
 - rewrote section code and renamed it to meta.module:
-    * supports unlimited amount of nested topics.  Topics can be nested to create a multi-level hierarchy.
+    * supports unlimited amount of nested topics. Topics can be nested to create a multi-level hierarchy.
 - rewrote configuration file resolving:
-    * Drupal tries to locate a configuration file that matches your domain name or uses conf.php if the former failed.  Note also that the configuration files got renamed from .conf to .php for security's sake on mal-configured Drupal sites.
+    * Drupal tries to locate a configuration file that matches your domain name or uses conf.php if the former failed. Note also that the configuration files got renamed from .conf to .php for security's sake on mal-configured Drupal sites.
 - added caching support which makes Drupal extremely scalable.
 - added access.module:
     * allows you to setup 'roles' (groups) and to bind a set of permissions to each group.
@@ -499,7 +499,7 @@ Drupal 2.0.0, 2001-03-15
 - added translation / localization / internationalization support:
     * because many people would love to see their website showing a lot less of English, and far more of their own language, Drupal provides a framework to setup a multi-lingual website or to overwrite the default English text in English.
 - added fine-grained user permission (or group) system:
-    * users can be granted access to specific administration sections.  Example: a FAQ maintainer can be given access to maintain the FAQ and translators can be given access to the translation pages.
+    * users can be granted access to specific administration sections. Example: a FAQ maintainer can be given access to maintain the FAQ and translators can be given access to the translation pages.
 - added FAQ module
 - changed the "open submission queue" into a (optional) module.
 - various updates:
diff --git a/database/updates.inc b/database/updates.inc
index df676513c453..83b23aff38ab 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -288,7 +288,7 @@ function system_update_119() {
 function system_update_120() {
   $ret = array();
 
-  // Rewrite old URL aliases.  Works for both PostgreSQL and MySQL
+  // Rewrite old URL aliases. Works for both PostgreSQL and MySQL
   $result = db_query("SELECT pid, src FROM {url_alias} WHERE src LIKE 'blog/%%'");
   while ($alias = db_fetch_object($result)) {
     list(, $page, $op, $uid) = explode('/', $alias->src);
@@ -992,7 +992,7 @@ function system_update_151() {
     }
 
     // Set menu_primary_menu and menu_primary_menu variables if links were
-    // imported.  If the user had links but the toggle display was off, they
+    // imported. If the user had links but the toggle display was off, they
     // will need to disable the new links manually in admins/settings/menu.
     if ($num_inserted == 0) {
       variable_set($menus[$loop]['menu_var'], 0);
diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 413c863e9ad7..3db7d9fadc27 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -27,7 +27,7 @@
 define('DRUPAL_AUTHENTICATED_RID', 2);
 
 /**
- * Start the timer with the specified name.  If you start and stop
+ * Start the timer with the specified name. If you start and stop
  * the same timer multiple times, the measured intervals will be
  * accumulated.
  *
@@ -66,7 +66,7 @@ function timer_read($name) {
  * @param name
  *   The name of the timer.
  * @return
- *   A timer array.  The array contains the number of times the
+ *   A timer array. The array contains the number of times the
  *   timer has been started and stopped (count) and the accumulated
  *   timer value in ms (time).
  */
@@ -180,7 +180,7 @@ function conf_init() {
 
 /**
  * Returns and optionally sets the filename for a system item (module,
- * theme, etc.).  The filename, whether provided, cached, or retrieved
+ * theme, etc.). The filename, whether provided, cached, or retrieved
  * from the database, is only returned if the file exists.
  *
  * @param $type
@@ -333,7 +333,7 @@ function cache_get($key) {
     // If enforcing a minimum cache lifetime, validate that the data is
     // currently valid for this user before we return it by making sure the
     // cache entry was created before the timestamp in the current session's
-    // cache timer.  The cache variable is loaded into the $user object by
+    // cache timer. The cache variable is loaded into the $user object by
     // sess_read() in session.inc.
     else {
       if ($user->cache > $cache->created) {
@@ -393,7 +393,7 @@ function cache_clear_all($cid = NULL, $wildcard = false) {
   if (empty($cid)) {
     if (variable_get('cache_lifetime', 0)) {
       // We store the time in the current user's $user->cache variable which
-      // will be saved into the sessions table by sess_write().  We then
+      // will be saved into the sessions table by sess_write(). We then
       // simulate that the cache was flushed for this user by not returning
       // cached data that was cached before the timestamp.
       $user->cache = time();
@@ -463,7 +463,7 @@ function bootstrap_invoke_all($hook) {
 }
 
 /**
- * Includes a file with the provided type and name.  This prevents
+ * Includes a file with the provided type and name. This prevents
  * including a theme, engine, module, etc., more than once.
  *
  * @param $type
@@ -535,7 +535,7 @@ function drupal_page_header() {
         header('Content-Encoding: gzip');
       }
 
-      // Send the original request's headers.  We send them one after
+      // Send the original request's headers. We send them one after
       // another so PHP's header() function can deal with duplicate
       // headers.
       $headers = explode("\n", $cache->headers);
diff --git a/includes/common.inc b/includes/common.inc
index ac500e2c37b6..4a6447cef6b3 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -46,7 +46,7 @@ function drupal_set_content($region = null, $data = null) {
  * Get assigned content.
  *
  * @param $region
- *   A specified region to fetch content for.  If null, all regions will be returned.
+ *   A specified region to fetch content for. If null, all regions will be returned.
  *
  * @param $delimiter
  *   Content to be inserted between exploded array elements.
@@ -198,7 +198,7 @@ function drupal_query_string_encode($query, $exclude = array(), $parent = '') {
  * drupal_goto(). Used to direct the user back to the referring page
  * after completing a form. By default the current URL is returned.
  * If a destination exists in the previous request, that destination
- * is returned.  As such, a destination can persist across multiple
+ * is returned. As such, a destination can persist across multiple
  * pages.
  *
  * @see drupal_goto()
@@ -225,13 +225,13 @@ function drupal_get_destination() {
  * URL is formatted correctly.
  *
  * Usually the redirected URL is constructed from this function's input
- * parameters.  However you may override that behavior by setting a
+ * parameters. However you may override that behavior by setting a
  * <em>destination</em> in either the $_REQUEST-array (i.e. by using
  * the query string of an URI) or the $_REQUEST['edit']-array (i.e. by
- * using a hidden form field).  This is used to direct the user back to
- * the proper page after completing a form.  For example, after editing
+ * using a hidden form field). This is used to direct the user back to
+ * the proper page after completing a form. For example, after editing
  * a post on the 'admin/node'-page or after having logged on using the
- * 'user login'-block in a sidebar.  The function drupal_get_destination()
+ * 'user login'-block in a sidebar. The function drupal_get_destination()
  * can be used to help set the destination URL.
  *
  * It is advised to use drupal_goto() instead of PHP's header(), because
@@ -675,7 +675,7 @@ function flood_register_event($name) {
  * @param $number
  *   The maximum number of the specified event per hour (per visitor).
  * @return
- *   True if the user did not exceed the hourly threshold.  False otherwise.
+ *   True if the user did not exceed the hourly threshold. False otherwise.
  */
 function flood_is_allowed($name, $threshold) {
   $number = db_num_rows(db_query("SELECT event FROM {flood} WHERE event = '%s' AND hostname = '%s' AND timestamp > %d", $name, $_SERVER['REMOTE_ADDR'], time() - 3600));
@@ -981,7 +981,7 @@ function url($path = NULL, $query = NULL, $fragment = NULL, $absolute = FALSE) {
   static $clean_url;
 
   if (empty($script)) {
-    // On some web servers, such as IIS, we can't omit "index.php".  So, we
+    // On some web servers, such as IIS, we can't omit "index.php". So, we
     // generate "index.php?q=foo" instead of "?q=foo" on anything that is not
     // Apache.
     $script = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') === false) ? 'index.php' : '';
diff --git a/includes/file.inc b/includes/file.inc
index 196d6c172cea..51012e45fa77 100644
--- a/includes/file.inc
+++ b/includes/file.inc
@@ -322,7 +322,7 @@ function file_copy(&$source, $dest = 0, $replace = FILE_EXISTS_RENAME) {
 
   $source = realpath($source);
   if (!file_exists($source)) {
-    drupal_set_message(t('The selected file %file could not be copied, because no file by that name exists.  Please check that you supplied the correct filename.', array('%file' => theme('placeholder', $source))), 'error');
+    drupal_set_message(t('The selected file %file could not be copied, because no file by that name exists. Please check that you supplied the correct filename.', array('%file' => theme('placeholder', $source))), 'error');
     return 0;
   }
 
@@ -605,7 +605,7 @@ function file_download() {
  *   When TRUE, the directory scan will recurse the entire tree
  *   starting at the provided directory.
  * @param $key
- *   The key to be used for the returned array of files.  Possible
+ *   The key to be used for the returned array of files. Possible
  *   values are "filename", for the path starting with $dir,
  *   "basename", for the basename of the file, and "name" for the name
  *   of the file without an extension.
diff --git a/includes/form.inc b/includes/form.inc
index 92d25f4cc68d..5e0a3a12c56e 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -50,7 +50,7 @@ function element_children($element) {
  *
  * @param $form_id
  *   A unique string identifying the form. Allows each form to be
- *   themed.  Pass NULL to suppress the form_id parameter (produces
+ *   themed. Pass NULL to suppress the form_id parameter (produces
  *   a shorter URL with method=get)
  * @param $form
  *   An associative array containing the structure of the form.
@@ -169,7 +169,7 @@ function drupal_validate_form($form_id, $form, $callback = NULL) {
   if (isset($form['#token'])) {
     if ($form_values['form_token'] != md5(session_id() . $form['#token'] . variable_get('drupal_private_key', ''))) {
       // setting this error will cause the form to fail validation
-      form_set_error('form_token', t('Validation error, please try again.  If this error persists, please contact the site administrator.'));
+      form_set_error('form_token', t('Validation error, please try again. If this error persists, please contact the site administrator.'));
     }
   }
 
@@ -482,7 +482,7 @@ function _form_set_value(&$form_values, $form, $parents, $value) {
 /**
  * Renders a HTML form given a form tree. Recursively iterates over each of
  * the form elements, generating HTML code. This function is usually
- * called from within a theme.  To render a form from within a module, use
+ * called from within a theme. To render a form from within a module, use
  * drupal_get_form().
  *
  * @param $elements
@@ -1013,7 +1013,7 @@ function theme_textfield($element) {
 function theme_form($element) {
   // Anonymous div to satisfy XHTML compliance.
   $action = $element['#action'] ? 'action="' . check_url($element['#action']) . '" ' : '';
-  return '<form '. $action . ' method="'. $element['#method'] .'" '. 'id="'. $element['#id'] .'"'.  drupal_attributes($element['#attributes']) .">\n<div>". $element['#children'] ."\n</div></form>\n";
+  return '<form '. $action . ' method="'. $element['#method'] .'" '. 'id="'. $element['#id'] .'"'. drupal_attributes($element['#attributes']) .">\n<div>". $element['#children'] ."\n</div></form>\n";
 }
 
 /**
diff --git a/includes/module.inc b/includes/module.inc
index 3e05d62a2cca..5cf5fc4641f4 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -155,7 +155,7 @@ function module_implements($hook, $sort = FALSE) {
     }
   }
 
-  // The explicit cast forces a copy to be made.  This is needed because
+  // The explicit cast forces a copy to be made. This is needed because
   // $implementations[$hook] is only a reference to an element of
   // $implementations and if there are nested foreaches (due to nested node
   // API calls, for example), they would both manipulate the same array's
diff --git a/includes/session.inc b/includes/session.inc
index bd25ed69bb88..160376d84140 100644
--- a/includes/session.inc
+++ b/includes/session.inc
@@ -53,7 +53,7 @@ function sess_write($key, $value) {
   $result = db_query("SELECT sid FROM {sessions} WHERE sid = '%s'", $key);
 
   if (!db_num_rows($result)) {
-    // Only save session data when when the browser sends a cookie.  This keeps
+    // Only save session data when when the browser sends a cookie. This keeps
     // crawlers out of session table. This improves speed up queries, reduces
     // memory, and gives more useful statistics. We can't eliminate anonymous
     // session table rows without breaking throttle module and "Who's Online"
@@ -80,9 +80,9 @@ function sess_destroy($key) {
 
 function sess_gc($lifetime) {
   // Be sure to adjust 'php_value session.gc_maxlifetime' to a large enough
-  // value.  For example, if you want user sessions to stay in your database
+  // value. For example, if you want user sessions to stay in your database
   // for three weeks before deleting them, you need to set gc_maxlifetime
-  // to '1814400'.  At that value, only after a user doesn't log in after
+  // to '1814400'. At that value, only after a user doesn't log in after
   // three weeks (1814400 seconds) will his/her session be removed.
   db_query("DELETE FROM {sessions} WHERE timestamp < %d", time() - $lifetime);
 
diff --git a/includes/theme.inc b/includes/theme.inc
index 91996d2b8bc0..19e0f4b716f7 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -179,7 +179,7 @@ function theme_get_function($function) {
   global $theme, $theme_engine;
 
   // Because theme() is called a lot, calling init_theme() only to have it
-  // smartly return is a noticeable performance hit.   Don't do it.
+  // smartly return is a noticeable performance hit. Don't do it.
   if (!isset($theme)) {
     init_theme();
   }
@@ -454,7 +454,7 @@ function theme_maintenance_page($content, $messages = TRUE, $partial = FALSE) {
 }
 
 /**
- * Returns themed set of status and/or error messages.  The messages are grouped
+ * Returns themed set of status and/or error messages. The messages are grouped
  * by type.
  *
  * @return
@@ -725,7 +725,7 @@ function theme_table($header, $rows, $attributes = array(), $caption = NULL) {
  * Return a themed sort icon.
  *
  * @param $style
- *   Set to either asc or desc.  This sets which icon to show.
+ *   Set to either asc or desc. This sets which icon to show.
  * @return
  *   A themed sort icon.
  */
diff --git a/modules/aggregator.module b/modules/aggregator.module
index abe593497664..21ea91e06307 100644
--- a/modules/aggregator.module
+++ b/modules/aggregator.module
@@ -210,7 +210,7 @@ function aggregator_settings() {
   $form['aggregator_clear'] = array(
     '#type' => 'select', '#title' => t('Discard news items older than'),
     '#default_value' => variable_get('aggregator_clear', 9676800), '#options' => $period,
-    '#description' => t('Older news items will be automatically discarded.  Requires crontab.')
+    '#description' => t('Older news items will be automatically discarded. Requires crontab.')
   );
 
   $form['aggregator_category_selector'] = array(
@@ -823,7 +823,7 @@ function aggregator_parse_feed(&$data, $feed) {
 
   /*
   ** We reverse the array such that we store the first item last,
-  ** and the last item first.  In the database, the newest item
+  ** and the last item first. In the database, the newest item
   ** should be at the top.
   */
 
@@ -838,7 +838,7 @@ function aggregator_parse_feed(&$data, $feed) {
     }
 
     /*
-    ** Resolve the item's title.  If no title is found, we use
+    ** Resolve the item's title. If no title is found, we use
     ** up to 40 characters of the description ending at a word
     ** boundary but not splitting potential entities.
     */
@@ -875,7 +875,7 @@ function aggregator_parse_feed(&$data, $feed) {
     }
 
     /*
-    ** Try to resolve and parse the item's publication date.  If no
+    ** Try to resolve and parse the item's publication date. If no
     ** date is found, we use the current date instead.
     */
 
@@ -898,8 +898,8 @@ function aggregator_parse_feed(&$data, $feed) {
     }
 
     /*
-    ** Save this item.  Try to avoid duplicate entries as much as
-    ** possible.  If we find a duplicate entry, we resolve it and
+    ** Save this item. Try to avoid duplicate entries as much as
+    ** possible. If we find a duplicate entry, we resolve it and
     ** pass along it's ID such that we can update it if needed.
     */
 
diff --git a/modules/aggregator/aggregator.module b/modules/aggregator/aggregator.module
index abe593497664..21ea91e06307 100644
--- a/modules/aggregator/aggregator.module
+++ b/modules/aggregator/aggregator.module
@@ -210,7 +210,7 @@ function aggregator_settings() {
   $form['aggregator_clear'] = array(
     '#type' => 'select', '#title' => t('Discard news items older than'),
     '#default_value' => variable_get('aggregator_clear', 9676800), '#options' => $period,
-    '#description' => t('Older news items will be automatically discarded.  Requires crontab.')
+    '#description' => t('Older news items will be automatically discarded. Requires crontab.')
   );
 
   $form['aggregator_category_selector'] = array(
@@ -823,7 +823,7 @@ function aggregator_parse_feed(&$data, $feed) {
 
   /*
   ** We reverse the array such that we store the first item last,
-  ** and the last item first.  In the database, the newest item
+  ** and the last item first. In the database, the newest item
   ** should be at the top.
   */
 
@@ -838,7 +838,7 @@ function aggregator_parse_feed(&$data, $feed) {
     }
 
     /*
-    ** Resolve the item's title.  If no title is found, we use
+    ** Resolve the item's title. If no title is found, we use
     ** up to 40 characters of the description ending at a word
     ** boundary but not splitting potential entities.
     */
@@ -875,7 +875,7 @@ function aggregator_parse_feed(&$data, $feed) {
     }
 
     /*
-    ** Try to resolve and parse the item's publication date.  If no
+    ** Try to resolve and parse the item's publication date. If no
     ** date is found, we use the current date instead.
     */
 
@@ -898,8 +898,8 @@ function aggregator_parse_feed(&$data, $feed) {
     }
 
     /*
-    ** Save this item.  Try to avoid duplicate entries as much as
-    ** possible.  If we find a duplicate entry, we resolve it and
+    ** Save this item. Try to avoid duplicate entries as much as
+    ** possible. If we find a duplicate entry, we resolve it and
     ** pass along it's ID such that we can update it if needed.
     */
 
diff --git a/modules/archive.module b/modules/archive.module
index 46f49953db61..93a09b5c0136 100644
--- a/modules/archive.module
+++ b/modules/archive.module
@@ -12,8 +12,8 @@
 function archive_help($section) {
   switch ($section) {
     case 'admin/help#archive':
-      $output = '<p>'. t('The archive page allows content to be viewed by date.  It also provides a monthly calendar view that users can use to navigate through content.') .'</p>';
-      $output .= '<p>'. t('To view the archive by date, select the date in the calendar.  Administrators can enable the <em>browse archives</em> block in block administration to allow users to browse by calendar.  Clicking on a date in the monthly calendar view shows the content for that date.  Users can navigate to different months using arrows beside the month\'s name in the calendar display.   The current date will be highlighted in the calendar.') .'</p>';
+      $output = '<p>'. t('The archive page allows content to be viewed by date. It also provides a monthly calendar view that users can use to navigate through content.') .'</p>';
+      $output .= '<p>'. t('To view the archive by date, select the date in the calendar. Administrators can enable the <em>browse archives</em> block in block administration to allow users to browse by calendar. Clicking on a date in the monthly calendar view shows the content for that date. Users can navigate to different months using arrows beside the month\'s name in the calendar display. The current date will be highlighted in the calendar.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>view your <a href="%archive">archive by day</a>.</li>
diff --git a/modules/archive/archive.module b/modules/archive/archive.module
index 46f49953db61..93a09b5c0136 100644
--- a/modules/archive/archive.module
+++ b/modules/archive/archive.module
@@ -12,8 +12,8 @@
 function archive_help($section) {
   switch ($section) {
     case 'admin/help#archive':
-      $output = '<p>'. t('The archive page allows content to be viewed by date.  It also provides a monthly calendar view that users can use to navigate through content.') .'</p>';
-      $output .= '<p>'. t('To view the archive by date, select the date in the calendar.  Administrators can enable the <em>browse archives</em> block in block administration to allow users to browse by calendar.  Clicking on a date in the monthly calendar view shows the content for that date.  Users can navigate to different months using arrows beside the month\'s name in the calendar display.   The current date will be highlighted in the calendar.') .'</p>';
+      $output = '<p>'. t('The archive page allows content to be viewed by date. It also provides a monthly calendar view that users can use to navigate through content.') .'</p>';
+      $output .= '<p>'. t('To view the archive by date, select the date in the calendar. Administrators can enable the <em>browse archives</em> block in block administration to allow users to browse by calendar. Clicking on a date in the monthly calendar view shows the content for that date. Users can navigate to different months using arrows beside the month\'s name in the calendar display. The current date will be highlighted in the calendar.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>view your <a href="%archive">archive by day</a>.</li>
diff --git a/modules/block.module b/modules/block.module
index af5b5f46095c..4375f6daca8e 100644
--- a/modules/block.module
+++ b/modules/block.module
@@ -25,7 +25,7 @@ function block_help($section) {
 </ul>
 ');
       $output .= '<h3>'. t('Module blocks') .'</h3>';
-      $output .= '<p>'. t('Module blocks are available when modules are enabled.  These blocks can be administered in block administration.') .'</p>';
+      $output .= '<p>'. t('Module blocks are available when modules are enabled. These blocks can be administered in block administration.') .'</p>';
       $output .= '<h3>'. t('Administrator defined blocks') .'</h3>';
       $output .= '<p>'. t('An administrator defined block contains content supplied by the administrator. Each admin-defined block consists of a title, a description, and a body which can be as long as you wish. The Drupal engine will render the content of the block.') .'</p>';
       $output .= t('<p>You can</p>
@@ -41,7 +41,7 @@ function block_help($section) {
     case 'admin/block':
       return t("
 <p>Blocks are content rendered into regions, often boxes in the left and right side bars of the web site. They are made available by modules or created manually.</p>
-<p>Only enabled blocks are shown. You can position the blocks by deciding which area of the page they will show up on (e.g., a sidebar) and in which order they appear (weight).  Highlighting on this page shows the regions where content will be rendered.</p>
+<p>Only enabled blocks are shown. You can position the blocks by deciding which area of the page they will show up on (e.g., a sidebar) and in which order they appear (weight). Highlighting on this page shows the regions where content will be rendered.</p>
 <p>If you want certain blocks to disable themselves temporarily during high server loads, check the 'Throttle' box. You can configure the auto-throttle on the <a href=\"%throttle\">throttle configuration page</a> after having enabled the throttle module.</p>
 ", array('%throttle' => url('admin/settings/throttle')));
     case 'admin/block/add':
diff --git a/modules/block/block.module b/modules/block/block.module
index af5b5f46095c..4375f6daca8e 100644
--- a/modules/block/block.module
+++ b/modules/block/block.module
@@ -25,7 +25,7 @@ function block_help($section) {
 </ul>
 ');
       $output .= '<h3>'. t('Module blocks') .'</h3>';
-      $output .= '<p>'. t('Module blocks are available when modules are enabled.  These blocks can be administered in block administration.') .'</p>';
+      $output .= '<p>'. t('Module blocks are available when modules are enabled. These blocks can be administered in block administration.') .'</p>';
       $output .= '<h3>'. t('Administrator defined blocks') .'</h3>';
       $output .= '<p>'. t('An administrator defined block contains content supplied by the administrator. Each admin-defined block consists of a title, a description, and a body which can be as long as you wish. The Drupal engine will render the content of the block.') .'</p>';
       $output .= t('<p>You can</p>
@@ -41,7 +41,7 @@ function block_help($section) {
     case 'admin/block':
       return t("
 <p>Blocks are content rendered into regions, often boxes in the left and right side bars of the web site. They are made available by modules or created manually.</p>
-<p>Only enabled blocks are shown. You can position the blocks by deciding which area of the page they will show up on (e.g., a sidebar) and in which order they appear (weight).  Highlighting on this page shows the regions where content will be rendered.</p>
+<p>Only enabled blocks are shown. You can position the blocks by deciding which area of the page they will show up on (e.g., a sidebar) and in which order they appear (weight). Highlighting on this page shows the regions where content will be rendered.</p>
 <p>If you want certain blocks to disable themselves temporarily during high server loads, check the 'Throttle' box. You can configure the auto-throttle on the <a href=\"%throttle\">throttle configuration page</a> after having enabled the throttle module.</p>
 ", array('%throttle' => url('admin/settings/throttle')));
     case 'admin/block/add':
diff --git a/modules/blog.module b/modules/blog.module
index 43f143078024..b59d7bc7d9e8 100644
--- a/modules/blog.module
+++ b/modules/blog.module
@@ -56,8 +56,8 @@ function blog_user($type, &$edit, &$user) {
 function blog_help($section) {
   switch ($section) {
     case 'admin/help#blog':
-      $output = '<p>'. t('The blog module allows registered users to maintain an online weblog (commonly known as a blog), often referred to as an online journal or diary.  Blogs are made up of individual posts that are time stamped and are typically viewed by date as you would a diary. Blogs often contain links to webpages users have read and/or agree/disagree with.') .'</p>';
-      $output .= '<p>'. t('The blog module adds a <em>user blogs</em> navigation link to the site, which takes any visitor to a page that displays the most recent blog entries from all the users on the site. The navigation menu has a <em>create a blog entry</em> link (which takes you to a submission form) and a <em>view personal blog</em> link (which displays your blog entries as other people will see them).  The blog module also creates a <em>recent blog posts</em> block that can be enabled.') .'</p>';
+      $output = '<p>'. t('The blog module allows registered users to maintain an online weblog (commonly known as a blog), often referred to as an online journal or diary. Blogs are made up of individual posts that are time stamped and are typically viewed by date as you would a diary. Blogs often contain links to webpages users have read and/or agree/disagree with.') .'</p>';
+      $output .= '<p>'. t('The blog module adds a <em>user blogs</em> navigation link to the site, which takes any visitor to a page that displays the most recent blog entries from all the users on the site. The navigation menu has a <em>create a blog entry</em> link (which takes you to a submission form) and a <em>view personal blog</em> link (which displays your blog entries as other people will see them). The blog module also creates a <em>recent blog posts</em> block that can be enabled.') .'</p>';
       $output .= '<p>'. t('If a user has the ability to post blogs, then the import module (news aggregator) will display a blog-it link next to each news item in its lists. Clicking on this takes the user to the blog submission form, with the title, a link to the item, and a link to the source into the body text already in the text box, ready for the user to add a comment or explanation. This actively encourages people to add blog entries about things they see and hear elsewhere in the website and from your syndicated partner sites.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -73,7 +73,7 @@ function blog_help($section) {
     case 'admin/modules#description':
       return t('Enables keeping an easily and regularly updated web page or a blog.');
     case 'node/add#blog':
-      return t("A blog is a regularly updated journal or diary made up of individual posts shown in reversed chronological order.  A blog is tightly coupled to the author so each user will have his 'own' blog.");
+      return t("A blog is a regularly updated journal or diary made up of individual posts shown in reversed chronological order. A blog is tightly coupled to the author so each user will have his 'own' blog.");
   }
 }
 
diff --git a/modules/blog/blog.module b/modules/blog/blog.module
index 43f143078024..b59d7bc7d9e8 100644
--- a/modules/blog/blog.module
+++ b/modules/blog/blog.module
@@ -56,8 +56,8 @@ function blog_user($type, &$edit, &$user) {
 function blog_help($section) {
   switch ($section) {
     case 'admin/help#blog':
-      $output = '<p>'. t('The blog module allows registered users to maintain an online weblog (commonly known as a blog), often referred to as an online journal or diary.  Blogs are made up of individual posts that are time stamped and are typically viewed by date as you would a diary. Blogs often contain links to webpages users have read and/or agree/disagree with.') .'</p>';
-      $output .= '<p>'. t('The blog module adds a <em>user blogs</em> navigation link to the site, which takes any visitor to a page that displays the most recent blog entries from all the users on the site. The navigation menu has a <em>create a blog entry</em> link (which takes you to a submission form) and a <em>view personal blog</em> link (which displays your blog entries as other people will see them).  The blog module also creates a <em>recent blog posts</em> block that can be enabled.') .'</p>';
+      $output = '<p>'. t('The blog module allows registered users to maintain an online weblog (commonly known as a blog), often referred to as an online journal or diary. Blogs are made up of individual posts that are time stamped and are typically viewed by date as you would a diary. Blogs often contain links to webpages users have read and/or agree/disagree with.') .'</p>';
+      $output .= '<p>'. t('The blog module adds a <em>user blogs</em> navigation link to the site, which takes any visitor to a page that displays the most recent blog entries from all the users on the site. The navigation menu has a <em>create a blog entry</em> link (which takes you to a submission form) and a <em>view personal blog</em> link (which displays your blog entries as other people will see them). The blog module also creates a <em>recent blog posts</em> block that can be enabled.') .'</p>';
       $output .= '<p>'. t('If a user has the ability to post blogs, then the import module (news aggregator) will display a blog-it link next to each news item in its lists. Clicking on this takes the user to the blog submission form, with the title, a link to the item, and a link to the source into the body text already in the text box, ready for the user to add a comment or explanation. This actively encourages people to add blog entries about things they see and hear elsewhere in the website and from your syndicated partner sites.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -73,7 +73,7 @@ function blog_help($section) {
     case 'admin/modules#description':
       return t('Enables keeping an easily and regularly updated web page or a blog.');
     case 'node/add#blog':
-      return t("A blog is a regularly updated journal or diary made up of individual posts shown in reversed chronological order.  A blog is tightly coupled to the author so each user will have his 'own' blog.");
+      return t("A blog is a regularly updated journal or diary made up of individual posts shown in reversed chronological order. A blog is tightly coupled to the author so each user will have his 'own' blog.");
   }
 }
 
diff --git a/modules/blogapi.module b/modules/blogapi.module
index 5f2a13ba4cbc..3818248582d8 100644
--- a/modules/blogapi.module
+++ b/modules/blogapi.module
@@ -12,7 +12,7 @@
 function blogapi_help($section) {
   switch ($section) {
     case 'admin/help#blogapi':
-      $output = '<p>'. t('The blog API module enables a post to be posted to a site via external GUI applications.  Many users prefer to use external tools to improve their ability to read and post responses in a customized way.   The blog api provides users the freedom to use the blogging tools they want but still have the blogging server of choice.') .'</p>';
+      $output = '<p>'. t('The blog API module enables a post to be posted to a site via external GUI applications. Many users prefer to use external tools to improve their ability to read and post responses in a customized way. The blog api provides users the freedom to use the blogging tools they want but still have the blogging server of choice.') .'</p>';
       $output .= '<p>'. t('When this module is enabled and configured you can use programs like <a href="%external-http-ecto-kung-foo-tv">Ecto</a> to create and publish posts from your desktop. Blog API module supports several XML-RPC based blogging APIs such as the <a href="%-">Blogger API</a>, <a href="%external-http-www-xmlrpc-com-metaWeblogApi">MetaWeblog API</a>, and most of the <a href="%external-http-www-movabletype-org-docs-mtmanual_programmatic-html">Movable Type API</a>. Any desktop blogging tools or other services (e.g. <a href="%external-http-www-flickr-com">Flickr\'s</a> "post to blog") that support these APIs should work with this site.', array('%external-http-ecto-kung-foo-tv' => 'http://ecto.kung-foo.tv/', '%-' => url('http://www.blogger.com/developers/api/1_docs/'), '%external-http-www-xmlrpc-com-metaWeblogApi' => 'http://www.xmlrpc.com/metaWeblogApi', '%external-http-www-movabletype-org-docs-mtmanual_programmatic-html' => 'http://www.movabletype.org/docs/mtmanual_programmatic.html', '%external-http-www-flickr-com' => 'http://www.flickr.com')) .'</p>';
       $output .= '<p>'. t('This module also allows site administrators to configure which content types can be posted via the external applications. So, for instance, users can post forum topics as well as blog posts. Where supported, the external applications will display each content type as a separate "blog".<!--break-->') .'</p>';
       $output .= t('<p>You can</p>
diff --git a/modules/blogapi/blogapi.module b/modules/blogapi/blogapi.module
index 5f2a13ba4cbc..3818248582d8 100644
--- a/modules/blogapi/blogapi.module
+++ b/modules/blogapi/blogapi.module
@@ -12,7 +12,7 @@
 function blogapi_help($section) {
   switch ($section) {
     case 'admin/help#blogapi':
-      $output = '<p>'. t('The blog API module enables a post to be posted to a site via external GUI applications.  Many users prefer to use external tools to improve their ability to read and post responses in a customized way.   The blog api provides users the freedom to use the blogging tools they want but still have the blogging server of choice.') .'</p>';
+      $output = '<p>'. t('The blog API module enables a post to be posted to a site via external GUI applications. Many users prefer to use external tools to improve their ability to read and post responses in a customized way. The blog api provides users the freedom to use the blogging tools they want but still have the blogging server of choice.') .'</p>';
       $output .= '<p>'. t('When this module is enabled and configured you can use programs like <a href="%external-http-ecto-kung-foo-tv">Ecto</a> to create and publish posts from your desktop. Blog API module supports several XML-RPC based blogging APIs such as the <a href="%-">Blogger API</a>, <a href="%external-http-www-xmlrpc-com-metaWeblogApi">MetaWeblog API</a>, and most of the <a href="%external-http-www-movabletype-org-docs-mtmanual_programmatic-html">Movable Type API</a>. Any desktop blogging tools or other services (e.g. <a href="%external-http-www-flickr-com">Flickr\'s</a> "post to blog") that support these APIs should work with this site.', array('%external-http-ecto-kung-foo-tv' => 'http://ecto.kung-foo.tv/', '%-' => url('http://www.blogger.com/developers/api/1_docs/'), '%external-http-www-xmlrpc-com-metaWeblogApi' => 'http://www.xmlrpc.com/metaWeblogApi', '%external-http-www-movabletype-org-docs-mtmanual_programmatic-html' => 'http://www.movabletype.org/docs/mtmanual_programmatic.html', '%external-http-www-flickr-com' => 'http://www.flickr.com')) .'</p>';
       $output .= '<p>'. t('This module also allows site administrators to configure which content types can be posted via the external applications. So, for instance, users can post forum topics as well as blog posts. Where supported, the external applications will display each content type as a separate "blog".<!--break-->') .'</p>';
       $output .= t('<p>You can</p>
diff --git a/modules/book.module b/modules/book.module
index f20ddd6f3a36..3848be1968af 100644
--- a/modules/book.module
+++ b/modules/book.module
@@ -27,16 +27,16 @@ function book_access($op, $node) {
   global $user;
 
   if ($op == 'create') {
-    // Only registered users can create book pages.  Given the nature
+    // Only registered users can create book pages. Given the nature
     // of the book module this is considered to be a good/safe idea.
     return user_access('create book pages');
   }
 
   if ($op == 'update') {
-    // Only registered users can update book pages.  Given the nature
+    // Only registered users can update book pages. Given the nature
     // of the book module this is considered to be a good/safe idea.
     // One can only update a book page if there are no suggested updates
-    // of that page waiting for approval.  That is, only updates that
+    // of that page waiting for approval. That is, only updates that
     // don't overwrite the current or pending information are allowed.
 
     if ((user_access('edit book pages') && !$node->moderate) || ($node->uid == $user->uid && user_access('edit own book pages'))) {
@@ -243,7 +243,7 @@ function book_form(&$node) {
       '#default_value' => ($node->parent ? $node->parent : arg(4)),
       '#options' => book_toc($node->nid),
       '#weight' => -4,
-      '#description' => user_access('create new books') ? t('The parent section in which to place this page.  Note that each page whose parent is &lt;top-level&gt; is an independent, top-level book.') : t('The parent that this page belongs in.'),
+      '#description' => user_access('create new books') ? t('The parent section in which to place this page. Note that each page whose parent is &lt;top-level&gt; is an independent, top-level book.') : t('The parent that this page belongs in.'),
     );
   }
 
@@ -436,8 +436,8 @@ function book_next($node) {
 }
 
 /**
- * Returns the content of a given node.  If $teaser if true, returns
- * the teaser rather than full content.  Displays the most recently
+ * Returns the content of a given node. If $teaser if true, returns
+ * the teaser rather than full content. Displays the most recently
  * approved revision of a node (if any) unless we have to display this
  * page in the context of the moderation queue.
  */
@@ -651,7 +651,7 @@ function book_render() {
  *
  * The function delegates the generation of output to helper functions.
  * The function name is derived by prepending 'book_export_' to the
- * given output type.  So, e.g., a type of 'html' results in a call to
+ * given output type. So, e.g., a type of 'html' results in a call to
  * the function book_export_html().
  *
  * @param type
@@ -685,9 +685,9 @@ function book_export($type = 'html', $nid = 0) {
  * This function is called by book_export() to generate HTML for export.
  *
  * The given node is /embedded to its absolute depth in a top level
- * section/.  For example, a child node with depth 2 in the hierarchy
+ * section/. For example, a child node with depth 2 in the hierarchy
  * is contained in (otherwise empty) &lt;div&gt; elements
- * corresponding to depth 0 and depth 1.  This is intended to support
+ * corresponding to depth 0 and depth 1. This is intended to support
  * WYSIWYG output - e.g., level 3 sections always look like level 3
  * sections, no matter their depth relative to the node selected to be
  * exported as printer-friendly HTML.
@@ -744,9 +744,9 @@ function theme_book_export_html($title, $content) {
 }
 
 /**
- * Traverses the book tree.  Applies the $visit_pre() callback to each
+ * Traverses the book tree. Applies the $visit_pre() callback to each
  * node, is called recursively for each child of the node (in weight,
- * title order).  Finally appends the output of the $visit_post()
+ * title order). Finally appends the output of the $visit_post()
  * callback to the output before returning the generated output.
  *
  * @param nid
@@ -796,7 +796,7 @@ function book_recurse($nid = 0, $depth = 1, $visit_pre, $visit_post) {
 }
 
 /**
- * Generates printer-friendly HTML for a node.  This function
+ * Generates printer-friendly HTML for a node. This function
  * is a 'pre-node' visitor function for book_recurse().
  *
  * @param $node
@@ -1006,10 +1006,10 @@ function book_admin_overview() {
 function book_help($section) {
   switch ($section) {
     case 'admin/help#book':
-      $output = '<p>'. t('The <em>book</em> content type is suited for creating structured, multi-page hypertexts such as site resource guides, manuals, and Frequently Asked Questions (FAQs).  It permits a document to have chapters, sections, subsections, etc.  Authors with suitable permissions can add pages to a collaborative book,  placing them into the existing document by adding them to a table of contents menu. ') .'</p>';
-      $output .= '<p>'. t('Books have additional <em>previous</em>, <em>up</em>, and <em>next</em> navigation elements at the bottom of each page for moving through the text.  Additional navigation may be provided by enabling the <em>book navigation block</em> on the <a href="%admin-block">block administration page</a>.', array('%admin-block' => url('admin/block'))) .'</p>';
+      $output = '<p>'. t('The <em>book</em> content type is suited for creating structured, multi-page hypertexts such as site resource guides, manuals, and Frequently Asked Questions (FAQs). It permits a document to have chapters, sections, subsections, etc. Authors with suitable permissions can add pages to a collaborative book,  placing them into the existing document by adding them to a table of contents menu. ') .'</p>';
+      $output .= '<p>'. t('Books have additional <em>previous</em>, <em>up</em>, and <em>next</em> navigation elements at the bottom of each page for moving through the text. Additional navigation may be provided by enabling the <em>book navigation block</em> on the <a href="%admin-block">block administration page</a>.', array('%admin-block' => url('admin/block'))) .'</p>';
       $output .= '<p>'. t('Users can select the <em>printer-friendly version</em> link visible at the bottom of a book page to generate a printer-friendly display of the page and all of its subsections. ') .'</p>';
-      $output .= '<p>'. t('Administrators can view a book outline, from which is it possible to change the titles of sections, and their <i>weight</i> (thus reordering sections).   From this outline, it is also possible to edit and/or delete book pages.   Many content types besides pages (for example, blog entries, stories, and polls) can be added to a collaborative book by choosing the <em>outline</em> tab when viewing the post.') .'</p>';
+      $output .= '<p>'. t('Administrators can view a book outline, from which is it possible to change the titles of sections, and their <i>weight</i> (thus reordering sections). From this outline, it is also possible to edit and/or delete book pages. Many content types besides pages (for example, blog entries, stories, and polls) can be added to a collaborative book by choosing the <em>outline</em> tab when viewing the post.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>create new book pages: <a href="%node-add-book">create content &gt;&gt; book page</a>.</li>
@@ -1026,9 +1026,9 @@ function book_help($section) {
     case 'admin/node/book':
       return t('<p>The book module offers a means to organize content, authored by many users, in an online manual, outline or FAQ.</p>');
     case 'admin/node/book/orphan':
-      return t('<p>Pages in a book are like a tree. As pages are edited, reorganized and removed, child pages might be left with no link to the rest of the book.  Such pages are referred to as "orphan pages".  On this page, administrators can review their books for orphans and reattach those pages as desired.</p>');
+      return t('<p>Pages in a book are like a tree. As pages are edited, reorganized and removed, child pages might be left with no link to the rest of the book. Such pages are referred to as "orphan pages". On this page, administrators can review their books for orphans and reattach those pages as desired.</p>');
     case 'node/add#book':
-      return t("A book is a collaborative writing effort: users can collaborate writing the pages of the book, positioning the pages in the right order, and reviewing or modifying pages previously written.  So when you have some information to share or when you read a page of the book and you didn't like it, or if you think a certain page could have been written better, you can do something about it.");
+      return t("A book is a collaborative writing effort: users can collaborate writing the pages of the book, positioning the pages in the right order, and reviewing or modifying pages previously written. So when you have some information to share or when you read a page of the book and you didn't like it, or if you think a certain page could have been written better, you can do something about it.");
   }
 
   if (arg(0) == 'node' && is_numeric(arg(1)) && arg(2) == 'outline') {
diff --git a/modules/book/book.module b/modules/book/book.module
index f20ddd6f3a36..3848be1968af 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -27,16 +27,16 @@ function book_access($op, $node) {
   global $user;
 
   if ($op == 'create') {
-    // Only registered users can create book pages.  Given the nature
+    // Only registered users can create book pages. Given the nature
     // of the book module this is considered to be a good/safe idea.
     return user_access('create book pages');
   }
 
   if ($op == 'update') {
-    // Only registered users can update book pages.  Given the nature
+    // Only registered users can update book pages. Given the nature
     // of the book module this is considered to be a good/safe idea.
     // One can only update a book page if there are no suggested updates
-    // of that page waiting for approval.  That is, only updates that
+    // of that page waiting for approval. That is, only updates that
     // don't overwrite the current or pending information are allowed.
 
     if ((user_access('edit book pages') && !$node->moderate) || ($node->uid == $user->uid && user_access('edit own book pages'))) {
@@ -243,7 +243,7 @@ function book_form(&$node) {
       '#default_value' => ($node->parent ? $node->parent : arg(4)),
       '#options' => book_toc($node->nid),
       '#weight' => -4,
-      '#description' => user_access('create new books') ? t('The parent section in which to place this page.  Note that each page whose parent is &lt;top-level&gt; is an independent, top-level book.') : t('The parent that this page belongs in.'),
+      '#description' => user_access('create new books') ? t('The parent section in which to place this page. Note that each page whose parent is &lt;top-level&gt; is an independent, top-level book.') : t('The parent that this page belongs in.'),
     );
   }
 
@@ -436,8 +436,8 @@ function book_next($node) {
 }
 
 /**
- * Returns the content of a given node.  If $teaser if true, returns
- * the teaser rather than full content.  Displays the most recently
+ * Returns the content of a given node. If $teaser if true, returns
+ * the teaser rather than full content. Displays the most recently
  * approved revision of a node (if any) unless we have to display this
  * page in the context of the moderation queue.
  */
@@ -651,7 +651,7 @@ function book_render() {
  *
  * The function delegates the generation of output to helper functions.
  * The function name is derived by prepending 'book_export_' to the
- * given output type.  So, e.g., a type of 'html' results in a call to
+ * given output type. So, e.g., a type of 'html' results in a call to
  * the function book_export_html().
  *
  * @param type
@@ -685,9 +685,9 @@ function book_export($type = 'html', $nid = 0) {
  * This function is called by book_export() to generate HTML for export.
  *
  * The given node is /embedded to its absolute depth in a top level
- * section/.  For example, a child node with depth 2 in the hierarchy
+ * section/. For example, a child node with depth 2 in the hierarchy
  * is contained in (otherwise empty) &lt;div&gt; elements
- * corresponding to depth 0 and depth 1.  This is intended to support
+ * corresponding to depth 0 and depth 1. This is intended to support
  * WYSIWYG output - e.g., level 3 sections always look like level 3
  * sections, no matter their depth relative to the node selected to be
  * exported as printer-friendly HTML.
@@ -744,9 +744,9 @@ function theme_book_export_html($title, $content) {
 }
 
 /**
- * Traverses the book tree.  Applies the $visit_pre() callback to each
+ * Traverses the book tree. Applies the $visit_pre() callback to each
  * node, is called recursively for each child of the node (in weight,
- * title order).  Finally appends the output of the $visit_post()
+ * title order). Finally appends the output of the $visit_post()
  * callback to the output before returning the generated output.
  *
  * @param nid
@@ -796,7 +796,7 @@ function book_recurse($nid = 0, $depth = 1, $visit_pre, $visit_post) {
 }
 
 /**
- * Generates printer-friendly HTML for a node.  This function
+ * Generates printer-friendly HTML for a node. This function
  * is a 'pre-node' visitor function for book_recurse().
  *
  * @param $node
@@ -1006,10 +1006,10 @@ function book_admin_overview() {
 function book_help($section) {
   switch ($section) {
     case 'admin/help#book':
-      $output = '<p>'. t('The <em>book</em> content type is suited for creating structured, multi-page hypertexts such as site resource guides, manuals, and Frequently Asked Questions (FAQs).  It permits a document to have chapters, sections, subsections, etc.  Authors with suitable permissions can add pages to a collaborative book,  placing them into the existing document by adding them to a table of contents menu. ') .'</p>';
-      $output .= '<p>'. t('Books have additional <em>previous</em>, <em>up</em>, and <em>next</em> navigation elements at the bottom of each page for moving through the text.  Additional navigation may be provided by enabling the <em>book navigation block</em> on the <a href="%admin-block">block administration page</a>.', array('%admin-block' => url('admin/block'))) .'</p>';
+      $output = '<p>'. t('The <em>book</em> content type is suited for creating structured, multi-page hypertexts such as site resource guides, manuals, and Frequently Asked Questions (FAQs). It permits a document to have chapters, sections, subsections, etc. Authors with suitable permissions can add pages to a collaborative book,  placing them into the existing document by adding them to a table of contents menu. ') .'</p>';
+      $output .= '<p>'. t('Books have additional <em>previous</em>, <em>up</em>, and <em>next</em> navigation elements at the bottom of each page for moving through the text. Additional navigation may be provided by enabling the <em>book navigation block</em> on the <a href="%admin-block">block administration page</a>.', array('%admin-block' => url('admin/block'))) .'</p>';
       $output .= '<p>'. t('Users can select the <em>printer-friendly version</em> link visible at the bottom of a book page to generate a printer-friendly display of the page and all of its subsections. ') .'</p>';
-      $output .= '<p>'. t('Administrators can view a book outline, from which is it possible to change the titles of sections, and their <i>weight</i> (thus reordering sections).   From this outline, it is also possible to edit and/or delete book pages.   Many content types besides pages (for example, blog entries, stories, and polls) can be added to a collaborative book by choosing the <em>outline</em> tab when viewing the post.') .'</p>';
+      $output .= '<p>'. t('Administrators can view a book outline, from which is it possible to change the titles of sections, and their <i>weight</i> (thus reordering sections). From this outline, it is also possible to edit and/or delete book pages. Many content types besides pages (for example, blog entries, stories, and polls) can be added to a collaborative book by choosing the <em>outline</em> tab when viewing the post.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>create new book pages: <a href="%node-add-book">create content &gt;&gt; book page</a>.</li>
@@ -1026,9 +1026,9 @@ function book_help($section) {
     case 'admin/node/book':
       return t('<p>The book module offers a means to organize content, authored by many users, in an online manual, outline or FAQ.</p>');
     case 'admin/node/book/orphan':
-      return t('<p>Pages in a book are like a tree. As pages are edited, reorganized and removed, child pages might be left with no link to the rest of the book.  Such pages are referred to as "orphan pages".  On this page, administrators can review their books for orphans and reattach those pages as desired.</p>');
+      return t('<p>Pages in a book are like a tree. As pages are edited, reorganized and removed, child pages might be left with no link to the rest of the book. Such pages are referred to as "orphan pages". On this page, administrators can review their books for orphans and reattach those pages as desired.</p>');
     case 'node/add#book':
-      return t("A book is a collaborative writing effort: users can collaborate writing the pages of the book, positioning the pages in the right order, and reviewing or modifying pages previously written.  So when you have some information to share or when you read a page of the book and you didn't like it, or if you think a certain page could have been written better, you can do something about it.");
+      return t("A book is a collaborative writing effort: users can collaborate writing the pages of the book, positioning the pages in the right order, and reviewing or modifying pages previously written. So when you have some information to share or when you read a page of the book and you didn't like it, or if you think a certain page could have been written better, you can do something about it.");
   }
 
   if (arg(0) == 'node' && is_numeric(arg(1)) && arg(2) == 'outline') {
diff --git a/modules/comment.module b/modules/comment.module
index a0622e1340b9..bcea6844ee7e 100644
--- a/modules/comment.module
+++ b/modules/comment.module
@@ -71,7 +71,7 @@ function comment_help($section) {
   switch ($section) {
     case 'admin/help#comment':
       $output = '<p>'. t('The comment module creates a discussion board for each post. Users can post comments to discuss a forum topic, weblog post, story, collaborative book page, etc. The ability to comment is an important part of involving members in a community dialogue.') .'</p>';
-      $output .= '<p>'. t('An administrator can give comment permissions to user groups, and users can (optionally) edit their last comment, assuming no others have been posted since.  Attached to each comment board is a control panel for customizing the way that comments are displayed. Users can control the chronological ordering of posts (newest or oldest first) and the number of posts to display on each page.  Comments behave like other user submissions. Filters, smileys and HTML that work in nodes will also work with comments. The comment module provides specific features to inform site members when new comments have been posted.') .'</p>';
+      $output .= '<p>'. t('An administrator can give comment permissions to user groups, and users can (optionally) edit their last comment, assuming no others have been posted since. Attached to each comment board is a control panel for customizing the way that comments are displayed. Users can control the chronological ordering of posts (newest or oldest first) and the number of posts to display on each page. Comments behave like other user submissions. Filters, smileys and HTML that work in nodes will also work with comments. The comment module provides specific features to inform site members when new comments have been posted.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>control access for various comment module functions through access permissions <a href="%admin-access">administer &gt;&gt; access control</a>.</li>
@@ -382,7 +382,7 @@ function comment_configure() {
       t('Display below the comments'),
       t('Display above and below the comments'),
       t('Do not display')),
-    '#description' => t('Position of the comment controls box.  The comment controls let the user change the default display mode and display order of comments.'),
+    '#description' => t('Position of the comment controls box. The comment controls let the user change the default display mode and display order of comments.'),
   );
 
   $form['posting_settings'] = array(
@@ -540,14 +540,14 @@ function comment_reply($nid, $pid = NULL) {
  *   A comment array.
  *
  * @return
- *   If the comment is successfully saved the comment ID is returned.  If the comment
+ *   If the comment is successfully saved the comment ID is returned. If the comment
  *   is not saved, FALSE is returned.
  */
 function comment_save($edit) {
   global $user;
   if (user_access('post comments') && (user_access('administer comments') || node_comment_mode($edit['nid']) == COMMENT_NODE_READ_WRITE)) {
     if (!form_get_errors()) {
-      // Check for duplicate comments.  Note that we have to use the
+      // Check for duplicate comments. Note that we have to use the
       // validated/filtered data to perform such check.
       $duplicate = db_result(db_query("SELECT COUNT(cid) FROM {comments} WHERE pid = %d AND nid = %d AND subject = '%s' AND comment = '%s'", $edit['pid'], $edit['nid'], $edit['subject'], $edit['comment']), 0);
       if ($duplicate != 0) {
@@ -579,7 +579,7 @@ function comment_save($edit) {
 
         $users = serialize(array(0 => $score));
 
-        // Here we are building the thread field.  See the comment
+        // Here we are building the thread field. See the comment
         // in comment_render().
         if ($edit['pid'] == 0) {
           // This is a comment with no parent comment (depth 0): we start
@@ -768,7 +768,7 @@ function comment_render($node, $cid = 0) {
       ** 2
       **
       ** If we "ORDER BY thread ASC" we get the above result, and this is
-      ** the natural order sorted by time.  However, if we "ORDER BY thread
+      ** the natural order sorted by time. However, if we "ORDER BY thread
       ** DESC" we get:
       **
       ** 2
@@ -798,8 +798,8 @@ function comment_render($node, $cid = 0) {
       ** 2/
       **
       ** we add "/" since this char is, in ASCII, higher than every number,
-      ** so if now we "ORDER BY thread DESC" we get the correct order.  Try
-      ** it, it works ;).  However this would spoil the "ORDER BY thread ASC"
+      ** so if now we "ORDER BY thread DESC" we get the correct order. Try
+      ** it, it works ;). However this would spoil the "ORDER BY thread ASC"
       ** Here, we do not need to consider the trailing "/" so we use a
       ** substring only.
       */
@@ -819,8 +819,8 @@ function comment_render($node, $cid = 0) {
         else {
 
           /*
-          ** See comment above.  Analysis learns that this doesn't cost
-          ** too much.  It scales much much better than having the whole
+          ** See comment above. Analysis learns that this doesn't cost
+          ** too much. It scales much much better than having the whole
           ** comment structure.
           */
 
@@ -910,7 +910,7 @@ function comment_delete($cid) {
 }
 
 /**
- * Comment operations.  We offer different update operations depending on
+ * Comment operations. We offer different update operations depending on
  * which comment administration page we're on.
  */
 function comment_operations($action = NULL) {
@@ -1187,7 +1187,7 @@ function comment_validate($edit) {
 
       if ($edit['homepage']) {
         if (!valid_url($edit['homepage'], TRUE)) {
-          form_set_error('homepage', t('The URL of your homepage is not valid.  Remember that it must be fully qualified, i.e. of the form <code>http://example.com/directory</code>.'));
+          form_set_error('homepage', t('The URL of your homepage is not valid. Remember that it must be fully qualified, i.e. of the form <code>http://example.com/directory</code>.'));
         }
       }
     }
@@ -1418,7 +1418,7 @@ function _comment_form_submit($form_values) {
     $form_values['uid'] = $account->uid;
     $form_values['name'] = $form_values['author'];
   }
-  // Validate the comment's subject.  If not specified, extract
+  // Validate the comment's subject. If not specified, extract
   // one from the comment's body.
   if (trim($form_values['subject']) == '') {
     // The body may be in any format, so we:
@@ -1659,7 +1659,7 @@ function _comment_per_page() {
  */
 function _comment_get_display_setting($setting) {
   global $user;
-  
+
   if ($_GET[$setting]) {
     $value = $_GET[$setting];
   }
@@ -1696,7 +1696,7 @@ function _comment_get_display_setting($setting) {
 }
 
 /**
- * Updates the comment statistics for a given node.  This should be called any
+ * Updates the comment statistics for a given node. This should be called any
  * time a comment is added, deleted, or updated.
  *
  * The following fields are contained in the node_comment_statistics table.
diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index a0622e1340b9..bcea6844ee7e 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -71,7 +71,7 @@ function comment_help($section) {
   switch ($section) {
     case 'admin/help#comment':
       $output = '<p>'. t('The comment module creates a discussion board for each post. Users can post comments to discuss a forum topic, weblog post, story, collaborative book page, etc. The ability to comment is an important part of involving members in a community dialogue.') .'</p>';
-      $output .= '<p>'. t('An administrator can give comment permissions to user groups, and users can (optionally) edit their last comment, assuming no others have been posted since.  Attached to each comment board is a control panel for customizing the way that comments are displayed. Users can control the chronological ordering of posts (newest or oldest first) and the number of posts to display on each page.  Comments behave like other user submissions. Filters, smileys and HTML that work in nodes will also work with comments. The comment module provides specific features to inform site members when new comments have been posted.') .'</p>';
+      $output .= '<p>'. t('An administrator can give comment permissions to user groups, and users can (optionally) edit their last comment, assuming no others have been posted since. Attached to each comment board is a control panel for customizing the way that comments are displayed. Users can control the chronological ordering of posts (newest or oldest first) and the number of posts to display on each page. Comments behave like other user submissions. Filters, smileys and HTML that work in nodes will also work with comments. The comment module provides specific features to inform site members when new comments have been posted.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>control access for various comment module functions through access permissions <a href="%admin-access">administer &gt;&gt; access control</a>.</li>
@@ -382,7 +382,7 @@ function comment_configure() {
       t('Display below the comments'),
       t('Display above and below the comments'),
       t('Do not display')),
-    '#description' => t('Position of the comment controls box.  The comment controls let the user change the default display mode and display order of comments.'),
+    '#description' => t('Position of the comment controls box. The comment controls let the user change the default display mode and display order of comments.'),
   );
 
   $form['posting_settings'] = array(
@@ -540,14 +540,14 @@ function comment_reply($nid, $pid = NULL) {
  *   A comment array.
  *
  * @return
- *   If the comment is successfully saved the comment ID is returned.  If the comment
+ *   If the comment is successfully saved the comment ID is returned. If the comment
  *   is not saved, FALSE is returned.
  */
 function comment_save($edit) {
   global $user;
   if (user_access('post comments') && (user_access('administer comments') || node_comment_mode($edit['nid']) == COMMENT_NODE_READ_WRITE)) {
     if (!form_get_errors()) {
-      // Check for duplicate comments.  Note that we have to use the
+      // Check for duplicate comments. Note that we have to use the
       // validated/filtered data to perform such check.
       $duplicate = db_result(db_query("SELECT COUNT(cid) FROM {comments} WHERE pid = %d AND nid = %d AND subject = '%s' AND comment = '%s'", $edit['pid'], $edit['nid'], $edit['subject'], $edit['comment']), 0);
       if ($duplicate != 0) {
@@ -579,7 +579,7 @@ function comment_save($edit) {
 
         $users = serialize(array(0 => $score));
 
-        // Here we are building the thread field.  See the comment
+        // Here we are building the thread field. See the comment
         // in comment_render().
         if ($edit['pid'] == 0) {
           // This is a comment with no parent comment (depth 0): we start
@@ -768,7 +768,7 @@ function comment_render($node, $cid = 0) {
       ** 2
       **
       ** If we "ORDER BY thread ASC" we get the above result, and this is
-      ** the natural order sorted by time.  However, if we "ORDER BY thread
+      ** the natural order sorted by time. However, if we "ORDER BY thread
       ** DESC" we get:
       **
       ** 2
@@ -798,8 +798,8 @@ function comment_render($node, $cid = 0) {
       ** 2/
       **
       ** we add "/" since this char is, in ASCII, higher than every number,
-      ** so if now we "ORDER BY thread DESC" we get the correct order.  Try
-      ** it, it works ;).  However this would spoil the "ORDER BY thread ASC"
+      ** so if now we "ORDER BY thread DESC" we get the correct order. Try
+      ** it, it works ;). However this would spoil the "ORDER BY thread ASC"
       ** Here, we do not need to consider the trailing "/" so we use a
       ** substring only.
       */
@@ -819,8 +819,8 @@ function comment_render($node, $cid = 0) {
         else {
 
           /*
-          ** See comment above.  Analysis learns that this doesn't cost
-          ** too much.  It scales much much better than having the whole
+          ** See comment above. Analysis learns that this doesn't cost
+          ** too much. It scales much much better than having the whole
           ** comment structure.
           */
 
@@ -910,7 +910,7 @@ function comment_delete($cid) {
 }
 
 /**
- * Comment operations.  We offer different update operations depending on
+ * Comment operations. We offer different update operations depending on
  * which comment administration page we're on.
  */
 function comment_operations($action = NULL) {
@@ -1187,7 +1187,7 @@ function comment_validate($edit) {
 
       if ($edit['homepage']) {
         if (!valid_url($edit['homepage'], TRUE)) {
-          form_set_error('homepage', t('The URL of your homepage is not valid.  Remember that it must be fully qualified, i.e. of the form <code>http://example.com/directory</code>.'));
+          form_set_error('homepage', t('The URL of your homepage is not valid. Remember that it must be fully qualified, i.e. of the form <code>http://example.com/directory</code>.'));
         }
       }
     }
@@ -1418,7 +1418,7 @@ function _comment_form_submit($form_values) {
     $form_values['uid'] = $account->uid;
     $form_values['name'] = $form_values['author'];
   }
-  // Validate the comment's subject.  If not specified, extract
+  // Validate the comment's subject. If not specified, extract
   // one from the comment's body.
   if (trim($form_values['subject']) == '') {
     // The body may be in any format, so we:
@@ -1659,7 +1659,7 @@ function _comment_per_page() {
  */
 function _comment_get_display_setting($setting) {
   global $user;
-  
+
   if ($_GET[$setting]) {
     $value = $_GET[$setting];
   }
@@ -1696,7 +1696,7 @@ function _comment_get_display_setting($setting) {
 }
 
 /**
- * Updates the comment statistics for a given node.  This should be called any
+ * Updates the comment statistics for a given node. This should be called any
  * time a comment is added, deleted, or updated.
  *
  * The following fields are contained in the node_comment_statistics table.
diff --git a/modules/filter.module b/modules/filter.module
index fa70b390af67..f8fe5774bf43 100644
--- a/modules/filter.module
+++ b/modules/filter.module
@@ -20,8 +20,8 @@
 function filter_help($section) {
   switch ($section) {
     case 'admin/help#filter':
-      $output = '<p>'. t('The filter module allows administrators to configure  text input formats for the site.  For example, an administrator may want a filter to strip out malicious HTML from user\'s comments.  Administrators may also want to make URLs linkable even if they are only entered in an unlinked format.') .'</p>';
-      $output .= '<p>'. t('Users can choose between the available input formats when creating or editing content.  Administrators can configure which input formats are available to which user roles, as well as choose a default input format.  Administrators can also create new input formats.  Each input format can be configured to use a selection of filters.') .'</p>';
+      $output = '<p>'. t('The filter module allows administrators to configure  text input formats for the site. For example, an administrator may want a filter to strip out malicious HTML from user\'s comments. Administrators may also want to make URLs linkable even if they are only entered in an unlinked format.') .'</p>';
+      $output .= '<p>'. t('Users can choose between the available input formats when creating or editing content. Administrators can configure which input formats are available to which user roles, as well as choose a default input format. Administrators can also create new input formats. Each input format can be configured to use a selection of filters.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>administer input format permissions and settings  at <a href="%admin-filters">administer &gt;&gt; input formats</a>.</li>
@@ -734,7 +734,7 @@ function filter_list_format($format) {
  * @param $check
  *    Whether to check the $format with filter_access() first. Defaults to TRUE.
  *    Note that this will check the permissions of the current user, so you
- *    should specify $check = FALSE when viewing other people's content.  When
+ *    should specify $check = FALSE when viewing other people's content. When
  *    showing content that is not (yet) stored in the database (eg. upon preview),
  *    set to TRUE so the user's permissions are checked.
  */
diff --git a/modules/filter/filter.module b/modules/filter/filter.module
index fa70b390af67..f8fe5774bf43 100644
--- a/modules/filter/filter.module
+++ b/modules/filter/filter.module
@@ -20,8 +20,8 @@
 function filter_help($section) {
   switch ($section) {
     case 'admin/help#filter':
-      $output = '<p>'. t('The filter module allows administrators to configure  text input formats for the site.  For example, an administrator may want a filter to strip out malicious HTML from user\'s comments.  Administrators may also want to make URLs linkable even if they are only entered in an unlinked format.') .'</p>';
-      $output .= '<p>'. t('Users can choose between the available input formats when creating or editing content.  Administrators can configure which input formats are available to which user roles, as well as choose a default input format.  Administrators can also create new input formats.  Each input format can be configured to use a selection of filters.') .'</p>';
+      $output = '<p>'. t('The filter module allows administrators to configure  text input formats for the site. For example, an administrator may want a filter to strip out malicious HTML from user\'s comments. Administrators may also want to make URLs linkable even if they are only entered in an unlinked format.') .'</p>';
+      $output .= '<p>'. t('Users can choose between the available input formats when creating or editing content. Administrators can configure which input formats are available to which user roles, as well as choose a default input format. Administrators can also create new input formats. Each input format can be configured to use a selection of filters.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>administer input format permissions and settings  at <a href="%admin-filters">administer &gt;&gt; input formats</a>.</li>
@@ -734,7 +734,7 @@ function filter_list_format($format) {
  * @param $check
  *    Whether to check the $format with filter_access() first. Defaults to TRUE.
  *    Note that this will check the permissions of the current user, so you
- *    should specify $check = FALSE when viewing other people's content.  When
+ *    should specify $check = FALSE when viewing other people's content. When
  *    showing content that is not (yet) stored in the database (eg. upon preview),
  *    set to TRUE so the user's permissions are checked.
  */
diff --git a/modules/forum.module b/modules/forum.module
index 21b04565178f..8589b4d0aa21 100644
--- a/modules/forum.module
+++ b/modules/forum.module
@@ -13,7 +13,7 @@ function forum_help($section) {
   switch ($section) {
     case 'admin/help#forum':
       $output = '<p>'. t('The forum module lets you create threaded discussion forums for a particular topic on your site. This is similar to a message board system such as phpBB. Forums are very useful because they allow community members to discuss topics with one another, and they are archived for future reference.') .'</p>';
-      $output .= '<p>'. t('Forums can be organized under what are called <em>containers</em>. Containers hold forums and, in turn, forums hold threaded discussions. Both containers and forums can be placed inside other containers and forums. By planning the structure of your containers and forums well, you make it easier for users to find a topic area of interest to them.  Forum topics can be moved by selecting a different forum and can be left in the existing forum by selecting <em>leave a shadow copy</em>.  Forum topics can also have their own URL.') .'</p>';
+      $output .= '<p>'. t('Forums can be organized under what are called <em>containers</em>. Containers hold forums and, in turn, forums hold threaded discussions. Both containers and forums can be placed inside other containers and forums. By planning the structure of your containers and forums well, you make it easier for users to find a topic area of interest to them. Forum topics can be moved by selecting a different forum and can be left in the existing forum by selecting <em>leave a shadow copy</em>. Forum topics can also have their own URL.') .'</p>';
       $output .= '<p>'. t('Forums module <strong>requires Taxonomy and Comments module</strong> be enabled.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index 21b04565178f..8589b4d0aa21 100644
--- a/modules/forum/forum.module
+++ b/modules/forum/forum.module
@@ -13,7 +13,7 @@ function forum_help($section) {
   switch ($section) {
     case 'admin/help#forum':
       $output = '<p>'. t('The forum module lets you create threaded discussion forums for a particular topic on your site. This is similar to a message board system such as phpBB. Forums are very useful because they allow community members to discuss topics with one another, and they are archived for future reference.') .'</p>';
-      $output .= '<p>'. t('Forums can be organized under what are called <em>containers</em>. Containers hold forums and, in turn, forums hold threaded discussions. Both containers and forums can be placed inside other containers and forums. By planning the structure of your containers and forums well, you make it easier for users to find a topic area of interest to them.  Forum topics can be moved by selecting a different forum and can be left in the existing forum by selecting <em>leave a shadow copy</em>.  Forum topics can also have their own URL.') .'</p>';
+      $output .= '<p>'. t('Forums can be organized under what are called <em>containers</em>. Containers hold forums and, in turn, forums hold threaded discussions. Both containers and forums can be placed inside other containers and forums. By planning the structure of your containers and forums well, you make it easier for users to find a topic area of interest to them. Forum topics can be moved by selecting a different forum and can be left in the existing forum by selecting <em>leave a shadow copy</em>. Forum topics can also have their own URL.') .'</p>';
       $output .= '<p>'. t('Forums module <strong>requires Taxonomy and Comments module</strong> be enabled.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
diff --git a/modules/help.module b/modules/help.module
index 4f52411a6884..cde7cb50e4ac 100644
--- a/modules/help.module
+++ b/modules/help.module
@@ -99,7 +99,7 @@ function help_help($section) {
       return $output;
     case 'admin/help#help':
       $output = '<p>'. t('The help module displays context sensitive help information. Users can learn how to use modules and accomplish tasks quicker with less errors by clicking on links in provided by the help module.') .'</p>';
-      $output .= t('<p>Modules can make documentation available to other modules with this module. All user help should be presented using this module.  Some examples of help: </p>
+      $output .= t('<p>Modules can make documentation available to other modules with this module. All user help should be presented using this module. Some examples of help: </p>
 <ul>
 <li>The name of a module (unused, but there).</li>
 <li>The description found on the admin/system/modules page.</li>
diff --git a/modules/help/help.module b/modules/help/help.module
index 4f52411a6884..cde7cb50e4ac 100644
--- a/modules/help/help.module
+++ b/modules/help/help.module
@@ -99,7 +99,7 @@ function help_help($section) {
       return $output;
     case 'admin/help#help':
       $output = '<p>'. t('The help module displays context sensitive help information. Users can learn how to use modules and accomplish tasks quicker with less errors by clicking on links in provided by the help module.') .'</p>';
-      $output .= t('<p>Modules can make documentation available to other modules with this module. All user help should be presented using this module.  Some examples of help: </p>
+      $output .= t('<p>Modules can make documentation available to other modules with this module. All user help should be presented using this module. Some examples of help: </p>
 <ul>
 <li>The name of a module (unused, but there).</li>
 <li>The description found on the admin/system/modules page.</li>
diff --git a/modules/legacy.module b/modules/legacy.module
index f03db2eb193e..d6a34dfcb65b 100644
--- a/modules/legacy.module
+++ b/modules/legacy.module
@@ -12,8 +12,8 @@
 function legacy_help($section) {
   switch ($section) {
     case 'admin/help#legacy':
-      $output = '<p>'. t('The legacy module provides legacy handlers for upgrades from older installations.  These handlers help automatically redirect references to pages from old installations and prevent <em>page not found</em> errors for your site.') .'</p>';
-      $output .= '<p>'. t('The legacy module handles legacy style taxonomy page, taxonomy feed, and blog feed paths.  It also handles URL upgrades from Drupal 4.1.   It rewrites old-style URLs to new-style URLs (clean URLs). ') .'</p>';
+      $output = '<p>'. t('The legacy module provides legacy handlers for upgrades from older installations. These handlers help automatically redirect references to pages from old installations and prevent <em>page not found</em> errors for your site.') .'</p>';
+      $output .= '<p>'. t('The legacy module handles legacy style taxonomy page, taxonomy feed, and blog feed paths. It also handles URL upgrades from Drupal 4.1. It rewrites old-style URLs to new-style URLs (clean URLs). ') .'</p>';
       $output .= t('<p>Example Mappings:</p>
 <ul>
 <li><em>taxonomy/page/or/52,97</em> to <em>taxonomy/term/52+97</em>.</li>
@@ -139,7 +139,7 @@ function legacy_filter($op, $delta = 0, $format = -1, $text = '') {
  * Rewrite legacy URLs.
  *
  * This is a *temporary* filter to rewrite old-style URLs to new-style
- * URLs (clean URLs).  Currently, URLs are being rewritten dynamically
+ * URLs (clean URLs). Currently, URLs are being rewritten dynamically
  * (ie. "on output"), however when these rewrite rules have been tested
  * enough, we will use them to permanently rewrite the links in node
  * and comment bodies.
diff --git a/modules/legacy/legacy.module b/modules/legacy/legacy.module
index f03db2eb193e..d6a34dfcb65b 100644
--- a/modules/legacy/legacy.module
+++ b/modules/legacy/legacy.module
@@ -12,8 +12,8 @@
 function legacy_help($section) {
   switch ($section) {
     case 'admin/help#legacy':
-      $output = '<p>'. t('The legacy module provides legacy handlers for upgrades from older installations.  These handlers help automatically redirect references to pages from old installations and prevent <em>page not found</em> errors for your site.') .'</p>';
-      $output .= '<p>'. t('The legacy module handles legacy style taxonomy page, taxonomy feed, and blog feed paths.  It also handles URL upgrades from Drupal 4.1.   It rewrites old-style URLs to new-style URLs (clean URLs). ') .'</p>';
+      $output = '<p>'. t('The legacy module provides legacy handlers for upgrades from older installations. These handlers help automatically redirect references to pages from old installations and prevent <em>page not found</em> errors for your site.') .'</p>';
+      $output .= '<p>'. t('The legacy module handles legacy style taxonomy page, taxonomy feed, and blog feed paths. It also handles URL upgrades from Drupal 4.1. It rewrites old-style URLs to new-style URLs (clean URLs). ') .'</p>';
       $output .= t('<p>Example Mappings:</p>
 <ul>
 <li><em>taxonomy/page/or/52,97</em> to <em>taxonomy/term/52+97</em>.</li>
@@ -139,7 +139,7 @@ function legacy_filter($op, $delta = 0, $format = -1, $text = '') {
  * Rewrite legacy URLs.
  *
  * This is a *temporary* filter to rewrite old-style URLs to new-style
- * URLs (clean URLs).  Currently, URLs are being rewritten dynamically
+ * URLs (clean URLs). Currently, URLs are being rewritten dynamically
  * (ie. "on output"), however when these rewrite rules have been tested
  * enough, we will use them to permanently rewrite the links in node
  * and comment bodies.
diff --git a/modules/locale.module b/modules/locale.module
index e124f98d26d0..c7435276fe50 100644
--- a/modules/locale.module
+++ b/modules/locale.module
@@ -20,7 +20,7 @@ function locale_help($section) {
   switch ($section) {
     case 'admin/help#locale':
       $output = '<p>'. t('The locale module allows you to present your Drupal site in a language other than the default English. You can use it to set up a multi-lingual web site or replace given <em>built-in</em> text with text which has been customized for your site. Whenever the locale module encounters text 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>';
-      $output .= '<p>'. t('The locale module provides two options for providing translations. The first is the integrated web interface, via which you can search for untranslated strings, and specify their translations. An easier and less time-consuming method is to import existing translations for your language.  These translations are available as <em>GNU gettext Portable Object files</em> (<em>.po</em> files for short).  Translations for many languages are available for download from the translation page.') .'</p>';
+      $output .= '<p>'. t('The locale module provides two options for providing translations. The first is the integrated web interface, via which you can search for untranslated strings, and specify their translations. An easier and less time-consuming method is to import existing translations for your language. These translations are available as <em>GNU gettext Portable Object files</em> (<em>.po</em> files for short). Translations for many languages are available for download from the translation page.') .'</p>';
       $output .= '<p>'. t('If an existing translation does not meet your needs, the <em>.po</em> files are easily edited with special editing tools. The locale module\'s import feature allows you to add strings from such files into your site\'s database. The export functionality enables you to share your translations with others, generating Portable Object files from your site strings.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -37,15 +37,15 @@ function locale_help($section) {
       return t('Enables the translation of the user interface to languages other than English.');
     case 'admin/locale':
     case 'admin/locale/language/overview':
-      return t("<p>Drupal provides support for the translation of its interface text into different languages.  This page provides an overview of the installed languages. You can add a language on the <a href=\"%add-language\">add language page</a>, or directly by <a href=\"%import\">importing a translation</a>. If multiple languages are enabled, registered users will be able to set their preferred language.  The site default will be used for anonymous visitors and for users without their own settings.</p><p>Drupal interface translations may be added or extended by several courses: by <a href=\"%import\">importing</a> an existing translation, by <a href=\"%search\">translating everything</a> from scratch, or by a combination of these approaches.</p>", array("%search" => url("admin/locale/string/search"), "%import" => url("admin/locale/language/import"), "%add-language" => url("admin/locale/language/add")));
+      return t("<p>Drupal provides support for the translation of its interface text into different languages. This page provides an overview of the installed languages. You can add a language on the <a href=\"%add-language\">add language page</a>, or directly by <a href=\"%import\">importing a translation</a>. If multiple languages are enabled, registered users will be able to set their preferred language. The site default will be used for anonymous visitors and for users without their own settings.</p><p>Drupal interface translations may be added or extended by several courses: by <a href=\"%import\">importing</a> an existing translation, by <a href=\"%search\">translating everything</a> from scratch, or by a combination of these approaches.</p>", array("%search" => url("admin/locale/string/search"), "%import" => url("admin/locale/language/import"), "%add-language" => url("admin/locale/language/add")));
     case 'admin/locale/language/add':
       return t("<p>You need to add all languages in which you would like to display the site interface. If you can't find the desired language in the quick-add dropdown, then you will need to provide the proper language code yourself. The language code may be used to negotiate with browsers and to present flags, etc., so it is important to pick a code that is standardised for the desired language. You can also add a language by <a href=\"%import\">importing a translation</a>.</p>", array("%import" => url("admin/locale/language/import")));
     case 'admin/locale/language/import':
-      return t("<p>This page allows you to import a translation provided in the gettext Portable Object (.po) format.  The easiest way to get your site translated is to obtain an existing Drupal translation and to import it.  You can find existing translations on the <a href=\"%url\">Drupal translation page</a>. Note that importing a translation file might take a while.</p>", array('%url' => 'http://drupal.org/project/translations'));
+      return t("<p>This page allows you to import a translation provided in the gettext Portable Object (.po) format. The easiest way to get your site translated is to obtain an existing Drupal translation and to import it. You can find existing translations on the <a href=\"%url\">Drupal translation page</a>. Note that importing a translation file might take a while.</p>", array('%url' => 'http://drupal.org/project/translations'));
     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 generates a translation template, which contains all Drupal strings, but without their translations. You can use this template to start a new translation using various software packages designed for this task.</p>");
+      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 generates a translation template, which contains all Drupal strings, but without their translations. You can use this template to start a new translation using various software packages designed for this task.</p>");
     case 'admin/locale/string/search':
-      return t("<p>It is often convenient to get the strings from your setup on the <a href=\"%export\">export page</a>, and use a desktop Gettext translation editor to edit the translations.  On this page 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 convenient to get the strings from your setup on the <a href=\"%export\">export page</a>, and use a desktop Gettext translation editor to edit the translations. On this page 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")));
   }
 }
 
diff --git a/modules/locale/locale.module b/modules/locale/locale.module
index e124f98d26d0..c7435276fe50 100644
--- a/modules/locale/locale.module
+++ b/modules/locale/locale.module
@@ -20,7 +20,7 @@ function locale_help($section) {
   switch ($section) {
     case 'admin/help#locale':
       $output = '<p>'. t('The locale module allows you to present your Drupal site in a language other than the default English. You can use it to set up a multi-lingual web site or replace given <em>built-in</em> text with text which has been customized for your site. Whenever the locale module encounters text 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>';
-      $output .= '<p>'. t('The locale module provides two options for providing translations. The first is the integrated web interface, via which you can search for untranslated strings, and specify their translations. An easier and less time-consuming method is to import existing translations for your language.  These translations are available as <em>GNU gettext Portable Object files</em> (<em>.po</em> files for short).  Translations for many languages are available for download from the translation page.') .'</p>';
+      $output .= '<p>'. t('The locale module provides two options for providing translations. The first is the integrated web interface, via which you can search for untranslated strings, and specify their translations. An easier and less time-consuming method is to import existing translations for your language. These translations are available as <em>GNU gettext Portable Object files</em> (<em>.po</em> files for short). Translations for many languages are available for download from the translation page.') .'</p>';
       $output .= '<p>'. t('If an existing translation does not meet your needs, the <em>.po</em> files are easily edited with special editing tools. The locale module\'s import feature allows you to add strings from such files into your site\'s database. The export functionality enables you to share your translations with others, generating Portable Object files from your site strings.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -37,15 +37,15 @@ function locale_help($section) {
       return t('Enables the translation of the user interface to languages other than English.');
     case 'admin/locale':
     case 'admin/locale/language/overview':
-      return t("<p>Drupal provides support for the translation of its interface text into different languages.  This page provides an overview of the installed languages. You can add a language on the <a href=\"%add-language\">add language page</a>, or directly by <a href=\"%import\">importing a translation</a>. If multiple languages are enabled, registered users will be able to set their preferred language.  The site default will be used for anonymous visitors and for users without their own settings.</p><p>Drupal interface translations may be added or extended by several courses: by <a href=\"%import\">importing</a> an existing translation, by <a href=\"%search\">translating everything</a> from scratch, or by a combination of these approaches.</p>", array("%search" => url("admin/locale/string/search"), "%import" => url("admin/locale/language/import"), "%add-language" => url("admin/locale/language/add")));
+      return t("<p>Drupal provides support for the translation of its interface text into different languages. This page provides an overview of the installed languages. You can add a language on the <a href=\"%add-language\">add language page</a>, or directly by <a href=\"%import\">importing a translation</a>. If multiple languages are enabled, registered users will be able to set their preferred language. The site default will be used for anonymous visitors and for users without their own settings.</p><p>Drupal interface translations may be added or extended by several courses: by <a href=\"%import\">importing</a> an existing translation, by <a href=\"%search\">translating everything</a> from scratch, or by a combination of these approaches.</p>", array("%search" => url("admin/locale/string/search"), "%import" => url("admin/locale/language/import"), "%add-language" => url("admin/locale/language/add")));
     case 'admin/locale/language/add':
       return t("<p>You need to add all languages in which you would like to display the site interface. If you can't find the desired language in the quick-add dropdown, then you will need to provide the proper language code yourself. The language code may be used to negotiate with browsers and to present flags, etc., so it is important to pick a code that is standardised for the desired language. You can also add a language by <a href=\"%import\">importing a translation</a>.</p>", array("%import" => url("admin/locale/language/import")));
     case 'admin/locale/language/import':
-      return t("<p>This page allows you to import a translation provided in the gettext Portable Object (.po) format.  The easiest way to get your site translated is to obtain an existing Drupal translation and to import it.  You can find existing translations on the <a href=\"%url\">Drupal translation page</a>. Note that importing a translation file might take a while.</p>", array('%url' => 'http://drupal.org/project/translations'));
+      return t("<p>This page allows you to import a translation provided in the gettext Portable Object (.po) format. The easiest way to get your site translated is to obtain an existing Drupal translation and to import it. You can find existing translations on the <a href=\"%url\">Drupal translation page</a>. Note that importing a translation file might take a while.</p>", array('%url' => 'http://drupal.org/project/translations'));
     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 generates a translation template, which contains all Drupal strings, but without their translations. You can use this template to start a new translation using various software packages designed for this task.</p>");
+      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 generates a translation template, which contains all Drupal strings, but without their translations. You can use this template to start a new translation using various software packages designed for this task.</p>");
     case 'admin/locale/string/search':
-      return t("<p>It is often convenient to get the strings from your setup on the <a href=\"%export\">export page</a>, and use a desktop Gettext translation editor to edit the translations.  On this page 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 convenient to get the strings from your setup on the <a href=\"%export\">export page</a>, and use a desktop Gettext translation editor to edit the translations. On this page 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")));
   }
 }
 
diff --git a/modules/menu.module b/modules/menu.module
index 28aac989848b..d6e029580500 100644
--- a/modules/menu.module
+++ b/modules/menu.module
@@ -12,7 +12,7 @@
 function menu_help($section) {
   switch ($section) {
     case 'admin/help#menu':
-      $output = t('<p>Menus are a collection of links (menu items) used to navigate a website. The menu module provides an interface to control and customize the powerful menu system that comes with Drupal.  Menus are primarily displayed as a hierarchical list of links using Drupal\'s highly flexible <a href="%admin-block">blocks</a> feature. Each menu automatically creates a block of the same name. By default, new menu items are placed inside a built-in menu labelled %navigation, but administrators can also create custom menus.</p>
+      $output = t('<p>Menus are a collection of links (menu items) used to navigate a website. The menu module provides an interface to control and customize the powerful menu system that comes with Drupal. Menus are primarily displayed as a hierarchical list of links using Drupal\'s highly flexible <a href="%admin-block">blocks</a> feature. Each menu automatically creates a block of the same name. By default, new menu items are placed inside a built-in menu labelled %navigation, but administrators can also create custom menus.</p>
 <p>Drupal themes generally provide out-of-the-box support for two menus commonly labelled %primary-links and %secondary-links. These are sets of links which are usually displayed in the header or footer of each page (depending on the currently active theme). Any menu can be designated as the primary or secondary links menu via the <a href="%menu-settings">menu settings page</a>.</p>
 Menu administration tabs:
 <ul>
diff --git a/modules/menu/menu.module b/modules/menu/menu.module
index 28aac989848b..d6e029580500 100644
--- a/modules/menu/menu.module
+++ b/modules/menu/menu.module
@@ -12,7 +12,7 @@
 function menu_help($section) {
   switch ($section) {
     case 'admin/help#menu':
-      $output = t('<p>Menus are a collection of links (menu items) used to navigate a website. The menu module provides an interface to control and customize the powerful menu system that comes with Drupal.  Menus are primarily displayed as a hierarchical list of links using Drupal\'s highly flexible <a href="%admin-block">blocks</a> feature. Each menu automatically creates a block of the same name. By default, new menu items are placed inside a built-in menu labelled %navigation, but administrators can also create custom menus.</p>
+      $output = t('<p>Menus are a collection of links (menu items) used to navigate a website. The menu module provides an interface to control and customize the powerful menu system that comes with Drupal. Menus are primarily displayed as a hierarchical list of links using Drupal\'s highly flexible <a href="%admin-block">blocks</a> feature. Each menu automatically creates a block of the same name. By default, new menu items are placed inside a built-in menu labelled %navigation, but administrators can also create custom menus.</p>
 <p>Drupal themes generally provide out-of-the-box support for two menus commonly labelled %primary-links and %secondary-links. These are sets of links which are usually displayed in the header or footer of each page (depending on the currently active theme). Any menu can be designated as the primary or secondary links menu via the <a href="%menu-settings">menu settings page</a>.</p>
 Menu administration tabs:
 <ul>
diff --git a/modules/node.module b/modules/node.module
index 046ed2e7d768..48a8819183f1 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -63,7 +63,7 @@ function node_cron() {
  * Gather a listing of links to nodes.
  *
  * @param $result
- *   A DB result object from a query to fetch node objects.  If your query joins the <code>node_comment_statistics</code> table so that the <code>comment_count</code> field is available, a title attribute will be added to show the number of comments.
+ *   A DB result object from a query to fetch node objects. If your query joins the <code>node_comment_statistics</code> table so that the <code>comment_count</code> field is available, a title attribute will be added to show the number of comments.
  * @param $title
  *   A heading for the resulting list.
  *
@@ -610,7 +610,7 @@ function node_search($op = 'search', $keys = null) {
       // Output form for defining rank factor weights.
       $form['content_ranking'] = array('#type' => 'fieldset', '#title' => t('Content ranking'));
       $form['content_ranking']['#theme'] = 'node_search_admin';
-      $form['content_ranking']['info'] = array('#type' => 'markup', '#value' => '<em>'. t('The following numbers control which properties the content search should favor when ordering the results. Higher numbers mean more influence, zero means the property is ignored. Changing these numbers does not require the search index to be rebuilt.  Changes take effect immediately.') .'</em>');
+      $form['content_ranking']['info'] = array('#type' => 'markup', '#value' => '<em>'. t('The following numbers control which properties the content search should favor when ordering the results. Higher numbers mean more influence, zero means the property is ignored. Changing these numbers does not require the search index to be rebuilt. Changes take effect immediately.') .'</em>');
 
       $ranking = array('node_rank_relevance' => t('Keyword relevance'),
                        'node_rank_recent' => t('Recently posted'));
@@ -776,7 +776,7 @@ function node_configure() {
     '#options' => array(0 => t('Unlimited'), 200 => t('200 characters'), 400 => t('400 characters'), 600 => t('600 characters'),
       800 => t('800 characters'), 1000 => t('1000 characters'), 1200 => t('1200 characters'), 1400 => t('1400 characters'),
       1600 => t('1600 characters'), 1800 => t('1800 characters'), 2000 => t('2000 characters')),
-    '#description' => t("The maximum number of characters used in the trimmed version of a post.  Drupal will use this setting to determine at which offset long posts should be trimmed.  The trimmed version of a post is typically used as a teaser when displaying the post on the main page, in XML feeds, etc.  To disable teasers, set to 'Unlimited'. Note that this setting will only affect new or updated content and will not affect existing teasers.")
+    '#description' => t("The maximum number of characters used in the trimmed version of a post. Drupal will use this setting to determine at which offset long posts should be trimmed. The trimmed version of a post is typically used as a teaser when displaying the post on the main page, in XML feeds, etc. To disable teasers, set to 'Unlimited'. Note that this setting will only affect new or updated content and will not affect existing teasers.")
   );
 
   $form['node_preview'] = array(
@@ -1540,7 +1540,7 @@ function node_validate($node, $form = array()) {
     // Validate the "authored by" field.
     if (!empty($node->name) && !($account = user_load(array('name' => $node->name)))) {
       // The use of empty() is mandatory in the context of usernames
-      // as the empty string denotes the anonymous user.  In case we
+      // as the empty string denotes the anonymous user. In case we
       // are dealing with an anonymous user we set the user ID to 0.
       form_set_error('name', t('The username %name does not exist.', array ('%name' => theme('placeholder', $node->name))));
     }
diff --git a/modules/node/node.module b/modules/node/node.module
index 046ed2e7d768..48a8819183f1 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -63,7 +63,7 @@ function node_cron() {
  * Gather a listing of links to nodes.
  *
  * @param $result
- *   A DB result object from a query to fetch node objects.  If your query joins the <code>node_comment_statistics</code> table so that the <code>comment_count</code> field is available, a title attribute will be added to show the number of comments.
+ *   A DB result object from a query to fetch node objects. If your query joins the <code>node_comment_statistics</code> table so that the <code>comment_count</code> field is available, a title attribute will be added to show the number of comments.
  * @param $title
  *   A heading for the resulting list.
  *
@@ -610,7 +610,7 @@ function node_search($op = 'search', $keys = null) {
       // Output form for defining rank factor weights.
       $form['content_ranking'] = array('#type' => 'fieldset', '#title' => t('Content ranking'));
       $form['content_ranking']['#theme'] = 'node_search_admin';
-      $form['content_ranking']['info'] = array('#type' => 'markup', '#value' => '<em>'. t('The following numbers control which properties the content search should favor when ordering the results. Higher numbers mean more influence, zero means the property is ignored. Changing these numbers does not require the search index to be rebuilt.  Changes take effect immediately.') .'</em>');
+      $form['content_ranking']['info'] = array('#type' => 'markup', '#value' => '<em>'. t('The following numbers control which properties the content search should favor when ordering the results. Higher numbers mean more influence, zero means the property is ignored. Changing these numbers does not require the search index to be rebuilt. Changes take effect immediately.') .'</em>');
 
       $ranking = array('node_rank_relevance' => t('Keyword relevance'),
                        'node_rank_recent' => t('Recently posted'));
@@ -776,7 +776,7 @@ function node_configure() {
     '#options' => array(0 => t('Unlimited'), 200 => t('200 characters'), 400 => t('400 characters'), 600 => t('600 characters'),
       800 => t('800 characters'), 1000 => t('1000 characters'), 1200 => t('1200 characters'), 1400 => t('1400 characters'),
       1600 => t('1600 characters'), 1800 => t('1800 characters'), 2000 => t('2000 characters')),
-    '#description' => t("The maximum number of characters used in the trimmed version of a post.  Drupal will use this setting to determine at which offset long posts should be trimmed.  The trimmed version of a post is typically used as a teaser when displaying the post on the main page, in XML feeds, etc.  To disable teasers, set to 'Unlimited'. Note that this setting will only affect new or updated content and will not affect existing teasers.")
+    '#description' => t("The maximum number of characters used in the trimmed version of a post. Drupal will use this setting to determine at which offset long posts should be trimmed. The trimmed version of a post is typically used as a teaser when displaying the post on the main page, in XML feeds, etc. To disable teasers, set to 'Unlimited'. Note that this setting will only affect new or updated content and will not affect existing teasers.")
   );
 
   $form['node_preview'] = array(
@@ -1540,7 +1540,7 @@ function node_validate($node, $form = array()) {
     // Validate the "authored by" field.
     if (!empty($node->name) && !($account = user_load(array('name' => $node->name)))) {
       // The use of empty() is mandatory in the context of usernames
-      // as the empty string denotes the anonymous user.  In case we
+      // as the empty string denotes the anonymous user. In case we
       // are dealing with an anonymous user we set the user ID to 0.
       form_set_error('name', t('The username %name does not exist.', array ('%name' => theme('placeholder', $node->name))));
     }
diff --git a/modules/page.module b/modules/page.module
index 320ce8accbd7..ff0e36ac261f 100644
--- a/modules/page.module
+++ b/modules/page.module
@@ -12,10 +12,10 @@
 function page_help($section) {
   switch ($section) {
     case 'admin/help#page':
-      $output = '<p>'. t('The page module allows users to create static pages, which are the most basic type of content.  Pages are commonly collected in books via the book module.  Users should create a page if the information on the page is static.  An example would be an "about" page. ') .'</p>';
-      $output .= '<p>'. t('When a  page is created, a user can set authoring information, configure publishing options, whether readers will be able to post comments.  They can also select the content type of the page (e.g., full HTML, filtered HTML). ') .'</p>';
-      $output .= '<p>'. t('As an administrator, you can set the publishing default for a page (in its workflow): you can specify whether a page is by default published, sent to moderation, promoted to the front page, sticky at the top of lists, and whether revisions are enabled by default.    You can set the permissions that different user roles have to view, create, and edit pages.') .'</p>';
-      $output .= '<p>'. t('If the location module is enabled, then location specific information can be added.  If the trackback module is enabled trackbacks can be configured.') .'</p>';
+      $output = '<p>'. t('The page module allows users to create static pages, which are the most basic type of content. Pages are commonly collected in books via the book module. Users should create a page if the information on the page is static. An example would be an "about" page. ') .'</p>';
+      $output .= '<p>'. t('When a  page is created, a user can set authoring information, configure publishing options, whether readers will be able to post comments. They can also select the content type of the page (e.g., full HTML, filtered HTML). ') .'</p>';
+      $output .= '<p>'. t('As an administrator, you can set the publishing default for a page (in its workflow): you can specify whether a page is by default published, sent to moderation, promoted to the front page, sticky at the top of lists, and whether revisions are enabled by default. You can set the permissions that different user roles have to view, create, and edit pages.') .'</p>';
+      $output .= '<p>'. t('If the location module is enabled, then location specific information can be added. If the trackback module is enabled trackbacks can be configured.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>read the node administration help at <a href="%admin-help-node">administer &gt;&gt; help &gt;&gt; node</a>.</li>
diff --git a/modules/page/page.module b/modules/page/page.module
index 320ce8accbd7..ff0e36ac261f 100644
--- a/modules/page/page.module
+++ b/modules/page/page.module
@@ -12,10 +12,10 @@
 function page_help($section) {
   switch ($section) {
     case 'admin/help#page':
-      $output = '<p>'. t('The page module allows users to create static pages, which are the most basic type of content.  Pages are commonly collected in books via the book module.  Users should create a page if the information on the page is static.  An example would be an "about" page. ') .'</p>';
-      $output .= '<p>'. t('When a  page is created, a user can set authoring information, configure publishing options, whether readers will be able to post comments.  They can also select the content type of the page (e.g., full HTML, filtered HTML). ') .'</p>';
-      $output .= '<p>'. t('As an administrator, you can set the publishing default for a page (in its workflow): you can specify whether a page is by default published, sent to moderation, promoted to the front page, sticky at the top of lists, and whether revisions are enabled by default.    You can set the permissions that different user roles have to view, create, and edit pages.') .'</p>';
-      $output .= '<p>'. t('If the location module is enabled, then location specific information can be added.  If the trackback module is enabled trackbacks can be configured.') .'</p>';
+      $output = '<p>'. t('The page module allows users to create static pages, which are the most basic type of content. Pages are commonly collected in books via the book module. Users should create a page if the information on the page is static. An example would be an "about" page. ') .'</p>';
+      $output .= '<p>'. t('When a  page is created, a user can set authoring information, configure publishing options, whether readers will be able to post comments. They can also select the content type of the page (e.g., full HTML, filtered HTML). ') .'</p>';
+      $output .= '<p>'. t('As an administrator, you can set the publishing default for a page (in its workflow): you can specify whether a page is by default published, sent to moderation, promoted to the front page, sticky at the top of lists, and whether revisions are enabled by default. You can set the permissions that different user roles have to view, create, and edit pages.') .'</p>';
+      $output .= '<p>'. t('If the location module is enabled, then location specific information can be added. If the trackback module is enabled trackbacks can be configured.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>read the node administration help at <a href="%admin-help-node">administer &gt;&gt; help &gt;&gt; node</a>.</li>
diff --git a/modules/path.module b/modules/path.module
index adb6c5f1dba8..b182269550a4 100644
--- a/modules/path.module
+++ b/modules/path.module
@@ -12,7 +12,7 @@
 function path_help($section) {
   switch ($section) {
     case 'admin/help#path':
-      $output = '<p>'. t('The path module allows you to specify aliases for Drupal URLs.  Such aliases improve readability of URLs for your users and may help internet search engines to index your content more effectively.  More than one alias may be created for a given page.') .'</p>';
+      $output = '<p>'. t('The path module allows you to specify aliases for Drupal URLs. Such aliases improve readability of URLs for your users and may help internet search engines to index your content more effectively. More than one alias may be created for a given page.') .'</p>';
       $output .= t('<p>Some examples of URL aliases are:</p>
 <ul>
 <li>user/login =&gt; login</li>
@@ -21,8 +21,8 @@ function path_help($section) {
 <li>node/3 =&gt; contact</li>
 </ul>
 ');
-      $output .= '<p>'. t('The path module enables an extra field for aliases in all node input and editing forms (when users have the appropriate permissions).  It also provides an interface to view and edit all URL aliases.  The two permissions are related to URL aliasing are "administer a list of URL aliases" and "add url aliases".  ') .'</p>';
-      $output .= '<p>'. t('This module also comes with user-defined mass URL aliasing capabilities, which is useful if you wish to uniformly use URLs different from the default.  For example, you may want to have your URLs presented in a different language. Access to the Drupal source code on the web server is required to set up these kinds of aliases. ') .'</p>';
+      $output .= '<p>'. t('The path module enables an extra field for aliases in all node input and editing forms (when users have the appropriate permissions). It also provides an interface to view and edit all URL aliases. The two permissions are related to URL aliasing are "administer a list of URL aliases" and "add url aliases". ') .'</p>';
+      $output .= '<p>'. t('This module also comes with user-defined mass URL aliasing capabilities, which is useful if you wish to uniformly use URLs different from the default. For example, you may want to have your URLs presented in a different language. Access to the Drupal source code on the web server is required to set up these kinds of aliases. ') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>set the path for a post with the path module.</li>
@@ -37,7 +37,7 @@ function path_help($section) {
     case 'admin/modules#description':
       return t('Allows users to rename URLs.');
     case 'admin/path':
-      return t("<p>Drupal provides users complete control over URLs through aliasing.  This feature is typically used to make URLs human-readable or easy to remember.  For example, one could map the relative URL 'node/1' onto 'about'. Each system path can have multiple aliases.</p>");
+      return t("<p>Drupal provides users complete control over URLs through aliasing. This feature is typically used to make URLs human-readable or easy to remember. For example, one could map the relative URL 'node/1' onto 'about'. Each system path can have multiple aliases.</p>");
     case 'admin/path/add':
       return t('<p>Enter the path you wish to create the alias for, followed by the name of the new alias.</p>');
   }
@@ -182,7 +182,7 @@ function path_set_alias($path = NULL, $alias = NULL, $pid = NULL) {
 function path_form($edit = '') {
 
   $form['src'] = array('#type' => 'textfield', '#title' => t('Existing system path'), '#default_value' => $edit['src'], '#maxlength' => 64, '#description' => t('Specify the existing path you wish to alias. For example: node/28, forum/1, taxonomy/term/1+2.'));
-  $form['dst'] = array('#type' => 'textfield', '#default_value' => $edit['dst'], '#maxlength' => 64, '#description' => t('Specify an alternative path by which this data can be accessed.  For example, type "about" when writing an about page.  Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'));
+  $form['dst'] = array('#type' => 'textfield', '#default_value' => $edit['dst'], '#maxlength' => 64, '#description' => t('Specify an alternative path by which this data can be accessed. For example, type "about" when writing an about page. Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'));
 
   if ($edit['pid']) {
     $form['pid'] = array('#type' => 'hidden', '#value' => $edit['pid']);
@@ -225,7 +225,7 @@ function path_nodeapi(&$node, $op, $arg) {
         break;
 
       case 'insert':
-        // Don't try to insert if path is NULL.  We may have already set
+        // Don't try to insert if path is NULL. We may have already set
         // the alias ahead of time.
         if ($node->path) {
           path_set_alias("node/$node->nid", $node->path);
@@ -265,7 +265,7 @@ function path_form_alter($form_id, &$form) {
       '#maxlength' => 250,
       '#collapsible' => TRUE,
       '#collapsed' => TRUE,
-      '#description' => t('Optionally specify an alternative URL by which this node can be accessed.  For example, type "about" when writing an about page.  Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'),
+      '#description' => t('Optionally specify an alternative URL by which this node can be accessed. For example, type "about" when writing an about page. Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'),
     );
     if ($path) {
       $form['path']['pid'] = array(
diff --git a/modules/path/path.module b/modules/path/path.module
index adb6c5f1dba8..b182269550a4 100644
--- a/modules/path/path.module
+++ b/modules/path/path.module
@@ -12,7 +12,7 @@
 function path_help($section) {
   switch ($section) {
     case 'admin/help#path':
-      $output = '<p>'. t('The path module allows you to specify aliases for Drupal URLs.  Such aliases improve readability of URLs for your users and may help internet search engines to index your content more effectively.  More than one alias may be created for a given page.') .'</p>';
+      $output = '<p>'. t('The path module allows you to specify aliases for Drupal URLs. Such aliases improve readability of URLs for your users and may help internet search engines to index your content more effectively. More than one alias may be created for a given page.') .'</p>';
       $output .= t('<p>Some examples of URL aliases are:</p>
 <ul>
 <li>user/login =&gt; login</li>
@@ -21,8 +21,8 @@ function path_help($section) {
 <li>node/3 =&gt; contact</li>
 </ul>
 ');
-      $output .= '<p>'. t('The path module enables an extra field for aliases in all node input and editing forms (when users have the appropriate permissions).  It also provides an interface to view and edit all URL aliases.  The two permissions are related to URL aliasing are "administer a list of URL aliases" and "add url aliases".  ') .'</p>';
-      $output .= '<p>'. t('This module also comes with user-defined mass URL aliasing capabilities, which is useful if you wish to uniformly use URLs different from the default.  For example, you may want to have your URLs presented in a different language. Access to the Drupal source code on the web server is required to set up these kinds of aliases. ') .'</p>';
+      $output .= '<p>'. t('The path module enables an extra field for aliases in all node input and editing forms (when users have the appropriate permissions). It also provides an interface to view and edit all URL aliases. The two permissions are related to URL aliasing are "administer a list of URL aliases" and "add url aliases". ') .'</p>';
+      $output .= '<p>'. t('This module also comes with user-defined mass URL aliasing capabilities, which is useful if you wish to uniformly use URLs different from the default. For example, you may want to have your URLs presented in a different language. Access to the Drupal source code on the web server is required to set up these kinds of aliases. ') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>set the path for a post with the path module.</li>
@@ -37,7 +37,7 @@ function path_help($section) {
     case 'admin/modules#description':
       return t('Allows users to rename URLs.');
     case 'admin/path':
-      return t("<p>Drupal provides users complete control over URLs through aliasing.  This feature is typically used to make URLs human-readable or easy to remember.  For example, one could map the relative URL 'node/1' onto 'about'. Each system path can have multiple aliases.</p>");
+      return t("<p>Drupal provides users complete control over URLs through aliasing. This feature is typically used to make URLs human-readable or easy to remember. For example, one could map the relative URL 'node/1' onto 'about'. Each system path can have multiple aliases.</p>");
     case 'admin/path/add':
       return t('<p>Enter the path you wish to create the alias for, followed by the name of the new alias.</p>');
   }
@@ -182,7 +182,7 @@ function path_set_alias($path = NULL, $alias = NULL, $pid = NULL) {
 function path_form($edit = '') {
 
   $form['src'] = array('#type' => 'textfield', '#title' => t('Existing system path'), '#default_value' => $edit['src'], '#maxlength' => 64, '#description' => t('Specify the existing path you wish to alias. For example: node/28, forum/1, taxonomy/term/1+2.'));
-  $form['dst'] = array('#type' => 'textfield', '#default_value' => $edit['dst'], '#maxlength' => 64, '#description' => t('Specify an alternative path by which this data can be accessed.  For example, type "about" when writing an about page.  Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'));
+  $form['dst'] = array('#type' => 'textfield', '#default_value' => $edit['dst'], '#maxlength' => 64, '#description' => t('Specify an alternative path by which this data can be accessed. For example, type "about" when writing an about page. Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'));
 
   if ($edit['pid']) {
     $form['pid'] = array('#type' => 'hidden', '#value' => $edit['pid']);
@@ -225,7 +225,7 @@ function path_nodeapi(&$node, $op, $arg) {
         break;
 
       case 'insert':
-        // Don't try to insert if path is NULL.  We may have already set
+        // Don't try to insert if path is NULL. We may have already set
         // the alias ahead of time.
         if ($node->path) {
           path_set_alias("node/$node->nid", $node->path);
@@ -265,7 +265,7 @@ function path_form_alter($form_id, &$form) {
       '#maxlength' => 250,
       '#collapsible' => TRUE,
       '#collapsed' => TRUE,
-      '#description' => t('Optionally specify an alternative URL by which this node can be accessed.  For example, type "about" when writing an about page.  Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'),
+      '#description' => t('Optionally specify an alternative URL by which this node can be accessed. For example, type "about" when writing an about page. Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'),
     );
     if ($path) {
       $form['path']['pid'] = array(
diff --git a/modules/ping.module b/modules/ping.module
index 7c4a894e973c..c84b6a325e0d 100644
--- a/modules/ping.module
+++ b/modules/ping.module
@@ -12,7 +12,7 @@
 function ping_help($section) {
   switch ($section) {
     case 'admin/help#ping':
-      $output = '<p>'. t('The ping module is useful for notifying interested sites that your site has changed.  It automatically sends notifications (called "pings") to the <a href="%external-http-pingomatic-com">pingomatic</a> service to tell it that your site has changed. In turn pingomatic will ping other services such as weblogs.com, Technorati, blo.gs, BlogRolling, Feedster.com, Moreover, etc.', array('%external-http-pingomatic-com' => 'http://pingomatic.com/')) .'</p>';
+      $output = '<p>'. t('The ping module is useful for notifying interested sites that your site has changed. It automatically sends notifications (called "pings") to the <a href="%external-http-pingomatic-com">pingomatic</a> service to tell it that your site has changed. In turn pingomatic will ping other services such as weblogs.com, Technorati, blo.gs, BlogRolling, Feedster.com, Moreover, etc.', array('%external-http-pingomatic-com' => 'http://pingomatic.com/')) .'</p>';
       $output .= '<p>'. t('The ping module requires <code>cron</code> or a similar periodic job scheduler to be enabled.') .'</p>';
       $output .= t('<p>You can:</p>
 <ul>
diff --git a/modules/ping/ping.module b/modules/ping/ping.module
index 7c4a894e973c..c84b6a325e0d 100644
--- a/modules/ping/ping.module
+++ b/modules/ping/ping.module
@@ -12,7 +12,7 @@
 function ping_help($section) {
   switch ($section) {
     case 'admin/help#ping':
-      $output = '<p>'. t('The ping module is useful for notifying interested sites that your site has changed.  It automatically sends notifications (called "pings") to the <a href="%external-http-pingomatic-com">pingomatic</a> service to tell it that your site has changed. In turn pingomatic will ping other services such as weblogs.com, Technorati, blo.gs, BlogRolling, Feedster.com, Moreover, etc.', array('%external-http-pingomatic-com' => 'http://pingomatic.com/')) .'</p>';
+      $output = '<p>'. t('The ping module is useful for notifying interested sites that your site has changed. It automatically sends notifications (called "pings") to the <a href="%external-http-pingomatic-com">pingomatic</a> service to tell it that your site has changed. In turn pingomatic will ping other services such as weblogs.com, Technorati, blo.gs, BlogRolling, Feedster.com, Moreover, etc.', array('%external-http-pingomatic-com' => 'http://pingomatic.com/')) .'</p>';
       $output .= '<p>'. t('The ping module requires <code>cron</code> or a similar periodic job scheduler to be enabled.') .'</p>';
       $output .= t('<p>You can:</p>
 <ul>
diff --git a/modules/poll.module b/modules/poll.module
index 6788900fba17..d7b03f7e6549 100644
--- a/modules/poll.module
+++ b/modules/poll.module
@@ -13,7 +13,7 @@
 function poll_help($section) {
   switch ($section) {
     case 'admin/help#poll':
-      $output = '<p>'. t('The poll module can be used to create simple polls for site users.  A poll is a simple multiple choice questionnaire which displays the cumulative results of the answers to the poll.  Having polls on the site is a good way to get instant feedback from community members.') .'</p>';
+      $output = '<p>'. t('The poll module can be used to create simple polls for site users. A poll is a simple multiple choice questionnaire which displays the cumulative results of the answers to the poll. Having polls on the site is a good way to get instant feedback from community members.') .'</p>';
       $output .= '<p>'. t('Users can create a poll. The title of the poll should be the question, then enter the answers and the "base" vote counts. You can also choose the time period over which the vote will run.The <a href="%poll">poll</a> item in the navigation menu will take you to a page where you can see all the current polls, vote on them (if you haven\'t already) and view the results.', array('%poll' => url('poll'))) .'</p>';
       $output .= t('<p>You can</p>
 <ul>
diff --git a/modules/poll/poll.module b/modules/poll/poll.module
index 6788900fba17..d7b03f7e6549 100644
--- a/modules/poll/poll.module
+++ b/modules/poll/poll.module
@@ -13,7 +13,7 @@
 function poll_help($section) {
   switch ($section) {
     case 'admin/help#poll':
-      $output = '<p>'. t('The poll module can be used to create simple polls for site users.  A poll is a simple multiple choice questionnaire which displays the cumulative results of the answers to the poll.  Having polls on the site is a good way to get instant feedback from community members.') .'</p>';
+      $output = '<p>'. t('The poll module can be used to create simple polls for site users. A poll is a simple multiple choice questionnaire which displays the cumulative results of the answers to the poll. Having polls on the site is a good way to get instant feedback from community members.') .'</p>';
       $output .= '<p>'. t('Users can create a poll. The title of the poll should be the question, then enter the answers and the "base" vote counts. You can also choose the time period over which the vote will run.The <a href="%poll">poll</a> item in the navigation menu will take you to a page where you can see all the current polls, vote on them (if you haven\'t already) and view the results.', array('%poll' => url('poll'))) .'</p>';
       $output .= t('<p>You can</p>
 <ul>
diff --git a/modules/search.module b/modules/search.module
index e35e1a4d425e..9686b626d08f 100644
--- a/modules/search.module
+++ b/modules/search.module
@@ -96,8 +96,8 @@
 function search_help($section) {
   switch ($section) {
     case 'admin/help#search':
-      $output = '<p>'. t('The search module adds the ability to search for content by keywords.  Search is often the only practical way to find content on a large site.  Search is useful for finding users and posts by searching on keywords.') .'</p>';
-      $output .= '<p>'. t('The search engine works by maintaining an index of the words in your site\'s content. It indexes the posts and users.  You can adjust the settings to tweak the indexing behaviour. Note that the search requires cron to be set up correctly.  The index percentage sets the maximum amount of items that will be indexed in one cron run. Set this number lower if your cron is timing out or if PHP is running out of memory.') .'</p>';
+      $output = '<p>'. t('The search module adds the ability to search for content by keywords. Search is often the only practical way to find content on a large site. Search is useful for finding users and posts by searching on keywords.') .'</p>';
+      $output .= '<p>'. t('The search engine works by maintaining an index of the words in your site\'s content. It indexes the posts and users. You can adjust the settings to tweak the indexing behaviour. Note that the search requires cron to be set up correctly. The index percentage sets the maximum amount of items that will be indexed in one cron run. Set this number lower if your cron is timing out or if PHP is running out of memory.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>read about how your site uses cron in the <a href="%admin-help-system">administer &gt;&gt; help &gt;&gt; system</a>.</li>
diff --git a/modules/search/search.module b/modules/search/search.module
index e35e1a4d425e..9686b626d08f 100644
--- a/modules/search/search.module
+++ b/modules/search/search.module
@@ -96,8 +96,8 @@
 function search_help($section) {
   switch ($section) {
     case 'admin/help#search':
-      $output = '<p>'. t('The search module adds the ability to search for content by keywords.  Search is often the only practical way to find content on a large site.  Search is useful for finding users and posts by searching on keywords.') .'</p>';
-      $output .= '<p>'. t('The search engine works by maintaining an index of the words in your site\'s content. It indexes the posts and users.  You can adjust the settings to tweak the indexing behaviour. Note that the search requires cron to be set up correctly.  The index percentage sets the maximum amount of items that will be indexed in one cron run. Set this number lower if your cron is timing out or if PHP is running out of memory.') .'</p>';
+      $output = '<p>'. t('The search module adds the ability to search for content by keywords. Search is often the only practical way to find content on a large site. Search is useful for finding users and posts by searching on keywords.') .'</p>';
+      $output .= '<p>'. t('The search engine works by maintaining an index of the words in your site\'s content. It indexes the posts and users. You can adjust the settings to tweak the indexing behaviour. Note that the search requires cron to be set up correctly. The index percentage sets the maximum amount of items that will be indexed in one cron run. Set this number lower if your cron is timing out or if PHP is running out of memory.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>read about how your site uses cron in the <a href="%admin-help-system">administer &gt;&gt; help &gt;&gt; system</a>.</li>
diff --git a/modules/statistics.module b/modules/statistics.module
index 1869b5c0ec4f..f6510221e797 100644
--- a/modules/statistics.module
+++ b/modules/statistics.module
@@ -340,9 +340,9 @@ function statistics_settings() {
   // access log settings:
   $options = array('1' => t('Enabled'), '0' => t('Disabled'));
   $form['access'] = array('#type' => 'fieldset', '#title' => t('Access log settings'));
-  $form['access']['statistics_enable_access_log'] = array('#type' => 'radios', '#title' => t('Enable access log'), '#default_value' =>  variable_get('statistics_enable_access_log', 0), '#options' => $options, '#description' => t('Log each page access.  Required for referrer statistics.'));
+  $form['access']['statistics_enable_access_log'] = array('#type' => 'radios', '#title' => t('Enable access log'), '#default_value' =>  variable_get('statistics_enable_access_log', 0), '#options' => $options, '#description' => t('Log each page access. Required for referrer statistics.'));
   $period = drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200, 4838400, 9676800), 'format_interval');
-  $form['access']['statistics_flush_accesslog_timer'] = array('#type' => 'select', '#title' => t('Discard access logs older than'), '#default_value'   => variable_get('statistics_flush_accesslog_timer', 259200), '#options' => $period, '#description' => t('Older access log entries (including referrer statistics) will be automatically discarded.  Requires crontab.'));
+  $form['access']['statistics_flush_accesslog_timer'] = array('#type' => 'select', '#title' => t('Discard access logs older than'), '#default_value'   => variable_get('statistics_flush_accesslog_timer', 259200), '#options' => $period, '#description' => t('Older access log entries (including referrer statistics) will be automatically discarded. Requires crontab.'));
 
   // count content views settings
   $form['content'] = array('#type' => 'fieldset', '#title' => t('Content viewing counter settings'));
diff --git a/modules/statistics/statistics.module b/modules/statistics/statistics.module
index 1869b5c0ec4f..f6510221e797 100644
--- a/modules/statistics/statistics.module
+++ b/modules/statistics/statistics.module
@@ -340,9 +340,9 @@ function statistics_settings() {
   // access log settings:
   $options = array('1' => t('Enabled'), '0' => t('Disabled'));
   $form['access'] = array('#type' => 'fieldset', '#title' => t('Access log settings'));
-  $form['access']['statistics_enable_access_log'] = array('#type' => 'radios', '#title' => t('Enable access log'), '#default_value' =>  variable_get('statistics_enable_access_log', 0), '#options' => $options, '#description' => t('Log each page access.  Required for referrer statistics.'));
+  $form['access']['statistics_enable_access_log'] = array('#type' => 'radios', '#title' => t('Enable access log'), '#default_value' =>  variable_get('statistics_enable_access_log', 0), '#options' => $options, '#description' => t('Log each page access. Required for referrer statistics.'));
   $period = drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200, 4838400, 9676800), 'format_interval');
-  $form['access']['statistics_flush_accesslog_timer'] = array('#type' => 'select', '#title' => t('Discard access logs older than'), '#default_value'   => variable_get('statistics_flush_accesslog_timer', 259200), '#options' => $period, '#description' => t('Older access log entries (including referrer statistics) will be automatically discarded.  Requires crontab.'));
+  $form['access']['statistics_flush_accesslog_timer'] = array('#type' => 'select', '#title' => t('Discard access logs older than'), '#default_value'   => variable_get('statistics_flush_accesslog_timer', 259200), '#options' => $period, '#description' => t('Older access log entries (including referrer statistics) will be automatically discarded. Requires crontab.'));
 
   // count content views settings
   $form['content'] = array('#type' => 'fieldset', '#title' => t('Content viewing counter settings'));
diff --git a/modules/story.module b/modules/story.module
index 18123c15b583..b91c63a06a0c 100644
--- a/modules/story.module
+++ b/modules/story.module
@@ -13,7 +13,7 @@ function story_help($section) {
   switch ($section) {
     case 'admin/help#story':
       $output = '<p>'. t('The story module is used to create a content post type called <em>stories.</em> Stories are articles in their simplest form: they have a title, a teaser and a body. Stories are typically used to post news articles or as a group blog. ') .'</p>';
-      $output .= '<p>'. t('The story administration interface allows for complex configuration. It provides a submission form, workflow, default view permission, default edit permission, permissions for permission, and attachments.  Trackbacks can also be enabled.') .'</p>';
+      $output .= '<p>'. t('The story administration interface allows for complex configuration. It provides a submission form, workflow, default view permission, default edit permission, permissions for permission, and attachments. Trackbacks can also be enabled.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>post a story at <a href="%node-add-story">create content &gt;&gt; story</a>.</li>
diff --git a/modules/story/story.module b/modules/story/story.module
index 18123c15b583..b91c63a06a0c 100644
--- a/modules/story/story.module
+++ b/modules/story/story.module
@@ -13,7 +13,7 @@ function story_help($section) {
   switch ($section) {
     case 'admin/help#story':
       $output = '<p>'. t('The story module is used to create a content post type called <em>stories.</em> Stories are articles in their simplest form: they have a title, a teaser and a body. Stories are typically used to post news articles or as a group blog. ') .'</p>';
-      $output .= '<p>'. t('The story administration interface allows for complex configuration. It provides a submission form, workflow, default view permission, default edit permission, permissions for permission, and attachments.  Trackbacks can also be enabled.') .'</p>';
+      $output .= '<p>'. t('The story administration interface allows for complex configuration. It provides a submission form, workflow, default view permission, default edit permission, permissions for permission, and attachments. Trackbacks can also be enabled.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>post a story at <a href="%node-add-story">create content &gt;&gt; story</a>.</li>
diff --git a/modules/system.module b/modules/system.module
index 384d1713c2da..249c06e1d8d2 100644
--- a/modules/system.module
+++ b/modules/system.module
@@ -14,8 +14,8 @@ function system_help($section) {
 
   switch ($section) {
     case 'admin/help#system':
-      $output = '<p>'. t('The system module provides system-wide defaults such as running jobs at a particular time, and storing web pages to improve efficiency.   The ability to run scheduled jobs makes administering the web site more usable, as administrators do not have to manually start jobs.   The storing of web pages, or caching, allows the site to efficiently re-use web pages and improve web site performance.  The settings module provides control over preferences, behaviours including visual and operational settings.') .'</p>';
-      $output .= '<p>'. t('Some modules require regularly scheduled actions, such as cleaning up logfiles. Cron, which stands for chronograph, is a periodic command scheduler executing commands at intervals specified in seconds. It can be used to control the execution of daily, weekly and monthly jobs (or anything with a period measured in seconds). The aggregator module periodically updates feeds using cron.  Ping periodically notifies services of new content on your site.  Search periodically indexes the content on your site.   Automating tasks is one of the best ways to keep a system running smoothly, and if most of your administration does not require your direct involvement, cron is an ideal solution.') .'</p>';
+      $output = '<p>'. t('The system module provides system-wide defaults such as running jobs at a particular time, and storing web pages to improve efficiency. The ability to run scheduled jobs makes administering the web site more usable, as administrators do not have to manually start jobs. The storing of web pages, or caching, allows the site to efficiently re-use web pages and improve web site performance. The settings module provides control over preferences, behaviours including visual and operational settings.') .'</p>';
+      $output .= '<p>'. t('Some modules require regularly scheduled actions, such as cleaning up logfiles. Cron, which stands for chronograph, is a periodic command scheduler executing commands at intervals specified in seconds. It can be used to control the execution of daily, weekly and monthly jobs (or anything with a period measured in seconds). The aggregator module periodically updates feeds using cron. Ping periodically notifies services of new content on your site. Search periodically indexes the content on your site. Automating tasks is one of the best ways to keep a system running smoothly, and if most of your administration does not require your direct involvement, cron is an ideal solution.') .'</p>';
       $output .= '<p>'. t('There is a caching mechanism which stores dynamically generated web pages in a database. By caching a web page, the system module does not have to create the page each time someone wants to view it, instead it takes only one SQL query to display it, reducing response time and the server\'s load. Only pages requested by <em>anonymous</em> users are cached. In order to reduce server load and save bandwidth, the system module stores and sends cached pages compressed.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -33,7 +33,7 @@ function system_help($section) {
     case 'admin/settings':
       return t('<p>General configuration options for your site. Set up the name of the site, e-mail address used in mail-outs, clean URL options, caching, etc.</p>');
     case 'admin/themes':
-      return t('<p>Select which themes are available to your users and specify the default theme. To configure site-wide display settings, click the "configure" task above. Alternately, to override these settings in a specific theme, click the "configure" link for the corresponding theme.  Note that different themes may have different regions available for rendering content like blocks.  If you want consistency in what your users see, you may wish to enable only one theme.</p>');
+      return t('<p>Select which themes are available to your users and specify the default theme. To configure site-wide display settings, click the "configure" task above. Alternately, to override these settings in a specific theme, click the "configure" link for the corresponding theme. Note that different themes may have different regions available for rendering content like blocks. If you want consistency in what your users see, you may wish to enable only one theme.</p>');
     case 'admin/themes/settings':
       return t('<p>These options control the default display settings for your entire site, across all themes. Unless they have been overridden by a specific theme, these settings will be used.</p>');
     case 'admin/themes/settings/'. arg(3):
@@ -268,7 +268,7 @@ function system_view_general() {
   );
   $form['general']['site_footer'] = array(
     '#type' => 'textarea', '#title' => t('Footer message'), '#default_value' => variable_get('site_footer', ''),
-    '#description' => t('This text will be displayed at the bottom of each page.  Useful for adding a copyright notice to your pages.')
+    '#description' => t('This text will be displayed at the bottom of each page. Useful for adding a copyright notice to your pages.')
   );
   $form['general']['anonymous'] = array(
     '#type' => 'textfield', '#title' => t('Anonymous user'), '#default_value' => variable_get('anonymous', 'Anonymous'),
@@ -276,7 +276,7 @@ function system_view_general() {
   );
   $form['general']['site_frontpage'] = array(
     '#type' => 'textfield', '#title' => t('Default front page'), '#default_value' => variable_get('site_frontpage', 'node'),
-    '#description' => t('The home page displays content from this relative URL.  If you are not using clean URLs, specify the part after "?q=".  If unsure, specify "node".')
+    '#description' => t('The home page displays content from this relative URL. If you are not using clean URLs, specify the part after "?q=". If unsure, specify "node".')
   );
 
   // We check for clean URL support using an image on the client side.
@@ -304,12 +304,12 @@ function system_view_general() {
   $form['errors'] = array( '#type' => 'fieldset', '#title' =>t('Error handling'), '#collapsible' => TRUE, '#collapsed' => TRUE );
   $form['errors']['site_403'] = array(
     '#type' => 'textfield', '#title' => t('Default 403 (access denied) page'), '#default_value' => variable_get('site_403', ''),
-    '#description' => t('This page is displayed when the requested document is denied to the current user.  If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
+    '#description' => t('This page is displayed when the requested document is denied to the current user. If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
   );
 
   $form['errors']['site_404'] = array(
     '#type' => 'textfield', '#title' => t('Default 404 (not found) page'), '#default_value' =>  variable_get('site_404', ''),
-    '#description' => t('This page is displayed when no other content matches the requested document.  If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
+    '#description' => t('This page is displayed when no other content matches the requested document. If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
   );
 
   $form['errors']['error_level'] = array(
@@ -322,7 +322,7 @@ function system_view_general() {
   $period['1000000000'] = t('Never');
   $form['errors']['watchdog_clear'] = array(
     '#type' => 'select', '#title' => t('Discard log entries older than'), '#default_value' => variable_get('watchdog_clear', 604800), '#options' => $period,
-    '#description' => t('The time log entries should be kept.  Older entries will be automatically discarded.  Requires crontab.')
+    '#description' => t('The time log entries should be kept. Older entries will be automatically discarded. Requires crontab.')
   );
 
 
@@ -332,14 +332,14 @@ function system_view_general() {
   $form['cache']['cache']  = array(
     '#type' => 'radios',  '#title' => t('Page cache'), '#default_value' => variable_get('cache', CACHE_DISABLED),
     '#options' => array(CACHE_DISABLED => t('Disabled'), CACHE_ENABLED => t('Enabled')),
-    '#description' => t("Drupal has a caching mechanism which stores dynamically generated web pages in a database.  By caching a web page, Drupal does not have to create the page each time someone wants to view it, instead it takes only one SQL query to display it, reducing response time and the server's load.  Only pages requested by \"anonymous\" users are cached.  In order to reduce server load and save bandwidth, Drupal stores and sends compressed cached pages.")
+    '#description' => t("Drupal has a caching mechanism which stores dynamically generated web pages in a database. By caching a web page, Drupal does not have to create the page each time someone wants to view it, instead it takes only one SQL query to display it, reducing response time and the server's load. Only pages requested by \"anonymous\" users are cached. In order to reduce server load and save bandwidth, Drupal stores and sends compressed cached pages.")
   );
 
   $period = drupal_map_assoc(array(0, 60, 180, 300, 600, 900, 1800, 2700, 3600, 10800, 21600, 32400, 43200, 86400), 'format_interval');
   $period[0] = t('none');
   $form['cache']['cache_lifetime'] = array(
     '#type' => 'select', '#title' => t('Minimum cache lifetime'), '#default_value' => variable_get('cache_lifetime', 0), '#options' => $period,
-    '#description' => t('Enabling the cache will offer a sufficient performance boost for most low-traffic and medium-traffic sites.  On high-traffic sites it can become necessary to enforce a minimum cache lifetime.  The minimum cache lifetime is the minimum amount of time that will go by before the cache is emptied and recreated.  A larger minimum cache lifetime offers better performance, but users will not see new content for a longer period of time.')
+    '#description' => t('Enabling the cache will offer a sufficient performance boost for most low-traffic and medium-traffic sites. On high-traffic sites it can become necessary to enforce a minimum cache lifetime. The minimum cache lifetime is the minimum amount of time that will go by before the cache is emptied and recreated. A larger minimum cache lifetime offers better performance, but users will not see new content for a longer period of time.')
   );
 
 
@@ -427,7 +427,7 @@ function system_view_general() {
 
   $form['dates']['configurable_timezones'] = array(
     '#type' => 'radios', '#title' => t('Configurable time zones'), '#default_value' => variable_get('configurable_timezones', 1), '#options' => array(t('Disabled'), t('Enabled')),
-    '#description' => t('Enable or disable user-configurable time zones.  When enabled, users can set their own time zone and dates will be updated accordingly.')
+    '#description' => t('Enable or disable user-configurable time zones. When enabled, users can set their own time zone and dates will be updated accordingly.')
   );
 
   $form['dates']['date_format_short'] = array(
@@ -673,16 +673,16 @@ function system_default_region($theme) {
 /**
  * Returns an array of files objects of the given type from both the
  * site-wide directory (i.e. modules/) and site-specific directory
- * (i.e. sites/somesite/modules/).  The returned array will be keyed
- * using the key specified (name, basename, filename).  Using name or
+ * (i.e. sites/somesite/modules/). The returned array will be keyed
+ * using the key specified (name, basename, filename). Using name or
  * basename will cause site-specific files to shadow files in the
- * default directories.  That is, if a file with the same name appears
+ * default directories. That is, if a file with the same name appears
  * in both location, only the site-specific version will be included.
  *
  * @param $mask
  *   The regular expression of the files to find.
  * @param $directory
- *   The subdirectory name in which the files are found.  For example,
+ *   The subdirectory name in which the files are found. For example,
  *   'modules' will search in both modules/ and
  *   sites/somesite/modules/.
  * @param $key
@@ -713,7 +713,7 @@ function system_listing($mask, $directory, $key = 'name', $min_depth = 1) {
 /**
  * Assign an initial, default set of blocks for a theme.
  *
- * This function is called the first time a new theme is enabled.  The new theme
+ * This function is called the first time a new theme is enabled. The new theme
  * gets a copy of the default theme's blocks, with the difference that if a
  * particular region isn't available in the new theme, the block is assigned
  * to the new theme's default region.
diff --git a/modules/system/system.module b/modules/system/system.module
index 384d1713c2da..249c06e1d8d2 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -14,8 +14,8 @@ function system_help($section) {
 
   switch ($section) {
     case 'admin/help#system':
-      $output = '<p>'. t('The system module provides system-wide defaults such as running jobs at a particular time, and storing web pages to improve efficiency.   The ability to run scheduled jobs makes administering the web site more usable, as administrators do not have to manually start jobs.   The storing of web pages, or caching, allows the site to efficiently re-use web pages and improve web site performance.  The settings module provides control over preferences, behaviours including visual and operational settings.') .'</p>';
-      $output .= '<p>'. t('Some modules require regularly scheduled actions, such as cleaning up logfiles. Cron, which stands for chronograph, is a periodic command scheduler executing commands at intervals specified in seconds. It can be used to control the execution of daily, weekly and monthly jobs (or anything with a period measured in seconds). The aggregator module periodically updates feeds using cron.  Ping periodically notifies services of new content on your site.  Search periodically indexes the content on your site.   Automating tasks is one of the best ways to keep a system running smoothly, and if most of your administration does not require your direct involvement, cron is an ideal solution.') .'</p>';
+      $output = '<p>'. t('The system module provides system-wide defaults such as running jobs at a particular time, and storing web pages to improve efficiency. The ability to run scheduled jobs makes administering the web site more usable, as administrators do not have to manually start jobs. The storing of web pages, or caching, allows the site to efficiently re-use web pages and improve web site performance. The settings module provides control over preferences, behaviours including visual and operational settings.') .'</p>';
+      $output .= '<p>'. t('Some modules require regularly scheduled actions, such as cleaning up logfiles. Cron, which stands for chronograph, is a periodic command scheduler executing commands at intervals specified in seconds. It can be used to control the execution of daily, weekly and monthly jobs (or anything with a period measured in seconds). The aggregator module periodically updates feeds using cron. Ping periodically notifies services of new content on your site. Search periodically indexes the content on your site. Automating tasks is one of the best ways to keep a system running smoothly, and if most of your administration does not require your direct involvement, cron is an ideal solution.') .'</p>';
       $output .= '<p>'. t('There is a caching mechanism which stores dynamically generated web pages in a database. By caching a web page, the system module does not have to create the page each time someone wants to view it, instead it takes only one SQL query to display it, reducing response time and the server\'s load. Only pages requested by <em>anonymous</em> users are cached. In order to reduce server load and save bandwidth, the system module stores and sends cached pages compressed.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -33,7 +33,7 @@ function system_help($section) {
     case 'admin/settings':
       return t('<p>General configuration options for your site. Set up the name of the site, e-mail address used in mail-outs, clean URL options, caching, etc.</p>');
     case 'admin/themes':
-      return t('<p>Select which themes are available to your users and specify the default theme. To configure site-wide display settings, click the "configure" task above. Alternately, to override these settings in a specific theme, click the "configure" link for the corresponding theme.  Note that different themes may have different regions available for rendering content like blocks.  If you want consistency in what your users see, you may wish to enable only one theme.</p>');
+      return t('<p>Select which themes are available to your users and specify the default theme. To configure site-wide display settings, click the "configure" task above. Alternately, to override these settings in a specific theme, click the "configure" link for the corresponding theme. Note that different themes may have different regions available for rendering content like blocks. If you want consistency in what your users see, you may wish to enable only one theme.</p>');
     case 'admin/themes/settings':
       return t('<p>These options control the default display settings for your entire site, across all themes. Unless they have been overridden by a specific theme, these settings will be used.</p>');
     case 'admin/themes/settings/'. arg(3):
@@ -268,7 +268,7 @@ function system_view_general() {
   );
   $form['general']['site_footer'] = array(
     '#type' => 'textarea', '#title' => t('Footer message'), '#default_value' => variable_get('site_footer', ''),
-    '#description' => t('This text will be displayed at the bottom of each page.  Useful for adding a copyright notice to your pages.')
+    '#description' => t('This text will be displayed at the bottom of each page. Useful for adding a copyright notice to your pages.')
   );
   $form['general']['anonymous'] = array(
     '#type' => 'textfield', '#title' => t('Anonymous user'), '#default_value' => variable_get('anonymous', 'Anonymous'),
@@ -276,7 +276,7 @@ function system_view_general() {
   );
   $form['general']['site_frontpage'] = array(
     '#type' => 'textfield', '#title' => t('Default front page'), '#default_value' => variable_get('site_frontpage', 'node'),
-    '#description' => t('The home page displays content from this relative URL.  If you are not using clean URLs, specify the part after "?q=".  If unsure, specify "node".')
+    '#description' => t('The home page displays content from this relative URL. If you are not using clean URLs, specify the part after "?q=". If unsure, specify "node".')
   );
 
   // We check for clean URL support using an image on the client side.
@@ -304,12 +304,12 @@ function system_view_general() {
   $form['errors'] = array( '#type' => 'fieldset', '#title' =>t('Error handling'), '#collapsible' => TRUE, '#collapsed' => TRUE );
   $form['errors']['site_403'] = array(
     '#type' => 'textfield', '#title' => t('Default 403 (access denied) page'), '#default_value' => variable_get('site_403', ''),
-    '#description' => t('This page is displayed when the requested document is denied to the current user.  If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
+    '#description' => t('This page is displayed when the requested document is denied to the current user. If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
   );
 
   $form['errors']['site_404'] = array(
     '#type' => 'textfield', '#title' => t('Default 404 (not found) page'), '#default_value' =>  variable_get('site_404', ''),
-    '#description' => t('This page is displayed when no other content matches the requested document.  If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
+    '#description' => t('This page is displayed when no other content matches the requested document. If you are not using clean URLs, specify the part after "?q=". If unsure, specify nothing.')
   );
 
   $form['errors']['error_level'] = array(
@@ -322,7 +322,7 @@ function system_view_general() {
   $period['1000000000'] = t('Never');
   $form['errors']['watchdog_clear'] = array(
     '#type' => 'select', '#title' => t('Discard log entries older than'), '#default_value' => variable_get('watchdog_clear', 604800), '#options' => $period,
-    '#description' => t('The time log entries should be kept.  Older entries will be automatically discarded.  Requires crontab.')
+    '#description' => t('The time log entries should be kept. Older entries will be automatically discarded. Requires crontab.')
   );
 
 
@@ -332,14 +332,14 @@ function system_view_general() {
   $form['cache']['cache']  = array(
     '#type' => 'radios',  '#title' => t('Page cache'), '#default_value' => variable_get('cache', CACHE_DISABLED),
     '#options' => array(CACHE_DISABLED => t('Disabled'), CACHE_ENABLED => t('Enabled')),
-    '#description' => t("Drupal has a caching mechanism which stores dynamically generated web pages in a database.  By caching a web page, Drupal does not have to create the page each time someone wants to view it, instead it takes only one SQL query to display it, reducing response time and the server's load.  Only pages requested by \"anonymous\" users are cached.  In order to reduce server load and save bandwidth, Drupal stores and sends compressed cached pages.")
+    '#description' => t("Drupal has a caching mechanism which stores dynamically generated web pages in a database. By caching a web page, Drupal does not have to create the page each time someone wants to view it, instead it takes only one SQL query to display it, reducing response time and the server's load. Only pages requested by \"anonymous\" users are cached. In order to reduce server load and save bandwidth, Drupal stores and sends compressed cached pages.")
   );
 
   $period = drupal_map_assoc(array(0, 60, 180, 300, 600, 900, 1800, 2700, 3600, 10800, 21600, 32400, 43200, 86400), 'format_interval');
   $period[0] = t('none');
   $form['cache']['cache_lifetime'] = array(
     '#type' => 'select', '#title' => t('Minimum cache lifetime'), '#default_value' => variable_get('cache_lifetime', 0), '#options' => $period,
-    '#description' => t('Enabling the cache will offer a sufficient performance boost for most low-traffic and medium-traffic sites.  On high-traffic sites it can become necessary to enforce a minimum cache lifetime.  The minimum cache lifetime is the minimum amount of time that will go by before the cache is emptied and recreated.  A larger minimum cache lifetime offers better performance, but users will not see new content for a longer period of time.')
+    '#description' => t('Enabling the cache will offer a sufficient performance boost for most low-traffic and medium-traffic sites. On high-traffic sites it can become necessary to enforce a minimum cache lifetime. The minimum cache lifetime is the minimum amount of time that will go by before the cache is emptied and recreated. A larger minimum cache lifetime offers better performance, but users will not see new content for a longer period of time.')
   );
 
 
@@ -427,7 +427,7 @@ function system_view_general() {
 
   $form['dates']['configurable_timezones'] = array(
     '#type' => 'radios', '#title' => t('Configurable time zones'), '#default_value' => variable_get('configurable_timezones', 1), '#options' => array(t('Disabled'), t('Enabled')),
-    '#description' => t('Enable or disable user-configurable time zones.  When enabled, users can set their own time zone and dates will be updated accordingly.')
+    '#description' => t('Enable or disable user-configurable time zones. When enabled, users can set their own time zone and dates will be updated accordingly.')
   );
 
   $form['dates']['date_format_short'] = array(
@@ -673,16 +673,16 @@ function system_default_region($theme) {
 /**
  * Returns an array of files objects of the given type from both the
  * site-wide directory (i.e. modules/) and site-specific directory
- * (i.e. sites/somesite/modules/).  The returned array will be keyed
- * using the key specified (name, basename, filename).  Using name or
+ * (i.e. sites/somesite/modules/). The returned array will be keyed
+ * using the key specified (name, basename, filename). Using name or
  * basename will cause site-specific files to shadow files in the
- * default directories.  That is, if a file with the same name appears
+ * default directories. That is, if a file with the same name appears
  * in both location, only the site-specific version will be included.
  *
  * @param $mask
  *   The regular expression of the files to find.
  * @param $directory
- *   The subdirectory name in which the files are found.  For example,
+ *   The subdirectory name in which the files are found. For example,
  *   'modules' will search in both modules/ and
  *   sites/somesite/modules/.
  * @param $key
@@ -713,7 +713,7 @@ function system_listing($mask, $directory, $key = 'name', $min_depth = 1) {
 /**
  * Assign an initial, default set of blocks for a theme.
  *
- * This function is called the first time a new theme is enabled.  The new theme
+ * This function is called the first time a new theme is enabled. The new theme
  * gets a copy of the default theme's blocks, with the difference that if a
  * particular region isn't available in the new theme, the block is assigned
  * to the new theme's default region.
diff --git a/modules/taxonomy.module b/modules/taxonomy.module
index 825a3734fb53..38be1cb1c5c6 100644
--- a/modules/taxonomy.module
+++ b/modules/taxonomy.module
@@ -210,7 +210,7 @@ function taxonomy_form_vocabulary($edit = array()) {
     '#title' => t('Vocabulary name'),
     '#default_value' => $edit['name'],
     '#maxlength' => 64,
-    '#description' => t('The name for this vocabulary.  Example: "Topic".'),
+    '#description' => t('The name for this vocabulary. Example: "Topic".'),
     '#required' => TRUE,
   );
   $form['description'] = array('#type' => 'textarea',
@@ -369,7 +369,7 @@ function taxonomy_form_term($edit = array()) {
   $vocabulary_id = isset($edit['vid']) ? $edit['vid'] : arg(4);
   $vocabulary = taxonomy_get_vocabulary($vocabulary_id);
 
-  $form['name'] = array('#type' => 'textfield', '#title' => t('Term name'), '#default_value' => $edit['name'], '#maxlength' => 64, '#description' => t('The name for this term.  Example: "Linux".'), '#required' => TRUE);
+  $form['name'] = array('#type' => 'textfield', '#title' => t('Term name'), '#default_value' => $edit['name'], '#maxlength' => 64, '#description' => t('The name for this term. Example: "Linux".'), '#required' => TRUE);
 
   $form['description'] = array('#type' => 'textarea', '#title' => t('Description'), '#default_value' => $edit['description'], '#description' => t('A description of the term.'));
 
@@ -656,7 +656,7 @@ function taxonomy_form_alter($form_id, &$form) {
           $help = $vocabulary->help;
         }
         else {
-          $help = t('A comma-separated list of terms describing this content.  Example: funny, bungie jumping, "Company, Inc.".');
+          $help = t('A comma-separated list of terms describing this content. Example: funny, bungie jumping, "Company, Inc.".');
         }
         $form['taxonomy']['tags'][$vocabulary->vid] = array('#type' => 'textfield',
           '#title' => $vocabulary->name,
@@ -1344,7 +1344,7 @@ function taxonomy_help($section) {
     case 'admin/taxonomy':
       return t('<p>The taxonomy module allows you to classify content into categories and subcategories; it allows multiple lists of categories for classification (controlled vocabularies) and offers the possibility of creating thesauri (controlled vocabularies that indicate the relationship of terms), taxonomies (controlled vocabularies where relationships are indicated hierarchically), and free vocabularies where terms, or tags, are defined during content creation. To view and manage the terms of each vocabulary, click on the associated <em>list terms</em> link. To delete a vocabulary and all its terms, choose "edit vocabulary".</p>');
     case 'admin/taxonomy/add/vocabulary':
-      return t("<p>When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo).  Drupal allows you to describe each piece of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot.org's or Kuro5hin.org's sections. For more complex implementations, you might create a hierarchical list of categories.</p>");
+      return t("<p>When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each piece of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot.org's or Kuro5hin.org's sections. For more complex implementations, you might create a hierarchical list of categories.</p>");
   }
 }
 
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 825a3734fb53..38be1cb1c5c6 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -210,7 +210,7 @@ function taxonomy_form_vocabulary($edit = array()) {
     '#title' => t('Vocabulary name'),
     '#default_value' => $edit['name'],
     '#maxlength' => 64,
-    '#description' => t('The name for this vocabulary.  Example: "Topic".'),
+    '#description' => t('The name for this vocabulary. Example: "Topic".'),
     '#required' => TRUE,
   );
   $form['description'] = array('#type' => 'textarea',
@@ -369,7 +369,7 @@ function taxonomy_form_term($edit = array()) {
   $vocabulary_id = isset($edit['vid']) ? $edit['vid'] : arg(4);
   $vocabulary = taxonomy_get_vocabulary($vocabulary_id);
 
-  $form['name'] = array('#type' => 'textfield', '#title' => t('Term name'), '#default_value' => $edit['name'], '#maxlength' => 64, '#description' => t('The name for this term.  Example: "Linux".'), '#required' => TRUE);
+  $form['name'] = array('#type' => 'textfield', '#title' => t('Term name'), '#default_value' => $edit['name'], '#maxlength' => 64, '#description' => t('The name for this term. Example: "Linux".'), '#required' => TRUE);
 
   $form['description'] = array('#type' => 'textarea', '#title' => t('Description'), '#default_value' => $edit['description'], '#description' => t('A description of the term.'));
 
@@ -656,7 +656,7 @@ function taxonomy_form_alter($form_id, &$form) {
           $help = $vocabulary->help;
         }
         else {
-          $help = t('A comma-separated list of terms describing this content.  Example: funny, bungie jumping, "Company, Inc.".');
+          $help = t('A comma-separated list of terms describing this content. Example: funny, bungie jumping, "Company, Inc.".');
         }
         $form['taxonomy']['tags'][$vocabulary->vid] = array('#type' => 'textfield',
           '#title' => $vocabulary->name,
@@ -1344,7 +1344,7 @@ function taxonomy_help($section) {
     case 'admin/taxonomy':
       return t('<p>The taxonomy module allows you to classify content into categories and subcategories; it allows multiple lists of categories for classification (controlled vocabularies) and offers the possibility of creating thesauri (controlled vocabularies that indicate the relationship of terms), taxonomies (controlled vocabularies where relationships are indicated hierarchically), and free vocabularies where terms, or tags, are defined during content creation. To view and manage the terms of each vocabulary, click on the associated <em>list terms</em> link. To delete a vocabulary and all its terms, choose "edit vocabulary".</p>');
     case 'admin/taxonomy/add/vocabulary':
-      return t("<p>When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo).  Drupal allows you to describe each piece of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot.org's or Kuro5hin.org's sections. For more complex implementations, you might create a hierarchical list of categories.</p>");
+      return t("<p>When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each piece of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot.org's or Kuro5hin.org's sections. For more complex implementations, you might create a hierarchical list of categories.</p>");
   }
 }
 
diff --git a/modules/throttle.module b/modules/throttle.module
index 18226523d9b2..bd64b19ef6ab 100644
--- a/modules/throttle.module
+++ b/modules/throttle.module
@@ -16,8 +16,8 @@
  * logic when your site is too busy (reducing CPU utilization).
  *
  * @return
- *   0 or 1.  0 means that the throttle is currently disabled.  1 means that
- *   the throttle is currently enabled.  When the throttle is enabled, CPU
+ *   0 or 1. 0 means that the throttle is currently disabled. 1 means that
+ *   the throttle is currently enabled. When the throttle is enabled, CPU
  *   and bandwidth intensive functionality should be disabled.
  */
 function throttle_status() {
@@ -31,10 +31,10 @@ function throttle_status() {
  */
 function throttle_exit() {
   // The following logic determines what the current throttle level should
-  //  be, and can be disabled by the admin.  If enabled, the mt_rand() function
+  //  be, and can be disabled by the admin. If enabled, the mt_rand() function
   //  returns a number between 0 and N, N being specified by the admin. If
   //  0 is returned, the throttle logic is run, adding two additional database
-  //  queries.  Otherwise, the following logic is skipped.  This mechanism is
+  //  queries. Otherwise, the following logic is skipped. This mechanism is
   //  referred to in the admin page as the 'probability limiter', roughly
   //  limiting throttle related database calls to 1 in N.
   if (!mt_rand(0, variable_get('throttle_probability_limiter', 9))) {
@@ -93,7 +93,7 @@ function throttle_exit() {
 function _throttle_validate($value, $form) {
   if ($value != NULL) {
     if (!is_numeric($value) || $value < 0) {
-      form_set_error($form, t("'%value' is not a valid auto-throttle setting.  Please enter a positive numeric value.", array('%value' => theme('placeholder', $value))));
+      form_set_error($form, t("'%value' is not a valid auto-throttle setting. Please enter a positive numeric value.", array('%value' => theme('placeholder', $value))));
     }
   }
 }
@@ -104,7 +104,7 @@ function _throttle_validate($value, $form) {
 function throttle_help($section) {
   switch ($section) {
     case 'admin/help#throttle':
-      $output = '<p>'. t('The throttle module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. If the site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed. This mechanism is utilized by other modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality.  For example, in the site theme, you might choose to disable pictures when the site is too busy (reducing bandwidth), or in modules, you might choose to disable some complicated logic (reducing CPU utilization).') .'</p>';
+      $output = '<p>'. t('The throttle module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. If the site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed. This mechanism is utilized by other modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality. For example, in the site theme, you might choose to disable pictures when the site is too busy (reducing bandwidth), or in modules, you might choose to disable some complicated logic (reducing CPU utilization).') .'</p>';
       $output .= '<p>'. t('The congestion control throttle can be automatically enabled when the number of anonymous or authenticated users currently visiting the site exceeds the specified threshold. ') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -118,7 +118,7 @@ function throttle_help($section) {
     case 'admin/modules#description':
       return t('Handles the auto-throttling mechanism, to control site congestion.');
     case 'admin/settings/throttle':
-      return t('If your site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed.  This module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic.  This mechanism is utilized by other Drupal modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality.');
+      return t('If your site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed. This module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. This mechanism is utilized by other Drupal modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality.');
   }
 }
 
@@ -136,7 +136,7 @@ function throttle_settings() {
     '#default_value' => variable_get('throttle_anonymous', 0),
     '#size' => 5,
     '#maxlength' => 6,
-    '#description' => t('The congestion control throttle can be automatically enabled when the number of anonymous users currently visiting your site exceeds the specified threshold.  For example, to start the throttle when your site has 250 anonymous users online at once, enter \'250\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on anonymous users.  You can inspect the current number of anonymous users using the "Who\'s online" block.')
+    '#description' => t('The congestion control throttle can be automatically enabled when the number of anonymous users currently visiting your site exceeds the specified threshold. For example, to start the throttle when your site has 250 anonymous users online at once, enter \'250\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on anonymous users. You can inspect the current number of anonymous users using the "Who\'s online" block.')
   );
   $form['throttle_user'] = array(
     '#type' => 'textfield',
@@ -144,14 +144,14 @@ function throttle_settings() {
     '#default_value' => variable_get('throttle_user', 0),
     '#size' => 5,
     '#maxlength' => 6,
-    '#description' => t('The congestion control throttle can be automatically enabled when the number of authenticated users currently visiting your site exceeds the specified threshold.  For example, to start the throttle when your site has 50 registered users online at once, enter \'50\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on authenticated users.  You can inspect the current number of authenticated users using the "Who\'s online" block.')
+    '#description' => t('The congestion control throttle can be automatically enabled when the number of authenticated users currently visiting your site exceeds the specified threshold. For example, to start the throttle when your site has 50 registered users online at once, enter \'50\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on authenticated users. You can inspect the current number of authenticated users using the "Who\'s online" block.')
   );
   $form['throttle_probability_limiter'] = array(
     '#type' => 'select',
     '#title' => t('Auto-throttle probability limiter'),
     '#default_value' => variable_get('throttle_probability_limiter', 9),
     '#options' => $probabilities,
-    '#description' => t('The auto-throttle probability limiter is an efficiency mechanism to statistically reduce the overhead of the auto-throttle.  The limiter is expressed as a percentage of page views, so for example if set to the default of 10% we only perform the extra database queries to update the throttle status 1 out of every 10 page views.  The busier your site, the lower you should set the limiter value.')
+    '#description' => t('The auto-throttle probability limiter is an efficiency mechanism to statistically reduce the overhead of the auto-throttle. The limiter is expressed as a percentage of page views, so for example if set to the default of 10% we only perform the extra database queries to update the throttle status 1 out of every 10 page views. The busier your site, the lower you should set the limiter value.')
   );
 
   return $form;
diff --git a/modules/throttle/throttle.module b/modules/throttle/throttle.module
index 18226523d9b2..bd64b19ef6ab 100644
--- a/modules/throttle/throttle.module
+++ b/modules/throttle/throttle.module
@@ -16,8 +16,8 @@
  * logic when your site is too busy (reducing CPU utilization).
  *
  * @return
- *   0 or 1.  0 means that the throttle is currently disabled.  1 means that
- *   the throttle is currently enabled.  When the throttle is enabled, CPU
+ *   0 or 1. 0 means that the throttle is currently disabled. 1 means that
+ *   the throttle is currently enabled. When the throttle is enabled, CPU
  *   and bandwidth intensive functionality should be disabled.
  */
 function throttle_status() {
@@ -31,10 +31,10 @@ function throttle_status() {
  */
 function throttle_exit() {
   // The following logic determines what the current throttle level should
-  //  be, and can be disabled by the admin.  If enabled, the mt_rand() function
+  //  be, and can be disabled by the admin. If enabled, the mt_rand() function
   //  returns a number between 0 and N, N being specified by the admin. If
   //  0 is returned, the throttle logic is run, adding two additional database
-  //  queries.  Otherwise, the following logic is skipped.  This mechanism is
+  //  queries. Otherwise, the following logic is skipped. This mechanism is
   //  referred to in the admin page as the 'probability limiter', roughly
   //  limiting throttle related database calls to 1 in N.
   if (!mt_rand(0, variable_get('throttle_probability_limiter', 9))) {
@@ -93,7 +93,7 @@ function throttle_exit() {
 function _throttle_validate($value, $form) {
   if ($value != NULL) {
     if (!is_numeric($value) || $value < 0) {
-      form_set_error($form, t("'%value' is not a valid auto-throttle setting.  Please enter a positive numeric value.", array('%value' => theme('placeholder', $value))));
+      form_set_error($form, t("'%value' is not a valid auto-throttle setting. Please enter a positive numeric value.", array('%value' => theme('placeholder', $value))));
     }
   }
 }
@@ -104,7 +104,7 @@ function _throttle_validate($value, $form) {
 function throttle_help($section) {
   switch ($section) {
     case 'admin/help#throttle':
-      $output = '<p>'. t('The throttle module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. If the site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed. This mechanism is utilized by other modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality.  For example, in the site theme, you might choose to disable pictures when the site is too busy (reducing bandwidth), or in modules, you might choose to disable some complicated logic (reducing CPU utilization).') .'</p>';
+      $output = '<p>'. t('The throttle module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. If the site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed. This mechanism is utilized by other modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality. For example, in the site theme, you might choose to disable pictures when the site is too busy (reducing bandwidth), or in modules, you might choose to disable some complicated logic (reducing CPU utilization).') .'</p>';
       $output .= '<p>'. t('The congestion control throttle can be automatically enabled when the number of anonymous or authenticated users currently visiting the site exceeds the specified threshold. ') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -118,7 +118,7 @@ function throttle_help($section) {
     case 'admin/modules#description':
       return t('Handles the auto-throttling mechanism, to control site congestion.');
     case 'admin/settings/throttle':
-      return t('If your site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed.  This module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic.  This mechanism is utilized by other Drupal modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality.');
+      return t('If your site gets linked to by a popular website, or otherwise comes under a "Denial of Service" (DoS) attack, your webserver might become overwhelmed. This module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. This mechanism is utilized by other Drupal modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality.');
   }
 }
 
@@ -136,7 +136,7 @@ function throttle_settings() {
     '#default_value' => variable_get('throttle_anonymous', 0),
     '#size' => 5,
     '#maxlength' => 6,
-    '#description' => t('The congestion control throttle can be automatically enabled when the number of anonymous users currently visiting your site exceeds the specified threshold.  For example, to start the throttle when your site has 250 anonymous users online at once, enter \'250\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on anonymous users.  You can inspect the current number of anonymous users using the "Who\'s online" block.')
+    '#description' => t('The congestion control throttle can be automatically enabled when the number of anonymous users currently visiting your site exceeds the specified threshold. For example, to start the throttle when your site has 250 anonymous users online at once, enter \'250\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on anonymous users. You can inspect the current number of anonymous users using the "Who\'s online" block.')
   );
   $form['throttle_user'] = array(
     '#type' => 'textfield',
@@ -144,14 +144,14 @@ function throttle_settings() {
     '#default_value' => variable_get('throttle_user', 0),
     '#size' => 5,
     '#maxlength' => 6,
-    '#description' => t('The congestion control throttle can be automatically enabled when the number of authenticated users currently visiting your site exceeds the specified threshold.  For example, to start the throttle when your site has 50 registered users online at once, enter \'50\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on authenticated users.  You can inspect the current number of authenticated users using the "Who\'s online" block.')
+    '#description' => t('The congestion control throttle can be automatically enabled when the number of authenticated users currently visiting your site exceeds the specified threshold. For example, to start the throttle when your site has 50 registered users online at once, enter \'50\' in this field. Leave this value blank or set to "0" if you do not wish to auto-throttle on authenticated users. You can inspect the current number of authenticated users using the "Who\'s online" block.')
   );
   $form['throttle_probability_limiter'] = array(
     '#type' => 'select',
     '#title' => t('Auto-throttle probability limiter'),
     '#default_value' => variable_get('throttle_probability_limiter', 9),
     '#options' => $probabilities,
-    '#description' => t('The auto-throttle probability limiter is an efficiency mechanism to statistically reduce the overhead of the auto-throttle.  The limiter is expressed as a percentage of page views, so for example if set to the default of 10% we only perform the extra database queries to update the throttle status 1 out of every 10 page views.  The busier your site, the lower you should set the limiter value.')
+    '#description' => t('The auto-throttle probability limiter is an efficiency mechanism to statistically reduce the overhead of the auto-throttle. The limiter is expressed as a percentage of page views, so for example if set to the default of 10% we only perform the extra database queries to update the throttle status 1 out of every 10 page views. The busier your site, the lower you should set the limiter value.')
   );
 
   return $form;
diff --git a/modules/tracker.module b/modules/tracker.module
index aa076d2d4c58..7480c1d5dbe3 100644
--- a/modules/tracker.module
+++ b/modules/tracker.module
@@ -12,8 +12,8 @@
 function tracker_help($section) {
   switch ($section) {
     case 'admin/help#tracker':
-      $output = '<p>'. t('The tracker module displays the most recently added or updated content to the website allowing users to see the most recent contributions.  The tracker module provides user level tracking for those who like to follow the contributions of particular authors.') .'</p>';
-      $output .= '<p>'. t('The  &quot;recent posts&quot; page is available via a link in the navigation menu block and contains a reverse chronological list of new and recently-updated content. The table displays  the content type, the title, the author\'s name, how many comments that item has received, and when it was last updated. Updates include any changes to the text, either by the original author or someone else, as well as any new comments added to an item.  To use the tracker module to <em>watch</em> for a user\'s updated content, click on that user\'s profile, then the <em>track</em> tab.') .'</p>';
+      $output = '<p>'. t('The tracker module displays the most recently added or updated content to the website allowing users to see the most recent contributions. The tracker module provides user level tracking for those who like to follow the contributions of particular authors.') .'</p>';
+      $output .= '<p>'. t('The  &quot;recent posts&quot; page is available via a link in the navigation menu block and contains a reverse chronological list of new and recently-updated content. The table displays  the content type, the title, the author\'s name, how many comments that item has received, and when it was last updated. Updates include any changes to the text, either by the original author or someone else, as well as any new comments added to an item. To use the tracker module to <em>watch</em> for a user\'s updated content, click on that user\'s profile, then the <em>track</em> tab.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>view the <a href="%tracker">most recent posts</a>.</li>
diff --git a/modules/tracker/tracker.module b/modules/tracker/tracker.module
index aa076d2d4c58..7480c1d5dbe3 100644
--- a/modules/tracker/tracker.module
+++ b/modules/tracker/tracker.module
@@ -12,8 +12,8 @@
 function tracker_help($section) {
   switch ($section) {
     case 'admin/help#tracker':
-      $output = '<p>'. t('The tracker module displays the most recently added or updated content to the website allowing users to see the most recent contributions.  The tracker module provides user level tracking for those who like to follow the contributions of particular authors.') .'</p>';
-      $output .= '<p>'. t('The  &quot;recent posts&quot; page is available via a link in the navigation menu block and contains a reverse chronological list of new and recently-updated content. The table displays  the content type, the title, the author\'s name, how many comments that item has received, and when it was last updated. Updates include any changes to the text, either by the original author or someone else, as well as any new comments added to an item.  To use the tracker module to <em>watch</em> for a user\'s updated content, click on that user\'s profile, then the <em>track</em> tab.') .'</p>';
+      $output = '<p>'. t('The tracker module displays the most recently added or updated content to the website allowing users to see the most recent contributions. The tracker module provides user level tracking for those who like to follow the contributions of particular authors.') .'</p>';
+      $output .= '<p>'. t('The  &quot;recent posts&quot; page is available via a link in the navigation menu block and contains a reverse chronological list of new and recently-updated content. The table displays  the content type, the title, the author\'s name, how many comments that item has received, and when it was last updated. Updates include any changes to the text, either by the original author or someone else, as well as any new comments added to an item. To use the tracker module to <em>watch</em> for a user\'s updated content, click on that user\'s profile, then the <em>track</em> tab.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>view the <a href="%tracker">most recent posts</a>.</li>
diff --git a/modules/upload.module b/modules/upload.module
index 2e37bec91e30..3535ea56edc8 100644
--- a/modules/upload.module
+++ b/modules/upload.module
@@ -13,8 +13,8 @@
 function upload_help($section) {
   switch ($section) {
     case 'admin/help#upload':
-      $output = '<p>'. t('The upload module allows users to upload files to the site.  The ability to upload files to a site is important for members of a community who want to share work. It is also useful to administrators who want to keep uploaded files connected to a node or page.') .'</p>';
-      $output .= '<p>'. t('Users with the upload files permission can upload attachments. You can choose which post types can take attachments on the content types settings page.  Each user role can be customized for the file size of uploads, and the dimension of image files.') .'</p>';
+      $output = '<p>'. t('The upload module allows users to upload files to the site. The ability to upload files to a site is important for members of a community who want to share work. It is also useful to administrators who want to keep uploaded files connected to a node or page.') .'</p>';
+      $output .= '<p>'. t('Users with the upload files permission can upload attachments. You can choose which post types can take attachments on the content types settings page. Each user role can be customized for the file size of uploads, and the dimension of image files.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>administer user permissions at <a href="%admin-access">administer &gt;&gt; access control</a>.</li>
diff --git a/modules/upload/upload.module b/modules/upload/upload.module
index 2e37bec91e30..3535ea56edc8 100644
--- a/modules/upload/upload.module
+++ b/modules/upload/upload.module
@@ -13,8 +13,8 @@
 function upload_help($section) {
   switch ($section) {
     case 'admin/help#upload':
-      $output = '<p>'. t('The upload module allows users to upload files to the site.  The ability to upload files to a site is important for members of a community who want to share work. It is also useful to administrators who want to keep uploaded files connected to a node or page.') .'</p>';
-      $output .= '<p>'. t('Users with the upload files permission can upload attachments. You can choose which post types can take attachments on the content types settings page.  Each user role can be customized for the file size of uploads, and the dimension of image files.') .'</p>';
+      $output = '<p>'. t('The upload module allows users to upload files to the site. The ability to upload files to a site is important for members of a community who want to share work. It is also useful to administrators who want to keep uploaded files connected to a node or page.') .'</p>';
+      $output .= '<p>'. t('Users with the upload files permission can upload attachments. You can choose which post types can take attachments on the content types settings page. Each user role can be customized for the file size of uploads, and the dimension of image files.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>administer user permissions at <a href="%admin-access">administer &gt;&gt; access control</a>.</li>
diff --git a/modules/user.module b/modules/user.module
index 3f6480ef6484..12478bd284b4 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -292,8 +292,8 @@ function user_validate_picture($file, &$edit, $user) {
  */
 function user_password($length = 10) {
   // This variable contains the list of allowable characters for the
-  // password.  Note that the number 0 and the letter 'O' have been
-  // removed to avoid confusion between the two.  The same is true
+  // password. Note that the number 0 and the letter 'O' have been
+  // removed to avoid confusion between the two. The same is true
   // of 'I', 1, and l.
   $allowable_characters = 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789';
 
@@ -1231,7 +1231,7 @@ function user_register_submit($form_id, $form_values) {
   // The first user may login immediately, and receives a customized welcome e-mail.
   if ($account->uid == 1) {
     user_mail($mail, t('Drupal user account details for %s', array('%s' => $name)), strtr(t("%username,\n\nYou may now login to %uri using the following username and password:\n\n  username: %username\n  password: %password\n\n%edit_uri\n\n--drupal"), $variables), "From: $from\nReply-to: $from\nX-Mailer: Drupal\nReturn-path: $from\nErrors-to: $from");
-    drupal_set_message(t('<p>Welcome to Drupal. You are user #1, which gives you full and immediate access.  All future registrants will receive their passwords via e-mail, so please make sure your website e-mail address is set properly under the general settings on the <a href="%settings">settings page</a>.</p><p> Your password is <strong>%pass</strong>. You may change your password below.</p>', array('%pass' => $pass, '%settings' => url('admin/settings'))));
+    drupal_set_message(t('<p>Welcome to Drupal. You are user #1, which gives you full and immediate access. All future registrants will receive their passwords via e-mail, so please make sure your website e-mail address is set properly under the general settings on the <a href="%settings">settings page</a>.</p><p> Your password is <strong>%pass</strong>. You may change your password below.</p>', array('%pass' => $pass, '%settings' => url('admin/settings'))));
     user_authenticate($account->name, trim($pass));
 
     // Set the installed schema version of the system module to the most recent version.
@@ -1321,7 +1321,7 @@ function user_edit_form($uid, $edit) {
     } else {
       $form['picture']['picture_delete'] = array('#type' => 'hidden');
     }
-    $form['picture']['picture_upload'] = array('#type' => 'file', '#title' => t('Upload picture'), '#size' => 48, '#description' => t('Your virtual face or picture.  Maximum dimensions are %dimensions and the maximum size is %size kB.', array('%dimensions' => variable_get('user_picture_dimensions', '85x85'), '%size' => variable_get('user_picture_file_size', '30'))) .' '. variable_get('user_picture_guidelines', ''));
+    $form['picture']['picture_upload'] = array('#type' => 'file', '#title' => t('Upload picture'), '#size' => 48, '#description' => t('Your virtual face or picture. Maximum dimensions are %dimensions and the maximum size is %size kB.', array('%dimensions' => variable_get('user_picture_dimensions', '85x85'), '%size' => variable_get('user_picture_file_size', '30'))) .' '. variable_get('user_picture_guidelines', ''));
   }
 
   return $form;
@@ -1934,7 +1934,7 @@ function user_configure() {
   // User registration settings.
   $form['registration'] = array('#type' => 'fieldset', '#title' => t('User registration settings'));
   $form['registration']['user_register'] = array('#type' => 'radios', '#title' => t('Public registrations'), '#default_value' => variable_get('user_register', 1), '#options' => array(t('Only site administrators can create new user accounts.'), t('Visitors can create accounts and no administrator approval is required.'), t('Visitors can create accounts but administrator approval is required.')));
-  $form['registration']['user_registration_help'] = array('#type' => 'textarea', '#title' => t('User registration guidelines'), '#default_value' => variable_get('user_registration_help', ''), '#description' => t('This text is displayed at the top of the user registration form.  It\'s useful for helping or instructing your users.'));
+  $form['registration']['user_registration_help'] = array('#type' => 'textarea', '#title' => t('User registration guidelines'), '#default_value' => variable_get('user_registration_help', ''), '#description' => t('This text is displayed at the top of the user registration form. It\'s useful for helping or instructing your users.'));
 
   // User e-mail settings.
   $form['email'] = array('#type' => 'fieldset', '#title' => t('User e-mail settings'));
@@ -1959,7 +1959,7 @@ function user_configure() {
   $form['pictures']['user_picture_default'] = array('#type' => 'textfield', '#title' => t('Default picture'), '#default_value' => variable_get('user_picture_default', ''), '#size' => 30, '#maxlength' => 255, '#description' => t('URL of picture to display for users with no custom picture selected. Leave blank for none.'));
   $form['pictures']['user_picture_dimensions'] = array('#type' => 'textfield', '#title' => t('Picture maximum dimensions'), '#default_value' => variable_get('user_picture_dimensions', '85x85'), '#size' => 15, '#maxlength' => 10, '#description' => t('Maximum dimensions for pictures.'));
   $form['pictures']['user_picture_file_size'] = array('#type' => 'textfield', '#title' => t('Picture maximum file size'), '#default_value' => variable_get('user_picture_file_size', '30'), '#size' => 15, '#maxlength' => 10, '#description' => t('Maximum file size for pictures, in kB.'));
-  $form['pictures']['user_picture_guidelines'] = array('#type' => 'textarea', '#title' => t('Picture guidelines'), '#default_value' => variable_get('user_picture_guidelines', ''), '#description' => t('This text is displayed at the picture upload form in addition to the default guidelines.  It\'s useful for helping or instructing your users.'));
+  $form['pictures']['user_picture_guidelines'] = array('#type' => 'textarea', '#title' => t('Picture guidelines'), '#default_value' => variable_get('user_picture_guidelines', ''), '#description' => t('This text is displayed at the picture upload form in addition to the default guidelines. It\'s useful for helping or instructing your users.'));
 
   return system_settings_form('user_configure_settings', $form);
 }
@@ -1995,8 +1995,8 @@ function user_help($section) {
 
   switch ($section) {
     case 'admin/help#user':
-      $output = '<p>'. t('The user module allows users to register, login, and logout. Users benefit from being able to sign on because it associates content they create with their account and allows various permissions to be set for their roles.  The user module supports user roles which can setup fine grained permissions allowing each role to do only what the administrator wants them to. Each user is assigned to one or more roles. By default there are two roles <em>anonymous</em> - a user who has not logged in, and <em>authenticated</em> a user who has signed up and who has been authorized. ') .'</p>';
-      $output .= '<p>'. t('Users can use their own name or handle and can fine tune some personal configuration settings through their individual my account page.  Registered users need to authenticate by supplying either a local username and password, or a remote username and password such as DelphiForums ID, or one from a Drupal powered website.  A visitor accessing your website is assigned an unique ID, the so-called session ID, which is stored in a cookie. For security\'s sake, the cookie does not contain personal information but acts as a key to retrieve the information stored on your server. ') .'</p>';
+      $output = '<p>'. t('The user module allows users to register, login, and logout. Users benefit from being able to sign on because it associates content they create with their account and allows various permissions to be set for their roles. The user module supports user roles which can setup fine grained permissions allowing each role to do only what the administrator wants them to. Each user is assigned to one or more roles. By default there are two roles <em>anonymous</em> - a user who has not logged in, and <em>authenticated</em> a user who has signed up and who has been authorized. ') .'</p>';
+      $output .= '<p>'. t('Users can use their own name or handle and can fine tune some personal configuration settings through their individual my account page. Registered users need to authenticate by supplying either a local username and password, or a remote username and password such as DelphiForums ID, or one from a Drupal powered website. A visitor accessing your website is assigned an unique ID, the so-called session ID, which is stored in a cookie. For security\'s sake, the cookie does not contain personal information but acts as a key to retrieve the information stored on your server. ') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>view your <a href="%user">user page</a>.</li>
@@ -2018,7 +2018,7 @@ function user_help($section) {
     case strstr($section, 'admin/access/rules'):
       return t('<p>Set up username and e-mail address access rules for new <em>and</em> existing accounts (currently logged in accounts will not be logged out). If a username or e-mail address for an account matches any deny rule, but not an allow rule, then the account will not be allowed to be created or to log in. A host rule is effective for every page view, not just registrations.</p>');
     case 'admin/access':
-      return t('<p>Permissions let you control what users can do on your site.  Each user role (defined on the <a href="%role">user roles page</a>) has its own set of permissions. For example, you could give users classified as "Administrators" permission to "administer nodes" but deny this power to ordinary, "authenticated" users. You can use permissions to reveal new features to privileged users (those with subscriptions, for example). Permissions also allow trusted users to share the administrative burden of running a busy site.</p>', array('%role' => url('admin/access/roles')));
+      return t('<p>Permissions let you control what users can do on your site. Each user role (defined on the <a href="%role">user roles page</a>) has its own set of permissions. For example, you could give users classified as "Administrators" permission to "administer nodes" but deny this power to ordinary, "authenticated" users. You can use permissions to reveal new features to privileged users (those with subscriptions, for example). Permissions also allow trusted users to share the administrative burden of running a busy site.</p>', array('%role' => url('admin/access/roles')));
     case 'admin/access/roles':
       return t('<p>Roles allow you to fine tune the security and administration of Drupal. A role defines a group of users that have certain privileges as defined in <a href="%permissions">user permissions</a>. Examples of roles include: anonymous user, authenticated user, moderator, administrator and so on. In this area you will define the <em>role names</em> of the various roles. To delete a role choose "edit".</p><p>By default, Drupal comes with two user roles:</p>
       <ul>
@@ -2026,7 +2026,7 @@ function user_help($section) {
       <li>Authenticated user: this role is automatically granted to all logged in users.</li>
       </ul>', array('%permissions' => url('admin/access/permissions')));
     case 'admin/user/search':
-      return t('<p>Enter a simple pattern ("*" may be used as a wildcard match) to search for a username.  For example, one may search for "br" and Drupal might return "brian", "brad", and "brenda".</p>');
+      return t('<p>Enter a simple pattern ("*" may be used as a wildcard match) to search for a username. For example, one may search for "br" and Drupal might return "brian", "brad", and "brenda".</p>');
     case 'admin/user/configure':
     case 'admin/user/configure/settings':
       return t('<p>In order to use the full power of Drupal a visitor must sign up for an account. This page lets you setup how a user signs up, logs out, the guidelines from the system about user subscriptions, and the e-mails the system will send to the user.</p>');
@@ -2036,7 +2036,7 @@ function user_help($section) {
       $output = t("
       <h3>Distributed authentication<a id=\"da\"></a></h3>
       <p>One of the more tedious moments in visiting a new website is filling out the registration form. Here at %site, you do not have to fill out a registration form if you are already a member of %help-links. This capability is called <em>distributed authentication</em>, and is unique to <a href=\"%drupal\">Drupal</a>, the software which powers %site.</p>
-      <p>Distributed authentication enables a new user to input a username and password into the login box, and immediately be recognized, even if that user never registered at %site. This works because Drupal knows how to communicate with external registration databases. For example, lets say that new user 'Joe' is already a registered member of <a href=\"%delphi-forums\">Delphi Forums</a>. Drupal informs Joe on registration and login screens that he may login with his Delphi ID instead of registering with %site. Joe likes that idea, and logs in with a username of joe@remote.delphiforums.com and his usual Delphi password. Drupal then contacts the <em>remote.delphiforums.com</em> server behind the scenes (usually using <a href=\"%xml\">XML-RPC</a>, <a href=\"%http-post\">HTTP POST</a>, or <a href=\"%soap\">SOAP</a>) and asks: \"Is the password for user Joe correct?\".  If Delphi replies yes, then we create a new %site account for Joe and log him into it.  Joe may keep on logging into %site in the same manner, and he will always be logged into the same account.</p>", array('%help-links' => (implode(', ', user_auth_help_links())), '%site' => "<em>$site</em>", '%drupal' => 'http://drupal.org', '%delphi-forums' => 'http://www.delphiforums.com', '%xml' => 'http://www.xmlrpc.com', '%http-post' => 'http://www.w3.org/Protocols/', '%soap' => 'http://www.soapware.org'));
+      <p>Distributed authentication enables a new user to input a username and password into the login box, and immediately be recognized, even if that user never registered at %site. This works because Drupal knows how to communicate with external registration databases. For example, lets say that new user 'Joe' is already a registered member of <a href=\"%delphi-forums\">Delphi Forums</a>. Drupal informs Joe on registration and login screens that he may login with his Delphi ID instead of registering with %site. Joe likes that idea, and logs in with a username of joe@remote.delphiforums.com and his usual Delphi password. Drupal then contacts the <em>remote.delphiforums.com</em> server behind the scenes (usually using <a href=\"%xml\">XML-RPC</a>, <a href=\"%http-post\">HTTP POST</a>, or <a href=\"%soap\">SOAP</a>) and asks: \"Is the password for user Joe correct?\". If Delphi replies yes, then we create a new %site account for Joe and log him into it. Joe may keep on logging into %site in the same manner, and he will always be logged into the same account.</p>", array('%help-links' => (implode(', ', user_auth_help_links())), '%site' => "<em>$site</em>", '%drupal' => 'http://drupal.org', '%delphi-forums' => 'http://www.delphiforums.com', '%xml' => 'http://www.xmlrpc.com', '%http-post' => 'http://www.w3.org/Protocols/', '%soap' => 'http://www.soapware.org'));
 
         foreach (module_list() as $module) {
           if (module_hook($module, 'auth')) {
diff --git a/modules/user/user.module b/modules/user/user.module
index 3f6480ef6484..12478bd284b4 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -292,8 +292,8 @@ function user_validate_picture($file, &$edit, $user) {
  */
 function user_password($length = 10) {
   // This variable contains the list of allowable characters for the
-  // password.  Note that the number 0 and the letter 'O' have been
-  // removed to avoid confusion between the two.  The same is true
+  // password. Note that the number 0 and the letter 'O' have been
+  // removed to avoid confusion between the two. The same is true
   // of 'I', 1, and l.
   $allowable_characters = 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789';
 
@@ -1231,7 +1231,7 @@ function user_register_submit($form_id, $form_values) {
   // The first user may login immediately, and receives a customized welcome e-mail.
   if ($account->uid == 1) {
     user_mail($mail, t('Drupal user account details for %s', array('%s' => $name)), strtr(t("%username,\n\nYou may now login to %uri using the following username and password:\n\n  username: %username\n  password: %password\n\n%edit_uri\n\n--drupal"), $variables), "From: $from\nReply-to: $from\nX-Mailer: Drupal\nReturn-path: $from\nErrors-to: $from");
-    drupal_set_message(t('<p>Welcome to Drupal. You are user #1, which gives you full and immediate access.  All future registrants will receive their passwords via e-mail, so please make sure your website e-mail address is set properly under the general settings on the <a href="%settings">settings page</a>.</p><p> Your password is <strong>%pass</strong>. You may change your password below.</p>', array('%pass' => $pass, '%settings' => url('admin/settings'))));
+    drupal_set_message(t('<p>Welcome to Drupal. You are user #1, which gives you full and immediate access. All future registrants will receive their passwords via e-mail, so please make sure your website e-mail address is set properly under the general settings on the <a href="%settings">settings page</a>.</p><p> Your password is <strong>%pass</strong>. You may change your password below.</p>', array('%pass' => $pass, '%settings' => url('admin/settings'))));
     user_authenticate($account->name, trim($pass));
 
     // Set the installed schema version of the system module to the most recent version.
@@ -1321,7 +1321,7 @@ function user_edit_form($uid, $edit) {
     } else {
       $form['picture']['picture_delete'] = array('#type' => 'hidden');
     }
-    $form['picture']['picture_upload'] = array('#type' => 'file', '#title' => t('Upload picture'), '#size' => 48, '#description' => t('Your virtual face or picture.  Maximum dimensions are %dimensions and the maximum size is %size kB.', array('%dimensions' => variable_get('user_picture_dimensions', '85x85'), '%size' => variable_get('user_picture_file_size', '30'))) .' '. variable_get('user_picture_guidelines', ''));
+    $form['picture']['picture_upload'] = array('#type' => 'file', '#title' => t('Upload picture'), '#size' => 48, '#description' => t('Your virtual face or picture. Maximum dimensions are %dimensions and the maximum size is %size kB.', array('%dimensions' => variable_get('user_picture_dimensions', '85x85'), '%size' => variable_get('user_picture_file_size', '30'))) .' '. variable_get('user_picture_guidelines', ''));
   }
 
   return $form;
@@ -1934,7 +1934,7 @@ function user_configure() {
   // User registration settings.
   $form['registration'] = array('#type' => 'fieldset', '#title' => t('User registration settings'));
   $form['registration']['user_register'] = array('#type' => 'radios', '#title' => t('Public registrations'), '#default_value' => variable_get('user_register', 1), '#options' => array(t('Only site administrators can create new user accounts.'), t('Visitors can create accounts and no administrator approval is required.'), t('Visitors can create accounts but administrator approval is required.')));
-  $form['registration']['user_registration_help'] = array('#type' => 'textarea', '#title' => t('User registration guidelines'), '#default_value' => variable_get('user_registration_help', ''), '#description' => t('This text is displayed at the top of the user registration form.  It\'s useful for helping or instructing your users.'));
+  $form['registration']['user_registration_help'] = array('#type' => 'textarea', '#title' => t('User registration guidelines'), '#default_value' => variable_get('user_registration_help', ''), '#description' => t('This text is displayed at the top of the user registration form. It\'s useful for helping or instructing your users.'));
 
   // User e-mail settings.
   $form['email'] = array('#type' => 'fieldset', '#title' => t('User e-mail settings'));
@@ -1959,7 +1959,7 @@ function user_configure() {
   $form['pictures']['user_picture_default'] = array('#type' => 'textfield', '#title' => t('Default picture'), '#default_value' => variable_get('user_picture_default', ''), '#size' => 30, '#maxlength' => 255, '#description' => t('URL of picture to display for users with no custom picture selected. Leave blank for none.'));
   $form['pictures']['user_picture_dimensions'] = array('#type' => 'textfield', '#title' => t('Picture maximum dimensions'), '#default_value' => variable_get('user_picture_dimensions', '85x85'), '#size' => 15, '#maxlength' => 10, '#description' => t('Maximum dimensions for pictures.'));
   $form['pictures']['user_picture_file_size'] = array('#type' => 'textfield', '#title' => t('Picture maximum file size'), '#default_value' => variable_get('user_picture_file_size', '30'), '#size' => 15, '#maxlength' => 10, '#description' => t('Maximum file size for pictures, in kB.'));
-  $form['pictures']['user_picture_guidelines'] = array('#type' => 'textarea', '#title' => t('Picture guidelines'), '#default_value' => variable_get('user_picture_guidelines', ''), '#description' => t('This text is displayed at the picture upload form in addition to the default guidelines.  It\'s useful for helping or instructing your users.'));
+  $form['pictures']['user_picture_guidelines'] = array('#type' => 'textarea', '#title' => t('Picture guidelines'), '#default_value' => variable_get('user_picture_guidelines', ''), '#description' => t('This text is displayed at the picture upload form in addition to the default guidelines. It\'s useful for helping or instructing your users.'));
 
   return system_settings_form('user_configure_settings', $form);
 }
@@ -1995,8 +1995,8 @@ function user_help($section) {
 
   switch ($section) {
     case 'admin/help#user':
-      $output = '<p>'. t('The user module allows users to register, login, and logout. Users benefit from being able to sign on because it associates content they create with their account and allows various permissions to be set for their roles.  The user module supports user roles which can setup fine grained permissions allowing each role to do only what the administrator wants them to. Each user is assigned to one or more roles. By default there are two roles <em>anonymous</em> - a user who has not logged in, and <em>authenticated</em> a user who has signed up and who has been authorized. ') .'</p>';
-      $output .= '<p>'. t('Users can use their own name or handle and can fine tune some personal configuration settings through their individual my account page.  Registered users need to authenticate by supplying either a local username and password, or a remote username and password such as DelphiForums ID, or one from a Drupal powered website.  A visitor accessing your website is assigned an unique ID, the so-called session ID, which is stored in a cookie. For security\'s sake, the cookie does not contain personal information but acts as a key to retrieve the information stored on your server. ') .'</p>';
+      $output = '<p>'. t('The user module allows users to register, login, and logout. Users benefit from being able to sign on because it associates content they create with their account and allows various permissions to be set for their roles. The user module supports user roles which can setup fine grained permissions allowing each role to do only what the administrator wants them to. Each user is assigned to one or more roles. By default there are two roles <em>anonymous</em> - a user who has not logged in, and <em>authenticated</em> a user who has signed up and who has been authorized. ') .'</p>';
+      $output .= '<p>'. t('Users can use their own name or handle and can fine tune some personal configuration settings through their individual my account page. Registered users need to authenticate by supplying either a local username and password, or a remote username and password such as DelphiForums ID, or one from a Drupal powered website. A visitor accessing your website is assigned an unique ID, the so-called session ID, which is stored in a cookie. For security\'s sake, the cookie does not contain personal information but acts as a key to retrieve the information stored on your server. ') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
 <li>view your <a href="%user">user page</a>.</li>
@@ -2018,7 +2018,7 @@ function user_help($section) {
     case strstr($section, 'admin/access/rules'):
       return t('<p>Set up username and e-mail address access rules for new <em>and</em> existing accounts (currently logged in accounts will not be logged out). If a username or e-mail address for an account matches any deny rule, but not an allow rule, then the account will not be allowed to be created or to log in. A host rule is effective for every page view, not just registrations.</p>');
     case 'admin/access':
-      return t('<p>Permissions let you control what users can do on your site.  Each user role (defined on the <a href="%role">user roles page</a>) has its own set of permissions. For example, you could give users classified as "Administrators" permission to "administer nodes" but deny this power to ordinary, "authenticated" users. You can use permissions to reveal new features to privileged users (those with subscriptions, for example). Permissions also allow trusted users to share the administrative burden of running a busy site.</p>', array('%role' => url('admin/access/roles')));
+      return t('<p>Permissions let you control what users can do on your site. Each user role (defined on the <a href="%role">user roles page</a>) has its own set of permissions. For example, you could give users classified as "Administrators" permission to "administer nodes" but deny this power to ordinary, "authenticated" users. You can use permissions to reveal new features to privileged users (those with subscriptions, for example). Permissions also allow trusted users to share the administrative burden of running a busy site.</p>', array('%role' => url('admin/access/roles')));
     case 'admin/access/roles':
       return t('<p>Roles allow you to fine tune the security and administration of Drupal. A role defines a group of users that have certain privileges as defined in <a href="%permissions">user permissions</a>. Examples of roles include: anonymous user, authenticated user, moderator, administrator and so on. In this area you will define the <em>role names</em> of the various roles. To delete a role choose "edit".</p><p>By default, Drupal comes with two user roles:</p>
       <ul>
@@ -2026,7 +2026,7 @@ function user_help($section) {
       <li>Authenticated user: this role is automatically granted to all logged in users.</li>
       </ul>', array('%permissions' => url('admin/access/permissions')));
     case 'admin/user/search':
-      return t('<p>Enter a simple pattern ("*" may be used as a wildcard match) to search for a username.  For example, one may search for "br" and Drupal might return "brian", "brad", and "brenda".</p>');
+      return t('<p>Enter a simple pattern ("*" may be used as a wildcard match) to search for a username. For example, one may search for "br" and Drupal might return "brian", "brad", and "brenda".</p>');
     case 'admin/user/configure':
     case 'admin/user/configure/settings':
       return t('<p>In order to use the full power of Drupal a visitor must sign up for an account. This page lets you setup how a user signs up, logs out, the guidelines from the system about user subscriptions, and the e-mails the system will send to the user.</p>');
@@ -2036,7 +2036,7 @@ function user_help($section) {
       $output = t("
       <h3>Distributed authentication<a id=\"da\"></a></h3>
       <p>One of the more tedious moments in visiting a new website is filling out the registration form. Here at %site, you do not have to fill out a registration form if you are already a member of %help-links. This capability is called <em>distributed authentication</em>, and is unique to <a href=\"%drupal\">Drupal</a>, the software which powers %site.</p>
-      <p>Distributed authentication enables a new user to input a username and password into the login box, and immediately be recognized, even if that user never registered at %site. This works because Drupal knows how to communicate with external registration databases. For example, lets say that new user 'Joe' is already a registered member of <a href=\"%delphi-forums\">Delphi Forums</a>. Drupal informs Joe on registration and login screens that he may login with his Delphi ID instead of registering with %site. Joe likes that idea, and logs in with a username of joe@remote.delphiforums.com and his usual Delphi password. Drupal then contacts the <em>remote.delphiforums.com</em> server behind the scenes (usually using <a href=\"%xml\">XML-RPC</a>, <a href=\"%http-post\">HTTP POST</a>, or <a href=\"%soap\">SOAP</a>) and asks: \"Is the password for user Joe correct?\".  If Delphi replies yes, then we create a new %site account for Joe and log him into it.  Joe may keep on logging into %site in the same manner, and he will always be logged into the same account.</p>", array('%help-links' => (implode(', ', user_auth_help_links())), '%site' => "<em>$site</em>", '%drupal' => 'http://drupal.org', '%delphi-forums' => 'http://www.delphiforums.com', '%xml' => 'http://www.xmlrpc.com', '%http-post' => 'http://www.w3.org/Protocols/', '%soap' => 'http://www.soapware.org'));
+      <p>Distributed authentication enables a new user to input a username and password into the login box, and immediately be recognized, even if that user never registered at %site. This works because Drupal knows how to communicate with external registration databases. For example, lets say that new user 'Joe' is already a registered member of <a href=\"%delphi-forums\">Delphi Forums</a>. Drupal informs Joe on registration and login screens that he may login with his Delphi ID instead of registering with %site. Joe likes that idea, and logs in with a username of joe@remote.delphiforums.com and his usual Delphi password. Drupal then contacts the <em>remote.delphiforums.com</em> server behind the scenes (usually using <a href=\"%xml\">XML-RPC</a>, <a href=\"%http-post\">HTTP POST</a>, or <a href=\"%soap\">SOAP</a>) and asks: \"Is the password for user Joe correct?\". If Delphi replies yes, then we create a new %site account for Joe and log him into it. Joe may keep on logging into %site in the same manner, and he will always be logged into the same account.</p>", array('%help-links' => (implode(', ', user_auth_help_links())), '%site' => "<em>$site</em>", '%drupal' => 'http://drupal.org', '%delphi-forums' => 'http://www.delphiforums.com', '%xml' => 'http://www.xmlrpc.com', '%http-post' => 'http://www.w3.org/Protocols/', '%soap' => 'http://www.soapware.org'));
 
         foreach (module_list() as $module) {
           if (module_hook($module, 'auth')) {
diff --git a/modules/watchdog.module b/modules/watchdog.module
index f4fd83bc68ef..3a85689a8217 100644
--- a/modules/watchdog.module
+++ b/modules/watchdog.module
@@ -18,7 +18,7 @@
 function watchdog_help($section) {
   switch ($section) {
     case 'admin/help#watchdog':
-      $output = '<p>'. t('The watchdog module monitors your system, capturing system events in a log to be reviewed by an authorized individual at a later time.  This is useful for site administrators who want a quick overview of activities on their site. The logs also record the sequence of events, so it can be useful for debugging site errors.') .'</p>';
+      $output = '<p>'. t('The watchdog module monitors your system, capturing system events in a log to be reviewed by an authorized individual at a later time. This is useful for site administrators who want a quick overview of activities on their site. The logs also record the sequence of events, so it can be useful for debugging site errors.') .'</p>';
       $output .= '<p>'. t('The watchdog log is simply a list of recorded events containing usage data, performance data, errors, warnings and operational information. Administrators should check the watchdog report on a regular basis to ensure their site is working properly.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -31,7 +31,7 @@ function watchdog_help($section) {
     case 'admin/modules#description':
       return t('Logs and records system events.');
     case 'admin/logs':
-      return t('<p>The watchdog module monitors your web site, capturing system events in a log to be reviewed by an authorized individual at a later time.  The watchdog log is simply a list of recorded events containing usage data, performance data, errors, warnings and operational information.  It is vital to check the watchdog report on a regular basis as it is often the only way to tell what is going on.</p>');
+      return t('<p>The watchdog module monitors your web site, capturing system events in a log to be reviewed by an authorized individual at a later time. The watchdog log is simply a list of recorded events containing usage data, performance data, errors, warnings and operational information. It is vital to check the watchdog report on a regular basis as it is often the only way to tell what is going on.</p>');
   }
 }
 
diff --git a/modules/watchdog/watchdog.module b/modules/watchdog/watchdog.module
index f4fd83bc68ef..3a85689a8217 100644
--- a/modules/watchdog/watchdog.module
+++ b/modules/watchdog/watchdog.module
@@ -18,7 +18,7 @@
 function watchdog_help($section) {
   switch ($section) {
     case 'admin/help#watchdog':
-      $output = '<p>'. t('The watchdog module monitors your system, capturing system events in a log to be reviewed by an authorized individual at a later time.  This is useful for site administrators who want a quick overview of activities on their site. The logs also record the sequence of events, so it can be useful for debugging site errors.') .'</p>';
+      $output = '<p>'. t('The watchdog module monitors your system, capturing system events in a log to be reviewed by an authorized individual at a later time. This is useful for site administrators who want a quick overview of activities on their site. The logs also record the sequence of events, so it can be useful for debugging site errors.') .'</p>';
       $output .= '<p>'. t('The watchdog log is simply a list of recorded events containing usage data, performance data, errors, warnings and operational information. Administrators should check the watchdog report on a regular basis to ensure their site is working properly.') .'</p>';
       $output .= t('<p>You can</p>
 <ul>
@@ -31,7 +31,7 @@ function watchdog_help($section) {
     case 'admin/modules#description':
       return t('Logs and records system events.');
     case 'admin/logs':
-      return t('<p>The watchdog module monitors your web site, capturing system events in a log to be reviewed by an authorized individual at a later time.  The watchdog log is simply a list of recorded events containing usage data, performance data, errors, warnings and operational information.  It is vital to check the watchdog report on a regular basis as it is often the only way to tell what is going on.</p>');
+      return t('<p>The watchdog module monitors your web site, capturing system events in a log to be reviewed by an authorized individual at a later time. The watchdog log is simply a list of recorded events containing usage data, performance data, errors, warnings and operational information. It is vital to check the watchdog report on a regular basis as it is often the only way to tell what is going on.</p>');
   }
 }
 
diff --git a/sites/default/settings.php b/sites/default/settings.php
index 888018b75392..05679904a03b 100644
--- a/sites/default/settings.php
+++ b/sites/default/settings.php
@@ -32,7 +32,7 @@
  * 10. sites/default
  *
  * If you are installing on a non-standard port number, prefix the
- * hostname with that number.  For example,
+ * hostname with that number. For example,
  * http://www.drupal.org:8080/mysite/test/ could be loaded from
  * sites/8080.www.drupal.org.mysite.test/.
  */
diff --git a/themes/engines/phptemplate/phptemplate.engine b/themes/engines/phptemplate/phptemplate.engine
index 63fb960a97b4..95ed53b20bf7 100644
--- a/themes/engines/phptemplate/phptemplate.engine
+++ b/themes/engines/phptemplate/phptemplate.engine
@@ -21,7 +21,7 @@ function phptemplate_templates($directory = 'themes') {
  * Declare the available regions implemented by this engine.
  *
  * @return
- *  An array of regions.  The first array element will be used as the default region for themes.
+ *  An array of regions. The first array element will be used as the default region for themes.
  */
 function phptemplate_regions() {
   return array(
diff --git a/update.php b/update.php
index ff607cec193f..8c74dead7e62 100644
--- a/update.php
+++ b/update.php
@@ -558,7 +558,7 @@ function update_access_denied_page() {
 </ol>';
 }
 
-// This code may be removed later.  It is part of the Drupal 4.5 to 4.7 migration.
+// This code may be removed later. It is part of the Drupal 4.5 to 4.7 migration.
 function update_fix_system_table() {
   drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);
   $row = db_fetch_object(db_query_range('SELECT * FROM {system}', 0, 1));
@@ -577,7 +577,7 @@ function update_fix_system_table() {
   }
 }
 
-// This code may be removed later.  It is part of the Drupal 4.6 to 4.7 migration.
+// This code may be removed later. It is part of the Drupal 4.6 to 4.7 migration.
 function update_fix_access_table() {
   if (variable_get('update_access_fixed', FALSE)) {
     return;
-- 
GitLab