Workaround For Problematic Taxonomy Translation

In Drupal 6, taxonomies aren't translated the same way as nodes are. Instead there is a sort of hackish module called Taxonomy translation (part of Internationalization), which provides at least some sort of way of translating taxonomies. However, there are major problems with aliases for these translations which create symptoms such as faulty language switching links when you're on a taxonomy page. After investigating the system and discovering how badly the translation support for taxonomies is implemented (this is remedied in Drupal 7), I decided that the easiest way would be to simply disable taxonomy translation altogether and instead insert a t() function in all important areas where taxonomies are displayed, such as in a Catalog block. As you're doing this in template files, you won't need to screw around with core/contrib so it's a good solution in that way. However, you need an HTML parser such as PHP Simple HTML DOM Parser. Here's an example of how to insert the t():

---New content of block-uc_catalog.tpl.php---

<section id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?> clearfix">
  <?php if (!empty($block->subject)): ?>
    <h2><?php print $block->subject ?></h2>
  <?php endif;?>
  <div class="content">
  <?php print $edit_links; ?>
   <?php
  if(module_exists('html_parser')) {
   $html = str_get_html($block->content);
   $links = $html->find('a');
   foreach($links as $key => $link) {
    $link->innertext = t($link->innertext);
   }
   $block->content = $html->save();
   $html->clear();
   unset($html);
  }
  print $block->content;
 ?>
 </div>
</section> <!-- /.block -->