From 7cc38e0bebb30f12b1c643ea96a038453be185e1 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Mon, 31 Oct 2005 18:41:00 -0500
Subject: [PATCH] Added Finnish, Romanian and Chinese translation

---
 program/localization/fi/labels.inc    |  176 ++++++++++++
 CHANGELOG                             |    2 
 program/localization/lv/labels.inc    |    2 
 INSTALL                               |    4 
 program/localization/tw/labels.inc    |  175 ++++++++++++
 config/db.inc.php.dist                |    2 
 program/include/main.inc              |   30 +
 program/localization/ro/labels.inc    |  172 ++++++++++++
 config/main.inc.php.dist              |    4 
 program/steps/settings/save_prefs.inc |    3 
 index.php                             |   14 
 program/include/rcube_shared.inc      |   15 
 program/steps/mail/func.inc           |    4 
 program/localization/tw/messages.inc  |   58 ++++
 program/localization/fi/messages.inc  |   60 ++++
 program/localization/index.inc        |    7 
 program/localization/lv/messages.inc  |    2 
 program/localization/ro/messages.inc  |   55 +++
 18 files changed, 762 insertions(+), 23 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 144bdb1..7430c45 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -62,9 +62,9 @@
 
 2005/10/22
 ----------
+- Added Finnish, Romanian and Chinese translation
 - Get IMAP server capabilities in array
 - Check for NAMESPACE capability before sending command
 - Set default user language from config 'locale_string'
 - Added sorting patch for message list
 - Make default sort col/order configurable
-- 
diff --git a/INSTALL b/INSTALL
index 0729bac..f40196f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -3,7 +3,7 @@
 ============
 
 1. Decompress and put this folder somewhere inside your document root
-2. Make shure that the following directories are writable by the webserver
+2. Make sure that the following directories are writable by the webserver
    - /temp
    - /logs
 3. Create a new database and a database user for RoundCube
@@ -35,5 +35,5 @@
 CONFIGURATION
 =============
 
-Change the files in config/* according your environment and you needs.
+Change the files in config/* according your to environment and your needs.
 Details about the config paramaters can be found in the config files.
diff --git a/config/db.inc.php.dist b/config/db.inc.php.dist
index fdb7d7e..6db4178 100644
--- a/config/db.inc.php.dist
+++ b/config/db.inc.php.dist
@@ -22,7 +22,7 @@
 // sqlite example: 'sqlite://./sqlite.db?mode=0646';
 
 // PEAR database DSN for read only operations (if empty write database will be used)
-// userful for database replication
+// useful for database replication
 $rcmail_config['db_dsnr'] = '';
 
 // database backend to use (only db or mdb2 are supported)
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index 816c618..2910bb0 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -23,7 +23,7 @@
 $rcmail_config['enable_caching'] = TRUE;
 
 // automatically create a new RoundCube user when log-in the first time.
-// a new user will be created once the IMAP login succeeded.
+// a new user will be created once the IMAP login succeeds.
 // set to false if only registered users can use this service
 $rcmail_config['auto_create_user'] = TRUE;
 
@@ -74,7 +74,7 @@
 // check client IP in session athorization
 $rcmail_config['ip_check'] = TRUE;
 
-// not shure what this was good for :-) 
+// not sure what this was good for :-) 
 $rcmail_config['locale_string'] = 'en';
 
 // use this format for short date display
diff --git a/index.php b/index.php
index c80100a..7dbfd80 100644
--- a/index.php
+++ b/index.php
@@ -42,19 +42,19 @@
 */
 
 // define global vars
-$INSTALL_PATH = './';
+$INSTALL_PATH = dirname($_SERVER['SCRIPT_FILENAME']);
 $OUTPUT_TYPE = 'html';
 $JS_OBJECT_NAME = 'rcmail';
-$CURRENT_PATH = dirname($_SERVER['SCRIPT_FILENAME']);
 
-if ($CURRENT_PATH!='')
-	$CURRENT_PATH.='/';
+if (empty($INSTALL_PATH))
+  $INSTALL_PATH = './';
+else
+  $INSTALL_PATH .= '/';
 	
-// set environment first
 // RC include folders MUST be included FIRST to avoid other
 // possible not compatible libraries (i.e PEAR) to be included
 // instead the ones provided by RC
-ini_set('include_path', $INSTALL_PATH.PATH_SEPARATOR.$CURRENT_PATH.'program'.PATH_SEPARATOR.$CURRENT_PATH.'program/lib'.PATH_SEPARATOR.ini_get('include_path'));
+ini_set('include_path', $INSTALL_PATH.PATH_SEPARATOR.$INSTALL_PATH.'program'.PATH_SEPARATOR.$INSTALL_PATH.'program/lib'.PATH_SEPARATOR.ini_get('include_path'));
 
 ini_set('session.name', 'sessid');
 ini_set('session.use_cookies', 1);
@@ -143,7 +143,7 @@
   }
 
 // check session cookie and auth string
-else if ($_action!='login' && $_auth && $sess_auth)
+else if ($_action!='login' && $sess_auth && $_SESSION['user_id'])
   {
   if ($_auth !== $sess_auth || $_auth != rcmail_auth_hash($_SESSION['client_id'], $_SESSION['auth_time']) ||
       ($CONFIG['session_lifetime'] && $SESS_CHANGED + $CONFIG['session_lifetime']*60 < mktime()))
diff --git a/program/include/main.inc b/program/include/main.inc
index d00efc7..0ebbeaa 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -226,7 +226,7 @@
 // init output object for GUI and add common scripts
 function load_gui()
   {
-  global $CONFIG, $OUTPUT, $COMM_PATH, $IMAP, $JS_OBJECT_NAME;
+  global $CONFIG, $OUTPUT, $COMM_PATH, $JS_OBJECT_NAME, $sess_user_lang;
 
   // init output page
   $OUTPUT = new rcube_html_page();
@@ -237,11 +237,33 @@
 
   if (!empty($GLOBALS['_framed']))
     $javascript .= "$JS_OBJECT_NAME.set_env('framed', true);\n";
-
+    
   $OUTPUT->add_script($javascript);
   $OUTPUT->include_script('program/js/common.js');
-  $OUTPUT->include_script('program/js/app.js');  
+  $OUTPUT->include_script('program/js/app.js');
+
+  // set user-selected charset
+  if ($CONFIG['charset'])
+    $OUTPUT->set_charset($CONFIG['charset']);
+  else
+    rcmail_set_locale($sess_user_lang);
   }  
+
+
+// set localization charset based on the given language
+function rcmail_set_locale($lang)
+  {
+  global $OUTPUT, $INSTLL_PATH;
+  static $rcube_charsets;
+
+  if (!$rcube_charsets)
+    @include($INSTLL_PATH.'program/localization/index.inc');
+
+  if (isset($rcube_charsets[$lang]))
+    $OUTPUT->set_charset($rcube_charsets[$lang]);
+  else
+    $OUTPUT->set_charset('ISO-8859-1');
+  }
 
 
 // perfom login to the IMAP server and to the webmail service
@@ -447,7 +469,7 @@
 
   if (!sizeof($sa_languages))
     {
-    @include_once($INSTLL_PATH.'program/localization/index.inc');
+    @include($INSTLL_PATH.'program/localization/index.inc');
 
     if ($dh = @opendir($INSTLL_PATH.'program/localization'))
       {
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index c0df2e5..edf19b6 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -29,6 +29,7 @@
   var $scripts_path = '';
   var $script_files = array();
   var $scripts = array();
+  var $charset = 'ISO-8859-1';
   
   var $script_tag_file = "<script type=\"text/javascript\" src=\"%s%s\"></script>\n";
   var $script_tag      = "<script type=\"text/javascript\">\n<!--\n%s\n\n//-->\n</script>\n";
@@ -82,6 +83,11 @@
     
     }
 
+  function set_charset($charset)
+    {
+    $this->charset = $charset;
+    }
+
 
   function write($templ='', $base_path='')
     {
@@ -94,6 +100,11 @@
     // replace specialchars in content
     $__page_title = rep_specialchars_output($this->title, 'html', 'show', FALSE);
     $__page_header = $__page_body = $__page_footer = '';
+    
+    
+    // include meta tag with charset
+    if (!empty($this->charset))
+      $__page_header = '<meta http-equiv="content-type" content="text/html; charset='.$this->charset.'" />'."\n";;
   
   
     // definition of the code to be placed in the document header and footer
@@ -1031,7 +1042,7 @@
 // get text in the desired language from the language file
 function rcube_label($attrib)
   {
-  global $sess_user_lang, $INSTALL_PATH;
+  global $sess_user_lang, $INSTALL_PATH, $OUTPUT;
   static $sa_text_data, $s_language, $utf8_decode;
 
   // extract attributes
@@ -1195,7 +1206,7 @@
     {
     if (!$html_encode_arr)
       {
-      $html_encode_arr = get_html_translation_table(HTML_ENTITIES);
+      $html_encode_arr = get_html_translation_table(HTML_ENTITIES); // HTML_SPECIALCHARS
       $html_encode_arr[chr(128)] = '&euro;';
       unset($html_encode_arr['?']);
       unset($html_encode_arr['&']);
diff --git a/program/localization/fi/labels.inc b/program/localization/fi/labels.inc
new file mode 100644
index 0000000..ba610a0
--- /dev/null
+++ b/program/localization/fi/labels.inc
@@ -0,0 +1,176 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/fi/labels.inc                                                |
+ |                                                                       |
+ | Language file of the RoundCube Webmail client                         |
+ | Copyright (C) 2005, RoundQube Dev. - Switzerland                      |
+ | Licensed under the GNU GPL                                            |
+ |                                                                       |
+ +-----------------------------------------------------------------------+
+ | Author: Ville Alatalo <ville@alatalo.org>                             |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$labels = array();
+
+// login page
+$labels['username']  = 'K�ytt�j�tunnus';
+$labels['password']  = 'Salasana';
+$labels['server']    = 'Palvelin';
+$labels['login']     = 'Kirjaudu';
+
+// taskbar
+$labels['logout']   = 'Kirjaudu ulos';
+$labels['mail']     = 'S�hk�posti';
+$labels['settings'] = 'Omat asetukset';
+$labels['addressbook'] = 'Osoitekirja';
+
+// mailbox names
+$labels['inbox']  = 'Saapuneet';
+$labels['sent']   = 'L�hetetyt';
+$labels['trash']  = 'Roskakori';
+$labels['drafts'] = 'Drafts';
+$labels['junk']   = 'Roskaposti';
+
+// message listing
+$labels['subject'] = 'Aihe';
+$labels['from']    = 'L�hett�j�';
+$labels['to']      = 'Vastaanottaja';
+$labels['cc']      = 'Kopio';
+$labels['bcc']     = 'Piilokopio';
+$labels['replyto'] = 'Reply-To';
+$labels['date']    = 'P�iv�ys';
+$labels['size']    = 'Koko';
+$labels['priority'] = 'T�rkeys';
+$labels['organization'] = 'Organisaatio';
+
+// aliases
+$labels['reply-to'] = $labels['replyto'];
+
+$labels['mailboxlist'] = 'Kansiot';
+$labels['messagesfromto'] = 'Viestit $from-$to/$count';
+$labels['messagenrof'] = 'Viesti $nr/$count';
+
+$labels['moveto']   = 'siirr�...';
+$labels['download'] = 'lataa';
+
+$labels['filename'] = 'Tiedoston nimi';
+$labels['filesize'] = 'Tiedoston koko';
+
+$labels['preferhtml'] = 'K�yt� HTML:aa';
+$labels['htmlmessage'] = 'HTML-viesti';
+$labels['prettydate'] = 'N�tit p�iv�ykset';
+
+$labels['addtoaddressbook'] = 'Lis�� osoitekirjaan';
+
+// weekdays short
+$labels['sun'] = 'Su';
+$labels['mon'] = 'Ma';
+$labels['tue'] = 'Ti';
+$labels['wed'] = 'Ke';
+$labels['thu'] = 'To';
+$labels['fri'] = 'Pe';
+$labels['sat'] = 'La';
+
+// weekdays long
+$labels['sunday']    = 'Sunnuntai';
+$labels['monday']    = 'Maanantai';
+$labels['tuesday']   = 'Tiistai';
+$labels['wednesday'] = 'Keskiviikko';
+$labels['thursday']  = 'Torstai';
+$labels['friday']    = 'Perjantai';
+$labels['saturday']  = 'Lauantai';
+
+$labels['today'] = 'T�n��n';
+
+// toolbar buttons
+$labels['writenewmessage']  = 'Kirjoita uusi viesti';
+$labels['replytomessage']   = 'Vastaa viestiin';
+$labels['forwardmessage']   = 'V�lit� viesti';
+$labels['deletemessage']    = 'Siirr� viesti roskakoriin';
+$labels['printmessage']     = 'Tulosta viesti';
+$labels['previousmessages'] = 'N�yt� edelliset viestit';
+$labels['nextmessages']     = 'N�yt� seuraavat viestit';
+$labels['backtolist']       = 'Takaisin viesteihin';
+$labels['viewsource']       = 'N�yt� l�hdekoodi';
+
+$labels['select'] = 'Valitse';
+$labels['all'] = 'Kaikki';
+$labels['none'] = 'Ei mit��n';
+$labels['unread'] = 'Lukemattomat';
+
+// message compose
+$labels['compose']  = 'Viestin kirjoitus';
+$labels['sendmessage']  = 'L�het� viesti';
+$labels['addattachment']  = 'Liitetiedosto';
+
+$labels['attachments'] = 'Liitetiedostot';
+$labels['upload'] = 'Lis��';
+$labels['close']  = 'Sulje';
+
+$labels['low']     = 'Matala';
+$labels['lowest']  = 'Matalin';
+$labels['normal']  = 'Normaali';
+$labels['high']    = 'Korkea';
+$labels['highest'] = 'Korkein';
+
+$labels['showimages'] = 'N�yt� kuvat';
+
+
+// address boook
+$labels['name']      = 'N�kyv� nimi';
+$labels['firstname'] = 'Etunimi';
+$labels['surname']   = 'Sukunimi';
+$labels['email']     = 'E-Mail';
+
+$labels['addcontact'] = 'Lis�� kontakti';
+$labels['editcontact'] = 'Muokkaa kontaktia';
+
+$labels['edit']   = 'Muokkaa';
+$labels['cancel'] = 'Peruuta';
+$labels['save']   = 'Tallenna';
+$labels['delete'] = 'Poista';
+
+$labels['newcontact']     = 'Luo uusi kontakti';
+$labels['deletecontact']  = 'Poista valitut kontaktit';
+$labels['composeto']      = 'Kirjoita viesti kontaktille';
+$labels['contactsfromto'] = 'Kontaktit $from-$to/$count';
+$labels['print']          = 'Tulosta';
+$labels['export']         = 'Vie (export)';
+
+
+// settings
+$labels['settingsfor']  = 'Asetukset';
+
+$labels['preferences']  = 'Asetukset';
+$labels['userpreferences']  = 'K�ytt�j�n asetukset';
+$labels['editpreferences']  = 'Muokkaa k�ytt�j�n asetuksia';
+
+$labels['identities']  = 'Identiteetit';
+$labels['manageidentities']  = 'Muokkaa tunnuksen identiteettej�';
+$labels['newidentity']  = 'Uusi identiteetti';
+
+$labels['newitem']  = 'Uusi';
+$labels['edititem']  = 'Muokkaa';
+
+$labels['setdefault']  = 'Aseta vakioksi';
+$labels['language']  = 'Kieli';
+$labels['timezone']  = 'Aikavy�hyke';
+$labels['pagesize']  = 'Rivej� sivulla';
+
+
+$labels['folders']  = 'Kansiot';
+$labels['foldername']  = 'Kansion nimi';
+$labels['subscribed']  = 'N�ytet��n';
+$labels['create']  = 'Luo uusi';
+$labels['createfolder']  = 'Luo uusi kansio';
+$labels['deletefolder']  = 'Poista kansio';
+$labels['managefolders']  = 'Kansioiden yll�pito';
+
+
+?>
\ No newline at end of file
diff --git a/program/localization/fi/messages.inc b/program/localization/fi/messages.inc
new file mode 100644
index 0000000..329085b
--- /dev/null
+++ b/program/localization/fi/messages.inc
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/fi/messages.inc                                              |
+ |                                                                       |
+ | Language file of the RoundCube Webmail client                         |
+ | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
+ | Licensed under the GNU GPL                                            |
+ |                                                                       |
+ +-----------------------------------------------------------------------+
+ | Author: Ville Alatalo <ville@alatalo.org>                             |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$messages = array();
+
+$messages['loginfailed']  = 'Sis��nkirjautuminen ep�onnistui';
+
+$messages['cookiesdisabled'] = 'Selaimesi ei hyv�ksy ev�steit�';
+
+$messages['sessionerror'] = 'Sessio ei kelpaa tai ei ole en�� voimassa';
+
+$messages['imaperror'] = 'Yhteys IMAP-palvelimeen ep�onnistui';
+
+$messages['nomessagesfound'] = 'Kansiossa ei ole s�hk�postiviestej�';
+
+$messages['loggedout'] = 'Sinut on kirjattu ulos j�rjestelm�st�.';
+
+$messages['mailboxempty'] = 'Kansio on tyhj�';
+
+$messages['loadingdata'] = 'Ladataan...';
+
+$messages['messagesent'] = 'Viesti l�hetetty';
+
+$messages['successfullysaved'] = 'Tallennus onnistui';
+
+$messages['addedsuccessfully'] = 'Kontakti lis�tty osoitekirjaan';
+
+$messages['contactexists'] = 'Samalla s�hk�postiosoitteella on jo olemassa kontakti';
+
+$messages['blockedimages'] = 'Turvallisuussyist� viestin kuvia ei n�ytetty.';
+
+$messages['encryptedmessage'] = 'Viesti on salattu, eik� sit� voida n�ytt��.';
+
+$messages['nocontactsfound'] = 'Ei kontakteja';
+
+$messages['sendingfailed'] = 'Viestin l�hetys ep�onnistui';
+
+$messages['errorsaving'] = 'Tallennuksessa tapahtui virhe';
+
+$messages['errormoving'] = 'Viesti� ei voitu siirt��';
+
+$messages['errordeleting'] = 'Viesti� ei voitu poistaa';
+
+
+?>
\ No newline at end of file
diff --git a/program/localization/index.inc b/program/localization/index.inc
index 66b945a..9f0770f 100644
--- a/program/localization/index.inc
+++ b/program/localization/index.inc
@@ -55,4 +55,11 @@
 	'vn'    => 'Vietnamese'
 );
 
+
+$rcube_charsets = array(
+	'ru' => 'Windows-1251',
+	'lv' => 'ISO-8859-2',
+	'tw' => 'BIG5'
+);
+
 ?>
\ No newline at end of file
diff --git a/program/localization/lv/labels.inc b/program/localization/lv/labels.inc
index c753778..0566984 100644
--- a/program/localization/lv/labels.inc
+++ b/program/localization/lv/labels.inc
@@ -1,4 +1,4 @@
-<?php
+<?php
 
 /*
  +-----------------------------------------------------------------------+
diff --git a/program/localization/lv/messages.inc b/program/localization/lv/messages.inc
index 91353c1..319908e 100644
--- a/program/localization/lv/messages.inc
+++ b/program/localization/lv/messages.inc
@@ -1,4 +1,4 @@
-<?php
+<?php
 
 /*
  +-----------------------------------------------------------------------+
diff --git a/program/localization/ro/labels.inc b/program/localization/ro/labels.inc
new file mode 100644
index 0000000..3d5f9dc
--- /dev/null
+++ b/program/localization/ro/labels.inc
@@ -0,0 +1,172 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/ro/labels.inc                                                |
+ |                                                                       |
+ | Language file of the RoundCube Webmail client                         |
+ | Copyright (C) 2005, RoundQube Dev. - Switzerland                      |
+ | Licensed under the GNU GPL                                            |
+ |                                                                       |
+ +-----------------------------------------------------------------------+
+ | Author: danieLs <daniels@safereaction.ro>                             |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$labels = array();
+
+// login page
+$labels['username']  = 'Utilizator';
+$labels['password']  = 'Parola';
+$labels['server']    = 'Server';
+$labels['login']     = 'Autentificare';
+
+// taskbar
+$labels['logout']   = 'Deconectare';
+$labels['mail']     = 'E-Mail';
+$labels['settings'] = 'Optiuni Personale';
+$labels['addressbook'] = 'Agenda';
+
+// mailbox names
+$labels['inbox']  = 'Mesaje Primite';
+$labels['sent']   = 'Mesaje Trimise';
+$labels['trash']  = 'Cos de Gunoi';
+$labels['drafts'] = 'Ciorne';
+$labels['junk']   = 'Junk';
+
+// message listing
+$labels['subject'] = 'Subiect';
+$labels['from']    = 'Expeditor';
+$labels['to']      = 'Pentru';
+$labels['cc']      = 'Cc';
+$labels['bcc']     = 'Bcc';
+$labels['replyto'] = 'Raspunde la';
+$labels['date']    = 'Data';
+$labels['size']    = 'Marime';
+$labels['priority'] = 'Prioritate';
+$labels['organization'] = 'Organizatie';
+
+// aliases
+$labels['reply-to'] = $labels['replyto'];
+
+$labels['mailboxlist'] = 'Foldere';
+$labels['messagesfromto'] = 'Mesaje $from pana la $to din $count';
+$labels['messagenrof'] = 'Mesajul $nr din $count';
+
+$labels['moveto']   = 'muta in...';
+$labels['download'] = 'descarca';
+
+$labels['filename'] = 'Nume fisier';
+$labels['filesize'] = 'Marime fisier';
+$labels['preferhtml'] = 'Prefer HTML';
+$labels['htmlmessage'] = 'Mesaj HTML';
+$labels['prettydate'] = 'Pretty dates';
+
+$labels['addtoaddressbook'] = 'Adauga in agenda';
+
+// weekdays short
+$labels['sun'] = 'Dum';
+$labels['mon'] = 'Lun';
+$labels['tue'] = 'Mar';
+$labels['wed'] = 'Mie';
+$labels['thu'] = 'Joi';
+$labels['fri'] = 'Vin';
+$labels['sat'] = 'Sam';
+
+// weekdays long
+$labels['sunday']    = 'Duminica';
+$labels['monday']    = 'Luni';
+$labels['tuesday']   = 'Marti';
+$labels['wednesday'] = 'Miercuri';
+$labels['thursday']  = 'Joi';
+$labels['friday']    = 'Vineri';
+$labels['saturday']  = 'Sambata';
+
+$labels['today'] = 'Astazi';
+
+// toolbar buttons
+$labels['writenewmessage']  = 'Creaza mesaj nou';
+$labels['replytomessage']   = 'Raspunde la mesaj';
+$labels['forwardmessage']   = 'Trimite mesaj mai departe';
+$labels['deletemessage']    = 'Muta mesaj la gunoi';
+$labels['printmessage']     = 'Printeaza mesaj';
+$labels['previousmessages'] = 'Afiseaza mesajele anterioare';
+$labels['nextmessages']     = 'Afiseaza mesajele urmatoare';
+$labels['backtolist']       = 'Inapoi la lista de mesaje';
+
+$labels['select'] = 'Selecteaza';
+$labels['all'] = 'Toate';
+$labels['none'] = 'Nici unul';
+$labels['unread'] = 'Necitite';
+
+// message compose
+$labels['compose']  = 'Compune mesaj';
+$labels['sendmessage']  = 'Trimite mesaj';
+$labels['addattachment']  = 'Ataseaza fisier';
+
+$labels['attachments'] = 'Atasamente';
+$labels['upload'] = 'Incarca';
+$labels['close']  = 'Inchide';
+
+$labels['low']     = 'Mica';
+$labels['lowest']  = 'Cea mai mica';
+$labels['normal']  = 'Normala';
+$labels['high']    = 'Mare';
+$labels['highest'] = 'Cea mai mare';
+
+$labels['showimages'] = 'Afiseaza imagini';
+
+
+// address boook
+$labels['name']      = 'Nume de afisat';
+$labels['firstname'] = 'Prenume';
+$labels['surname']   = 'Nume';
+$labels['email']     = 'E-Mail';
+
+$labels['addcontact'] = 'Adauga contact nou';
+$labels['editcontact'] = 'Modifica contact';
+
+$labels['edit']   = 'Editeaza';
+$labels['cancel'] = 'Renunta';
+$labels['save']   = 'Salveaza';
+$labels['delete'] = 'Sterge';
+
+$labels['newcontact']     = 'Creaza contact nou';
+$labels['deletecontact']  = 'Sterge contactele selectate';
+$labels['composeto']      = 'Compune mail pentru';
+$labels['contactsfromto'] = 'Contacte $from pana la $to din $count';
+
+
+// settings
+$labels['settingsfor']  = 'Optiuni pentru';
+
+$labels['preferences']  = 'Preferinte';
+$labels['userpreferences']  = 'Preferinte utilizator';
+$labels['editpreferences']  = 'Modifica preferinte utilizator';
+
+$labels['identities']  = 'Identitati';
+$labels['manageidentities']  = 'Administreaza identitatile acestui cont';
+$labels['newidentity']  = 'Identitate noua';
+
+$labels['newitem']  = 'Item nou';
+$labels['edititem']  = 'Modifica item';
+
+$labels['setdefault']  = 'Seteaza implicit';
+$labels['language']  = 'Limba';
+$labels['timezone']  = 'Time zone';
+$labels['pagesize']  = 'Randuri pe pagina';
+
+
+$labels['folders']  = 'Foldere';
+$labels['foldername']  = 'Nume folder';
+$labels['subscribed']  = 'Inscris';
+$labels['create']  = 'Creaza';
+$labels['createfolder']  = 'Creaza folder nou';
+$labels['deletefolder']  = 'Sterge folder';
+$labels['managefolders']  = 'Administreaza folderele';
+
+
+?>
\ No newline at end of file
diff --git a/program/localization/ro/messages.inc b/program/localization/ro/messages.inc
new file mode 100644
index 0000000..d7de059
--- /dev/null
+++ b/program/localization/ro/messages.inc
@@ -0,0 +1,55 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/ro/messages.inc                                              |
+ |                                                                       |
+ | Language file of the RoundCube Webmail client                         |
+ | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
+ | Licensed under the GNU GPL                                            |
+ |                                                                       |
+ +-----------------------------------------------------------------------+
+ | Author: danieLs <daniels@safereaction.ro>                             |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$messages = array();
+
+$messages['loginfailed']  = 'Autentificare esuata';
+
+$messages['cookiesdisabled'] = 'Browser-ul dumneavoastra nu accepta cookies';
+
+$messages['sessionerror'] = 'Sesiunea dumneavoastra este invalida sau a expirat';
+
+$messages['imaperror'] = 'Conexiunea catre serverul IMAP a esuat';
+
+$messages['nomessagesfound'] = 'Nu s-a gasit nici un mesaj in aceasta casuta de mail';
+
+$messages['loggedout'] = 'Va-ti terminat sesiunea cu succes. La revedere!';
+
+$messages['mailboxempty'] = 'Casuta de email este goala';
+
+$messages['loadingdata'] = 'Se incarca informatiile...';
+
+$messages['messagesent'] = 'Mesaj trimis cu succes';
+
+$messages['successfullysaved'] = 'Salvat cu succes';
+
+$messages['addedsuccessfully'] = 'Contactul a fost adaugat cu succes in agenda';
+
+$messages['contactexists'] = 'Mai exista un contact cu aceeasi adresa de email';
+
+$messages['blockedimages'] = 'Pentru a va proteja intimitatea imaginile din exterior au fost blocate in acest mesaj.';
+
+$messages['encryptedmessage'] = 'Acesta este un mesaj criptat si nu poate fi afisat. Ne pare rau!';
+
+$messages['nocontactsfound'] = 'Nu a fost gasit nici un contact';
+
+$messages['sendingfailed'] = 'Mesajul nu a fost trimis';
+
+$messages['errorsaving'] = 'A intervenit o eroare in timp ce s-a efectuat salvarea';
+
+?>
\ No newline at end of file
diff --git a/program/localization/tw/labels.inc b/program/localization/tw/labels.inc
new file mode 100755
index 0000000..9503cbc
--- /dev/null
+++ b/program/localization/tw/labels.inc
@@ -0,0 +1,175 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/en/labels.inc                                                |
+ |                                                                       |
+ | Language file of the RoundCube Webmail client                         |
+ | Copyright (C) 2005, RoundQube Dev. - Switzerland                      |
+ | Licensed under the GNU GPL                                            |
+ |                                                                       |
+ +-----------------------------------------------------------------------+
+ | Author: Thomas Bruederli <roundcube@gmail.com>                        |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$utf8_decoding = TRUE;
+
+$labels = array();
+
+// login page
+$labels['username']  = '使用者名稱';
+$labels['password']  = '密碼';
+$labels['server']    = '伺服器';
+$labels['login']     = '登入';
+
+// taskbar
+$labels['logout']   = '登出';
+$labels['mail']     = '電子郵件';
+$labels['settings'] = '個人設定';
+$labels['addressbook'] = '通訊錄';
+
+// mailbox names
+$labels['inbox']  = '收件匣';
+$labels['sent']   = '已寄郵件';
+$labels['trash']  = '垃圾桶';
+$labels['drafts'] = '草稿';
+$labels['junk']   = '垃圾郵件';
+
+// message listing
+$labels['subject'] = '主旨';
+$labels['from']    = '寄件者';
+$labels['to']      = '收件者';
+$labels['cc']      = '副本';
+$labels['bcc']     = '密件副本';
+$labels['replyto'] = '回信地址 (Reply-To)';
+$labels['date']    = '日期';
+$labels['size']    = '大小';
+$labels['priority'] = '優先順序';
+$labels['organization'] = '組織';
+
+// aliases
+$labels['reply-to'] = $labels['replyto'];
+
+$labels['mailboxlist'] = '資料夾';
+$labels['messagesfromto'] = '自 $from 至 $to 共 $count 的訊息';
+$labels['messagenrof'] = '訊息 $nr 之 $count';
+
+$labels['moveto']   = '移動至...';
+$labels['download'] = '下載';
+
+$labels['filename'] = '檔案名稱';
+$labels['filesize'] = '檔案大小';
+
+$labels['preferhtml'] = '偏好 HTML';
+$labels['htmlmessage'] = 'HTML 訊息';
+$labels['prettydate'] = '好看的日期';
+
+$labels['addtoaddressbook'] = '新增至通訊錄';
+
+// weekdays short
+$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['today'] = '今日';
+
+// toolbar buttons
+$labels['writenewmessage']  = '建立新的訊息';
+$labels['replytomessage']   = '回覆訊息';
+$labels['forwardmessage']   = '轉寄訊息';
+$labels['deletemessage']    = '移動訊息至垃圾桶';
+$labels['printmessage']     = '列印這個訊息';
+$labels['previousmessages'] = '顯示前一組的訊息';
+$labels['nextmessages']     = '顯示後一組的訊息';
+$labels['backtolist']       = '回到訊息清單';
+
+$labels['select'] = '選擇';
+$labels['all'] = '全部';
+$labels['none'] = '無';
+$labels['unread'] = '未閱讀';
+
+// message compose
+$labels['compose']  = '撰寫訊息';
+$labels['sendmessage']  = '馬上傳送訊息';
+$labels['addattachment']  = '附加檔案';
+
+$labels['attachments'] = '附件';
+$labels['upload'] = '上傳';
+$labels['close']  = '關閉';
+
+$labels['low']     = '低';
+$labels['lowest']  = '最低';
+$labels['normal']  = '正常';
+$labels['high']    = '高';
+$labels['highest'] = '最高';
+
+$labels['showimages'] = '顯示影像';
+
+
+// address boook
+$labels['name']      = '顯示名稱';
+$labels['firstname'] = '名';
+$labels['surname']   = '姓';
+$labels['email']     = '電子郵件';
+
+$labels['addcontact'] = '新增新的連絡人';
+$labels['editcontact'] = '編輯連絡人';
+
+$labels['edit']   = '編輯';
+$labels['cancel'] = '取消';
+$labels['save']   = '儲存';
+$labels['delete'] = '刪除';
+
+$labels['newcontact']     = '建立新的連絡人卡';
+$labels['deletecontact']  = '刪除選取的連絡人';
+$labels['composeto']      = '撰寫郵件';
+$labels['contactsfromto'] = '自 $from 至 $to 共 $count 的連絡人';
+
+
+// settings
+$labels['settingsfor']  = '下列使用者的設定';
+
+$labels['preferences']  = '偏好設定';
+$labels['userpreferences']  = '使用者偏好設定';
+$labels['editpreferences']  = '編輯使用者偏好設定';
+
+$labels['identities']  = '身份';
+$labels['manageidentities']  = '管理這個帳戶的身份';
+$labels['newidentity']  = '新身份';
+
+$labels['newitem']  = '新增項目';
+$labels['edititem']  = '編輯項目';
+
+$labels['setdefault']  = '設為預設';
+$labels['language']  = '語言';
+$labels['timezone']  = '時區';
+$labels['pagesize']  = '每頁欄數';
+
+
+$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/tw/messages.inc b/program/localization/tw/messages.inc
new file mode 100755
index 0000000..0260c60
--- /dev/null
+++ b/program/localization/tw/messages.inc
@@ -0,0 +1,58 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/en/messages.inc                                              |
+ |                                                                       |
+ | Language file of the RoundCube Webmail client                         |
+ | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
+ | Licensed under the GNU GPL                                            |
+ |                                                                       |
+ +-----------------------------------------------------------------------+
+ | Author: Thomas Bruederli <roundcube@gmail.com>                        |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$utf8_decoding = TRUE;
+
+$messages = array();
+
+$messages['loginfailed']  = '登入失敗';
+
+$messages['cookiesdisabled'] = '你的瀏覽器不接受 cookies';
+
+$messages['sessionerror'] = '你的工作階段是無效或過期的';
+
+$messages['imaperror'] = '連線到 IMAP 伺服器失敗';
+
+$messages['nomessagesfound'] = '在此郵件箱找不到任何訊息';
+
+$messages['loggedout'] = '你成功的結束了這個工作階段。掰掰喔~!';
+
+$messages['mailboxempty'] = '郵件箱是空的';
+
+$messages['loadingdata'] = '載入資料中...';
+
+$messages['messagesent'] = '訊息傳送成功';
+
+$messages['successfullysaved'] = '儲存成功';
+
+$messages['addedsuccessfully'] = '成功地將連絡人加入到通訊錄';
+
+$messages['contactexists'] = '已經有連絡人使用這個電子郵件';
+
+$messages['blockedimages'] = '為了保護你的隱私,此訊息的遠端影像已被封鎖。';
+
+$messages['encryptedmessage'] = '這是個經過加密的訊息,所以無法顯示。抱歉!';
+
+$messages['nocontactsfound'] = '找不到任何連絡人';
+
+$messages['sendingfailed'] = '傳送訊息失敗';
+
+$messages['errorsaving'] = '儲存時發生錯誤';
+
+
+?>
\ No newline at end of file
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index c1eafaa..7a6b6ff 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -528,10 +528,10 @@
                                '/url\s*\(["\']?([\.\/]+[^"\'\s]+)["\']?\)/i',
                                '/<script.+<\/script>/Umis');
 
-      $remote_replaces = array('\\1=\\2#\\4',
+      $remote_replaces = array('',  // '\\1=\\2#\\4',
                             // '\\1=\\2#\\4',
                                '',
-                               '\\1#\\3',
+                               '',  // '\\1#\\3',
                                'none',
                                'none',
                                '');
diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index 1322aca..16d7f23 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -32,7 +32,10 @@
 $a_user_prefs['prettydate'] = isset($_POST['_pretty_date']) ? TRUE : FALSE;
 
 if (isset($_POST['_language']))
+  {
   $sess_user_lang = $_SESSION['user_lang'] = $_POST['_language'];
+  rcmail_set_locale($sess_user_lang);
+  }
 
 
 $DB->query("UPDATE ".get_table_name('users')."

--
Gitblit v1.9.1