Index: content_moderation/content_moderation.module
===================================================================
--- content_moderation/content_moderation.module	(revision 561)
+++ content_moderation/content_moderation.module	(working copy)
@@ -117,10 +117,12 @@
  * Implementation of hook_theme
  */
 function content_moderation_theme() {
+  $none_state = _content_moderation_none_state();
+  
   return array(
     'content_moderation_info_block' => array(
       'template' => 'content_moderation_info_block',
-      'arguments' => array('node' => NULL,'links' => NULL, 'state' => t('none'), 'live' => NULL,'revisions_list' => ''),
+      'arguments' => array('node' => NULL,'links' => NULL, 'state' => $none_state, 'live' => NULL, 'revisions_list' => ''),
     ),
     'content_moderation_node_history' => array(
      'arguments' => array('history' => array()),
@@ -497,7 +499,7 @@
  * Should be later an interface to change the live state
  */
 function _content_moderation_live_state() {
-  return 'live';
+  return variable_get('content_moderation_live_state', 'live');
 }
 
 /*
@@ -505,7 +507,7 @@
  * Should be later an interface to change the live state
  */
 function _content_moderation_none_state() {
-  return 'none';
+  return variable_get('content_moderation_none_state', 'none');
 }
 
 /*
Index: content_moderation/content_moderation.admin.inc
===================================================================
--- content_moderation/content_moderation.admin.inc	(revision 561)
+++ content_moderation/content_moderation.admin.inc	(working copy)
@@ -25,6 +25,30 @@
 		'#description' => t('The intended default value is checked (feature by design).<br/>However, it is then impossible to first create a (unpublished) draft. By unchecking this feature content types\' publishing options may be set to "unpublished". When a draft goes "live" (transition into moderation state "live") for the first time the node will be published automatically. After that only users with the right "administer nodes" are able to unpublish it again (making it a draft).<br/>'),
 		'#default_value' => variable_get('content_moderation_force_publish', 1),
   );
+  $form['content_moderation_none_state'] = array(
+    '#type' => 'select', 
+    '#title' => t('None state name'), 
+    '#default_value' => variable_get('content_moderation_none_state', 'none'),
+    '#options' => content_moderation_get_states(),
+    '#description' => t('Setting for the "none" state name.'),
+  );
+  $form['content_moderation_live_state'] = array(
+    '#type' => 'select', 
+    '#title' => t('Live state name'), 
+    '#default_value' => variable_get('content_moderation_live_state', 'live'),
+    '#options' => content_moderation_get_states(),
+    '#description' => t('Setting for the "live" state name.'),
+  );
 
 	return system_settings_form($form);
 }
+
+/** get names/descriptions of content moderation states */
+function content_moderation_get_states() {
+  $options = array();
+  $result = db_query('SELECT name FROM {content_moderation_states}');  
+  while ($row = db_fetch_array($result)) {
+    $options[$row['name']] = $row['name'];
+  }
+  return $options;
+}
Index: content_moderation/content_moderation_info_block.tpl.php
===================================================================
--- content_moderation/content_moderation_info_block.tpl.php	(revision 561)
+++ content_moderation/content_moderation_info_block.tpl.php	(working copy)
@@ -45,7 +45,7 @@
 ?>
 <div id="content_moderation">
 
-  <h4><?php print t('Live')?></h4>
+  <h4><?php print ucfirst(t(_content_moderation_live_state()))?></h4>
   <?php if($live != NULL) {
     $live_user = user_load($live->revision_uid);
     ?>
Index: content_moderation/content_moderation_revisions_list.tpl.php
===================================================================
--- content_moderation/content_moderation_revisions_list.tpl.php	(revision 561)
+++ content_moderation/content_moderation_revisions_list.tpl.php	(working copy)
@@ -47,7 +47,8 @@
     $state = ucfirst(t($rev->state));
   }
   else {
-    $state  = ucfirst(t('none'));
+    $none_state = _content_moderation_none_state();
+    $state  = ucfirst(t($none_state));
   }
 ?>
 <span class="revision"><?php print $revision_link?>: (<?php print $state?>) <?php print $view_link?><?php print $edit_state_link?><?php print $compare_live?></span>
Index: content_moderation/content_moderation.workflow.inc
===================================================================
--- content_moderation/content_moderation.workflow.inc	(revision 561)
+++ content_moderation/content_moderation.workflow.inc	(working copy)
@@ -90,7 +90,7 @@
 
   // If the state is live, change the current live version.
   // TODO: the "final" state maybe should not be hardcoded later.
-  if($nextstate == 'live') {
+  if($nextstate == _content_moderation_live_state()) {
     _content_moderation_set_live($node->vid,$node->nid);
     drupal_set_message(t("This revision !vid has now been published as the new live version.", array('!vid' => $node->vid)));
   }
@@ -99,7 +99,7 @@
   _content_moderation_save_history($node,$curstate,$nextstate,$user->uid,$comment);
   drupal_set_message(t('The revisions state has been successfully updated to @state',array('@state' => $nextstate)));
 
-  if($nextstate == 'live') {
+  if($nextstate == _content_moderation_live_state()) {
     drupal_goto('node/'.$node->nid);
   }
   else {
@@ -138,7 +138,9 @@
   // as we can have more then one live revision.
   // We are not resetting the history though, because it should be visible
   // which node has been live, approved by who and so forth.
-  db_query("UPDATE {content_moderation_revision_state} SET state = 'none' WHERE nid = %d AND vid<>%d AND state='live'", $nid,$vid);
+  $none_state = _content_moderation_none_state();
+  $live_state = _content_moderation_live_state();
+  db_query("UPDATE {content_moderation_revision_state} SET state = '%s' WHERE nid = %d AND vid<>%d AND state = '%s'", $none_state, $nid, $vid, $live_state);
 }
 
 /*
@@ -189,8 +191,8 @@
  */
 function _content_moderation_next_states($curstate, $node_type = 'all', $user = NULL) {
   if($curstate == "")
-    $curstate = 'none';
-  $result = db_query("select to_name as state from {content_moderation_transition} where from_name='%s' and (ntype='%s' OR ntype='all')",$curstate, $node_type);
+    $curstate = _content_moderation_none_state();
+  $result = db_query("SELECT to_name AS state FROM {content_moderation_transition} WHERE from_name='%s' AND (ntype='%s' OR ntype='all')",$curstate, $node_type);
   $states = array();
   while ($state = db_fetch_object($result)) {
     $states[$state->state] = t($state->state);
@@ -272,7 +274,7 @@
  * Get the current state of a revision *
  */
 function _content_moderation_current_state($vid) {
-  $result = db_query('select state from {content_moderation_revision_state} where vid=%d',$vid);
+  $result = db_query('SELECT state FROM {content_moderation_revision_state} WHERE vid=%d',$vid);
   $row = db_fetch_object($result);
 
   if(is_object($row)) {
@@ -280,6 +282,6 @@
   }
 
   // return default
-  return 'none';
+  return _content_moderation_none_state();
 }
 
