summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG8
-rw-r--r--index.php8
-rw-r--r--program/js/app.js236
-rwxr-xr-xprogram/localization/el/labels.inc183
-rwxr-xr-xprogram/localization/el/messages.inc81
-rw-r--r--program/localization/index.inc1
-rw-r--r--program/localization/nn_NO/labels.inc176
-rw-r--r--program/localization/nn_NO/messages.inc60
-rw-r--r--program/localization/pt_BR/labels.inc22
-rwxr-xr-xprogram/localization/ru/labels.inc178
-rwxr-xr-xprogram/localization/ru/messages.inc62
11 files changed, 959 insertions, 56 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 618c51f22..c534d5680 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -60,9 +60,9 @@ CHANGELOG RoundCube Webmail
- Display folder names with special chars correctly (Bug #1330157)
-2005/11/06
+2005/11/13
----------
-- Added Finnish, Romanian, Polish, Czech, British, Norwegian and Chinese translation
+- Added Finnish, Romanian, Polish, Czech, British, Norwegian, Greek, Russian and Chinese translation
- Get IMAP server capabilities in array
- Check for NAMESPACE capability before sending command
- Set default user language from config 'locale_string'
@@ -77,5 +77,7 @@ CHANGELOG RoundCube Webmail
- Added messages/warning to compose step (Patch #1323895)
- Added favicon to the default skin
- Fixed Bug #1334337 as far as possible
-- Added Reply-To-All functionality
+- Added Reply-To-All functionality (Request #1326395, Patch #1349777)
+- Redesign of client side AJAX code (enable multi threading)
+- Added keep-alive signal every minute
diff --git a/index.php b/index.php
index dcb65662c..16a3540d7 100644
--- a/index.php
+++ b/index.php
@@ -289,6 +289,14 @@ if ($_task=='settings')
}
+// handle keep-alive signal
+if ($_action=='keep-alive')
+ {
+ rcube_remote_response('');
+ exit;
+ }
+
+
// only allow these templates to be included
$valid_tasks = array('mail','settings','addressbook');
diff --git a/program/js/app.js b/program/js/app.js
index 9825c18c1..095c89d3a 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -6,7 +6,7 @@
| Copyright (C) 2005, RoundCube Dev, - Switzerland |
| Licensed under the GNU GPL |
| |
- | Modified: 2005/11/08 (roundcube) |
+ | Modified: 2005/11/13 (roundcube) |
| |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
@@ -33,6 +33,7 @@ function rcube_webmail()
this.dblclick_time = 600;
this.message_time = 5000;
this.request_timeout = 180000;
+ this.kepp_alive_interval = 60000;
this.mbox_expression = new RegExp('[^0-9a-z\-_]', 'gi');
this.env.blank_img = 'skins/default/images/blank.gif';
@@ -217,6 +218,10 @@ function rcube_webmail()
// show message
if (this.pending_message)
this.display_message(this.pending_message[0], this.pending_message[1]);
+
+ // start interval for keep-alive siganl
+ if (this.kepp_alive_interval)
+ this.kepp_alive_int = setInterval(this.ref+'.send_keep_alive()', this.kepp_alive_interval);
};
@@ -1189,7 +1194,7 @@ function rcube_webmail()
// send request to server
var url = '_mbox='+escape(mbox)+(page ? '&_page='+page : '');
this.set_busy(true, 'loading');
- this.http_request('list', url+add_url);
+ this.http_request('list', url+add_url, true);
};
@@ -1217,13 +1222,18 @@ function rcube_webmail()
this.message_rows[id].obj.style.display = 'none';
}
}
+
+ var lock = false;
// show wait message
if (this.env.action=='show')
+ {
+ lock = true;
this.set_busy(true, 'movingmessage');
+ }
// send request to server
- this.http_request('moveto', '_uid='+a_uids.join(',')+'&_mbox='+escape(this.env.mailbox)+'&_target_mbox='+escape(mbox)+'&_from='+(this.env.action ? this.env.action : ''));
+ this.http_request('moveto', '_uid='+a_uids.join(',')+'&_mbox='+escape(this.env.mailbox)+'&_target_mbox='+escape(mbox)+'&_from='+(this.env.action ? this.env.action : ''), lock);
};
@@ -1692,7 +1702,7 @@ function rcube_webmail()
// send request to server
var url = page ? '&_page='+page : '';
this.set_busy(true, 'loading');
- this.http_request('list', url);
+ this.http_request('list', url, true);
};
@@ -1834,7 +1844,7 @@ function rcube_webmail()
name = form.elements['_folder_name'].value;
if (name)
- this.http_request('create-folder', '_name='+escape(name));
+ this.http_request('create-folder', '_name='+escape(name), true);
else if (form.elements['_folder_name'])
form.elements['_folder_name'].focus();
};
@@ -2346,18 +2356,29 @@ function rcube_webmail()
/********************************************************/
- // send a http request to the server
- this.http_request = function(action, querystring)
+ this.http_sockets = new Array();
+
+ // find a non-busy socket or create a new one
+ this.get_request_obj = function()
{
- if (window.XMLHttpRequest)
- this.request_obj = new XMLHttpRequest();
- else if (window.ActiveXObject)
- this.request_obj = new ActiveXObject("Microsoft.XMLHTTP");
- else
+ for (var n=0; n<this.http_sockets.length; n++)
{
-
+ if (!this.http_sockets[n].busy)
+ return this.http_sockets[n];
}
+
+ // create a new XMLHTTP object
+ var i = this.http_sockets.length;
+ this.http_sockets[i] = new rcube_http_request();
+
+ return this.http_sockets[i];
+ };
+
+ // send a http request to the server
+ this.http_request = function(action, querystring, lock)
+ {
+ var request_obj = this.get_request_obj();
querystring += '&_remote=1';
// add timestamp to request url to avoid cacheing problems in Safari
@@ -2365,53 +2386,79 @@ function rcube_webmail()
querystring += '&_ts='+(new Date().getTime());
// send request
- if (this.request_obj)
+ if (request_obj)
{
// prompt('request', this.env.comm_path+'&_action='+escape(action)+'&'+querystring);
console('HTTP request: '+this.env.comm_path+'&_action='+escape(action)+'&'+querystring);
- this.set_busy(true);
- this.request_action = action;
- this.request_obj.onreadystatechange = function(){ rcube_webmail_client.http_response(); };
- this.request_obj.open('GET', this.env.comm_path+'&_action='+escape(action)+'&'+querystring);
- this.request_obj.send(null);
+
+ if (lock)
+ this.set_busy(true);
+
+ request_obj.__lock = lock ? true : false;
+ request_obj.__action = action;
+ request_obj.onerror = function(o){ rcube_webmail_client.http_error(o); };
+ request_obj.oncomplete = function(o){ rcube_webmail_client.http_response(o); };
+ request_obj.GET(this.env.comm_path+'&_action='+escape(action)+'&'+querystring);
}
};
- // handle http response
- this.http_response = function()
+ // handle HTTP response
+ this.http_response = function(request_obj)
{
- if (this.request_obj.readyState == 4) // || this.request_obj.readyState == 2)
- {
- var ctype = this.request_obj.getResponseHeader('Content-Type');
- if (ctype)
- ctype = String(ctype).toLowerCase();
+ var ctype = request_obj.get_header('Content-Type');
+ if (ctype)
+ ctype = String(ctype).toLowerCase();
+ if (request_obj.__lock)
this.set_busy(false);
- console(this.request_obj.responseText);
+ console(request_obj.responseText);
- // if we get javascript code from server -> execute it
- if (this.request_obj.responseText && (ctype=='text/javascript' || ctype=='application/x-javascript'))
- eval(this.request_obj.responseText);
+ // if we get javascript code from server -> execute it
+ if (request_obj.responseText && (ctype=='text/javascript' || ctype=='application/x-javascript'))
+ eval(request_obj.responseText);
- // process the response data according to the sent action
- switch (this.request_action)
- {
- case 'delete':
- case 'moveto':
- if (this.env.action=='show')
- this.command('list');
- break;
+ // process the response data according to the sent action
+ switch (request_obj.__action)
+ {
+ case 'delete':
+ case 'moveto':
+ if (this.env.action=='show')
+ this.command('list');
+ break;
- case 'list':
- this.enable_command('select-all', 'select-none', this.env.messagecount ? true : false);
- break;
- }
+ case 'list':
+ this.enable_command('select-all', 'select-none', this.env.messagecount ? true : false);
+ break;
}
+
+ request_obj.reset();
};
+ // handle HTTP request errors
+ this.http_error = function(request_obj)
+ {
+ alert('Error sending request: '+request_obj.url);
+
+ if (request_obj.__lock)
+ this.set_busy(false);
+
+ request_obj.reset();
+ request_obj.__lock = false;
+ };
+
+
+ // use an image to send a keep-alive siganl to the server
+ this.send_keep_alive = function()
+ {
+ var d = new Date();
+ this.http_request('keep-alive', '_t='+d.getTime());
+ };
+
+
+
/********************************************************/
/********* helper methods *********/
/********************************************************/
@@ -2525,6 +2572,111 @@ function rcube_webmail()
+// class for HTTP requests
+function rcube_http_request()
+ {
+ this.url = '';
+ this.busy = false;
+ this.xmlhttp = null;
+
+
+ // reset object properties
+ this.reset = function()
+ {
+ // set unassigned event handlers
+ this.onloading = function(){ };
+ this.onloaded = function(){ };
+ this.oninteractive = function(){ };
+ this.oncomplete = function(){ };
+ this.onabort = function(){ };
+ this.onerror = function(){ };
+
+ this.url = '';
+ this.busy = false;
+ this.xmlhttp = null;
+ }
+
+
+ // create HTMLHTTP object
+ this.build = function()
+ {
+ if (window.XMLHttpRequest)
+ this.xmlhttp = new XMLHttpRequest();
+ else if (window.ActiveXObject)
+ this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
+ else
+ {
+
+ }
+ }
+
+ // sedn GET request
+ this.GET = function(url)
+ {
+ this.build();
+
+ if (!this.xmlhttp)
+ {
+ this.onerror(this);
+ return false;
+ }
+
+ var ref = this;
+ this.url = url;
+ this.busy = true;
+
+ this.xmlhttp.onreadystatechange = function(){ ref.xmlhttp_onreadystatechange(); };
+ this.xmlhttp.open('GET', url);
+ this.xmlhttp.send(null);
+ };
+
+
+ this.POST = function(url, a_param)
+ {
+ // not implemented yet
+ };
+
+
+ // handle onreadystatechange event
+ this.xmlhttp_onreadystatechange = function()
+ {
+ if(this.xmlhttp.readyState == 1)
+ this.onloading(this);
+
+ else if(this.xmlhttp.readyState == 2)
+ this.onloaded(this);
+
+ else if(this.xmlhttp.readyState == 3)
+ this.oninteractive(this);
+
+ else if(this.xmlhttp.readyState == 4)
+ {
+ this.responseText = this.xmlhttp.responseText;
+ this.responseXML = this.xmlhttp.responseXML;
+
+ if(this.xmlhttp.status == 0)
+ this.onabort(this);
+ else if(this.xmlhttp.status == 200)
+ this.oncomplete(this);
+ else
+ this.onerror(this);
+
+ this.busy = false;
+ }
+ }
+
+ // getter method for HTTP headers
+ this.get_header = function(name)
+ {
+ return this.xmlhttp.getResponseHeader(name);
+ };
+
+
+ this.reset();
+
+ } // end class rcube_http_request
+
+
function console(str)
{
diff --git a/program/localization/el/labels.inc b/program/localization/el/labels.inc
new file mode 100755
index 000000000..929ce1109
--- /dev/null
+++ b/program/localization/el/labels.inc
@@ -0,0 +1,183 @@
+<?php
+
+/*
+ +------------------------------------------------------------------------------+
+ | language/el/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> |
+ +------------------------------------------------------------------------------+
+ | Greek Translation: Panormitis Petrou <panormitis@gmx.net> |
+ +------------------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$utf8_decoding = TRUE;
+
+$labels = array();
+
+// login page
+$labels['username'] = 'Όνομα χρήστη';
+$labels['password'] = 'Κωδικός πρόσβασης';
+$labels['server'] = 'Διακομιστής';
+$labels['login'] = 'Είσοδος';
+
+// taskbar
+$labels['logout'] = 'Αποσύνδεση';
+$labels['mail'] = 'E-Mail';
+$labels['settings'] = 'Προσωπικές ρυθμίσεις';
+$labels['addressbook'] = 'Βιβλίο διευθύνσεων';
+
+// mailbox names
+$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'] = 'Φθίνουσα ταξινόμηση';
+
+// aliases
+$labels['reply-to'] = $labels['Απάντηση προς'];
+
+$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['viewsource'] = 'Προβολή προέλευσης';
+
+$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'] = 'Διεύθυνση e-mail';
+
+$labels['addcontact'] = 'Προσθήκη νέας επαφής';
+$labels['editcontact'] = 'Επεξεργασία επαφής';
+
+$labels['edit'] = 'Επεξεργασία';
+$labels['cancel'] = '’κυρο';
+$labels['save'] = 'Αποθήκευση';
+$labels['delete'] = 'Διαγραφή';
+
+$labels['newcontact'] = 'Δημιουργία νέας κάρτας επαφής';
+$labels['deletecontact'] = 'Διαγραφή επιλεγμένων επαφών';
+$labels['composeto'] = 'Σύνθεση μηνύματος προς';
+$labels['contactsfromto'] = 'Επαφές $from έως $to από $count';
+$labels['print'] = 'Εκτύπωση';
+$labels['export'] = 'Εξαγωγή';
+
+
+// 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/el/messages.inc b/program/localization/el/messages.inc
new file mode 100755
index 000000000..0b07a5ea2
--- /dev/null
+++ b/program/localization/el/messages.inc
@@ -0,0 +1,81 @@
+<?php
+
+/*
+ +------------------------------------------------------------------------------+
+ | language/el/messages.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> |
+ +------------------------------------------------------------------------------+
+ | Greek Translation: Panormitis Petrou <panormitis@gmx.net> |
+ +------------------------------------------------------------------------------+
+
+ $Id$
+
+*/
+$utf8_decoding = TRUE;
+
+$messages = array();
+
+$messages['loginfailed'] = 'Η είσοδος απέτυχε';
+
+$messages['cookiesdisabled'] = 'Ο φυλλομετρητής σας δεν υποστηρίζει cookies';
+
+$messages['sessionerror'] = 'Η σύνοδος σας δεν είναι έγκυρη ή έχει λήξει';
+
+$messages['imaperror'] = 'Η σύνδεση με τον διακομιστή IMAP απέτυχε';
+
+$messages['nomessagesfound'] = 'Δεν βρέθηκαν μηνύματα σε αυτό το γραμματοκιβώτιο';
+
+$messages['loggedout'] = 'Έχετε αποσυνδεθεί επιτυχώς. Αντίο!';
+
+$messages['mailboxempty'] = 'Το γραμματοκιβώτιο είναι άδειο';
+
+$messages['loading'] = 'Φόρτωση...';
+
+$messages['loadingdata'] = 'Φόρτωση δεδομένων...';
+
+$messages['sendingmessage'] = 'Αποστολή μηνύματος...';
+
+$messages['messagesent'] = 'Το μήνυμα στάλθηκε επιτυχώς';
+
+$messages['successfullysaved'] = 'Αποθηκεύτηκε επιτυχώς';
+
+$messages['addedsuccessfully'] = 'Η επαφή προστέθηκε επιτυχώς στο βιβλίο διευθύνσεων';
+
+$messages['contactexists'] = 'Υπάρχει ήδη επαφή με αυτή τη διεύθυνση e-mail';
+
+$messages['blockedimages'] = 'Για τη δική σας προστασία, έχουν μπλοκαριστεί οι απομακρυσμένες εικόνες που έχει αυτό το μήνυμα.';
+
+$messages['encryptedmessage'] = 'Αυτό είναι ένα κρυπτογραφημένο μήνυμα και δεν μπορεί να εμφανιστεί. Συγνώμη!';
+
+$messages['noemailwarning'] = 'Παρακαλώ εισάγετε μια έγκυρη διεύθυνση e-mail';
+
+$messages['nonamewarning'] = 'Παρακαλώ εισάγετε ένα όνομα';
+
+$messages['nopagesizewarning'] = 'Παρακαλώ εισάγετε ένα μέγεθος σελίδας';
+
+$messages['formincomplete'] = 'Η φόρμα δεν συμπληρώθηκε τελείως';
+
+$messages['norecipientwarning'] = 'Παρακαλώ εισάγετε τουλάχιστον έναν παραλήπτη';
+
+$messages['nosubjectwarning'] = 'Το πεδίο "Θέμα" είναι άδειο. Θέλετε να το πληκτρολογήσετε τώρα;';
+
+$messages['nobodywarning'] = 'Θέλετε να στείλετε αυτό το μήνυμα χωρίς κείμενο';
+
+$messages['nocontactsfound'] = 'Δεν βρέθηκαν επαφές';
+
+$messages['sendingfailed'] = 'Η αποστολή του μηνύματος απέτυχε';
+
+$messages['errorsaving'] = 'Εμφανίστηκε ένα σφάλμα κατά την αποθήκευση';
+
+$messages['errormoving'] = 'Το μήνυμα δεν μπόρεσε να μετακινηθεί';
+
+$messages['errordeleting'] = 'Το μήνυμα δεν μπόρεσε να διαγραφτεί';
+
+
+?> \ No newline at end of file
diff --git a/program/localization/index.inc b/program/localization/index.inc
index 1ac2df17a..d617bf11a 100644
--- a/program/localization/index.inc
+++ b/program/localization/index.inc
@@ -62,6 +62,7 @@ $rcube_charsets = array(
'ru' => 'Windows-1251',
'lv' => 'ISO-8859-2',
'pl' => 'ISO-8859-2',
+ 'el' => 'ISO-8859-7',
'tw' => 'BIG5'
);
diff --git a/program/localization/nn_NO/labels.inc b/program/localization/nn_NO/labels.inc
new file mode 100644
index 000000000..15b7800a0
--- /dev/null
+++ b/program/localization/nn_NO/labels.inc
@@ -0,0 +1,176 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/nn/labels.inc |
+ | |
+ | Language file of the RoundCube Webmail client |
+ | Copyright (C) 2005, RoundQube Dev. - Switzerland |
+ | Licensed under the GNU GPL |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Per-Stian Vatne <psv@orsta.org> |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$labels = array();
+
+// login page
+$labels['username'] = 'Brukarnamn';
+$labels['password'] = 'Passord';
+$labels['server'] = 'Tenar';
+$labels['login'] = 'Logg inn';
+
+// taskbar
+$labels['logout'] = 'Logg ut';
+$labels['mail'] = 'E-post';
+$labels['settings'] = 'Personlege innstillingar';
+$labels['addressbook'] = 'Adressebok';
+
+// mailbox names
+$labels['inbox'] = 'Innboks';
+$labels['sent'] = 'Sende element';
+$labels['trash'] = 'Sletta element';
+$labels['drafts'] = 'Kladd';
+$labels['junk'] = 'Sppel';
+
+// message listing
+$labels['subject'] = 'Emne';
+$labels['from'] = 'Sendar';
+$labels['to'] = 'Mottakar';
+$labels['cc'] = 'Kopi';
+$labels['bcc'] = 'Blindkopi';
+$labels['replyto'] = 'Svar-til';
+$labels['date'] = 'Dato';
+$labels['size'] = 'Storleik';
+$labels['priority'] = 'Prioritet';
+$labels['organization'] = 'Organisasjon';
+
+// aliases
+$labels['reply-to'] = $labels['replyto'];
+
+$labels['mailboxlist'] = 'Katalogar';
+$labels['messagesfromto'] = 'Meldingar $from til $to av $count';
+$labels['messagenrof'] = 'Melding $nr av $count';
+
+$labels['moveto'] = 'flytt til...';
+$labels['download'] = 'last ned';
+
+$labels['filename'] = 'Filnamn';
+$labels['filesize'] = 'Filstorleik';
+
+$labels['preferhtml'] = 'Fretrekk HTML';
+$labels['htmlmessage'] = 'HTML-melding';
+$labels['prettydate'] = 'Pene datoar';
+
+$labels['addtoaddressbook'] = 'Legg til i adressebok';
+
+// weekdays short
+$labels['sun'] = 'Sun';
+$labels['mon'] = 'Mn';
+$labels['tue'] = 'Tys';
+$labels['wed'] = 'Ons';
+$labels['thu'] = 'Tor';
+$labels['fri'] = 'Fre';
+$labels['sat'] = 'Lau';
+
+// weekdays long
+$labels['sunday'] = 'Sundag';
+$labels['monday'] = 'Mndag';
+$labels['tuesday'] = 'Tysdag';
+$labels['wednesday'] = 'Onsdag';
+$labels['thursday'] = 'Torsdag';
+$labels['friday'] = 'Fredag';
+$labels['saturday'] = 'Laurdag';
+
+$labels['today'] = 'I dag';
+
+// toolbar buttons
+$labels['writenewmessage'] = 'Skriv ei ny melding';
+$labels['replytomessage'] = 'Svar p meldinga';
+$labels['forwardmessage'] = 'Vidaresend meldinga';
+$labels['deletemessage'] = 'Flytt melding til Sletta element';
+$labels['printmessage'] = 'Skriv ut meldinga';
+$labels['previousmessages'] = 'Vis fregande side med meldingar';
+$labels['nextmessages'] = 'Vis neste side med med meldingar';
+$labels['backtolist'] = 'Tilbake til meldingslista';
+$labels['viewsource'] = 'Vis kjelde';
+
+$labels['select'] = 'Vel';
+$labels['all'] = 'Alle';
+$labels['none'] = 'Ingen';
+$labels['unread'] = 'Uleste';
+
+// message compose
+$labels['compose'] = 'Skriv ei melding';
+$labels['sendmessage'] = 'Send meldinga no';
+$labels['addattachment'] = 'Legg ved ei fil';
+
+$labels['attachments'] = 'Vedlegg';
+$labels['upload'] = 'Last opp';
+$labels['close'] = 'Steng';
+
+$labels['low'] = 'Lg';
+$labels['lowest'] = 'Lgast';
+$labels['normal'] = 'Normal';
+$labels['high'] = 'Hg';
+$labels['highest'] = 'Hgast';
+
+$labels['showimages'] = 'Vis bilete';
+
+
+// address book
+$labels['name'] = 'Visingsnamn';
+$labels['firstname'] = 'Frenamn';
+$labels['surname'] = 'Etternamn';
+$labels['email'] = 'E-post';
+
+$labels['addcontact'] = 'Legg til ny kontakt';
+$labels['editcontact'] = 'Redigere kontakt';
+
+$labels['edit'] = 'Redigere';
+$labels['cancel'] = 'Avbryt';
+$labels['save'] = 'Lagre';
+$labels['delete'] = 'Slette';
+
+$labels['newcontact'] = 'Opprett nytt kontaktkort';
+$labels['deletecontact'] = 'Slett valde kontaktar';
+$labels['composeto'] = 'Ny melding til';
+$labels['contactsfromto'] = 'Kontaktar $from til $to av $count';
+$labels['print'] = 'Skriv ut';
+$labels['export'] = 'Eksport';
+
+
+// settings
+$labels['settingsfor'] = 'Innstillingar for';
+
+$labels['preferences'] = 'Innstillingar';
+$labels['userpreferences'] = 'Brukarinnstillingar';
+$labels['editpreferences'] = 'Redigere brukarinnstillingar';
+
+$labels['identities'] = 'Identitetar';
+$labels['manageidentities'] = 'Administrere identitetar for denne kontoen';
+$labels['newidentity'] = 'Ny identitet';
+
+$labels['newitem'] = 'Nytt element';
+$labels['edititem'] = 'Redigere element';
+
+$labels['setdefault'] = 'Set som standard';
+$labels['language'] = 'Sprk';
+$labels['timezone'] = 'Tidssone';
+$labels['pagesize'] = 'Rader pr side';
+
+
+$labels['folders'] = 'Mapper';
+$labels['foldername'] = 'Mappenamn';
+$labels['subscribed'] = 'Abonnert';
+$labels['create'] = 'Opprette';
+$labels['createfolder'] = 'Opprett ny mappe';
+$labels['deletefolder'] = 'Slett mappe';
+$labels['managefolders'] = 'Administrere mapper';
+
+
+?>
diff --git a/program/localization/nn_NO/messages.inc b/program/localization/nn_NO/messages.inc
new file mode 100644
index 000000000..31a1c6404
--- /dev/null
+++ b/program/localization/nn_NO/messages.inc
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/nn/messages.inc |
+ | |
+ | Language file of the RoundCube Webmail client |
+ | Copyright (C) 2005, RoundCube Dev. - Switzerland |
+ | Licensed under the GNU GPL |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Per-Stian Vatne <psv@orsta.org> |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$messages = array();
+
+$messages['loginfailed'] = 'Feil ved innlogging';
+
+$messages['cookiesdisabled'] = 'Nettlesaren din tillet ikkje informasjonskapslar (cookies)';
+
+$messages['sessionerror'] = 'Sesjonen din er ulovleg eller har gtt ut p tid';
+
+$messages['imaperror'] = 'Feil ved tilkopling til IMAP-tenar';
+
+$messages['nomessagesfound'] = 'Ingen meldingar i denne postkassa';
+
+$messages['loggedout'] = 'Du har avslutta sesjonen. Ha det bra!';
+
+$messages['mailboxempty'] = 'Postkassa er tom';
+
+$messages['loadingdata'] = 'Lastar inn data...';
+
+$messages['messagesent'] = 'Meldinga vart send';
+
+$messages['successfullysaved'] = 'Meldinga vart lagra';
+
+$messages['addedsuccessfully'] = 'Kontakta vart lagt til i adresseboka';
+
+$messages['contactexists'] = 'Ei kontakt med denne e-postadressa eksisterer allereie';
+
+$messages['blockedimages'] = 'For ta vare p privatlivet ditt er eksterne bilete blokkert i denne meldinga.';
+
+$messages['encryptedmessage'] = 'Dette er ei kryptert melding og kan ikkje visast. Orsak!';
+
+$messages['nocontactsfound'] = 'Fann ingen kontaktar';
+
+$messages['sendingfailed'] = 'Kunne ikkje sende meldinga';
+
+$messages['errorsaving'] = 'Det skjedde ein feil ved lagring';
+
+$messages['errormoving'] = 'Kunne ikkje flytte meldinga';
+
+$messages['errordeleting'] = 'Kunne ikkje slette meldinga';
+
+
+?>
diff --git a/program/localization/pt_BR/labels.inc b/program/localization/pt_BR/labels.inc
index e0c325684..6945ff8f6 100644
--- a/program/localization/pt_BR/labels.inc
+++ b/program/localization/pt_BR/labels.inc
@@ -22,7 +22,7 @@
$labels = array();
// login page
-$labels['username'] = 'Usu&aacute;rio';
+$labels['username'] = 'Nome de Usurio';
$labels['password'] = 'Senha';
$labels['server'] = 'Servidor';
$labels['login'] = 'Login';
@@ -30,8 +30,8 @@ $labels['login'] = 'Login';
// taskbar
$labels['logout'] = 'Sair';
$labels['mail'] = 'E-Mail';
-$labels['settings'] = 'Configura&cedil;&otilde;es pessoais';
-$labels['addressbook'] = 'Cat&aacute;logo de endere&cedil;os';
+$labels['settings'] = 'Configuraes pessoais';
+$labels['addressbook'] = 'Catlogo de endereos';
// mailbox names
$labels['inbox'] = 'Caixa de entrada';
@@ -44,19 +44,19 @@ $labels['junk'] = 'Spam';
$labels['subject'] = 'Assunto';
$labels['from'] = 'De';
$labels['to'] = 'Para';
-$labels['cc'] = 'C&oacute;pia';
+$labels['cc'] = 'Cpia';
$labels['bcc'] = 'Bcc';
$labels['replyto'] = 'Responder para';
$labels['date'] = 'Data';
$labels['size'] = 'Tamanho';
$labels['priority'] = 'Prioridade';
-$labels['organization'] = 'Organiza&cedil;&atilde;o';
+$labels['organization'] = 'Organizao';
// aliases
$labels['reply-to'] = $labels['replyto'];
$labels['mailboxlist'] = 'Mensagens';
-$labels['messagesfromto'] = 'Mensagens $from at&eacute; $to de $count';
+$labels['messagesfromto'] = 'Mensagens $from at $to de $count';
$labels['messagenrof'] = 'Mensagens $nr de $count';
$labels['moveto'] = 'mover para ...';
@@ -69,7 +69,7 @@ $labels['preferhtml'] = 'Prefere HTML';
$labels['htmlmessage'] = 'Mensagem HTML';
$labels['prettydate'] = 'Formatar datas';
-$labels['addtoaddressbook'] = 'Incluir no cat&aacute;logo de endere&cedil;os';
+$labels['addtoaddressbook'] = 'Incluir no catlogo de endereos';
// weekdays short
$labels['sun'] = 'Dom';
@@ -78,16 +78,16 @@ $labels['tue'] = 'Ter';
$labels['wed'] = 'Qua';
$labels['thu'] = 'Qui';
$labels['fri'] = 'Sex';
-$labels['sat'] = 'Sáb';
+$labels['sat'] = 'Sb';
// weekdays long
$labels['sunday'] = 'Domingo';
$labels['monday'] = 'Segunda';
-$labels['tuesday'] = 'Ter&cedil;a';
+$labels['tuesday'] = 'Tera';
$labels['wednesday'] = 'Quarta';
$labels['thursday'] = 'Quinta';
$labels['friday'] = 'Sexta';
-$labels['saturday'] = 'S&aacute;bado';
+$labels['saturday'] = 'Sbado';
$labels['today'] = 'Hoje';
@@ -99,7 +99,7 @@ $labels['forwardmessage'] = 'Encaminhar';
$labels['deletemessage'] = 'Mover para a lixeira';
$labels['printmessage'] = 'Imprimir';
$labels['previousmessages'] = 'Anterior';
-$labels['nextmessages'] = 'Pr&oacute;ximo';
+$labels['nextmessages'] = 'Prximo';
$labels['backtolist'] = 'Voltar';
$labels['select'] = 'Selecionar';
diff --git a/program/localization/ru/labels.inc b/program/localization/ru/labels.inc
new file mode 100755
index 000000000..2b89e07ad
--- /dev/null
+++ b/program/localization/ru/labels.inc
@@ -0,0 +1,178 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/ru/labels.inc |
+ | |
+ | Language file of the RoundCube Webmail client |
+ | Copyright (C) 2005, RoundQube Dev. - Switzerland |
+ | Licensed under the GNU GPL |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Maxim Zenin <maxx@webmechanics.ru>, www.webmechanics.ru |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$utf8_decoding = TRUE;
+
+$labels = array();
+
+// login page
+$labels['username'] = 'Имя пользователя';
+$labels['password'] = 'Пароль';
+$labels['server'] = 'Сервер';
+$labels['login'] = 'Логин';
+
+// taskbar
+$labels['logout'] = 'Выход';
+$labels['mail'] = 'E-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'] = 'Отвечать на';
+$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['viewsource'] = 'Показать источник';
+
+$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'] = 'E-Mail';
+
+$labels['addcontact'] = 'Добавть контакт';
+$labels['editcontact'] = 'Редактировать контакт';
+
+$labels['edit'] = 'Правка';
+$labels['cancel'] = 'Отмена';
+$labels['save'] = 'Сохранить';
+$labels['delete'] = 'Отмена';
+
+$labels['newcontact'] = 'Создать карточку контакта';
+$labels['deletecontact'] = 'Удалить выбранные контакты';
+$labels['composeto'] = 'Новое сообщение контакту';
+$labels['contactsfromto'] = 'Контакты с $from по $to из $count';
+$labels['print'] = 'Печать';
+$labels['export'] = 'Экспорт';
+
+
+// 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/ru/messages.inc b/program/localization/ru/messages.inc
new file mode 100755
index 000000000..5dc0d98a4
--- /dev/null
+++ b/program/localization/ru/messages.inc
@@ -0,0 +1,62 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | language/ru/messages.inc |
+ | |
+ | Language file of the RoundCube Webmail client |
+ | Copyright (C) 2005, RoundCube Dev. - Switzerland |
+ | Licensed under the GNU GPL |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Maxim Zenin <maxx@webmechanics.ru>, www.webmechanics.ru |
+ +-----------------------------------------------------------------------+
+
+ $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'] = 'Невозможно сохранить';
+
+$messages['errormoving'] = 'Невозможно перенести сообщение';
+
+$messages['errordeleting'] = 'Невозможно удалить сообщение';
+
+
+?> \ No newline at end of file