diff --git a/uc_order/uc_order.ca.inc b/uc_order/uc_order.ca.inc
index 09ed2fa..21dde11 100644
--- a/uc_order/uc_order.ca.inc
+++ b/uc_order/uc_order.ca.inc
@@ -463,8 +463,9 @@ function uc_order_condition_delivery_zone($order, $settings) {
 function uc_order_condition_delivery_zone_form($form_state, $settings = array()) {
   $result = db_query("SELECT z.*, c.country_name FROM {uc_zones} AS z LEFT JOIN {uc_countries} AS c ON z.zone_country_id = c.country_id ORDER BY c.country_name, z.zone_name");
   while ($zone = db_fetch_object($result)) {
-    $options[$zone->country_name][$zone->zone_id] = $zone->zone_name;
+    $options[t($zone->country_name)][$zone->zone_id] = $zone->zone_name;
   }
+  uksort($options, 'strnatcasecmp');
 
   $form['zones'] = array(
     '#type' => 'select',
@@ -543,8 +544,9 @@ function uc_order_condition_billing_zone($order, $settings) {
 function uc_order_condition_billing_zone_form($form_state, $settings = array()) {
   $result = db_query("SELECT z.*, c.country_name FROM {uc_zones} AS z LEFT JOIN {uc_countries} AS c ON z.zone_country_id = c.country_id ORDER BY c.country_name, z.zone_name");
   while ($zone = db_fetch_object($result)) {
-    $options[$zone->country_name][$zone->zone_id] = $zone->zone_name;
+    $options[t($zone->country_name)][$zone->zone_id] = $zone->zone_name;
   }
+  uksort($options, 'strnatcasecmp');
 
   $form['zones'] = array(
     '#type' => 'select',
diff --git a/uc_store/uc_store.admin.inc b/uc_store/uc_store.admin.inc
index bf9a1f9..853c5d4 100644
--- a/uc_store/uc_store.admin.inc
+++ b/uc_store/uc_store.admin.inc
@@ -362,10 +362,11 @@ function uc_country_settings_overview() {
  * @see uc_country_import_form_submit()
  */
 function uc_country_import_form() {
-  $result = db_query("SELECT * FROM {uc_countries} ORDER BY country_name ASC");
+  $result = db_query("SELECT * FROM {uc_countries}");
   while ($country = db_fetch_object($result)) {
-    $countries[] = $country;
+    $countries[t($country->country_name)] = $country;
   }
+  uksort($countries, 'strnatcasecmp');
   $files = _country_import_list();
 
   $header = array(t('Country'), t('Code'), t('Version'), t('Operations'));
@@ -373,7 +374,7 @@ function uc_country_import_form() {
   if (is_array($countries)) {
     foreach ($countries as $country) {
       $row = array(
-        $country->country_name,
+        t($country->country_name),
         $country->country_iso_code_3,
         array('data' => abs($country->version), 'align' => 'center')
       );
@@ -456,11 +457,11 @@ function _uc_country_summarize() {
     $items[] = $country->version > 0
     ? t(
       '!country version !version is enabled.',
-      array('!country' => $country->country_name, '!version' => abs($country->version))
+      array('!country' => t($country->country_name), '!version' => abs($country->version))
     )
     : t(
       '!country version !version is disabled.',
-      array('!country' => $country->country_name, '!version' => abs($country->version))
+      array('!country' => t($country->country_name), '!version' => abs($country->version))
     );
   }
 
@@ -518,10 +519,11 @@ function uc_country_formats_form() {
               . theme('table', $header, $rows) .'</p><p>'. t('*Adding _if to any country variable will make it display only for addresses<br />whose country is different than the default store country.') .'</div>',
   );
 
-  $result = db_query("SELECT * FROM {uc_countries} ORDER BY country_name ASC");
+  $result = db_query("SELECT * FROM {uc_countries}");
   while ($country = db_fetch_object($result)) {
-    $countries[] = $country;
+    $countries[t($country->country_name)] = $country;
   }
+  uksort($countries, 'strnatcasecmp');
 
   if (is_array($countries)) {
     $form['countries'] = array(
@@ -530,7 +532,7 @@ function uc_country_formats_form() {
     foreach ($countries as $country) {
       $form['countries'][$country->country_id] = array(
         '#type' => 'fieldset',
-        '#title' => $country->country_name,
+        '#title' => t($country->country_name),
         '#collapsible' => TRUE,
         '#collapsed' => TRUE,
         '#summary callback' => 'summarize_null',
@@ -1024,10 +1026,10 @@ function uc_country_disable($country_id) {
     if ($country->version > 0) {
       db_query("UPDATE {uc_countries} SET version = %d WHERE country_id = %d",
                0 - $country->version, $country_id);
-      drupal_set_message(t('!country disabled.', array('!country' => $country->country_name)));
+      drupal_set_message(t('!country disabled.', array('!country' => t($country->country_name))));
     }
     else {
-      drupal_set_message(t('!country is already disabled.', array('!country' => $country->country_name)), 'error');
+      drupal_set_message(t('!country is already disabled.', array('!country' => t($country->country_name))), 'error');
     }
   }
   else {
@@ -1044,10 +1046,10 @@ function uc_country_enable($country_id) {
   if (($country = db_fetch_object($result))) {
     if ($country->version < 0) {
       db_query("UPDATE {uc_countries} SET version = %d WHERE country_id = %d", abs($country->version), $country_id);
-      drupal_set_message(t('@country enabled.', array('@country' => $country->country_name)));
+      drupal_set_message(t('@country enabled.', array('@country' => t($country->country_name))));
     }
     else {
-      drupal_set_message(t('@country is already enabled.', array('@country' => $country->country_name)), 'error');
+      drupal_set_message(t('@country is already enabled.', array('@country' => t($country->country_name))), 'error');
     }
   }
   else {
@@ -1064,7 +1066,7 @@ function uc_country_enable($country_id) {
  */
 function uc_country_remove_form($form_state, $country_id) {
   // Fetch the country name from the database.
-  $country = db_result(db_query("SELECT country_name FROM {uc_countries} WHERE country_id = %d", $country_id));
+  $country = t(db_result(db_query("SELECT country_name FROM {uc_countries} WHERE country_id = %d", $country_id)));
 
   // If orders exist for this country, show a warning message prior to removal.
   if (isset($_POST['op']) && ($_POST['op'] != t('Remove')) && module_exists('uc_order')) {
@@ -1107,7 +1109,7 @@ function uc_country_remove_form_submit($form, &$form_state) {
     }
   }
 
-  drupal_set_message(t('!country removed.', array('!country' => $country->country_name)));
+  drupal_set_message(t('!country removed.', array('!country' => t($country->country_name))));
   drupal_goto('admin/store/settings/countries/edit');
 }
 
diff --git a/uc_store/uc_store.countries.inc b/uc_store/uc_store.countries.inc
new file mode 100644
index 0000000..1090a60
--- /dev/null
+++ b/uc_store/uc_store.countries.inc
@@ -0,0 +1,130 @@
+<?php
+
+/**
+ * @file
+ * Contains Ubercart country names suitable for translation.
+ *
+ * This file is never included, it is only here so the potx module can
+ * extract strings for translation.
+ */
+
+t('Afghanistan');
+t('Algeria');
+t('Andorra');
+t('Antigua and Barbuda');
+t('Argentina');
+t('Armenia');
+t('Aruba');
+t('Australia');
+t('Austria');
+t('Bahamas');
+t('Bahrain');
+t('Barbados');
+t('Belgium');
+t('Belize');
+t('Bermuda');
+t('Bosnia-Herzegovina');
+t('Botswana');
+t('Brazil');
+t('Brunei');
+t('Bulgaria');
+t('Cambodia');
+t('Canada');
+t('Chile');
+t('China');
+t('Colombia');
+t('Costa Rica');
+t('Croatia');
+t('Cyprus');
+t('Czech Republic');
+t('Denmark');
+t('Dominican Republic');
+t('Ecuador');
+t('Egypt');
+t('El Salvador');
+t('Estonia');
+t('Finland');
+t('France');
+t('Georgia');
+t('Germany');
+t('Gibraltar');
+t('Greece');
+t('Greenland');
+t('Guam');
+t('Hong Kong');
+t('Hungary');
+t('India');
+t('Indonesia');
+t('Iran');
+t('Ireland');
+t('Isle of Man');
+t('Israel');
+t('Italy');
+t('Jamaica');
+t('Japan');
+t('Kazakhstan');
+t('Kenya');
+t('Korea, Republic of');
+t('Latvia');
+t('Lithuania');
+t('Luxembourg');
+t('Macau');
+t('Macedonia');
+t('Malaysia');
+t('Malta');
+t('Mauritius');
+t('Mexico');
+t('Moldova, Republic of');
+t('Monaco');
+t('Montenegro');
+t('Morocco');
+t('Mozambique');
+t('Myanmar');
+t('Nepal');
+t('Netherlands');
+t('New Caledonia');
+t('New Zealand');
+t('Nicaragua');
+t('Nigeria');
+t('Norway');
+t('Oman');
+t('Pakistan');
+t('Panama');
+t('Papua New Guinea');
+t('Peru');
+t('Philippines');
+t('Poland');
+t('Portugal');
+t('Puerto Rico');
+t('Reunion');
+t('Romania');
+t('Russian Federation');
+t('Saint Lucia');
+t('Saudi Arabia');
+t('Senegal');
+t('Serbia');
+t('Seychelles');
+t('Singapore');
+t('Slovakia');
+t('Slovenia');
+t('South Africa');
+t('Spain');
+t('Sri Lanka');
+t('Suriname');
+t('Sweden');
+t('Switzerland');
+t('Taiwan');
+t('Tanzania');
+t('Thailand');
+t('Tunisia');
+t('Turkey');
+t('Ukraine');
+t('United Arab Emirates');
+t('United Kingdom');
+t('United States');
+t('Uruguay');
+t('Venezuela');
+t('Vietnam');
+t('Virgin Islands, British');
+t('Virgin Islands, U.S.');
+t('Zimbabwe');
diff --git a/uc_store/uc_store.module b/uc_store/uc_store.module
index 7f0faa1..8c5f1b0 100644
--- a/uc_store/uc_store.module
+++ b/uc_store/uc_store.module
@@ -1091,13 +1091,13 @@ function uc_address_format($first_name, $last_name, $company, $street1, $street2
     '!zone_code' => $zone_data['zone_code'],
     '!zone_name' => $zone_data['zone_name'],
     '!postal_code' => check_plain($postal_code),
-    '!country_name' => $country_data['country_name'],
+    '!country_name' => t($country_data['country_name']),
     '!country_code2' => $country_data['country_iso_code_2'],
     '!country_code3' => $country_data['country_iso_code_3'],
   );
 
   if (uc_store_default_country() != $country) {
-    $variables['!country_name_if'] = $country_data['country_name'];
+    $variables['!country_name_if'] = t($country_data['country_name']);
     $variables['!country_code2_if'] = $country_data['country_iso_code_2'];
     $variables['!country_code3_if'] = $country_data['country_iso_code_3'];
   }
@@ -1338,11 +1338,12 @@ function uc_country_select($title, $default = NULL, $description = NULL, $displa
 
   $options = array();
   while ($country = db_fetch_array($result)) {
-    $options[$country['country_id']] = $country[$order_by];
+    $options[$country['country_id']] = ($order_by == 'country_name') ? t($country[$order_by]) : $country[$order_by];
   }
   if (count($options) == 0) {
     $options[] = t('No countries found.');
   }
+  natcasesort($options);
 
   $default = db_result(db_query("SELECT country_id FROM {uc_countries} WHERE country_id = %d AND version > 0", empty($default) ? 0 : intval($default)));
 
