Index: languages/English.php
===================================================================
--- languages/English.php	(revision 9204)
+++ languages/English.php	(working copy)
@@ -179,6 +179,8 @@
     'Sub and Desc (Empty matches)' => '',
     'rectype: finddaily'           => 'Find One Daily',
     'rectype: findweekly'          => 'Find One Weekly',
+// includes/sorting.php
+    '(A |An |The )'		   => '',
 // includes/utils.php
     '$1 B'  => '',
     '$1 GB' => '',
Index: languages/Czech.php
===================================================================
--- languages/Czech.php	(revision 9204)
+++ languages/Czech.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => '',
     'rectype: finddaily'           => 'Find One Daily',
     'rectype: findweekly'          => 'Find One Weekly',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '',
     '$1 GB' => '',
Index: languages/Finnish.php
===================================================================
--- languages/Finnish.php	(revision 9204)
+++ languages/Finnish.php	(working copy)
@@ -183,6 +183,8 @@
     'Sub and Desc (Empty matches)' => 'Kuvaus ja Nimike (Ei vastaavuuksia)',
     'rectype: finddaily'           => 'Etsi Päivittäinen',
     'rectype: findweekly'          => 'Etsi Viikottainen',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '$1 B',
     '$1 GB' => '$1 GB',
Index: languages/Slovenian.php
===================================================================
--- languages/Slovenian.php	(revision 9204)
+++ languages/Slovenian.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'Podnaslov in opis (prazni zadetki)',
     'rectype: finddaily'           => 'Najdi dnevno',
     'rectype: findweekly'          => 'Najdi tedensko',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '',
     '$1 GB' => '',
Index: languages/English_GB.php
===================================================================
--- languages/English_GB.php	(revision 9204)
+++ languages/English_GB.php	(working copy)
@@ -179,6 +179,8 @@
     'Sub and Desc (Empty matches)' => '',
     'rectype: finddaily'           => 'Find One Daily',
     'rectype: findweekly'          => 'Find One Weekly',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '',
     '$1 GB' => '',
Index: languages/Australian.php
===================================================================
--- languages/Australian.php	(revision 9204)
+++ languages/Australian.php	(working copy)
@@ -179,6 +179,8 @@
     'Sub and Desc (Empty matches)' => '',
     'rectype: finddaily'           => '',
     'rectype: findweekly'          => '',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '$1 shotglass',
     '$1 GB' => '$1 stein',
Index: languages/French.php
===================================================================
--- languages/French.php	(revision 9204)
+++ languages/French.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'Sub et Desc (Vide correspond)',
     'rectype: finddaily'           => 'Trouver aujourd\'hui',
     'rectype: findweekly'          => 'trouver cette semaine',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '$1 B',
     '$1 GB' => '$1 GB',
Index: languages/Spanish.php
===================================================================
--- languages/Spanish.php	(revision 9204)
+++ languages/Spanish.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'Sub y Desc (Coincidencias vacías)',
     'rectype: finddaily'           => 'rectype: buscar diario',
     'rectype: findweekly'          => 'rectype: buscar semanal',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '$1 B',
     '$1 GB' => '$1 GB',
Index: languages/Danish.php
===================================================================
--- languages/Danish.php	(revision 9204)
+++ languages/Danish.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'Undertitel og beskrivelse',
     'rectype: finddaily'           => 'find 1 dagligt',
     'rectype: findweekly'          => 'find 1 ugentligt',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '',
     '$1 GB' => '',
Index: languages/Swedish.php
===================================================================
--- languages/Swedish.php	(revision 9204)
+++ languages/Swedish.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'Undertitel &amp; beskrivning',
     'rectype: finddaily'           => 'En per dag',
     'rectype: findweekly'          => 'En per vecka',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '$1 B',
     '$1 GB' => '$1 GB',
Index: languages/Dutch.php
===================================================================
--- languages/Dutch.php	(revision 9204)
+++ languages/Dutch.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'Dubbels en Beschrijving',
     'rectype: finddaily'           => 'Dagelijkse een uitzending opnemen.',
     'rectype: findweekly'          => 'Wekelijkse een uitzending opnemen.',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '$1 B',
     '$1 GB' => '$1 GB',
Index: languages/German.php
===================================================================
--- languages/German.php	(revision 9204)
+++ languages/German.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'Untertitel & Beschr. (kein Ergebnis)',
     'rectype: finddaily'           => 'Suche Täglich',
     'rectype: findweekly'          => 'Suche Wöchentlich',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '$1 B',
     '$1 GB' => '$1 GB',
Index: languages/Japanese.php
===================================================================
--- languages/Japanese.php	(revision 9204)
+++ languages/Japanese.php	(working copy)
@@ -178,6 +178,8 @@
     'Sub and Desc (Empty matches)' => 'サブタイトルと内容(エンプティーマッチ)',
     'rectype: finddaily'           => '一日一回',
     'rectype: findweekly'          => '週一回',
+// includes/sorting.php
+    '(A |An |The )'                => '',
 // includes/utils.php
     '$1 B'  => '',
     '$1 GB' => '',
Index: includes/sorting.php
===================================================================
--- includes/sorting.php	(revision 9204)
+++ includes/sorting.php	(working copy)
@@ -126,7 +126,7 @@
     }
 
     function by_title(&$a, &$b) {
-        return strcasecmp($a->title, $b->title);
+        return sort_prog_titles($a->title, $b->title);
     }
 
     function by_type(&$a, &$b) {
@@ -198,3 +198,13 @@
         return ($a->transcoder > $b->transcoder) ? 1 : -1;
     }
 
+    function strip_articles($str)
+    {
+        $pat = '/^' . t('(A |An |The )') . '/';
+        return preg_replace($pat, '', $str); 
+    }
+
+    function sort_prog_titles($a, $b) // Arguments are strings
+    {
+        return strcasecmp(strip_articles($a), strip_articles($b));
+    } 
Index: modules/tv/recorded.php
===================================================================
--- modules/tv/recorded.php	(revision 9204)
+++ modules/tv/recorded.php	(working copy)
@@ -203,7 +203,7 @@
     }
 
 // Sort the program titles
-    ksort($Program_Titles);
+    uksort($Program_Titles, 'sort_prog_titles');
     ksort($Groups);
 
 // Keep track of the program/title the user wants to view
