diff -urpw location-3.x-dev-20100429-orig/location.admin.inc location-3.x-dev-20100429/location.admin.inc
--- location-3.x-dev-20100429-orig/location.admin.inc	2010-04-29 09:28:10.000000000 -0400
+++ location-3.x-dev-20100429/location.admin.inc	2010-05-04 22:31:43.000000000 -0400
@@ -39,6 +39,16 @@ function location_admin_settings() {
     '#description'    => t('If you are interested in turning off locations and having a custom theme control their display, you may want to disable the display of locations so your theme can take that function.')
   );
 
+  $form['location_use_abbreviation'] = array(
+    '#type'           => 'radios',
+    '#title'          => t('Province display'),
+    '#default_value'  => variable_get('location_use_abbreviation', 0),
+    '#options'        => array(
+      0 => t('Display full province name.'),
+      1 => t('Display province/state code.')
+    ),
+  );
+
   $form['location_usegmap'] = array(
     '#type'           => 'checkbox',
     '#title'          => t('Use a Google Map to set latitude and longitude '),
diff -urpw location-3.x-dev-20100429-orig/location.module location-3.x-dev-20100429/location.module
--- location-3.x-dev-20100429-orig/location.module	2010-04-19 20:30:43.000000000 -0400
+++ location-3.x-dev-20100429/location.module	2010-05-04 20:43:40.000000000 -0400
@@ -636,7 +636,7 @@ function location_locationapi(&$obj, $op
             '#type' => 'textfield',
             '#title' => t('State/Province'),
             '#autocomplete_path' => 'location/autocomplete/'. $country,
-            '#default_value' => $obj,
+            '#default_value' => variable_get('location_use_abbreviation', 0) ? $obj : location_province_name($country, $obj),
             '#size' => 64,
             '#maxlength' => 64,
             '#description' => NULL,
@@ -1499,6 +1499,9 @@ function template_preprocess_location(&$
     // $location['country'] is normalized in the previous line.
     $variables['template_files'][] = 'location-'. $location['country'];
   }
+
+  // Display either the code or the full name for the province.
+  $variables['province_print'] = variable_get('location_use_abbreviation', 0) ? $location['province'] : $location['province_name'];
 }
 
 /**
diff -urpw location-3.x-dev-20100429-orig/location.tpl.php location-3.x-dev-20100429/location.tpl.php
--- location-3.x-dev-20100429-orig/location.tpl.php	2010-04-29 08:05:28.000000000 -0400
+++ location-3.x-dev-20100429/location.tpl.php	2010-05-04 19:52:07.000000000 -0400
@@ -16,7 +16,7 @@
     }
   }
   if ($province) {
-    echo '<span class="region">' . $province . '</span> ';
+    echo '<span class="region">' . $province_print . '</span> ';
   }
   if ($postal_code) {
     echo ' <span class="postal-code">' . $postal_code . '</span>';
