From 83fc1a851c69e13808d14f2d5a284c3369409018 Mon Sep 17 00:00:00 2001 From: Arun Persaud Date: Sun, 14 Mar 2010 14:11:52 -0700 Subject: NEW FEATURE: added localization support using gettext to add support for localization --- include/db.php | 7 +++++++ include/output.php | 24 +++++++++++++++++++++++- include/preferences.php | 24 +++++++++++++++++++++++- 3 files changed, 53 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/db.php b/include/db.php index 2a927f5..ad6c6f0 100644 --- a/include/db.php +++ b/include/db.php @@ -772,6 +772,7 @@ function DB_get_PREF($myid) $PREF['vacation_start'] = NULL; $PREF['vacation_stop'] = NULL; $PREF['vacation_comment'] = ''; + $PREF['language'] = 'en'; /* get all preferences */ $r = DB_query('SELECT pref_key, value FROM User_Prefs'. @@ -825,8 +826,14 @@ function DB_get_PREF($myid) if($pref[1]) $PREF['vacation_comment'] = $pref[1]; break; + + case 'language': + if($pref[1]) + $PREF['language'] = $pref[1]; + break; } } + $_SESSION['language'] = $PREF['language']; return $PREF; } diff --git a/include/output.php b/include/output.php index 135fe13..79e42c2 100644 --- a/include/output.php +++ b/include/output.php @@ -394,7 +394,9 @@ function output_header()
-

Welcome to E-Doko

+ '._('Welcome to E-Doko').' '; +?>
"en", + "Deutsch" => "de" ); + + echo " \n"; + + return; +} + + function output_password_recovery($email,$password) { ?> diff --git a/include/preferences.php b/include/preferences.php index 6648b99..3904899 100644 --- a/include/preferences.php +++ b/include/preferences.php @@ -43,6 +43,7 @@ $changed_openforgames = 0; $changed_vacation = 0; $changed_openid = 0; $changed_digest = 0; +$changed_language = 0; display_user_menu($myid); @@ -297,6 +298,25 @@ if(myisset("openid_url") && $_REQUEST['openid_url']!='') DB_AttachOpenID($openid_url, $myid); } +if(myisset("language")) + { + $language = $_REQUEST['language']; + if($language != $PREF['language']) + { + /* check if we already have an entry for the user, if so change it, if not create new one */ + $result = DB_query("SELECT * from User_Prefs". + " WHERE user_id='$myid' AND pref_key='language'" ); + if( DB_fetch_array($result)) + $result = DB_query("UPDATE User_Prefs SET value=".DB_quote_smart($language). + " WHERE user_id='$myid' AND pref_key='language'" ); + else + $result = DB_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','language',". + DB_quote_smart($language).")"); + $changed_language = 1; + } + } + + /* get infos again in case they have changed */ $PREF = DB_get_PREF($myid); $timezone = DB_get_user_timezone($myid); @@ -461,7 +481,9 @@ echo " Timezone: \n"; output_select_timezone("timezone",$timezone); if($changed_timezone) echo "changed"; echo "\n"; - +echo " Language: \n"; +output_select_language("language",$PREF['language']); +echo "\n"; echo " Password(old): ", ""; switch($changed_password) -- cgit v1.2.3-18-g5258