From 0af7e8c0e6d6183dd19ea3bad0b3e8bd80f77aa9 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 11 Jan 2006 18:19:22 -0500
Subject: [PATCH] Switched to full UTF-8 support

---
 program/localization/de_DE/messages.inc |   20 
 program/localization/cz/messages.inc    |    2 
 program/include/main.inc                |  134 +++++++--
 program/localization/el/messages.inc    |   56 ++--
 program/localization/da/labels.inc      |   56 ++--
 program/localization/ee/messages.inc    |   32 +-
 program/localization/el/labels.inc      |  230 ++++++++--------
 program/localization/ca/labels.inc      |   24 
 program/localization/cz/labels.inc      |    2 
 program/localization/de_DE/labels.inc   |   42 +-
 program/include/rcube_db.inc            |   10 
 program/include/rcube_shared.inc        |   53 --
 program/localization/ee/labels.inc      |   60 ++--
 program/localization/cn/messages.inc    |    2 
 program/localization/cn/labels.inc      |   10 
 program/localization/da/messages.inc    |   10 
 program/localization/ca/messages.inc    |   16 
 program/localization/index.inc          |   31 +-
 18 files changed, 405 insertions(+), 385 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index c64ac7d..e40ab09 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -20,6 +20,7 @@
 */
 
 require_once('lib/des.inc');
+require_once('lib/utf7.inc');
 
 
 // register session and connect to server
@@ -81,7 +82,7 @@
   if (!$_SESSION['client_id'])
     {
     $_SESSION['client_id'] = $sess_id;
-    $_SESSION['user_lang'] = substr($CONFIG['locale_string'], 0, 2);
+    $_SESSION['user_lang'] = rcube_language_prop($CONFIG['locale_string']);
     $_SESSION['auth_time'] = mktime();
     $_SESSION['auth'] = rcmail_auth_hash($sess_id, $_SESSION['auth_time']);
     unset($GLOBALS['_auth']);
@@ -89,7 +90,7 @@
 
   // set session vars global
   $sess_auth = $_SESSION['auth'];
-  $sess_user_lang = $_SESSION['user_lang'];
+  $sess_user_lang = rcube_language_prop($_SESSION['user_lang']);
 
 
   // overwrite config with user preferences
@@ -200,6 +201,9 @@
     $IMAP->close();
     $IMAP->write_cache();
     }
+    
+  // before closing the database connection, write session data
+  session_write_close();
   }
 
 
@@ -244,7 +248,42 @@
   
   return $table;
   }
-  
+
+
+// check the given string and returns language properties
+function rcube_language_prop($lang, $prop='lang')
+  {
+  global $INSTLL_PATH;
+  static $rcube_languages, $rcube_language_aliases, $rcube_charsets;
+
+  if (empty($rcube_languages))
+    @include($INSTLL_PATH.'program/localization/index.inc');
+    
+  // check if we have an alias for that language
+  if (!isset($rcube_languages[$lang]) && isset($rcube_language_aliases[$lang]))
+    $lang = $rcube_language_aliases[$lang];
+    
+  // try the first two chars
+  if (!isset($rcube_languages[$lang]) && strlen($lang>2))
+    {
+    $lang = substr($lang, 0, 2);
+    $lang = rcube_language_prop($lang);
+    }
+
+  if (!isset($rcube_languages[$lang]))
+    $lang = 'en_US';
+
+  // language has special charset configured
+  if (isset($rcube_charsets[$lang]))
+    $charset = $rcube_charsets[$lang];
+  else
+    $charset = 'UTF-8';    
+
+  if ($prop=='charset')
+    return $charset;
+  else
+    return $lang;
+  }
   
 
 // init output object for GUI and add common scripts
@@ -273,32 +312,22 @@
     $CHARSET = $CONFIG['charset'];
     }
   else
+    {
     rcmail_set_locale($sess_user_lang);
-  
+    }
+
   // add some basic label to client
   rcube_add_label('loading');
-  }  
+  }
 
 
 // set localization charset based on the given language
 function rcmail_set_locale($lang)
   {
-  global $OUTPUT, $INSTLL_PATH, $CHARSET;
-  static $rcube_charsets;
+  global $OUTPUT, $CHARSET;
 
-  if (!$rcube_charsets)
-    @include($INSTLL_PATH.'program/localization/index.inc');
-
-  if (isset($rcube_charsets[$lang]))
-    {
-    $OUTPUT->set_charset($rcube_charsets[$lang]);
-    $CHARSET = $rcube_charsets[$lang];
-    }
-  else
-    {
-    $OUTPUT->set_charset('ISO-8859-1');
-    $CHARSET = 'ISO-8859-1';
-    }
+  $CHARSET = rcube_language_prop($lang, 'charset');
+  $OUTPUT->set_charset($CHARSET);
   }
 
 
@@ -675,6 +704,35 @@
 
 
 
+// decode characters from any charset to UTF-8
+function decode_specialchars($input, $charset='')
+  {
+  global $CHARSET;
+  $charset = strtolower($charset);
+  
+  if ($charset=='utf-7')
+    $output = UTF7DecodeString($input);
+  else if ($charset=='utf-8' && $CHARSET!='UTF-8' && function_exists('utf8_decode'))
+    $output = utf8_decode($input);
+  else if ($charset=="koi8-r")
+    $output = convert_cyr_string($input, 'k', 'w');
+  else if ($charset=="iso8859-5")
+    $output = convert_cyr_string($input, 'i', 'w');
+  else if ($charset=="x-cp866")
+    $output = convert_cyr_string($input, 'a', 'w');
+  else if ($charset=="x-mac-cyrillic")
+    $output = convert_cyr_string($input, 'm', 'w');
+  else
+    $output = $input;
+    
+  // encode string for output
+  if ($CHARSET=='UTF-8' && $charset!='utf-8' && function_exists('utf8_encode'))
+    $output = utf8_encode($output);
+
+  return $output;
+  }
+
+
 // replace specials characters to a specific encoding type
 function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE)
   {
@@ -688,7 +746,6 @@
   if ($enctype!='html')
     $str = str_replace(chr(160), ' ', $str);
 
-
   // encode for plaintext
   if ($enctype=='text')
     return str_replace("\r\n", "\n", $mode=='remove' ? strip_tags($str) : $str);
@@ -698,14 +755,7 @@
     {
     if (!$html_encode_arr)
       {
-      if ($CHARSET=='ISO-8859-1')
-        {
-        $html_encode_arr = get_html_translation_table(HTML_ENTITIES);
-        $html_encode_arr[chr(128)] = '&euro;';
-        }
-      else
-        $html_encode_arr = get_html_translation_table(HTML_SPECIALCHARS);
-        
+      $html_encode_arr = get_html_translation_table(HTML_SPECIALCHARS);        
       unset($html_encode_arr['?']);
       unset($html_encode_arr['&']);
       }
@@ -724,7 +774,7 @@
       $str = strip_tags($str);
       
     $out = strtr($str, $encode_arr);
-
+      
     return $newlines ? nl2br($out) : $out;
     }
 
@@ -768,6 +818,26 @@
   return $str;
   }
 
+
+// convert a string from one charset to another
+// this function is not complete and not tested well
+function rcube_charset_convert($str, $from, $to)
+  {
+  $charset = strtolower($to);
+  
+  if (strtolower($from)==$charset)
+    return $str;
+  
+  $str = decode_specialchars($str, $from);
+  
+  if ($charset=='utf-8' && function_exists('utf8_encode'))
+    return utf8_encode($str);
+  else if ($charset=='utf-7')
+    return UTF7EncodeString($str);
+
+  return $str;
+  }
+  
 
 
 // ************** template parsing and gui functions **************
@@ -841,7 +911,7 @@
 
 function rcube_xml_command($command, $str_attrib, $a_attrib=NULL)
   {
-  global $IMAP, $CONFIG;
+  global $IMAP, $CONFIG, $OUTPUT;
   
   $attrib = array();
   $command = strtolower($command);
@@ -952,7 +1022,7 @@
         else if (isset($GLOBALS['PAGE_TITLE']))
           $title .= $GLOBALS['PAGE_TITLE'];
         else if ($task=='mail' && ($mbox_name = $IMAP->get_mailbox_name()))
-          $title .= UTF7DecodeString($mbox_name);
+          $title .= $OUTPUT->encode_string(UTF7DecodeString($mbox_name));
         else
           $title .= $task;
           
diff --git a/program/include/rcube_db.inc b/program/include/rcube_db.inc
index e54dcc9..b935e1d 100755
--- a/program/include/rcube_db.inc
+++ b/program/include/rcube_db.inc
@@ -81,16 +81,6 @@
 
 
   /**
-   * Object destructor
-   */
-  function __destruct()
-    {
-    // before closing the database connection, write session data
-    session_write_close();
-    } 
-
-
-  /**
    * Connect to specific database
    *
    * @param  string  DSN for DB connections
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index 75db760..b622203 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -87,6 +87,15 @@
     {
     $this->charset = $charset;
     }
+    
+    
+  function encode_string($str)
+    {
+    if ($this->charset=='UTF-8' && function_exists('utf8_encode'))
+      return utf8_encode($str);
+    else
+      return $str;
+    }
 
 
   function write($templ='', $base_path='')
@@ -1062,8 +1071,8 @@
     $sa_text_data = array();
     
     // get english labels (these should be complete)
-    @include($INSTALL_PATH.'program/localization/en/labels.inc');
-    @include($INSTALL_PATH.'program/localization/en/messages.inc');
+    @include($INSTALL_PATH.'program/localization/en_US/labels.inc');
+    @include($INSTALL_PATH.'program/localization/en_US/messages.inc');
 
     if (is_array($labels))
       $sa_text_data = $labels;
@@ -1075,17 +1084,11 @@
       {
       include_once($INSTALL_PATH.'program/localization/'.$sess_user_lang.'/labels.inc');
       include_once($INSTALL_PATH.'program/localization/'.$sess_user_lang.'/messages.inc');
-      
+
       if (is_array($labels))
         $sa_text_data = array_merge($sa_text_data, $labels);
       if (is_array($messages))
         $sa_text_data = array_merge($sa_text_data, $messages);
-      }
-      
-    if (isset($utf8_decoding) && $utf8_decoding==TRUE)
-      {
-      @include_once('lib/utf8.inc');
-      $utf8_decode = TRUE;
       }
       
     $s_language = $sess_user_lang;
@@ -1142,14 +1145,6 @@
 EOF;
 ");
 
-
-  // perform utf-8 decoding
-  if ($utf8_decode && function_exists('utf8ToUnicodeEntities'))
-    $text = utf8ToUnicodeEntities($text);
-  else if ($utf8_decode)
-    $OUTPUT->set_charset('UTF-8');
-
-
   // format output
   if (($attrib['uppercase'] && strtolower($attrib['uppercase']=='first')) || $attrib['ucfirst'])
     return ucfirst($text);
@@ -1183,30 +1178,6 @@
   if (!headers_sent())
     header("Expires: ".gmdate("D, d M Y H:i:s", mktime()+2600000)." GMT");
   }
-
-
-
-function decode_specialchars($input, $charset='')
-  {
-  $charset = strtolower($charset);
-  
-  if ($charset=='utf-8')
-    {
-    require_once('lib/utf8.inc');
-    return utf8ToUnicodeEntities($input);
-    }
-  else if ($charset=="koi8-r")
-    return convert_cyr_string($input, 'k', 'w');
-  else if ($charset=="iso8859-5")
-    return convert_cyr_string($input, 'i', 'w');
-  else if ($charset=="x-cp866")
-    return convert_cyr_string($input, 'a', 'w');
-  else if ($charset=="x-mac-cyrillic")
-    return convert_cyr_string($input, 'm', 'w');
-
-  return $input;
-  }
-
 
 
 // function to convert an array to a javascript array
diff --git a/program/localization/ca/labels.inc b/program/localization/ca/labels.inc
index b4e7aa0..a8752e1 100644
--- a/program/localization/ca/labels.inc
+++ b/program/localization/ca/labels.inc
@@ -27,7 +27,7 @@
 // taskbar
 $labels['logout']   = 'Sortir';
 $labels['mail']     = 'E-Mail';
-$labels['settings'] = 'Configuraci� Personal';
+$labels['settings'] = 'Configuració Personal';
 $labels['addressbook'] = 'Llibreta d\'adreces';
 
 // mailbox names
@@ -41,13 +41,13 @@
 $labels['subject'] = 'Assumpte';
 $labels['from']    = 'Remitent';
 $labels['to']      = 'Destinatari';
-$labels['cc']      = 'C�pia';
-$labels['bcc']     = 'C�pia Oculta';
+$labels['cc']      = 'Còpia';
+$labels['bcc']     = 'Còpia Oculta';
 $labels['replyto'] = 'Respondre a';
 $labels['date']    = 'Data';
 $labels['size']    = 'Mida';
 $labels['priority'] = 'Prioritat';
-$labels['organization'] = 'Organitzaci�';
+$labels['organization'] = 'Organització';
 
 // aliases
 $labels['reply-to'] = $labels['replyto'];
@@ -98,7 +98,7 @@
 $labels['previousmessages'] = 'Mostrar els missatges previs';
 $labels['nextmessages']     = 'Mostrar els missatges posteriors';
 $labels['backtolist']       = 'Tornar al llistat de missatges';
-$labels['viewsource']       = 'Cap�alera';
+$labels['viewsource']       = 'Capçalera';
 
 $labels['select'] = 'Selecciona';
 $labels['all'] = 'Tots';
@@ -115,10 +115,10 @@
 $labels['close']  = 'Tancar';
 
 $labels['low']     = 'Baixa';
-$labels['lowest']  = 'La m�s baxia';
+$labels['lowest']  = 'La més baxia';
 $labels['normal']  = 'Normal';
 $labels['high']    = 'Alta';
-$labels['highest'] = 'La m�s alta';
+$labels['highest'] = 'La més alta';
 
 $labels['showimages'] = 'Mostrar imatges';
 
@@ -148,9 +148,9 @@
 // settings
 $labels['settingsfor']  = 'Opcions per';
 
-$labels['preferences']  = 'Prefer�ncies';
-$labels['userpreferences']  = 'Prefer�ncies d\'usuari';
-$labels['editpreferences']  = 'Editar prefer�ncies d\'usuari';
+$labels['preferences']  = 'Preferències';
+$labels['userpreferences']  = 'Preferències d\'usuari';
+$labels['editpreferences']  = 'Editar preferències d\'usuari';
 
 $labels['identities']  = 'Identitats';
 $labels['manageidentities']  = 'Gestionar identitats del compte';
@@ -161,8 +161,8 @@
 
 $labels['setdefault']  = 'Triar per defecte';
 $labels['language']  = 'Llengua';
-$labels['timezone']  = 'Zona hor�ria';
-$labels['pagesize']  = 'Fileres per p�gina';
+$labels['timezone']  = 'Zona horària';
+$labels['pagesize']  = 'Fileres per pàgina';
 
 
 $labels['folders']  = 'Carpetes';
diff --git a/program/localization/ca/messages.inc b/program/localization/ca/messages.inc
index 8be9811..d633f7f 100644
--- a/program/localization/ca/messages.inc
+++ b/program/localization/ca/messages.inc
@@ -18,19 +18,19 @@
 
 $messages = array();
 
-$messages['loginfailed']  = 'Acc�s Erroni';
+$messages['loginfailed']  = 'Accés Erroni';
 
 $messages['cookiesdisabled'] = 'El teu navegador no accepta cookies';
 
-$messages['sessionerror'] = 'La teva sessi� �s inv�lida o ha caducat';
+$messages['sessionerror'] = 'La teva sessió és invàlida o ha caducat';
 
-$messages['imaperror'] = 'La conexi� al servidor IMAP ha fallat';
+$messages['imaperror'] = 'La conexió al servidor IMAP ha fallat';
 
-$messages['nomessagesfound'] = 'No hi ha missatges a aquesta b�stia';
+$messages['nomessagesfound'] = 'No hi ha missatges a aquesta bústia';
 
-$messages['loggedout'] = 'Has finalitzat la sessi� correctament. Ad�u!';
+$messages['loggedout'] = 'Has finalitzat la sessió correctament. Adèu!';
 
-$messages['mailboxempty'] = 'La b�stia �s buida';
+$messages['mailboxempty'] = 'La bústia és buida';
 
 $messages['loadingdata'] = 'Carregant dades...';
 
@@ -38,13 +38,13 @@
 
 $messages['successfullysaved'] = 'Guardat correctament';
 
-$messages['addedsuccessfully'] = 'Contacte afegit correctament a la llibreta d�adreces';
+$messages['addedsuccessfully'] = 'Contacte afegit correctament a la llibreta d´adreces';
 
 $messages['contactexists'] = 'Ja existeix un contacte amb aquest e-mail';
 
 $messages['blockedimages'] = 'Per protegir la teva privacitat les imatges remotes han estat bloquejades.';
 
-$messages['encryptedmessage'] = '�s un missatge encriptat i no es pot mostrar. Ho sento!';
+$messages['encryptedmessage'] = 'És un missatge encriptat i no es pot mostrar. Ho sento!';
 
 $messages['nocontactsfound'] = 'No hi ha contactes';
 
diff --git a/program/localization/cn/labels.inc b/program/localization/cn/labels.inc
index 6d72f76..315775f 100644
--- a/program/localization/cn/labels.inc
+++ b/program/localization/cn/labels.inc
@@ -17,8 +17,6 @@
 
 */
 
-$utf8_decoding = TRUE;
-
 $labels = array();
 
 // login page
@@ -56,7 +54,7 @@
 $labels['reply-to'] = $labels['回复到'];
 
 $labels['mailboxlist'] = '文件夹';
-$labels['messagesfromto'] = 'Messages $from to $to of $count';
+$labels['messagesfromto'] = '邮件 $from 到 $to 总共 $count';
 $labels['messagenrof'] = 'Message $nr of $count';
 
 $labels['moveto']   = '移动到...';
@@ -142,7 +140,7 @@
 $labels['newcontact']     = '建立新的联系信息';
 $labels['deletecontact']  = '删除所选择的联系信息';
 $labels['composeto']      = '给所选择的联系人发送邮件';
-$labels['contactsfromto'] = 'Contacts $from to $to of $count';
+$labels['contactsfromto'] = '联系人 $from 到 $to 总共 $count';
 $labels['print']          = '打印';
 $labels['export']         = '导出';
 
@@ -154,7 +152,7 @@
 $labels['userpreferences']  = '用户参数';
 $labels['editpreferences']  = '编辑用户参数';
 
-$labels['identities']  = '法件人标识';
+$labels['identities']  = '发件人身份';
 $labels['manageidentities']  = '管理帐号资料';
 $labels['newidentity']  = '建立新标识';
 
@@ -164,7 +162,7 @@
 $labels['setdefault']  = '设置为默认';
 $labels['language']  = '语言';
 $labels['timezone']  = '时区';
-$labels['pagesize']  = '每页行数';
+$labels['pagesize']  = '每页邮件数';
 
 
 $labels['folders']  = '文件夹';
diff --git a/program/localization/cn/messages.inc b/program/localization/cn/messages.inc
index 49164d2..2c01a88 100644
--- a/program/localization/cn/messages.inc
+++ b/program/localization/cn/messages.inc
@@ -17,8 +17,6 @@
 
 */
 
-$utf8_decoding = TRUE;
-
 $messages = array();
 
 $messages['loginfailed']  = '登录失败';
diff --git a/program/localization/cz/labels.inc b/program/localization/cz/labels.inc
index 3cc8500..faf2d96 100755
--- a/program/localization/cz/labels.inc
+++ b/program/localization/cz/labels.inc
@@ -16,8 +16,6 @@
 
 */
 
-$utf8_decoding = TRUE;
-
 $labels = array();
 
 // login page
diff --git a/program/localization/cz/messages.inc b/program/localization/cz/messages.inc
index 4970352..568a903 100755
--- a/program/localization/cz/messages.inc
+++ b/program/localization/cz/messages.inc
@@ -16,8 +16,6 @@
 
 */
 
-$utf8_decoding = TRUE;
-
 $messages = array();
 
 $messages['loginfailed']  = 'Pшihlбљenн selhalo';
diff --git a/program/localization/da/labels.inc b/program/localization/da/labels.inc
index 4df394c..28e1abe 100644
--- a/program/localization/da/labels.inc
+++ b/program/localization/da/labels.inc
@@ -24,7 +24,7 @@
 $labels['username']  = 'Brugernavn';
 $labels['password']  = 'Adgangskode';
 $labels['server']    = 'Server';
-$labels['login']     = 'Log p�';
+$labels['login']     = 'Log på';
 
 // taskbar
 $labels['logout']   = 'Log af';
@@ -47,7 +47,7 @@
 $labels['bcc']     = 'BCC';
 $labels['replyto'] = 'Svar til';
 $labels['date']    = 'Dato';
-$labels['size']    = 'St�rrelse';
+$labels['size']    = 'Størrelse';
 $labels['priority'] = 'Prioritet';
 $labels['organization'] = 'Organisation';
 
@@ -62,64 +62,64 @@
 $labels['download'] = 'download';
 
 $labels['filename'] = 'Filnavn';
-$labels['filesize'] = 'Filst�rrelse';
+$labels['filesize'] = 'Filstørrelse';
 
-$labels['preferhtml'] = 'Foretr�k HTML';
+$labels['preferhtml'] = 'Foretræk HTML';
 $labels['htmlmessage'] = 'HTML besked';
-$labels['prettydate'] = 'P�n datovisning';
+$labels['prettydate'] = 'Pæn datovisning';
 
-$labels['addtoaddressbook'] = 'Tilf�j til adressebogen';
+$labels['addtoaddressbook'] = 'Tilføj til adressebogen';
 
 // weekdays short
-$labels['sun'] = 'S�n';
+$labels['sun'] = 'Søn';
 $labels['mon'] = 'Man';
 $labels['tue'] = 'Tir';
 $labels['wed'] = 'Ons';
 $labels['thu'] = 'Tor';
 $labels['fri'] = 'Fre';
-$labels['sat'] = 'L�r';
+$labels['sat'] = 'Lør';
 
 // weekdays long
-$labels['sunday']    = 'S�ndag';
+$labels['sunday']    = 'Søndag';
 $labels['monday']    = 'Mandag';
 $labels['tuesday']   = 'Tirsdag';
 $labels['wednesday'] = 'Onsdag';
 $labels['thursday']  = 'Torsdag';
 $labels['friday']    = 'Fredag';
-$labels['saturday']  = 'L�rdag';
+$labels['saturday']  = 'Lørdag';
 
 $labels['today'] = 'I dag';
 
 // toolbar buttons
 $labels['writenewmessage']  = 'Opret en ny besked';
-$labels['replytomessage']   = 'Svar p� denne besked';
+$labels['replytomessage']   = 'Svar på denne besked';
 $labels['replytoallmessage'] = 'Svar alle';
 $labels['forwardmessage']   = 'Videresend denne besked';
 $labels['deletemessage']    = 'Flyt beskeden til skrald';
 $labels['printmessage']     = 'Udskriv denne besked';
-$labels['previousmessages'] = 'Vis forrige s�t beskeder';
-$labels['nextmessages']     = 'Vis n�ste s�t beskeder';
+$labels['previousmessages'] = 'Vis forrige sæt beskeder';
+$labels['nextmessages']     = 'Vis næste sæt beskeder';
 $labels['backtolist']       = 'Tilbage til beskedlisten';
 
-$labels['select'] = 'V�lg';
+$labels['select'] = 'Vælg';
 $labels['all'] = 'Alle';
 $labels['none'] = 'Ingen';
-$labels['unread'] = 'Ul�ste';
+$labels['unread'] = 'Ulæste';
 
 // message compose
 $labels['compose']  = 'Forfat en besked';
 $labels['sendmessage']  = 'Send beskeden nu';
-$labels['addattachment']  = 'Vedh�ft en fil';
+$labels['addattachment']  = 'Vedhæft en fil';
 
-$labels['attachments'] = 'Vedh�ftninger';
+$labels['attachments'] = 'Vedhæftninger';
 $labels['upload'] = 'Upload';
 $labels['close']  = 'Luk';
 
 $labels['low']     = 'Lav';
 $labels['lowest']  = 'Lavest';
 $labels['normal']  = 'Normal';
-$labels['high']    = 'H�j';
-$labels['highest'] = 'H�jest';
+$labels['high']    = 'Høj';
+$labels['highest'] = 'Højest';
 
 $labels['showimages'] = 'Vis billeder';
 
@@ -130,10 +130,10 @@
 $labels['surname']   = 'Efternavn';
 $labels['email']     = 'Email';
 
-$labels['addcontact'] = 'Tilf�j en ny kontakt';
-$labels['editcontact'] = 'Redig�r kontakt';
+$labels['addcontact'] = 'Tilføj en ny kontakt';
+$labels['editcontact'] = 'Redigér kontakt';
 
-$labels['edit']   = 'Redig�r';
+$labels['edit']   = 'Redigér';
 $labels['cancel'] = 'Afbryd';
 $labels['save']   = 'Gem';
 $labels['delete'] = 'Slet';
@@ -147,21 +147,21 @@
 // settings
 $labels['settingsfor']  = 'Indstillinger for';
 
-$labels['preferences']  = 'Pr�ferencer';
-$labels['userpreferences']  = 'Brugerpr�ferencer';
-$labels['editpreferences']  = 'Redig�r brugerpr�ferencer';
+$labels['preferences']  = 'Præferencer';
+$labels['userpreferences']  = 'Brugerpræferencer';
+$labels['editpreferences']  = 'Redigér brugerpræferencer';
 
 $labels['identities']  = 'Identiteter';
 $labels['manageidentities']  = 'Styr identiteterne for denne konto';
 $labels['newidentity']  = 'Ny identitet';
 
 $labels['newitem']  = 'Nyt punkt';
-$labels['edititem']  = 'Redig�r punkt';
+$labels['edititem']  = 'Redigér punkt';
 
-$labels['setdefault']  = 'S�t standard';
+$labels['setdefault']  = 'Sæt standard';
 $labels['language']  = 'Sprog';
 $labels['timezone']  = 'Tidszone';
-$labels['pagesize']  = 'R�kker per side';
+$labels['pagesize']  = 'Rækker per side';
 
 
 $labels['folders']  = 'Foldere';
diff --git a/program/localization/da/messages.inc b/program/localization/da/messages.inc
index 5cbe985..b57c8e2 100644
--- a/program/localization/da/messages.inc
+++ b/program/localization/da/messages.inc
@@ -20,27 +20,27 @@
 
 $messages = array();
 
-$messages['loginfailed']  = 'Det lykkedes ikke at logge p�';
+$messages['loginfailed']  = 'Det lykkedes ikke at logge på';
 
 $messages['cookiesdisabled'] = 'Din browser accepterer ikke cookies';
 
-$messages['sessionerror'] = 'Din session er ugyldig eller udl�bet';
+$messages['sessionerror'] = 'Din session er ugyldig eller udløbet';
 
 $messages['imaperror'] = 'Forbindelse til IMAP serveren fejlede';
 
 $messages['nomessagesfound'] = 'Der blev ikke fundet nogen beskeder i denne postkasse';
 
-$messages['loggedout'] = 'Du er nu logget af webmail. Farvel s� l�nge!';
+$messages['loggedout'] = 'Du er nu logget af webmail. Farvel så længe!';
 
 $messages['mailboxempty'] = 'Postkassen er tom!';
 
-$messages['loadingdata'] = 'Indl�ser data...';
+$messages['loadingdata'] = 'Indlæser data...';
 
 $messages['messagesent'] = 'Beskeden blev sendt korrekt';
 
 $messages['successfullysaved'] = 'Det lykkedes at gemme';
 
-$messages['addedsuccessfully'] = 'Kontakten blev tilf�jet adressebogen';
+$messages['addedsuccessfully'] = 'Kontakten blev tilføjet adressebogen';
 
 $messages['contactexists'] = 'Der er allerede en kontakt med denne email adresse';
 
diff --git a/program/localization/de/labels.inc b/program/localization/de_DE/labels.inc
similarity index 85%
rename from program/localization/de/labels.inc
rename to program/localization/de_DE/labels.inc
index ae0cfa3..6e23ecc 100644
--- a/program/localization/de/labels.inc
+++ b/program/localization/de_DE/labels.inc
@@ -34,20 +34,20 @@
 // mailbox names // E-Mail-Ordnernamen
 $labels['inbox']  = 'Posteingang';
 $labels['sent']   = 'Gesendet';
-$labels['trash']  = 'Gel�scht';
+$labels['trash']  = 'Gelöscht';
 $labels['drafts'] = 'Vorlagen';
 $labels['junk']   = 'Junk';
 
 // message listing // Nachrichtenliste
 $labels['subject'] = 'Betreff';
 $labels['from']    = 'Absender';
-$labels['to']      = 'Empf�nger';
+$labels['to']      = 'Empfänger';
 $labels['cc']      = 'Kopie (CC)';
 $labels['bcc']     = 'Blind-Kopie';
 $labels['replyto'] = 'Antwort an';
 $labels['date']    = 'Datum';
-$labels['size']    = 'Gr��e';
-$labels['priority'] = 'Priorit�t';
+$labels['size']    = 'Größe';
+$labels['priority'] = 'Priorität';
 $labels['organization'] = 'Organisation';
 
 // aliases // [Platzhalter]
@@ -61,15 +61,15 @@
 $labels['download'] = 'Download';
 
 $labels['filename'] = 'Dateiname';
-$labels['filesize'] = 'Dateigr�sse';
+$labels['filesize'] = 'Dateigrösse';
 
 $labels['preferhtml'] = 'HTML bevorzugen';
 $labels['htmlmessage'] = 'HTML Nachricht';
 $labels['prettydate'] = 'Kurze Datumsanzeige';
 
-$labels['addtoaddressbook'] = 'Ins Adressbuch �bernehmen';
+$labels['addtoaddressbook'] = 'Ins Adressbuch übernehmen';
 
-// weekdays short // Wochentage (Abk�rzungen) 
+// weekdays short // Wochentage (Abkürzungen) 
 $labels['sun'] = 'So';
 $labels['mon'] = 'Mo';
 $labels['tue'] = 'Di';
@@ -92,15 +92,15 @@
 // toolbar buttons // Symbolleisten-Tipps
 $labels['writenewmessage']  = 'Neue Nachricht schreiben';
 $labels['replytomessage']   = 'Antwort verfassen';
-$labels['replytoallmessage'] = 'Antwort an Absender und alle Empf�nger';
+$labels['replytoallmessage'] = 'Antwort an Absender und alle Empfänger';
 $labels['forwardmessage']   = 'Nachricht weiterleiten';
 $labels['deletemessage']    = 'In den Papierkorb verschieben';
 $labels['printmessage']     = 'Diese Nachricht drucken';
 $labels['previousmessages'] = 'Vorherige Nachrichten anzeigen';
 $labels['nextmessages']     = 'Weitere Nachrichten anzeigen';
-$labels['backtolist']       = 'Zur�ck zur Liste';
+$labels['backtolist']       = 'Zurück zur Liste';
 
-$labels['select'] = 'Ausw�hlen';
+$labels['select'] = 'Auswählen';
 $labels['all']    = 'Alle';
 $labels['none']   = 'Keine';
 $labels['unread'] = 'Ungelesene';
@@ -111,18 +111,18 @@
 // message compose // Nachrichten erstellen
 $labels['compose']  = 'Neue Nachricht verfassen';
 $labels['sendmessage']  = 'Nachricht jetzt senden';
-$labels['addattachment']  = 'Datei anf�gen';
+$labels['addattachment']  = 'Datei anfügen';
 $labels['charset']  = 'Zeichensatz';
 
-$labels['attachments'] = 'Anh�nge';
+$labels['attachments'] = 'Anhänge';
 $labels['upload'] = 'Hochladen';
-$labels['close']  = 'Schlie�en';
+$labels['close']  = 'Schließen';
 
 $labels['low']     = 'Niedrig';
 $labels['lowest']  = 'Niedrigste';
 $labels['normal']  = 'Normal';
 $labels['high']    = 'Hoch';
-$labels['highest'] = 'H�chste';
+$labels['highest'] = 'Höchste';
 
 $labels['nosubject']  = '(kein Betreff)';
 $labels['showimages'] = 'Bilder anzeigen';
@@ -134,16 +134,16 @@
 $labels['surname']   = 'Nachname';
 $labels['email']     = 'E-Mail';
 
-$labels['addcontact'] = 'Kontakt hinzuf�gen';
+$labels['addcontact'] = 'Kontakt hinzufügen';
 $labels['editcontact'] = 'Kontakt bearbeiten';
 
 $labels['edit']   = 'Bearbeiten';
 $labels['cancel'] = 'Abbrechen';
 $labels['save']   = 'Speichern';
-$labels['delete'] = 'L�schen';
+$labels['delete'] = 'Löschen';
 
 $labels['newcontact']     = 'Neuen Kontakt erfassen';
-$labels['deletecontact']  = 'Gew�hlte Kontakte l�schen';
+$labels['deletecontact']  = 'Gewählte Kontakte löschen';
 $labels['composeto']      = 'Nachricht verfassen';
 $labels['contactsfromto'] = 'Kontakte $from bis $to von $count';
 $labels['print']          = 'Drucken';
@@ -151,14 +151,14 @@
 
 
 // settings // Einstellungen
-$labels['settingsfor']  = 'Einstellungen f�r';
+$labels['settingsfor']  = 'Einstellungen für';
 
 $labels['preferences']  = 'Einstellungen';
 $labels['userpreferences']  = 'Benutzereinstellungen';
 $labels['editpreferences']  = 'Einstellungen bearbeiten';
 
 $labels['identities']  = 'Absender';
-$labels['manageidentities']  = 'Absender f�r dieses Konto verwalten';
+$labels['manageidentities']  = 'Absender für dieses Konto verwalten';
 $labels['newidentity']  = 'Neuer Absender';
 
 $labels['newitem']  = 'Neuer Eintrag';
@@ -167,7 +167,7 @@
 $labels['setdefault']  = 'Als Standard';
 $labels['language']  = 'Sprache';
 $labels['timezone']  = 'Zeitzone';
-$labels['pagesize']  = 'Eintr�ge pro Seite';
+$labels['pagesize']  = 'Einträge pro Seite';
 $labels['signature'] = 'Signatur';
 
 $labels['folder']  = 'Ordner';
@@ -176,7 +176,7 @@
 $labels['subscribed']  = 'Abonniert';
 $labels['create']      = 'Erstellen';
 $labels['createfolder']  = 'Neuen Ordner erstellen';
-$labels['deletefolder']  = 'Ordner l�schen';
+$labels['deletefolder']  = 'Ordner löschen';
 $labels['managefolders']  = 'Ordner verwalten';
 
 $labels['sortby'] = 'Sortieren nach';
diff --git a/program/localization/de/messages.inc b/program/localization/de_DE/messages.inc
similarity index 78%
rename from program/localization/de/messages.inc
rename to program/localization/de_DE/messages.inc
index e54b896..e0565fa 100644
--- a/program/localization/de/messages.inc
+++ b/program/localization/de_DE/messages.inc
@@ -22,7 +22,7 @@
 
 $messages['cookiesdisabled'] = 'Ihr Browser akzeptiert keine Cookies';
 
-$messages['sessionerror'] = 'Ihre Session ist ung�ltig oder abgelaufen';
+$messages['sessionerror'] = 'Ihre Session ist ungültig oder abgelaufen';
 
 $messages['imaperror'] = 'Keine Verbindung zum IMAP Server';
 
@@ -40,13 +40,13 @@
 
 $messages['successfullysaved'] = 'Erfolgreich gespeichert';
 
-$messages['addedsuccessfully'] = 'Kontakt zum Adressbuch hinzugef�gt';
+$messages['addedsuccessfully'] = 'Kontakt zum Adressbuch hinzugefügt';
 
 $messages['contactexists'] = 'Es existiert bereits ein Eintrag mit dieser E-Mail-Adresse';
 
-$messages['blockedimages'] = 'Um Ihre Privatsph�re zur sch�tzen, wurden externe Bilder blockiert.';
+$messages['blockedimages'] = 'Um Ihre Privatsphäre zur schützen, wurden externe Bilder blockiert.';
 
-$messages['encryptedmessage'] = 'Dies ist eine verschl�sselte Nachricht und kann leider nicht angezeigt werden.';
+$messages['encryptedmessage'] = 'Dies ist eine verschlüsselte Nachricht und kann leider nicht angezeigt werden.';
 
 $messages['nocontactsfound'] = 'Keine Kontakte gefunden';
 
@@ -54,19 +54,19 @@
 
 $messages['errorsaving'] = 'Beim Speichern ist ein Fehler aufgetreten';
 
-$messages['deletefolderconfirm']  = 'Wollen Sie diesen Ordner wirklich l�schen?';
+$messages['deletefolderconfirm']  = 'Wollen Sie diesen Ordner wirklich löschen?';
 
-$messages['formincomplete']    = 'Das Formular wurde nicht vollst�ndig ausgef�llt';
+$messages['formincomplete']    = 'Das Formular wurde nicht vollständig ausgefüllt';
 
-$messages['noemailwarning']    = 'Bitte geben Sie eine g�ltige E-Mail-Adresse ein';
+$messages['noemailwarning']    = 'Bitte geben Sie eine gültige E-Mail-Adresse ein';
 
 $messages['nonamewarning']     = 'Bitte geben Sie einen Namen ein';
 
-$messages['nopagesizewarning'] = 'Bitte geben Sie eine Eintr�ge pro Seite ein';
+$messages['nopagesizewarning'] = 'Bitte geben Sie eine Einträge pro Seite ein';
 
-$messages['norecipientwarning'] = 'Bitte geben Sie mindestens einen Empf�nger an';
+$messages['norecipientwarning'] = 'Bitte geben Sie mindestens einen Empfänger an';
 
-$messages['nosubjectwarning']  = 'Die Betreffzeile ist leer. M�chten Sie jetzt einen Betreff eingeben?';
+$messages['nosubjectwarning']  = 'Die Betreffzeile ist leer. Möchten Sie jetzt einen Betreff eingeben?';
 
 $messages['nobodywarning'] = 'Diese Nachricht ohne Inhalt senden?';
 
diff --git a/program/localization/ee/labels.inc b/program/localization/ee/labels.inc
index 7605072..deffc18 100644
--- a/program/localization/ee/labels.inc
+++ b/program/localization/ee/labels.inc
@@ -9,7 +9,7 @@
  | Licensed under the GNU GPL                                            |
  |                                                                       |
  +-----------------------------------------------------------------------+
- | Author: �llar Pajus <yllar.pajus@gmail.com>                           |
+ | Author: Üllar Pajus <yllar.pajus@gmail.com>                           |
  +-----------------------------------------------------------------------+
 
  $Id$
@@ -25,7 +25,7 @@
 $labels['login']     = 'Logi sisse';
 
 // taskbar
-$labels['logout']   = 'Logi v�lja';
+$labels['logout']   = 'Logi välja';
 $labels['mail']     = 'Postkast';
 $labels['settings'] = 'Seaded';
 $labels['addressbook'] = 'Aadressiraamat';
@@ -33,9 +33,9 @@
 // mailbox names
 $labels['inbox']  = 'Sissetulevad';
 $labels['sent']   = 'Saadetud';
-$labels['trash']  = 'Pr�gikast';
+$labels['trash']  = 'Prügikast';
 $labels['drafts'] = 'Ootel';
-$labels['junk']   = 'R�mps';
+$labels['junk']   = 'Rämps';
 
 // message listing
 $labels['subject'] = 'Pealkiri';
@@ -44,9 +44,9 @@
 $labels['cc']      = 'Koopia';
 $labels['bcc']     = 'Bcc';
 $labels['replyto'] = 'Vastus aadressile';
-$labels['date']    = 'Kuup�ev';
+$labels['date']    = 'Kuupäev';
 $labels['size']    = 'Suurus';
-$labels['priority'] = 'T�htsus';
+$labels['priority'] = 'Tähtsus';
 $labels['organization'] = 'Organisatsioon';
 
 // aliases
@@ -64,7 +64,7 @@
 
 $labels['preferhtml'] = 'Eelista HTMLi';
 $labels['htmlmessage'] = 'HTML kirjad';
-$labels['prettydate'] = 'Kenad kuup�evad';
+$labels['prettydate'] = 'Kenad kuupäevad';
 
 $labels['addtoaddressbook'] = 'Lisa aadressiraamatusse';
 
@@ -78,30 +78,30 @@
 $labels['sat'] = 'L';
 
 // weekdays long
-$labels['sunday']    = 'P�hap�ev';
-$labels['monday']    = 'Esmasp�ev';
-$labels['tuesday']   = 'Teisip�ev';
-$labels['wednesday'] = 'Kolmap�ev';
-$labels['thursday']  = 'Neljap�ev';
+$labels['sunday']    = 'Pühapäev';
+$labels['monday']    = 'Esmaspäev';
+$labels['tuesday']   = 'Teisipäev';
+$labels['wednesday'] = 'Kolmapäev';
+$labels['thursday']  = 'Neljapäev';
 $labels['friday']    = 'Reede';
-$labels['saturday']  = 'Laup�ev';
+$labels['saturday']  = 'Laupäev';
 
-$labels['today'] = 'T�na';
+$labels['today'] = 'Täna';
 
 // toolbar buttons
 $labels['writenewmessage']  = 'Kirjuta uus kiri';
 $labels['replytomessage']   = 'Vasta kirjale';
 $labels['replytoallmessage'] = 'Vasta saatjale ja teistele kirja saanutele';
 $labels['forwardmessage']   = 'Edasta see kiri';
-$labels['deletemessage']    = 'Liiguta kiri pr�gikasti';
-$labels['printmessage']     = 'Tr�ki kiri';
-$labels['previousmessages'] = 'N�ita eelmisi kirju';
-$labels['nextmessages']     = 'N�ita j�rgmisi kirju';
+$labels['deletemessage']    = 'Liiguta kiri prügikasti';
+$labels['printmessage']     = 'Trüki kiri';
+$labels['previousmessages'] = 'Näita eelmisi kirju';
+$labels['nextmessages']     = 'Näita järgmisi kirju';
 $labels['backtolist']       = 'Tagasi kirjade nimekirja';
-$labels['viewsource']       = 'N�ita l�htekoodi';
+$labels['viewsource']       = 'Näita lähtekoodi';
 
 $labels['select'] = 'Vali';
-$labels['all'] = 'k�ik';
+$labels['all'] = 'kõik';
 $labels['none'] = 'mitte midagi';
 $labels['unread'] = 'mitte loetud';
 
@@ -117,16 +117,16 @@
 $labels['low']     = 'Madal';
 $labels['lowest']  = 'Madalaim';
 $labels['normal']  = 'Tavaline';
-$labels['high']    = 'K�rge';
-$labels['highest'] = 'K�rgeim';
+$labels['high']    = 'Kõrge';
+$labels['highest'] = 'Kõrgeim';
 
 $labels['nosubject']  = '(teema puudub)';
 
-$labels['showimages'] = 'N�ita pilte';
+$labels['showimages'] = 'Näita pilte';
 
 
 // address boook
-$labels['name']      = 'N�idatav nimi';
+$labels['name']      = 'Näidatav nimi';
 $labels['firstname'] = 'Eesnimi';
 $labels['surname']   = 'Perekonnanimi';
 $labels['email']     = 'E-Mail';
@@ -140,10 +140,10 @@
 $labels['delete'] = 'Kustuta';
 
 $labels['newcontact']     = 'Loo uus sissekanne';
-$labels['deletecontact']  = 'Kustuta m�rgistatud kontaktid';
+$labels['deletecontact']  = 'Kustuta märgistatud kontaktid';
 $labels['composeto']      = 'Kirjuta kiri';
 $labels['contactsfromto'] = 'Kirjed $from kuni $to, kokku $count';
-$labels['print']          = 'Tr�ki';
+$labels['print']          = 'Trüki';
 $labels['export']         = 'Ekspordi';
 
 
@@ -169,14 +169,14 @@
 
 $labels['folders']  = 'Kaustad';
 $labels['foldername']  = 'Kausta nimi';
-$labels['subscribed']  = 'N�itan';
+$labels['subscribed']  = 'Näitan';
 $labels['create']  = 'Loo';
 $labels['createfolder']  = 'Loo uus kaust';
 $labels['deletefolder']  = 'Kustuta kaust';
 $labels['managefolders']  = 'Manage folders';
 
-$labels['sortby'] = 'J�rjesta';
-$labels['sortasc']  = 'J�rjesta kasvavalt';
-$labels['sortdesc'] = 'J�rjesta kahanevalt';
+$labels['sortby'] = 'Järjesta';
+$labels['sortasc']  = 'Järjesta kasvavalt';
+$labels['sortdesc'] = 'Järjesta kahanevalt';
 
 ?>
diff --git a/program/localization/ee/messages.inc b/program/localization/ee/messages.inc
index 6aeff28..d1ad6b6 100644
--- a/program/localization/ee/messages.inc
+++ b/program/localization/ee/messages.inc
@@ -9,7 +9,7 @@
  | Licensed under the GNU GPL                                            |
  |                                                                       |
  +-----------------------------------------------------------------------+
- | Author: �llar Pajus <yllar.pajus@gmail.com>                           |
+ | Author: Üllar Pajus <yllar.pajus@gmail.com>                           |
  +-----------------------------------------------------------------------+
 
  $Id$
@@ -18,19 +18,19 @@
 
 $messages = array();
 
-$messages['loginfailed']  = 'Sisselogimine eba�nnestus';
+$messages['loginfailed']  = 'Sisselogimine ebaõnnestus';
 
-$messages['cookiesdisabled'] = 'Sinu veebilehitseja ei v�ta pr��nikuid vastu';
+$messages['cookiesdisabled'] = 'Sinu veebilehitseja ei võta präänikuid vastu';
 
-$messages['sessionerror'] = 'Sinu sessioon on aegunud v�i vigane';
+$messages['sessionerror'] = 'Sinu sessioon on aegunud või vigane';
 
-$messages['imaperror'] = 'Ei �nnestunud IMAP serveriga �hendust luua';
+$messages['imaperror'] = 'Ei õnnestunud IMAP serveriga ühendust luua';
 
-$messages['nomessagesfound'] = 'Postkast paistab t�hi olevat';
+$messages['nomessagesfound'] = 'Postkast paistab tühi olevat';
 
-$messages['loggedout'] = 'Sinu sessioon on edukalt l�petatud. N�gemiseni!';
+$messages['loggedout'] = 'Sinu sessioon on edukalt lõpetatud. Nägemiseni!';
 
-$messages['mailboxempty'] = 'Postkast on t�hi';
+$messages['mailboxempty'] = 'Postkast on tühi';
 
 $messages['loading'] = 'Laen...';
 
@@ -46,13 +46,13 @@
 
 $messages['contactexists'] = 'Sama e-maili aadressiga kontakt on juba olemas';
 
-$messages['blockedimages'] = 'Sinu privaatsuse kaitsmiseks on selles kirjas v�lised pildid blokeeritud.';
+$messages['blockedimages'] = 'Sinu privaatsuse kaitsmiseks on selles kirjas välised pildid blokeeritud.';
 
-$messages['encryptedmessage'] = 'See on kr�pteeritud kiri ja kahjuks pole seda v�imalik n�idata. Andestust!';
+$messages['encryptedmessage'] = 'See on krüpteeritud kiri ja kahjuks pole seda võimalik näidata. Andestust!';
 
-$messages['nocontactsfound'] = 'Ei leidnud �htegi kontakti';
+$messages['nocontactsfound'] = 'Ei leidnud ühtegi kontakti';
 
-$messages['sendingfailed'] = 'Kirja saatmine eba�nnestus';
+$messages['sendingfailed'] = 'Kirja saatmine ebaõnnestus';
 
 $messages['errorsaving'] = 'Salvestamie ajal ilmnes viga';
 
@@ -62,17 +62,17 @@
 
 $messages['errordeleting'] = 'Ei suutnud seda kirja kustutada';
 
-$messages['formincomplete']    = 'Vormi k�ik v�ljad ei ole t�idetud';
+$messages['formincomplete']    = 'Vormi kõik väljad ei ole täidetud';
 
 $messages['noemailwarning']    = 'Palun sisesta toimiv e-maili aadress';
 
 $messages['nonamewarning']     = 'Palun sisesta nimi';
 
-$messages['nopagesizewarning'] = 'Palun sisesta lehek�lje suurus';
+$messages['nopagesizewarning'] = 'Palun sisesta lehekülje suurus';
 
-$messages['norecipientwarning'] = 'Palun sisesta v�hemalt �ks kirjasaaja';
+$messages['norecipientwarning'] = 'Palun sisesta vähemalt üks kirjasaaja';
 
-$messages['nosubjectwarning']  = 'V�li "Pealkiri" on t�hi. Soovid selle �ra t�ita ?';
+$messages['nosubjectwarning']  = 'Väli "Pealkiri" on tühi. Soovid selle ära täita ?';
 
 $messages['nobodywarning'] = 'Saadan selle kirja ilma tekstita ?';
 
diff --git a/program/localization/el/labels.inc b/program/localization/el/labels.inc
index e331d20..d5e9270 100755
--- a/program/localization/el/labels.inc
+++ b/program/localization/el/labels.inc
@@ -21,161 +21,161 @@
 $labels = array();
 
 // login page
-$labels['username']  = '����� ������';
-$labels['password']  = '������� ���������';
-$labels['server']    = '�����������';
-$labels['login']     = '�������';
+$labels['username']  = 'Όνομα χρήστη';
+$labels['password']  = 'Κωδικός πρόσβασης';
+$labels['server']    = 'Διακομιστής';
+$labels['login']     = 'Είσοδος';
 
 // taskbar
-$labels['logout']   = '����������';
+$labels['logout']   = 'Αποσύνδεση';
 $labels['mail']     = 'E-Mail';
-$labels['settings'] = '���������� ���������';
-$labels['addressbook'] = '������ �����������';
+$labels['settings'] = 'Προσωπικές ρυθμίσεις';
+$labels['addressbook'] = 'Βιβλίο διευθύνσεων';
 
 // mailbox names
-$labels['inbox']  = '�����������';
-$labels['sent']   = '�����������';
-$labels['trash']  = '����� ��������';
-$labels['drafts'] = '���������';
-$labels['junk']   = '�������';
+$labels['inbox']  = 'Εισερχόμενα';
+$labels['sent']   = 'Απεσταλμένα';
+$labels['trash']  = 'Κάδος αχρήστων';
+$labels['drafts'] = 'Προσχέδια';
+$labels['junk']   = '’χρηστα';
 
 // message listing
-$labels['subject'] = '����';
-$labels['nosubject']  = '(����� ����)';
-$labels['from']    = '����������';
-$labels['to']      = '����������';
-$labels['cc']      = '�����������';
-$labels['bcc']     = '����� �����������';
-$labels['replyto'] = '�������� ����';
-$labels['replytoallmessage'] = '�������� ���� ��� ��������� ��� ���� ����� ���� ����������';
-$labels['date']    = '����������';
-$labels['size']    = '�������';
-$labels['priority'] = '�������������';
-$labels['organization'] = '����������';
-$labels['sortby']   = '���������� ����';
-$labels['sortasc']  = '������� ����������';
-$labels['sortdesc'] = '�������� ����������';
+$labels['subject'] = 'Θέμα';
+$labels['nosubject']  = '(χωρίς θέμα)';
+$labels['from']    = 'Αποστολέας';
+$labels['to']      = 'Παραλήπτης';
+$labels['cc']      = 'Κοινοποίηση';
+$labels['bcc']     = 'Κρυφή κοινοποίηση';
+$labels['replyto'] = 'Απάντηση προς';
+$labels['replytoallmessage'] = 'Απάντηση προς τον αποστολέα και προς όλους τους παραλήπτες';
+$labels['date']    = 'Ημερομηνία';
+$labels['size']    = 'Μέγεθος';
+$labels['priority'] = 'Προτεραιότητα';
+$labels['organization'] = 'Οργανισμός';
+$labels['sortby']   = 'Ταξινόμηση κατά';
+$labels['sortasc']  = 'Αύξουσα ταξινόμηση';
+$labels['sortdesc'] = 'Φθίνουσα ταξινόμηση';
 
 // aliases
-$labels['reply-to'] = $labels['�������� ����'];
+$labels['reply-to'] = $labels['Απάντηση προς'];
 
-$labels['mailboxlist'] = '�������';
-$labels['messagesfromto'] = '�������� $from ��� $to ��� $count';
-$labels['messagenrof'] = '������ $nr ��� $count';
+$labels['mailboxlist'] = 'Φάκελοι';
+$labels['messagesfromto'] = 'Μηνύματα $from έως $to από $count';
+$labels['messagenrof'] = 'Μήνυμα $nr από $count';
 
-$labels['moveto']   = '���������� ��...';
-$labels['download'] = '����';
+$labels['moveto']   = 'Μετακίνηση σε...';
+$labels['download'] = 'Λήψη';
 
-$labels['filename'] = '����� �������';
-$labels['filesize'] = '������� �������';
+$labels['filename'] = 'Όνομα αρχείου';
+$labels['filesize'] = 'Μέγεθος αρχείου';
 
-$labels['preferhtml'] = '���������� HTML';
-$labels['htmlmessage'] = '������ HTML';
-$labels['prettydate'] = '�������������� �����������';
+$labels['preferhtml'] = 'Προτιμάται HTML';
+$labels['htmlmessage'] = 'Μήνυμα HTML';
+$labels['prettydate'] = 'Μορφοποιημένες ημερομηνίες';
 
-$labels['addtoaddressbook'] = '�������� ��� ������ �����������';
+$labels['addtoaddressbook'] = 'Προσθήκη στο βιβλίο διευθύνσεων';
 
 // weekdays short
-$labels['sun'] = '���';
-$labels['mon'] = '���';
-$labels['tue'] = '���';
-$labels['wed'] = '���';
-$labels['thu'] = '���';
-$labels['fri'] = '���';
-$labels['sat'] = '���';
+$labels['sun'] = 'Κυρ';
+$labels['mon'] = 'Δευ';
+$labels['tue'] = 'Τρι';
+$labels['wed'] = 'Τετ';
+$labels['thu'] = 'Πεμ';
+$labels['fri'] = 'Παρ';
+$labels['sat'] = 'Σαβ';
 
 // weekdays long
-$labels['sunday']    = '�������';
-$labels['monday']    = '�������';
-$labels['tuesday']   = '�����';
-$labels['wednesday'] = '�������';
-$labels['thursday']  = '������';
-$labels['friday']    = '���������';
-$labels['saturday']  = '�������';
+$labels['sunday']    = 'Κυριακή';
+$labels['monday']    = 'Δευτέρα';
+$labels['tuesday']   = 'Τρίτη';
+$labels['wednesday'] = 'Τετάρτη';
+$labels['thursday']  = 'Πέμπτη';
+$labels['friday']    = 'Παρασκευή';
+$labels['saturday']  = 'Σάββατο';
 
-$labels['today'] = '������';
+$labels['today'] = 'Σήμερα';
 
 // toolbar buttons
-$labels['writenewmessage']  = '���������� ���� ���������';
-$labels['replytomessage']   = '�������� ���������';
-$labels['forwardmessage']   = '�������� ���������';
-$labels['deletemessage']    = '�������� ��� ��������� ���� ���� ��������';
-$labels['printmessage']     = '�������� ���������';
-$labels['previousmessages'] = '�������� ������������ ���������';
-$labels['nextmessages']     = '�������� �������� ���������';
-$labels['backtolist']       = '��������� ��� ����� ���������';
-$labels['viewsource']       = '������� ����������';
+$labels['writenewmessage']  = 'Δημιουργία νέου μηνύματος';
+$labels['replytomessage']   = 'Απάντηση μηνύματος';
+$labels['forwardmessage']   = 'Προώθηση μηνύματος';
+$labels['deletemessage']    = 'Μεταφορά του μηνύματος στον κάδο αχρήστων';
+$labels['printmessage']     = 'Εκτύπωση μηνύματος';
+$labels['previousmessages'] = 'Εμφάνιση προηγουμένων μηνυμάτων';
+$labels['nextmessages']     = 'Εμφάνιση επομένων μηνυμάτων';
+$labels['backtolist']       = 'Επιστροφή στη λίστα μηνυμάτων';
+$labels['viewsource']       = 'Προβολή προέλευσης';
 
-$labels['select'] = '�������';
-$labels['all'] = '���';
-$labels['none'] = '������';
-$labels['unread'] = '���������';
+$labels['select'] = 'Επιλογή';
+$labels['all'] = 'Όλα';
+$labels['none'] = 'Κανένα';
+$labels['unread'] = 'Αδιάβαστα';
 
 // message compose
-$labels['compose']  = '������� ���������';
-$labels['sendmessage']  = '�������� ��� ��������� ����';
-$labels['addattachment']  = '��������� �������';
-$labels['attachments'] = '���������';
-$labels['upload'] = '��������';
-$labels['close']  = '��������';
+$labels['compose']  = 'Σύνθεση μηνύματος';
+$labels['sendmessage']  = 'Αποστολή του μηνύματος τώρα';
+$labels['addattachment']  = 'Επισύναψη αρχείου';
+$labels['attachments'] = 'Συνημμένα';
+$labels['upload'] = 'Αποστολή';
+$labels['close']  = 'Κλείσιμο';
 
-$labels['low']     = '������';
-$labels['lowest']  = '����������';
-$labels['normal']  = '��������';
-$labels['high']    = '�����';
-$labels['highest'] = '������';
+$labels['low']     = 'Χαμηλή';
+$labels['lowest']  = 'Χαμηλότατη';
+$labels['normal']  = 'Κανονική';
+$labels['high']    = 'Υψηλή';
+$labels['highest'] = 'Ύψιστη';
 
-$labels['showimages'] = '�������� �������';
+$labels['showimages'] = 'Εμφάνιση εικόνων';
 
 
 // address boook
-$labels['name']      = '�������� ��������';
-$labels['firstname'] = '�����';
-$labels['surname']   = '�������';
-$labels['email']     = '��������� e-mail';
+$labels['name']      = 'Εμφάνιση ονόματος';
+$labels['firstname'] = 'Όνομα';
+$labels['surname']   = 'Επώνυμο';
+$labels['email']     = 'Διεύθυνση e-mail';
 
-$labels['addcontact'] = '�������� ���� ������';
-$labels['editcontact'] = '����������� ������';
+$labels['addcontact'] = 'Προσθήκη νέας επαφής';
+$labels['editcontact'] = 'Επεξεργασία επαφής';
 
-$labels['edit']   = '�����������';
-$labels['cancel'] = '�����';
-$labels['save']   = '����������';
-$labels['delete'] = '��������';
+$labels['edit']   = 'Επεξεργασία';
+$labels['cancel'] = '’κυρο';
+$labels['save']   = 'Αποθήκευση';
+$labels['delete'] = 'Διαγραφή';
 
-$labels['newcontact']     = '���������� ���� ������ ������';
-$labels['deletecontact']  = '�������� ����������� ������';
-$labels['composeto']      = '������� ��������� ����';
-$labels['contactsfromto'] = '������ $from ��� $to ��� $count';
-$labels['print']          = '��������';
-$labels['export']         = '�������';
+$labels['newcontact']     = 'Δημιουργία νέας κάρτας επαφής';
+$labels['deletecontact']  = 'Διαγραφή επιλεγμένων επαφών';
+$labels['composeto']      = 'Σύνθεση μηνύματος προς';
+$labels['contactsfromto'] = 'Επαφές $from έως $to από $count';
+$labels['print']          = 'Εκτύπωση';
+$labels['export']         = 'Εξαγωγή';
 
 
 // settings
-$labels['settingsfor']  = '��������� ���';
+$labels['settingsfor']  = 'Ρυθμίσεις για';
 
-$labels['preferences']  = '�����������';
-$labels['userpreferences']  = '����������� ������';
-$labels['editpreferences']  = '����������� ����������� ������';
+$labels['preferences']  = 'Προτιμήσεις';
+$labels['userpreferences']  = 'Προτιμήσεις χρήστη';
+$labels['editpreferences']  = 'Επεξεργασία προτιμήσεων χρήστη';
 
-$labels['identities']  = '����������';
-$labels['manageidentities']  = '���������� ���������� ����� ��� �����������';
-$labels['newidentity']  = '��� ���������';
+$labels['identities']  = 'Ταυτότητες';
+$labels['manageidentities']  = 'Διαχείριση ταυτοτήτων αυτού του λογαριασμού';
+$labels['newidentity']  = 'Νέα ταυτότητα';
 
-$labels['newitem']  = '��� �����������';
-$labels['edititem']  = '����������� ������������';
+$labels['newitem']  = 'Νέο αντικείμενο';
+$labels['edititem']  = 'Επεξεργασία αντικειμένου';
 
-$labels['setdefault']  = '������� �����������';
-$labels['language']  = '������';
-$labels['timezone']  = '���� ����';
-$labels['pagesize']  = '������� ��� ������';
+$labels['setdefault']  = 'Ορισμός προεπιλογών';
+$labels['language']  = 'Γλώσσα';
+$labels['timezone']  = 'Ζώνη ώρας';
+$labels['pagesize']  = 'Γραμμές ανά σελίδα';
 
-$labels['folders']  = '�������';
-$labels['foldername']  = '����� �������';
-$labels['subscribed']  = '������������� �������';
-$labels['create']  = '����������';
-$labels['createfolder']  = '���������� ���� �������';
-$labels['deletefolder']  = '�������� �������';
-$labels['managefolders']  = '���������� �������';
+$labels['folders']  = 'Φάκελοι';
+$labels['foldername']  = 'Όνομα φακέλου';
+$labels['subscribed']  = 'Εγγεγραμμένοι φάκελοι';
+$labels['create']  = 'Δημιουργία';
+$labels['createfolder']  = 'Δημιουργία νέου φακέλου';
+$labels['deletefolder']  = 'Διαγραφή φακέλου';
+$labels['managefolders']  = 'Διαχείριση φακέλων';
 
 
 ?>
\ No newline at end of file
diff --git a/program/localization/el/messages.inc b/program/localization/el/messages.inc
index d433bff..edd0da8 100755
--- a/program/localization/el/messages.inc
+++ b/program/localization/el/messages.inc
@@ -20,61 +20,61 @@
 
 $messages = array();
 
-$messages['loginfailed']  = '� ������� �������';
+$messages['loginfailed']  = 'Η είσοδος απέτυχε';
 
-$messages['cookiesdisabled'] = '� ������������� ��� ��� ����������� cookies';
+$messages['cookiesdisabled'] = 'Ο φυλλομετρητής σας δεν υποστηρίζει cookies';
 
-$messages['sessionerror'] = '� ������� ��� ��� ����� ������ � ���� �����';
+$messages['sessionerror'] = 'Η σύνοδος σας δεν είναι έγκυρη ή έχει λήξει';
 
-$messages['imaperror'] = '� ������� �� ��� ���������� IMAP �������';
+$messages['imaperror'] = 'Η σύνδεση με τον διακομιστή IMAP απέτυχε';
 
-$messages['nomessagesfound'] = '��� �������� �������� �� ���� �� ���������������';
+$messages['nomessagesfound'] = 'Δεν βρέθηκαν μηνύματα σε αυτό το γραμματοκιβώτιο';
 
-$messages['loggedout'] = '����� ����������� ��������. �����!';
+$messages['loggedout'] = 'Έχετε αποσυνδεθεί επιτυχώς. Αντίο!';
 
-$messages['mailboxempty'] = '�� ��������������� ����� �����';
+$messages['mailboxempty'] = 'Το γραμματοκιβώτιο είναι άδειο';
 
-$messages['loading'] = '�������...';
+$messages['loading'] = 'Φόρτωση...';
 
-$messages['loadingdata'] = '������� ���������...';
+$messages['loadingdata'] = 'Φόρτωση δεδομένων...';
 
-$messages['sendingmessage'] = '�������� ���������...';
+$messages['sendingmessage'] = 'Αποστολή μηνύματος...';
 
-$messages['messagesent'] = '�� ������ �������� ��������';
+$messages['messagesent'] = 'Το μήνυμα στάλθηκε επιτυχώς';
 
-$messages['successfullysaved'] = '������������ ��������';
+$messages['successfullysaved'] = 'Αποθηκεύτηκε επιτυχώς';
 
-$messages['addedsuccessfully'] = '� ����� ���������� �������� ��� ������ �����������';
+$messages['addedsuccessfully'] = 'Η επαφή προστέθηκε επιτυχώς στο βιβλίο διευθύνσεων';
 
-$messages['contactexists'] = '������� ��� ����� �� ���� �� ��������� e-mail';
+$messages['contactexists'] = 'Υπάρχει ήδη επαφή με αυτή τη διεύθυνση e-mail';
 
-$messages['blockedimages'] = '��� �� ���� ��� ���������, ����� ������������ �� �������������� ������� ��� ���� ���� �� ������.';
+$messages['blockedimages'] = 'Για τη δική σας προστασία, έχουν μπλοκαριστεί οι απομακρυσμένες εικόνες που έχει αυτό το μήνυμα.';
 
-$messages['encryptedmessage'] = '���� ����� ��� ��������������� ������ ��� ��� ������ �� ����������. �������!';
+$messages['encryptedmessage'] = 'Αυτό είναι ένα κρυπτογραφημένο μήνυμα και δεν μπορεί να εμφανιστεί. Συγνώμη!';
 
-$messages['noemailwarning']    = '�������� �������� ��� ������ ��������� e-mail';
+$messages['noemailwarning']    = 'Παρακαλώ εισάγετε μια έγκυρη διεύθυνση e-mail';
 
-$messages['nonamewarning']     = '�������� �������� ��� �����';
+$messages['nonamewarning']     = 'Παρακαλώ εισάγετε ένα όνομα';
 
-$messages['nopagesizewarning'] = '�������� �������� ��� ������� �������';
+$messages['nopagesizewarning'] = 'Παρακαλώ εισάγετε ένα μέγεθος σελίδας';
 
-$messages['formincomplete']    = '� ����� ��� ������������ �������';
+$messages['formincomplete']    = 'Η φόρμα δεν συμπληρώθηκε τελείως';
 
-$messages['norecipientwarning'] = '�������� �������� ����������� ���� ���������';
+$messages['norecipientwarning'] = 'Παρακαλώ εισάγετε τουλάχιστον έναν παραλήπτη';
 
-$messages['nosubjectwarning']  = '�� ����� "����" ����� �����. ������ �� �� ��������������� ����;';
+$messages['nosubjectwarning']  = 'Το πεδίο "Θέμα" είναι άδειο. Θέλετε να το πληκτρολογήσετε τώρα;';
 
-$messages['nobodywarning'] = '������ �� �������� ���� �� ������ ����� �������';
+$messages['nobodywarning'] = 'Θέλετε να στείλετε αυτό το μήνυμα χωρίς κείμενο';
 
-$messages['nocontactsfound'] = '��� �������� ������';
+$messages['nocontactsfound'] = 'Δεν βρέθηκαν επαφές';
 
-$messages['sendingfailed'] = '� �������� ��� ��������� �������';
+$messages['sendingfailed'] = 'Η αποστολή του μηνύματος απέτυχε';
 
-$messages['errorsaving'] = '����������� ��� ������ ���� ��� ����������';
+$messages['errorsaving'] = 'Εμφανίστηκε ένα σφάλμα κατά την αποθήκευση';
 
-$messages['errormoving']   = '�� ������ ��� ������� �� �����������';
+$messages['errormoving']   = 'Το μήνυμα δεν μπόρεσε να μετακινηθεί';
 
-$messages['errordeleting'] = '�� ������ ��� ������� �� ����������';
+$messages['errordeleting'] = 'Το μήνυμα δεν μπόρεσε να διαγραφτεί';
 
 
 ?>
\ No newline at end of file
diff --git a/program/localization/index.inc b/program/localization/index.inc
index eef9ca2..52aef0a 100644
--- a/program/localization/index.inc
+++ b/program/localization/index.inc
@@ -21,19 +21,19 @@
  */
  
  $rcube_languages = array(
-	'en'    => 'English (US)',
+	'en_US' => 'English (US)',
 	'en_GB' => 'English (GB)',
 	'ar'    => 'Arabic',
 	'bg'    => 'Bulgarian',
 	'tw'    => 'Chinese (BIG5)',
 	'cn'    => 'Chinese (GB2312)',
 	'cz'    => 'Czech',
- 	'ca'    => 'Catal&agrave;',
+ 	'ca'    => 'Català',
 	'da'    => 'Dansk',
- 	'de'    => 'Deutsch',
- 	'es'    => 'Espa&ntilde;ol',
+ 	'de_DE' => 'Deutsch',
+ 	'es'    => 'Español',
  	'ee'    => 'Estonian',
-	'fr'    => 'Fran&ccedil;ais', 
+	'fr'    => 'Français', 
 	'ga'    => 'Galician',
 	'el'    => 'Greek',
 	'hu'    => 'Hungarian',
@@ -42,11 +42,11 @@
 	'kr'    => 'Korean',
 	'lv'    => 'Latvian',
 	'nl'    => 'Nederlands',
-	'nb_NO' => 'Norsk (bokm&aring;l)',
+	'nb_NO' => 'Norsk (bokmål)',
 	'nn_NO' => 'Norsk (nynorsk)',
 	'fa'    => 'Persian',
 	'pl'    => 'Polski',
-	'pt'    => 'Portuguese (Standard)',
+	'pt_PT' => 'Portuguese (Standard)',
 	'pt_BR' => 'Portuguese (Brazilian)',
 	'ro'    => 'Romanian',
 	'ru'    => 'Russian',
@@ -57,16 +57,13 @@
 	'vn'    => 'Vietnamese'
 );
 
-
-$rcube_charsets = array(
-	'cz' => 'Windows-1250',
-	'ru' => 'Windows-1251',
-	'lv' => 'ISO-8859-2',
-	'pl' => 'ISO-8859-2',
-	'el' => 'ISO-8859-7',
-	'tr' => 'ISO-8859-9',
-	'tw' => 'BIG5',
-	'ja' => 'UTF-8'
+$rcube_language_aliases = array(
+	'de' => 'de_DE',
+	'en' => 'en_US',
+	'no' => 'nn_NO',
+	'pt' => 'pt_PT'
 );
 
+$rcube_charsets = array();
+
 ?>
\ No newline at end of file

--
Gitblit v1.9.1