Index: release/project_release.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v
retrieving revision 1.66.2.10
diff -u -r1.66.2.10 project_release.module
--- release/project_release.module	7 Jan 2009 20:48:21 -0000	1.66.2.10
+++ release/project_release.module	7 Jan 2009 22:52:31 -0000
@@ -22,8 +22,8 @@
     // These constants are defined here since they use t() and the
     // global $locale variable needs to be initialized before calling
     // t() or you suffer a big performance hit.
-    define('PROJECT_RELEASE_VERSION_FORMAT_VALID_MSG', t("The version format string can only contain letters, numbers, and the characters . _ and - (in addition to the special characters used for identifying variables: % ! and #)."));
-    define('PROJECT_RELEASE_VERSION_FORMAT_HELP', t('Available variables are:') .' %api, %major, %minor, %patch, %extra. '. t("The percent sign ('%') at the front of the variable name indicates that a period ('.') should be inserted as a delimiter before the value of the variable. The '%' can be replaced with a hash mark ('#') to use a hyphen ('-') delimiter, or with an exclaimation point ('!') to have the value printed without a delimiter. Any variable in the format string that has no value will be removed entirely from the final string.") .' '. PROJECT_RELEASE_VERSION_FORMAT_VALID_MSG);
+    define('PROJECT_RELEASE_VERSION_FORMAT_VALID_MSG', t('The version format string can only contain letters, numbers, and the characters . _ and - (in addition to the special characters used for identifying variables: % ! and #).'));
+    define('PROJECT_RELEASE_VERSION_FORMAT_HELP', t('Available variables are: %api, %major, %minor, %patch, %extra.') . t("The percent sign ('%') at the front of the variable name indicates that a period ('.') should be inserted as a delimiter before the value of the variable. The '%' can be replaced with a hash mark ('#') to use a hyphen ('-') delimiter, or with an exclaimation point ('!') to have the value printed without a delimiter. Any variable in the format string that has no value will be removed entirely from the final string.") .' '. PROJECT_RELEASE_VERSION_FORMAT_VALID_MSG);
 
     if (arg(0) == 'node' && is_numeric(arg(1))) {
       $node = node_load(arg(1));
@@ -177,7 +177,7 @@
     '#default_value' => variable_get('project_release_download_base', ''),
     '#size' => 50,
     '#maxlength' => 255,
-    '#description' => t('By default, all download links to releases will use the standard download path for the site. However, if you wish to host the downloads at a different location, you can specify the base of the URL that should be used for download links. For example, if you stored releases in %files_path and you want to have download links pointing to %ftp_url, you would set this to %ftp_setting. Note that if you define this, the value should end with a slash (\'/\').', array('%files_path' => 'files/projects/foo.tar.gz', '%ftp_url' => 'ftp://ftp.example.com/files/projects/foo.tar.gz', '%ftp_setting' => 'ftp://ftp.example.com/')),
+    '#description' => t("By default, all download links to releases will use the standard download path for the site. However, if you wish to host the downloads at a different location, you can specify the base of the URL that should be used for download links. For example, if you stored releases in %files_path and you want to have download links pointing to %ftp_url, you would set this to %ftp_setting. Note that if you define this, the value should end with a slash ('/').", array('%files_path' => 'files/projects/foo.tar.gz', '%ftp_url' => 'ftp://ftp.example.com/files/projects/foo.tar.gz', '%ftp_setting' => 'ftp://ftp.example.com/')),
   );
   return system_settings_form($form);
 }
@@ -190,7 +190,7 @@
   $default_tid = $form_values['project_release_overview'];
   if ($default_tid != -1 && !$tids[$default_tid]) {
     $vocab = taxonomy_get_vocabulary(_project_release_get_api_vid());
-    form_set_error('project_release_overview', t('Project release overview must be one of the active @vocab terms', array('@vocab' => $vocab->name)));
+    form_set_error('project_release_overview', t('Project release overview must be one of the active @vocab terms.', array('@vocab' => $vocab->name)));
   }
 
   // Make sure the default version format has no bad characters.
@@ -199,7 +199,7 @@
   // If set, the project_release_download_base must end with a '/'
   if (!empty($form_values['project_release_download_base'])) {
     if (substr($form_values['project_release_download_base'], -1) != '/') {
-       form_set_error('project_release_download_base', t('The %download_base_setting should end with a slash.', array('%download_base_setting' => t('Download link base URL'))));
+       form_set_error('project_release_download_base', t('The <em>Download link base URL</em> should end with a slash.'));
     }
   }
 }
@@ -482,10 +482,10 @@
       form_set_error('version_major', t('You must fill in some version information.'));
       // TODO: find a better form value to mark as the error?
     }
-    foreach (array('version_major' => 'Major version number', 'version_minor' => 'Minor version number') as $field => $name) {
+    foreach (array('version_major' => t('Major version number'), 'version_minor' => t('Minor version number')) as $field => $name) {
       $val = $edit->$field;
       if (isset($val) && $val !== '' && !is_numeric($val)) {
-        form_set_error($field, t('!name must be a number.', array('!name' => $name)));
+        form_set_error($field, t('%name must be a number.', array('%name' => $name)));
       }
     }
     $val = $edit->version_patch;
@@ -1066,11 +1066,14 @@
         '#options' => array($default_version => $terms[$default_version]),
         '#disabled' => TRUE,
       );
-      $register = '';
       if (variable_get('user_register', 1)) {
-        $register = ' or '. l(t('register'), 'user/register', array(), $destination) .' ';
+        // Users can register themselves.
+        $form['version_login'] = array('#value' => t('<a href="@login">Login</a> or <a href="@register">register</a> to modify the filter.', array('@login' => url('user/login', array('query' => $destination)), '@register' => url('user/register', array('query' => $destination)))));
+      }
+      else {
+        // Only admins can add new users, no public registration.
+        $form['version_login'] = array('#value' => t('<a href="@login">Login</a> to modify the filter.', array('@login' => url('user/login', array('query' => $destination)))));
       }
-      $form['version_login'] = array('#value' => l(t('Login'), 'user/login', array(), $destination) . $register . t('to modify the filter.'));
     }
     $form['#redirect'] = FALSE;
   }
@@ -1127,7 +1130,7 @@
  * @see project_release_form_alter
  */
 function project_release_alter_project_form(&$form) {
-  $form['project']['uri']['#description'] .= ' '. t("This string is also used to generate the name of releases associated with this project.");
+  $form['project']['uri']['#description'] .= ' '. t('This string is also used to generate the name of releases associated with this project.');
 }
 
 /**
Index: project.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/project.module,v
retrieving revision 1.309.2.12
diff -u -r1.309.2.12 project.module
--- project.module	29 Dec 2008 17:54:18 -0000	1.309.2.12
+++ project.module	7 Jan 2009 22:52:29 -0000
@@ -113,7 +113,7 @@
     'project_project' => array(
       'name' => t('Project'),
       'module' => 'project_project',
-      'description' => t('A project is something a group is working on. It can optionally have issue tracking, integration with revision control systems, releases, and so on.' ),
+      'description' => t('A project is something a group is working on. It can optionally have issue tracking, integration with revision control systems, releases, and so on.'),
     ),
   );
 }
@@ -1103,7 +1103,7 @@
 
 function project_quick_navigate_form() {
   $uris = NULL;
-  $projects = array_merge(array(0 => t('<select a project>')), project_projects_select_options($uris, FALSE, 'node/'));
+  $projects = array_merge(array(0 => t('- Select a project -')), project_projects_select_options($uris, FALSE, 'node/'));
   $form = array();
   $form['project_goto'] = array(
     '#type' => 'select',
Index: project.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/project.inc,v
retrieving revision 1.122.2.7
diff -u -r1.122.2.7 project.inc
--- project.inc	12 Dec 2008 01:44:18 -0000	1.122.2.7
+++ project.inc	7 Jan 2009 22:52:28 -0000
@@ -212,7 +212,7 @@
   );
   foreach ($fields as $uri => $name) {
     if ($node->$uri && !preg_match('/^(http|https|ftp):\/\//i', $node->$uri)) {
-      form_set_error($uri, t('!field is not a valid URL.', array('!field' => $name)));
+      form_set_error($uri, t('%field is not a valid URL.', array('%field' => $name)));
     }
   }
 
@@ -493,7 +493,7 @@
   if ($project = node_load($nid)) {
     if (node_access('view', $project)) {
       $output = module_invoke('cvs', 'get_project_contributors', $nid);
-      drupal_set_title(t('Developers for %name', array('%name' => check_plain($project->title))));
+      drupal_set_title(t('Developers for %name', array('%name' => $project->title)));
       project_project_set_breadcrumb($project, TRUE);
       return $output;
     }
@@ -511,7 +511,7 @@
     if (node_access('view', $project)) {
       $_REQUEST['nid'] = $nid;
       $output = module_invoke('cvs', 'show_messages');
-      drupal_set_title(t('CVS messages for %name', array('%name' => check_plain($project->title))));
+      drupal_set_title(t('CVS messages for %name', array('%name' => $project->title)));
       project_project_set_breadcrumb($project, TRUE);
       return $output;
     }
Index: usage/project_usage.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/usage/project_usage.module,v
retrieving revision 1.6.2.17
diff -u -r1.6.2.17 project_usage.module
--- usage/project_usage.module	19 Dec 2008 20:42:01 -0000	1.6.2.17
+++ usage/project_usage.module	7 Jan 2009 22:52:32 -0000
@@ -426,21 +426,21 @@
     '#title' => t('Daily usage data lifespan'),
     '#default_value' => variable_get('project_usage_life_daily', 4 * PROJECT_USAGE_WEEK),
     '#options' => $age_options,
-    '#description' => t("Discard the daily usage data after this amount of time has passed."),
+    '#description' => t('Discard the daily usage data after this amount of time has passed.'),
   );
   $form['project_usage_life_weekly_project'] = array(
     '#type' => 'select',
     '#title' => t('Weekly project data lifespan'),
     '#default_value' => variable_get('project_usage_life_weekly_project', PROJECT_USAGE_YEAR),
     '#options' => $age_options,
-    '#description' => t("Discard the weekly usage for project nodes after this amount of time has passed. "),
+    '#description' => t('Discard the weekly usage for project nodes after this amount of time has passed.'),
   );
   $form['project_usage_life_weekly_release'] = array(
     '#type' => 'select',
     '#title' => t('Weekly release data lifespan'),
     '#default_value' => variable_get('project_usage_life_weekly_release', 26 * PROJECT_USAGE_WEEK),
     '#options' => $age_options,
-    '#description' => t("Discard the weekly usage for project nodes after this amount of time has passed. "),
+    '#description' => t('Discard the weekly usage for project nodes after this amount of time has passed.'),
   );
   return system_settings_form($form);
 }
