From 1b187352c73f6aa55f20e43f6d8352ba1228e721 Mon Sep 17 00:00:00 2001 From: gustavf Date: Thu, 29 Jun 2000 11:40:58 +0000 Subject: [PATCH] Now translation is working for "Unknown user or..." git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@568 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/imap_general.php | 41 ++++++++++++++++++++++++++++++++++---- src/webmail.php | 7 +++---- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/functions/imap_general.php b/functions/imap_general.php index 07fca891..9e13d850 100755 --- a/functions/imap_general.php +++ b/functions/imap_general.php @@ -66,14 +66,23 @@ ** will be displayed. This function returns the imap connection handle. ******************************************************************************/ function sqimap_login ($username, $password, $imap_server_address, $imap_port, $hide) { - global $color; + global $color, $squirrelmail_language, $HTTP_ACCEPT_LANGUAGE; + $imap_stream = fsockopen ($imap_server_address, $imap_port, &$error_number, &$error_string); $server_info = fgets ($imap_stream, 1024); + // This function can sometimes be called before the check for + // gettext is done. + if (!function_exists("_")) { + function _($string) { + return $string; + } + } + /** Do some error correction **/ if (!$imap_stream) { if (!$hide) { - echo "Error connecting to IMAP server: $imap_server_address.
\r\n"; + printf (_("Error connecting to IMAP server: %s.")."
\r\n", $imap_server_address); echo "$error_number : $error_string
\r\n"; } exit; @@ -86,9 +95,33 @@ if (substr($read, 0, 7) != "a001 OK") { if (!$hide) { if (substr($read, 0, 8) == "a001 BAD") { - echo "Bad request: $read
\r\n"; + printf (_("Bad request: %s")."
\r\n", $read); exit; } else if (substr($read, 0, 7) == "a001 NO") { + // If the user does not log in with the correct + // username and password it is not possible to get the + // correct locale from the user's preferences. + // Therefore, apply the same hack as on the login + // screen. + + // $squirrelmail_language is set by a cookie when + // the user selects language and logs out + + // Use HTTP content language negotiation if cookie + // not set + if (!isset($squirrelmail_language) && isset($HTTP_ACCEPT_LANGUAGE)) { + $squirrelmail_language = substr($HTTP_ACCEPT_LANGUAGE, 0, 2); + } + + if (isset($squirrelmail_language)) { + if ($squirrelmail_language != "en" && $squirrelmail_language != "") { + putenv("LC_ALL=".$squirrelmail_language); + bindtextdomain("squirrelmail", "../locale/"); + textdomain("squirrelmail"); + header ("Content-Type: text/html; charset=".$languages[$squirrelmail_language]["CHARSET"]); + } + } + ?> @@ -120,7 +153,7 @@ session_destroy(); exit; } else { - echo "Unknown error: $read
"; + printf (_("Unknown error: %s")."
", $read); exit; } } else { diff --git a/src/webmail.php b/src/webmail.php index a60a1793..7da0d2b5 100644 --- a/src/webmail.php +++ b/src/webmail.php @@ -21,9 +21,7 @@ if (isset($squirrelmail_language)) { setcookie("squirrelmail_language", $squirrelmail_language, time()+2592000); } -?> - -"; echo "$org_title"; echo ""; -- 2.25.1