Index: taxonomy_breadcrumb.admin.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/taxonomy_breadcrumb/taxonomy_breadcrumb.admin.inc,v
retrieving revision 1.1.2.2
diff -u -p -r1.1.2.2 taxonomy_breadcrumb.admin.inc
--- taxonomy_breadcrumb.admin.inc	24 Apr 2009 02:51:41 -0000	1.1.2.2
+++ taxonomy_breadcrumb.admin.inc	13 Aug 2009 13:08:32 -0000
@@ -30,6 +30,13 @@ function taxonomy_breadcrumb_admin_setti
     '#description'    => t('When enabled, the lightest term associated with node is shown as the last breadcrumb in the breadcrumb trail.  When disabled, the only terms shown in the breadcrumb trail are parent terms (if any parents exist).  The recommended setting is enabled.'),
   );
 
+  $form['settings']['taxonomy_breadcrumb_use_synonym'] = array(
+    '#type'           => 'checkbox',
+    '#title'          => t('Use the first term synonym instead of term name?'),
+    '#default_value'  => variable_get('taxonomy_breadcrumb_use_synonym', FALSE),
+    '#description'    => t('When enabled and when viewing a node, the term\'s first synonym will be uses in the breadcrumb, instead of the term name.'),
+  );
+
   $form['settings']['taxonomy_breadcrumb_include_node_title'] = array(
     '#type'           => 'checkbox',
     '#title'          => t('Show current node title in breadcrumb trail?'),
Index: taxonomy_breadcrumb.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/taxonomy_breadcrumb/taxonomy_breadcrumb.inc,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 taxonomy_breadcrumb.inc
--- taxonomy_breadcrumb.inc	31 May 2009 19:37:18 -0000	1.1.2.3
+++ taxonomy_breadcrumb.inc	13 Aug 2009 13:08:32 -0000
@@ -114,12 +114,20 @@ function _taxonomy_breadcrumb_generate_b
     if ($term_path == NULL) {
       $term_path = taxonomy_term_path(taxonomy_get_term($parent_term->tid));
     }
+    $term_title = $parent_term->name;
+    // Use the SYNONYM instead of TERM, if we want to.
+    if (variable_get('taxonomy_breadcrumb_use_synonym', FALSE)) {
+      $synonyms = taxonomy_get_synonyms($parent_term->tid);
+      if (!empty($synonyms)) {
+        $term_title = $synonyms[0];
+      }
+    }
     // Do not create links to own self if we are on a taxonomy/term page.
     if ($is_term_page && $parent_term->tid == $tid) {
-      $breadcrumb[] = _taxonomy_breadcrumb_tt("taxonomy:term:$parent_term->tid:name", $parent_term->name);
+      $breadcrumb[] = _taxonomy_breadcrumb_tt("taxonomy:term:$parent_term->tid:name", $term_title);
     }
     else {
-      $breadcrumb[] = l(_taxonomy_breadcrumb_tt("taxonomy:term:$parent_term->tid:name", $parent_term->name), $term_path);
+      $breadcrumb[] = l(_taxonomy_breadcrumb_tt("taxonomy:term:$parent_term->tid:name", $term_title), $term_path);
     }
   }
 
